Files
fuzzforge_ai/docs/docusaurus.config.ts
Tanguy Duhamel 323a434c73 Initial commit
2025-09-29 21:26:41 +02:00

178 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: "FuzzForge Documentation",
tagline: "AI-Powered Security Analysis Platform",
favicon: "img/favicon.ico",
// Future flags, see https://docusaurus.io/docs/api/docusaurus-config#future
future: {
v4: true, // Improve compatibility with the upcoming Docusaurus v4
},
// Production url of documentation
url: "https://docs.fuzzforge.ai",
// The /<baseUrl>/ pathname under which your site is served
// For GitHub pages deployment, it is often '/<projectName>/'
baseUrl: "/",
trailingSlash: false,
// GitHub pages deployment config.
organizationName: "FuzzingLabs",
projectName: "fuzzforge_alpha",
deploymentBranch: "gh-pages",
onBrokenLinks: "throw",
i18n: {
defaultLocale: "en",
locales: ["en"],
},
markdown: {
mermaid: true,
hooks: {
onBrokenMarkdownLinks: "warn",
},
},
presets: [
[
"classic",
{
docs: {
sidebarPath: "./sidebars.ts",
editUrl:
"https://github.com/FuzzingLabs/fuzzforge_alpha/tree/main/packages/create-docusaurus/templates/shared/",
},
theme: {
customCss: "./src/css/custom.css",
},
} satisfies Preset.Options,
],
],
themes: [
"@docusaurus/theme-mermaid",
[
require.resolve("@easyops-cn/docusaurus-search-local"),
/** @type {import("@easyops-cn/docusaurus-search-local").PluginOptions} */
{
// `hashed` is recommended as long-term-cache of index file is possible.
hashed: true,
language: ["en"],
},
],
],
themeConfig: {
metadata: [
{
name: "keywords",
content:
"documentation, fuzzforge, fuzzinglabs, fuzzing, security, ai, ai-powered, vulnerability, analysis, platform",
},
{ name: "twitter:card", content: "summary_large_image" },
],
image: "img/fuzzforge-social-card.jpg",
navbar: {
title: "FuzzForge Docs",
logo: {
alt: "FuzzForge Logo",
src: "img/fuzzforge-logo-1024-rounded.png",
},
items: [
{
type: "docSidebar",
sidebarId: "backendSidebar",
position: "left",
label: "Workflow",
},
{
type: "docSidebar",
sidebarId: "aiSidebar",
position: "left",
label: "AI",
},
{
href: "https://github.com/FuzzingLabs/fuzzforge_alpha",
label: "GitHub",
position: "right",
},
],
},
footer: {
style: "dark",
links: [
{
title: "Workflow",
items: [
{
label: "Tutorials",
to: "/docs/category/tutorial",
},
{
label: "Concepts",
to: "/docs/category/concept",
},
{
label: "How-to Guides",
to: "/docs/category/how-to-guides",
},
{
label: "References",
to: "/docs/category/reference",
},
],
},
{
title: "Community",
items: [
{
label: "Website",
href: "https://fuzzforge.ai/",
},
{
label: "Discord",
href: "https://discord.gg/jKBygqFkwn",
},
{
label: "X",
href: "https://x.com/FuzzingLabs",
},
{
label: "LinkedIn",
href: "https://www.linkedin.com/company/fuzzinglabs",
},
],
},
{
title: "More",
items: [
{
label: "FuzzingLabs Blog",
to: "https://fuzzinglabs.com/security-blog/",
},
{
label: "GitHub",
href: "https://github.com/FuzzingLabs/fuzzforge_alpha",
},
],
},
],
copyright: `Copyright © ${new Date().getFullYear()} FuzzingLabs - All Rights Reserved`,
},
prism: {
theme: prismThemes.github,
darkTheme: prismThemes.dracula,
},
} satisfies Preset.ThemeConfig,
};
export default config;