158 lines
4.4 KiB
TypeScript
158 lines
4.4 KiB
TypeScript
import { themes as prismThemes } from 'prism-react-renderer';
|
|
import type { Config } from '@docusaurus/types';
|
|
import type * as Preset from '@docusaurus/preset-classic';
|
|
|
|
// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...)
|
|
|
|
const config: Config = {
|
|
title: 'Anubis',
|
|
tagline: 'Weigh the soul of incoming HTTP requests using proof-of-work to stop AI crawlers',
|
|
favicon: 'img/favicon.ico',
|
|
|
|
// Set the production url of your site here
|
|
url: 'https://anubis.techaro.lol',
|
|
// Set the /<baseUrl>/ pathname under which your site is served
|
|
// For GitHub pages deployment, it is often '/<projectName>/'
|
|
baseUrl: '/',
|
|
|
|
// GitHub pages deployment config.
|
|
// If you aren't using GitHub pages, you don't need these.
|
|
organizationName: 'TecharoHQ', // Usually your GitHub org/user name.
|
|
projectName: 'anubis', // Usually your repo name.
|
|
|
|
onBrokenLinks: 'throw',
|
|
onBrokenMarkdownLinks: 'warn',
|
|
|
|
// Even if you don't use internationalization, you can use this field to set
|
|
// useful metadata like html lang. For example, if your site is Chinese, you
|
|
// may want to replace "en" with "zh-Hans".
|
|
i18n: {
|
|
defaultLocale: 'en',
|
|
locales: ['en'],
|
|
},
|
|
|
|
markdown: {
|
|
mermaid: true,
|
|
},
|
|
themes: ['@docusaurus/theme-mermaid'],
|
|
|
|
presets: [
|
|
[
|
|
'classic',
|
|
{
|
|
docs: {
|
|
sidebarPath: './sidebars.ts',
|
|
// Please change this to your repo.
|
|
// Remove this to remove the "edit this page" links.
|
|
editUrl:
|
|
'https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/',
|
|
},
|
|
// blog: {
|
|
// showReadingTime: true,
|
|
// feedOptions: {
|
|
// type: ['rss', 'atom', "json"],
|
|
// xslt: true,
|
|
// },
|
|
// // Please change this to your repo.
|
|
// // Remove this to remove the "edit this page" links.
|
|
// editUrl:
|
|
// 'https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/',
|
|
// // Useful options to enforce blogging best practices
|
|
// onInlineTags: 'warn',
|
|
// onInlineAuthors: 'warn',
|
|
// onUntruncatedBlogPosts: 'warn',
|
|
// },
|
|
theme: {
|
|
customCss: './src/css/custom.css',
|
|
},
|
|
} satisfies Preset.Options,
|
|
],
|
|
],
|
|
|
|
themeConfig: {
|
|
// Replace with your project's social card
|
|
image: 'img/docusaurus-social-card.jpg',
|
|
navbar: {
|
|
title: 'Anubis',
|
|
logo: {
|
|
alt: 'A happy jackal woman with brown hair and red eyes',
|
|
src: 'img/happy.webp',
|
|
},
|
|
items: [
|
|
{
|
|
type: 'docSidebar',
|
|
sidebarId: 'tutorialSidebar',
|
|
position: 'left',
|
|
label: 'Tutorial',
|
|
},
|
|
// { to: '/blog', label: 'Blog', position: 'left' },
|
|
{
|
|
href: 'https://github.com/TecharoHQ/anubis',
|
|
label: 'GitHub',
|
|
position: 'right',
|
|
},
|
|
],
|
|
},
|
|
footer: {
|
|
style: 'dark',
|
|
links: [
|
|
{
|
|
title: 'Docs',
|
|
items: [
|
|
{
|
|
label: 'Intro',
|
|
to: '/docs/',
|
|
},
|
|
{
|
|
label: "Installation",
|
|
to: "/docs/admin/installation",
|
|
},
|
|
],
|
|
},
|
|
{
|
|
title: 'Community',
|
|
items: [
|
|
{
|
|
label: 'GitHub Discussions',
|
|
href: 'https://github.com/TecharoHQ/anubis/discussions',
|
|
},
|
|
{
|
|
label: 'Bluesky',
|
|
href: 'https://bsky.app/profile/techaro.lol',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
title: 'More',
|
|
items: [
|
|
{
|
|
label: 'Blog',
|
|
to: '/blog',
|
|
},
|
|
{
|
|
label: 'GitHub',
|
|
href: 'https://github.com/TecharoHQ/anubis',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
copyright: `Copyright © ${new Date().getFullYear()} Techaro. Made with ❤️ in 🇨🇦.`,
|
|
},
|
|
prism: {
|
|
theme: prismThemes.github,
|
|
darkTheme: prismThemes.dracula,
|
|
magicComments: [
|
|
{
|
|
className: 'code-block-diff-add-line',
|
|
line: 'diff-add'
|
|
},
|
|
{
|
|
className: 'code-block-diff-remove-line',
|
|
line: 'diff-remove'
|
|
}
|
|
],
|
|
},
|
|
} satisfies Preset.ThemeConfig,
|
|
};
|
|
|
|
export default config;
|