mirror of
https://github.com/goauthentik/authentik
synced 2026-04-25 17:15:26 +02:00
website/docs: Improved Version Picker. (#14404)
* website: Flesh out version picker. Port 3.8 theme. * website: Update Dockerfile to include compose. * website: Flesh out branch override. Tidy list items.
This commit is contained in:
@@ -1,42 +1,42 @@
|
||||
/**
|
||||
* @file Docusaurus config.
|
||||
* @file Docusaurus Integrations config.
|
||||
*
|
||||
* @import { Config } from "@docusaurus/types";
|
||||
* @import { UserThemeConfig } from "@goauthentik/docusaurus-config";
|
||||
* @import { BuildUrlValues } from "remark-github";
|
||||
* @import { Options as DocsPluginOptions } from "@docusaurus/plugin-content-docs";
|
||||
* @import { Options as RedirectsPluginOptions } from "@docusaurus/plugin-client-redirects";
|
||||
|
||||
*/
|
||||
|
||||
import { createRequire } from "node:module";
|
||||
import * as path from "node:path";
|
||||
import { join } from "node:path";
|
||||
import { fileURLToPath } from "node:url";
|
||||
|
||||
import { createDocusaurusConfig } from "@goauthentik/docusaurus-config";
|
||||
import { CommonConfig, CommonDocsPluginOptions } from "@goauthentik/docusaurus-theme/config";
|
||||
import { remarkLinkRewrite } from "@goauthentik/docusaurus-theme/remark";
|
||||
|
||||
import { GlobExcludeDefault } from "@docusaurus/utils";
|
||||
import remarkDirective from "remark-directive";
|
||||
import remarkGithub, { defaultBuildUrl } from "remark-github";
|
||||
import { deepmerge } from "deepmerge-ts";
|
||||
|
||||
import remarkEnterpriseDirective from "../remark/enterprise-directive.mjs";
|
||||
import remarkLinkRewrite from "../remark/link-rewrite-directive.mjs";
|
||||
import remarkPreviewDirective from "../remark/preview-directive.mjs";
|
||||
import remarkSupportDirective from "../remark/support-directive.mjs";
|
||||
import remarkVersionDirective from "../remark/version-directive.mjs";
|
||||
import { legacyRedirects } from "./legacy-redirects.mjs";
|
||||
|
||||
const require = createRequire(import.meta.url);
|
||||
const __dirname = fileURLToPath(new URL(".", import.meta.url));
|
||||
|
||||
//#region Configuration
|
||||
|
||||
/**
|
||||
* Documentation site configuration for Docusaurus.
|
||||
* @satisfies {Partial<Config>}
|
||||
*/
|
||||
const config = createDocusaurusConfig({
|
||||
const config = {
|
||||
url: "https://integrations.goauthentik.io",
|
||||
future: {
|
||||
experimental_faster: true,
|
||||
},
|
||||
themes: ["@docusaurus/theme-mermaid"],
|
||||
themeConfig: {
|
||||
themes: ["@goauthentik/docusaurus-theme", "@docusaurus/theme-mermaid"],
|
||||
themeConfig: /** @type {UserThemeConfig} */ ({
|
||||
image: "img/social.png",
|
||||
navbar: {
|
||||
logo: {
|
||||
@@ -93,72 +93,46 @@ const config = createDocusaurusConfig({
|
||||
links: [],
|
||||
copyright: `Copyright © ${new Date().getFullYear()} Authentik Security Inc. Built with Docusaurus.`,
|
||||
},
|
||||
algolia: {
|
||||
appId: "36ROD0O0FV",
|
||||
apiKey: "727db511300ca9aec5425645bbbddfb5",
|
||||
indexName: "goauthentik",
|
||||
externalUrlRegex: /.*/.source,
|
||||
},
|
||||
},
|
||||
}),
|
||||
|
||||
plugins: [
|
||||
[
|
||||
"@docusaurus/plugin-google-gtag",
|
||||
{
|
||||
trackingID: ["G-9MVR9WZFZH"],
|
||||
anonymizeIP: true,
|
||||
},
|
||||
],
|
||||
|
||||
[
|
||||
"@docusaurus/theme-classic",
|
||||
{
|
||||
customCss: [
|
||||
require.resolve("@goauthentik/docusaurus-config/css/index.css"),
|
||||
path.join(__dirname, "custom.css"),
|
||||
join(__dirname, "./custom.css"),
|
||||
],
|
||||
},
|
||||
],
|
||||
|
||||
//#region Documentation
|
||||
|
||||
[
|
||||
"@docusaurus/plugin-content-docs",
|
||||
/** @type {DocsPluginOptions} */ ({
|
||||
id: "docsIntegrations",
|
||||
exclude: [...GlobExcludeDefault],
|
||||
include: ["**/*.mdx", "**/*.md"],
|
||||
deepmerge(
|
||||
CommonDocsPluginOptions,
|
||||
/** @type {DocsPluginOptions} */ ({
|
||||
id: "docsIntegrations",
|
||||
exclude: [...GlobExcludeDefault],
|
||||
include: ["**/*.mdx", "**/*.md"],
|
||||
|
||||
path: "integrations",
|
||||
routeBasePath: "/",
|
||||
sidebarPath: "./integrations/sidebar.mjs",
|
||||
editUrl: "https://github.com/goauthentik/authentik/edit/main/website/",
|
||||
showLastUpdateTime: false,
|
||||
path: "integrations",
|
||||
routeBasePath: "/",
|
||||
sidebarPath: "./integrations/sidebar.mjs",
|
||||
editUrl: "https://github.com/goauthentik/authentik/edit/main/website/",
|
||||
showLastUpdateTime: false,
|
||||
//#region Docs Plugins
|
||||
|
||||
beforeDefaultRemarkPlugins: [
|
||||
remarkDirective,
|
||||
remarkLinkRewrite(new Map([["/docs", "https://docs.goauthentik.io"]])),
|
||||
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;
|
||||
},
|
||||
},
|
||||
beforeDefaultRemarkPlugins: [
|
||||
remarkLinkRewrite([
|
||||
// ---
|
||||
["/api", "https://api.goauthentik.io"],
|
||||
["/docs", "https://docs.goauthentik.io"],
|
||||
]),
|
||||
],
|
||||
],
|
||||
}),
|
||||
}),
|
||||
),
|
||||
],
|
||||
[
|
||||
"@docusaurus/plugin-client-redirects",
|
||||
@@ -178,6 +152,6 @@ const config = createDocusaurusConfig({
|
||||
}),
|
||||
],
|
||||
],
|
||||
});
|
||||
};
|
||||
|
||||
export default config;
|
||||
export default /** @type {Config} */ (deepmerge(CommonConfig, createDocusaurusConfig(config)));
|
||||
|
||||
Reference in New Issue
Block a user