chore: set up commitlint, husky, and prettier (#1451)

* chore: add prettier configuration

Signed-off-by: Xe Iaso <me@xeiaso.net>

* format: run prettier tree-wide

Signed-off-by: Xe Iaso <me@xeiaso.net>

* chore(prettier): ignore intentionally ungrammatical files

Signed-off-by: Xe Iaso <me@xeiaso.net>

* ci: add PR title lint rule

Signed-off-by: Xe Iaso <me@xeiaso.net>

* ci: add DCO check

Signed-off-by: Xe Iaso <me@xeiaso.net>

* chore: add commitlint and husky

Signed-off-by: Xe Iaso <me@xeiaso.net>

* chore: add CONTRIBUTING guidelines

Signed-off-by: Xe Iaso <me@xeiaso.net>

* chore: set SKIP_INTEGRATION in precommit tests

Signed-off-by: Xe Iaso <me@xeiaso.net>

* chore: update spelling

Signed-off-by: Xe Iaso <me@xeiaso.net>

* ci(dco): remove reopened trigger

Signed-off-by: Xe Iaso <me@xeiaso.net>

* chore: remove dead file

Signed-off-by: Xe Iaso <me@xeiaso.net>

* chore(prettier): don't format nginx includes

Signed-off-by: Xe Iaso <me@xeiaso.net>

---------

Signed-off-by: Xe Iaso <me@xeiaso.net>
This commit is contained in:
Xe Iaso
2026-02-15 13:19:12 +00:00
committed by GitHub
parent 005750903d
commit bf5d66222c
165 changed files with 2854 additions and 1621 deletions

View File

@@ -1,62 +1,62 @@
import { themes as prismThemes } from 'prism-react-renderer';
import type { Config } from '@docusaurus/types';
import type * as Preset from '@docusaurus/preset-classic';
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 to protect your website!',
favicon: 'img/favicon.ico',
title: "Anubis",
tagline: "Weigh the soul of incoming HTTP requests to protect your website!",
favicon: "img/favicon.ico",
// Set the production url of your site here
url: 'https://anubis.techaro.lol',
url: "https://anubis.techaro.lol",
// Set the /<baseUrl>/ pathname under which your site is served
// For GitHub pages deployment, it is often '/<projectName>/'
baseUrl: '/',
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.
organizationName: "TecharoHQ", // Usually your GitHub org/user name.
projectName: "anubis", // Usually your repo name.
onBrokenLinks: 'throw',
onBrokenMarkdownLinks: 'warn',
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'],
defaultLocale: "en",
locales: ["en"],
},
markdown: {
mermaid: true,
},
themes: ['@docusaurus/theme-mermaid'],
themes: ["@docusaurus/theme-mermaid"],
presets: [
[
'classic',
"classic",
{
blog: {
showReadingTime: true,
feedOptions: {
type: ['rss', 'atom', "json"],
type: ["rss", "atom", "json"],
xslt: true,
},
editUrl: 'https://github.com/TecharoHQ/anubis/tree/main/docs/',
onInlineTags: 'warn',
onInlineAuthors: 'warn',
onUntruncatedBlogPosts: 'throw',
editUrl: "https://github.com/TecharoHQ/anubis/tree/main/docs/",
onInlineTags: "warn",
onInlineAuthors: "warn",
onUntruncatedBlogPosts: "throw",
},
docs: {
sidebarPath: './sidebars.ts',
editUrl: 'https://github.com/TecharoHQ/anubis/tree/main/docs/',
sidebarPath: "./sidebars.ts",
editUrl: "https://github.com/TecharoHQ/anubis/tree/main/docs/",
},
theme: {
customCss: './src/css/custom.css',
customCss: "./src/css/custom.css",
},
} satisfies Preset.Options,
],
@@ -67,47 +67,47 @@ const config: Config = {
respectPrefersColorScheme: true,
},
// Replace with your project's social card
image: 'img/social-card.jpg',
image: "img/social-card.jpg",
navbar: {
title: 'Anubis',
title: "Anubis",
logo: {
alt: 'A happy jackal woman with brown hair and red eyes',
src: 'img/favicon.webp',
alt: "A happy jackal woman with brown hair and red eyes",
src: "img/favicon.webp",
},
items: [
{ to: '/blog', label: 'Blog', position: 'left' },
{ to: "/blog", label: "Blog", position: "left" },
{
type: 'docSidebar',
sidebarId: 'tutorialSidebar',
position: 'left',
label: 'Docs',
type: "docSidebar",
sidebarId: "tutorialSidebar",
position: "left",
label: "Docs",
},
{
to: '/docs/admin/botstopper',
to: "/docs/admin/botstopper",
label: "Unbranded Version",
position: "left"
position: "left",
},
{
href: 'https://github.com/TecharoHQ/anubis',
label: 'GitHub',
position: 'right',
href: "https://github.com/TecharoHQ/anubis",
label: "GitHub",
position: "right",
},
{
href: 'https://github.com/sponsors/Xe',
href: "https://github.com/sponsors/Xe",
label: "Sponsor the Project",
position: 'right'
position: "right",
},
],
},
footer: {
style: 'dark',
style: "dark",
links: [
{
title: 'Docs',
title: "Docs",
items: [
{
label: 'Intro',
to: '/docs/',
label: "Intro",
to: "/docs/",
},
{
label: "Installation",
@@ -116,32 +116,32 @@ const config: Config = {
],
},
{
title: 'Community',
title: "Community",
items: [
{
label: 'GitHub Discussions',
href: 'https://github.com/TecharoHQ/anubis/discussions',
label: "GitHub Discussions",
href: "https://github.com/TecharoHQ/anubis/discussions",
},
{
label: 'Bluesky',
href: 'https://bsky.app/profile/techaro.lol',
label: "Bluesky",
href: "https://bsky.app/profile/techaro.lol",
},
],
},
{
title: 'More',
title: "More",
items: [
{
label: 'Blog',
to: '/blog',
label: "Blog",
to: "/blog",
},
{
label: 'GitHub',
href: 'https://github.com/TecharoHQ/anubis',
label: "GitHub",
href: "https://github.com/TecharoHQ/anubis",
},
{
label: 'Status',
href: 'https://techarohq.github.io/status/'
label: "Status",
href: "https://techarohq.github.io/status/",
},
],
},
@@ -153,13 +153,13 @@ const config: Config = {
darkTheme: prismThemes.dracula,
magicComments: [
{
className: 'code-block-diff-add-line',
line: 'diff-add'
className: "code-block-diff-add-line",
line: "diff-add",
},
{
className: 'code-block-diff-remove-line',
line: 'diff-remove'
}
className: "code-block-diff-remove-line",
line: "diff-remove",
},
],
},
} satisfies Preset.ThemeConfig,