Weighs the soul of incoming HTTP requests to stop AI crawlers
at main 4.3 kB view raw
1import { themes as prismThemes } from 'prism-react-renderer'; 2import type { Config } from '@docusaurus/types'; 3import type * as Preset from '@docusaurus/preset-classic'; 4 5// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...) 6 7const config: Config = { 8 title: 'Anubis', 9 tagline: 'Weigh the soul of incoming HTTP requests to protect your website!', 10 favicon: 'img/favicon.ico', 11 12 // Set the production url of your site here 13 url: 'https://anubis.techaro.lol', 14 // Set the /<baseUrl>/ pathname under which your site is served 15 // For GitHub pages deployment, it is often '/<projectName>/' 16 baseUrl: '/', 17 18 // GitHub pages deployment config. 19 // If you aren't using GitHub pages, you don't need these. 20 organizationName: 'TecharoHQ', // Usually your GitHub org/user name. 21 projectName: 'anubis', // Usually your repo name. 22 23 onBrokenLinks: 'throw', 24 onBrokenMarkdownLinks: 'warn', 25 26 // Even if you don't use internationalization, you can use this field to set 27 // useful metadata like html lang. For example, if your site is Chinese, you 28 // may want to replace "en" with "zh-Hans". 29 i18n: { 30 defaultLocale: 'en', 31 locales: ['en'], 32 }, 33 34 markdown: { 35 mermaid: true, 36 }, 37 themes: ['@docusaurus/theme-mermaid'], 38 39 presets: [ 40 [ 41 'classic', 42 { 43 blog: { 44 showReadingTime: true, 45 feedOptions: { 46 type: ['rss', 'atom', "json"], 47 xslt: true, 48 }, 49 editUrl: 'https://github.com/TecharoHQ/anubis/tree/main/docs/', 50 onInlineTags: 'warn', 51 onInlineAuthors: 'warn', 52 onUntruncatedBlogPosts: 'throw', 53 }, 54 docs: { 55 sidebarPath: './sidebars.ts', 56 editUrl: 'https://github.com/TecharoHQ/anubis/tree/main/docs/', 57 }, 58 theme: { 59 customCss: './src/css/custom.css', 60 }, 61 } satisfies Preset.Options, 62 ], 63 ], 64 65 themeConfig: { 66 colorMode: { 67 respectPrefersColorScheme: true, 68 }, 69 // Replace with your project's social card 70 image: 'img/social-card.jpg', 71 navbar: { 72 title: 'Anubis', 73 logo: { 74 alt: 'A happy jackal woman with brown hair and red eyes', 75 src: 'img/favicon.webp', 76 }, 77 items: [ 78 { to: '/blog', label: 'Blog', position: 'left' }, 79 { 80 type: 'docSidebar', 81 sidebarId: 'tutorialSidebar', 82 position: 'left', 83 label: 'Docs', 84 }, 85 { 86 to: '/docs/admin/botstopper', 87 label: "Unbranded Version", 88 position: "left" 89 }, 90 { 91 href: 'https://github.com/TecharoHQ/anubis', 92 label: 'GitHub', 93 position: 'right', 94 }, 95 { 96 href: 'https://github.com/sponsors/Xe', 97 label: "Sponsor the Project", 98 position: 'right' 99 }, 100 ], 101 }, 102 footer: { 103 style: 'dark', 104 links: [ 105 { 106 title: 'Docs', 107 items: [ 108 { 109 label: 'Intro', 110 to: '/docs/', 111 }, 112 { 113 label: "Installation", 114 to: "/docs/admin/installation", 115 }, 116 ], 117 }, 118 { 119 title: 'Community', 120 items: [ 121 { 122 label: 'GitHub Discussions', 123 href: 'https://github.com/TecharoHQ/anubis/discussions', 124 }, 125 { 126 label: 'Bluesky', 127 href: 'https://bsky.app/profile/techaro.lol', 128 }, 129 ], 130 }, 131 { 132 title: 'More', 133 items: [ 134 { 135 label: 'Blog', 136 to: '/blog', 137 }, 138 { 139 label: 'GitHub', 140 href: 'https://github.com/TecharoHQ/anubis', 141 }, 142 ], 143 }, 144 ], 145 copyright: `Copyright © ${new Date().getFullYear()} Techaro. Made with ❤️ in 🇨🇦.`, 146 }, 147 prism: { 148 theme: prismThemes.github, 149 darkTheme: prismThemes.dracula, 150 magicComments: [ 151 { 152 className: 'code-block-diff-add-line', 153 line: 'diff-add' 154 }, 155 { 156 className: 'code-block-diff-remove-line', 157 line: 'diff-remove' 158 } 159 ], 160 }, 161 } satisfies Preset.ThemeConfig, 162}; 163 164export default config;