
* website/docs: Clean up config. Add types. * website/docs: Format MDX. * website: Fix build warnings. Lint badges frontmatter.
165 lines
5.7 KiB
JavaScript
165 lines
5.7 KiB
JavaScript
/**
|
|
* @file Docusaurus config.
|
|
*
|
|
* @import * as Preset from "@docusaurus/preset-classic";
|
|
* @import * as OpenApiPlugin from "docusaurus-plugin-openapi-docs";
|
|
* @import { BuildUrlValues } from "remark-github";
|
|
*/
|
|
import { createDocusaurusConfig } from "@goauthentik/docusaurus-config";
|
|
import { createRequire } from "node:module";
|
|
import remarkDirective from "remark-directive";
|
|
import remarkGithub, { defaultBuildUrl } from "remark-github";
|
|
|
|
import remarkEnterpriseDirective from "./remark/enterprise-directive.mjs";
|
|
import remarkPreviewDirective from "./remark/preview-directive.mjs";
|
|
import remarkSupportDirective from "./remark/support-directive.mjs";
|
|
import remarkVersionDirective from "./remark/version-directive.mjs";
|
|
|
|
const require = createRequire(import.meta.url);
|
|
|
|
/**
|
|
* Documentation site configuration for Docusaurus.
|
|
*/
|
|
const config = createDocusaurusConfig({
|
|
url: "https://docs.goauthentik.io",
|
|
future: {
|
|
experimental_faster: true,
|
|
},
|
|
themes: ["@docusaurus/theme-mermaid", "docusaurus-theme-openapi-docs"],
|
|
themeConfig: {
|
|
image: "img/social.png",
|
|
navbar: {
|
|
logo: {
|
|
alt: "authentik logo",
|
|
src: "img/icon_left_brand.svg",
|
|
href: "https://goauthentik.io/",
|
|
target: "_self",
|
|
},
|
|
items: [
|
|
{
|
|
to: "https://goauthentik.io/features",
|
|
label: "Features",
|
|
position: "left",
|
|
target: "_self",
|
|
},
|
|
{
|
|
to: "integrations/",
|
|
label: "Integrations",
|
|
position: "left",
|
|
},
|
|
{
|
|
to: "docs/",
|
|
label: "Documentation",
|
|
position: "left",
|
|
},
|
|
{
|
|
to: "https://goauthentik.io/pricing/",
|
|
label: "Pricing",
|
|
position: "left",
|
|
target: "_self",
|
|
},
|
|
{
|
|
to: "https://goauthentik.io/blog",
|
|
label: "Blog",
|
|
position: "left",
|
|
target: "_self",
|
|
},
|
|
{
|
|
"href": "https://github.com/goauthentik/authentik",
|
|
"data-icon": "github",
|
|
"aria-label": "GitHub",
|
|
"position": "right",
|
|
},
|
|
{
|
|
"href": "https://goauthentik.io/discord",
|
|
"data-icon": "discord",
|
|
"aria-label": "Discord",
|
|
"position": "right",
|
|
},
|
|
],
|
|
},
|
|
footer: {
|
|
links: [],
|
|
copyright: `Copyright © ${new Date().getFullYear()} Authentik Security Inc. Built with Docusaurus.`,
|
|
},
|
|
algolia: {
|
|
appId: "36ROD0O0FV",
|
|
apiKey: "727db511300ca9aec5425645bbbddfb5",
|
|
indexName: "goauthentik",
|
|
},
|
|
},
|
|
presets: [
|
|
[
|
|
"@docusaurus/preset-classic",
|
|
/** @type {Preset.Options} */ ({
|
|
docs: {
|
|
id: "docs",
|
|
sidebarPath: "./sidebars/docs.mjs",
|
|
showLastUpdateTime: false,
|
|
editUrl: "https://github.com/goauthentik/authentik/edit/main/website/",
|
|
docItemComponent: "@theme/ApiItem",
|
|
|
|
beforeDefaultRemarkPlugins: [
|
|
remarkDirective,
|
|
remarkVersionDirective,
|
|
remarkEnterpriseDirective,
|
|
remarkPreviewDirective,
|
|
remarkSupportDirective,
|
|
],
|
|
remarkPlugins: [
|
|
[
|
|
remarkGithub,
|
|
{
|
|
repository: "goauthentik/authentik",
|
|
/**
|
|
* @param {BuildUrlValues} values
|
|
*/
|
|
buildUrl: (values) => {
|
|
// Only replace issues and PR links
|
|
return values.type === "issue" || values.type === "mention"
|
|
? defaultBuildUrl(values)
|
|
: false;
|
|
},
|
|
},
|
|
],
|
|
],
|
|
},
|
|
theme: {
|
|
customCss: require.resolve("@goauthentik/docusaurus-config/css/index.css"),
|
|
},
|
|
}),
|
|
],
|
|
],
|
|
plugins: [
|
|
[
|
|
"@docusaurus/plugin-content-docs",
|
|
{
|
|
id: "docsIntegrations",
|
|
path: "integrations",
|
|
routeBasePath: "integrations",
|
|
sidebarPath: "./sidebars/integrations.mjs",
|
|
editUrl: "https://github.com/goauthentik/authentik/edit/main/website/",
|
|
},
|
|
],
|
|
[
|
|
"docusaurus-plugin-openapi-docs",
|
|
{
|
|
id: "api",
|
|
docsPluginId: "docs",
|
|
config: /** @type {OpenApiPlugin.Options} */ ({
|
|
authentik: {
|
|
specPath: "static/schema.yml",
|
|
outputDir: "docs/developer-docs/api/reference/",
|
|
hideSendButton: true,
|
|
sidebarOptions: {
|
|
groupPathsBy: "tag",
|
|
},
|
|
},
|
|
}),
|
|
},
|
|
],
|
|
],
|
|
});
|
|
|
|
export default config;
|