/** @type {import('@docusaurus/types').DocusaurusConfig} */ module.exports = { title: "ZITADEL Docs", trailingSlash: false, url: "https://zitadel.com", baseUrl: "/docs", onBrokenLinks: "throw", onBrokenMarkdownLinks: "warn", favicon: "img/favicon.ico", organizationName: "zitadel", projectName: "zitadel", scripts: [ { src: "/docs/proxy/js/script.js", async: true, defer: true, "data-domain": "zitadel.com", "data-api": "/docs/proxy/api/event", }, ], customFields: { description: "Documentation for ZITADEL - Identity infrastructure, simplified for you.", }, themeConfig: { metadata: [ { name: "keywords", content: "zitadel, documentation, jwt, saml, oauth2, authentication, serverless, login, auth, authorization, sso, openid-connect, oidc, mfa, 2fa, passkeys, fido2, docker", }, { property: "og:type", content: "website", }, { property: "og:url", content: "https://www.zitadel.com/docs" }, { property: "og:image", content: "https://www.zitadel.com/docs/img/preview.png", }, { property: "twitter:card", content: "summary_large_image" }, { property: "twitter:url", content: "https://www.zitadel.com/docs" }, { property: "twitter:title", content: "ZITADEL Docs" }, { property: "twitter:image", content: "https://www.zitadel.com/docs/img/preview.png", }, ], zoom: { selector: ".markdown :not(em) > img", background: { light: "rgb(243, 244, 246)", dark: "rgb(55, 59, 82)", }, // options you can specify via https://github.com/francoischalifour/medium-zoom#usage config: {}, }, navbar: { // title: 'ZITADEL', logo: { alt: "ZITADEL logo", src: "img/zitadel-logo-dark.svg", srcDark: "img/zitadel-logo-light.svg", }, items: [ { type: "doc", label: "Documentation", docId: "guides/overview", position: "left", }, { type: "doc", label: "APIs", docId: "apis/introduction", position: "left", }, { type: "doc", label: "Self-Hosting", docId: "self-hosting/deploy/overview", position: "left", }, { type: "doc", docId: "legal", label: "Legal", position: "right", }, { type: "html", position: "right", value: '', }, { type: "html", position: "right", value: '', }, { type: "html", position: "right", value: '', }, ], }, footer: { links: [ { title: "Community", items: [ { label: "Chat", href: "https://zitadel.com/chat", }, { label: "GitHub Discussions", href: "https://github.com/zitadel/zitadel/discussions", }, { label: "Twitter", href: "https://twitter.com/zitadel", }, { label: "Linkedin", href: "https://www.linkedin.com/company/zitadel/", }, { label: "Blog", href: "https://zitadel.com/blog", }, ], }, { title: "Legal", items: [ { label: "Terms and Conditions", href: "/legal/terms-of-service", }, { label: "Privacy Policy", href: "/legal/policies/privacy-policy", }, ], }, { title: "About", items: [ { label: "Website", href: "https://zitadel.com", }, { label: "Contact", href: "https://zitadel.com/contact/", }, { label: "GitHub", href: "https://github.com/zitadel", }, { label: "Status", href: "https://status.zitadel.com/", } ], }, ], copyright: `Copyright © ${new Date().getFullYear()} ZITADEL Docs - Built with Docusaurus.`, }, algolia: { appId: "8H6ZKXENLO", apiKey: "124fe1c102a184bc6fc70c75dc84f96f", indexName: "zitadel", selector: "div#", }, prism: { additionalLanguages: ["csharp", "dart", "groovy", "regex"], }, colorMode: { defaultMode: "dark", disableSwitch: false, respectPrefersColorScheme: true, }, }, webpack: { jsLoader: (isServer) => ({ loader: require.resolve('swc-loader'), options: { jsc: { parser: { syntax: 'typescript', tsx: true, }, target: 'es2017', }, module: { type: isServer ? 'commonjs' : 'es6', }, }, }), }, presets: [ [ "classic", /** @type {import('@docusaurus/preset-classic').Options} */ ({ docs: { routeBasePath: "/", sidebarPath: require.resolve("./sidebars.js"), showLastUpdateAuthor: true, showLastUpdateTime: true, editUrl: "https://github.com/zitadel/zitadel/edit/main/docs/", remarkPlugins: [require("mdx-mermaid")], docLayoutComponent: "@theme/DocPage", docItemComponent: '@theme/ApiItem' }, theme: { customCss: require.resolve("./src/css/custom.css"), }, }) ], ], plugins: [ [ 'docusaurus-plugin-openapi-docs', { id: "apiDocs", docsPluginId: "classic", config: { auth: { specPath: ".artifacts/openapi/zitadel/auth.swagger.json", outputDir: "docs/apis/resources/auth", sidebarOptions: { groupPathsBy: "tag", }, }, mgmt: { specPath: ".artifacts/openapi/zitadel/management.swagger.json", outputDir: "docs/apis/resources/mgmt", sidebarOptions: { groupPathsBy: "tag", }, }, admin: { specPath: ".artifacts/openapi/zitadel/admin.swagger.json", outputDir: "docs/apis/resources/admin", sidebarOptions: { groupPathsBy: "tag", }, }, system: { specPath: ".artifacts/openapi/zitadel/system.swagger.json", outputDir: "docs/apis/resources/system", sidebarOptions: { groupPathsBy: "tag", }, }, user: { specPath: ".artifacts/openapi/zitadel/user/v2beta/user_service.swagger.json", outputDir: "docs/apis/resources/user_service", sidebarOptions: { groupPathsBy: "tag", }, }, session: { specPath: ".artifacts/openapi/zitadel/session/v2beta/session_service.swagger.json", outputDir: "docs/apis/resources/session_service", sidebarOptions: { groupPathsBy: "tag", }, }, oidc: { specPath: ".artifacts/openapi/zitadel/oidc/v2beta/oidc_service.swagger.json", outputDir: "docs/apis/resources/oidc_service", sidebarOptions: { groupPathsBy: "tag", }, }, settings: { specPath: ".artifacts/openapi/zitadel/settings/v2beta/settings_service.swagger.json", outputDir: "docs/apis/resources/settings_service", sidebarOptions: { groupPathsBy: "tag", }, } } }, ], require.resolve("docusaurus-plugin-image-zoom"), async function myPlugin(context, options) { return { name: "docusaurus-tailwindcss", configurePostCss(postcssOptions) { // Appends TailwindCSS and AutoPrefixer. postcssOptions.plugins.push(require("tailwindcss")); postcssOptions.plugins.push(require("autoprefixer")); return postcssOptions; }, }; }, ], themes: ["@saucelabs/theme-github-codeblock", "docusaurus-theme-openapi-docs"], };