aboutsummaryrefslogtreecommitdiff
path: root/docs/src/components
diff options
context:
space:
mode:
authorXe Iaso <me@xeiaso.net>2025-03-20 15:06:58 -0400
committerGitHub <noreply@github.com>2025-03-20 15:06:58 -0400
commitc47347ff76f115f56676f5ecad0032bfcb98a03d (patch)
tree53b17e30a83dab1f96acf64ba83655340d8e1a5f /docs/src/components
parent240159e921449236c79e3ae8c7160dfe8ee1b40c (diff)
downloadanubis-c47347ff76f115f56676f5ecad0032bfcb98a03d.tar.xz
anubis-c47347ff76f115f56676f5ecad0032bfcb98a03d.zip
add docs site based on docusarus (#35)
* add docs site based on docusarus Closes #2 Signed-off-by: Xe Iaso <me@xeiaso.net> * docs: deploy to aeacus Signed-off-by: Xe Iaso <me@xeiaso.net> * ready for merge Signed-off-by: Xe Iaso <me@xeiaso.net> * docs: fix anubis port Signed-off-by: Xe Iaso <me@xeiaso.net> --------- Signed-off-by: Xe Iaso <me@xeiaso.net>
Diffstat (limited to 'docs/src/components')
-rw-r--r--docs/src/components/HomepageFeatures/index.tsx72
-rw-r--r--docs/src/components/HomepageFeatures/styles.module.css11
2 files changed, 83 insertions, 0 deletions
diff --git a/docs/src/components/HomepageFeatures/index.tsx b/docs/src/components/HomepageFeatures/index.tsx
new file mode 100644
index 0000000..645f795
--- /dev/null
+++ b/docs/src/components/HomepageFeatures/index.tsx
@@ -0,0 +1,72 @@
+import type { ReactNode } from "react";
+import clsx from "clsx";
+import Heading from "@theme/Heading";
+import styles from "./styles.module.css";
+
+type FeatureItem = {
+ title: string;
+ Svg: React.ComponentType<React.ComponentProps<"svg">>;
+ description: ReactNode;
+};
+
+const FeatureList: FeatureItem[] = [
+ {
+ title: "Easy to Use",
+ Svg: require("@site/static/img/undraw_docusaurus_mountain.svg").default,
+ description: (
+ <>
+ Anubis is easy to set up, lightweight, and helps get rid of the lowest
+ hanging fruit so you can sleep at night.
+ </>
+ ),
+ },
+ {
+ title: "",
+ Svg: require("@site/static/img/undraw_docusaurus_tree.svg").default,
+ description: (
+ <>
+ Anubis is efficient and as lightweight as possible, blocking the worst
+ of the bots on the internet and makes it easy to protect what you host
+ online.
+ </>
+ ),
+ },
+ {
+ title: "Powered by React",
+ Svg: require("@site/static/img/undraw_docusaurus_react.svg").default,
+ description: (
+ <>
+ Anubis uses a multi-threaded proof of work check to ensure that users
+ browsers are up to date and support modern standards.
+ </>
+ ),
+ },
+];
+
+function Feature({ title, Svg, description }: FeatureItem) {
+ return (
+ <div className={clsx("col col--4")}>
+ <div className="text--center">
+ <Svg className={styles.featureSvg} role="img" />
+ </div>
+ <div className="text--center padding-horiz--md">
+ <Heading as="h3">{title}</Heading>
+ <p>{description}</p>
+ </div>
+ </div>
+ );
+}
+
+export default function HomepageFeatures(): ReactNode {
+ return (
+ <section className={styles.features}>
+ <div className="container">
+ <div className="row">
+ {FeatureList.map((props, idx) => (
+ <Feature key={idx} {...props} />
+ ))}
+ </div>
+ </div>
+ </section>
+ );
+}
diff --git a/docs/src/components/HomepageFeatures/styles.module.css b/docs/src/components/HomepageFeatures/styles.module.css
new file mode 100644
index 0000000..b248eb2
--- /dev/null
+++ b/docs/src/components/HomepageFeatures/styles.module.css
@@ -0,0 +1,11 @@
+.features {
+ display: flex;
+ align-items: center;
+ padding: 2rem 0;
+ width: 100%;
+}
+
+.featureSvg {
+ height: 200px;
+ width: 200px;
+}