mirror of
https://github.com/goauthentik/authentik
synced 2026-04-26 01:25:02 +02:00
* website: bump the docusaurus group in /website with 10 updates Bumps the docusaurus group in /website with 10 updates: | Package | From | To | | --- | --- | --- | | [@docusaurus/preset-classic](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-preset-classic) | `3.9.2` | `3.10.0` | | [@docusaurus/core](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus) | `3.9.2` | `3.10.0` | | [@docusaurus/faster](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-faster) | `3.9.2` | `3.10.0` | | [@docusaurus/module-type-aliases](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-module-type-aliases) | `3.9.2` | `3.10.0` | | [@docusaurus/plugin-client-redirects](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-plugin-client-redirects) | `3.9.2` | `3.10.0` | | [@docusaurus/plugin-content-docs](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-plugin-content-docs) | `3.9.2` | `3.10.0` | | [@docusaurus/theme-common](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-theme-common) | `3.9.2` | `3.10.0` | | [@docusaurus/tsconfig](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-tsconfig) | `3.9.2` | `3.10.0` | | [@docusaurus/types](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-types) | `3.9.2` | `3.10.0` | | [@docusaurus/theme-mermaid](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-theme-mermaid) | `3.9.2` | `3.10.0` | Updates `@docusaurus/preset-classic` from 3.9.2 to 3.10.0 - [Release notes](https://github.com/facebook/docusaurus/releases) - [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md) - [Commits](https://github.com/facebook/docusaurus/commits/v3.10.0/packages/docusaurus-preset-classic) Updates `@docusaurus/core` from 3.9.2 to 3.10.0 - [Release notes](https://github.com/facebook/docusaurus/releases) - [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md) - [Commits](https://github.com/facebook/docusaurus/commits/v3.10.0/packages/docusaurus) Updates `@docusaurus/faster` from 3.9.2 to 3.10.0 - [Release notes](https://github.com/facebook/docusaurus/releases) - [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md) - [Commits](https://github.com/facebook/docusaurus/commits/v3.10.0/packages/docusaurus-faster) Updates `@docusaurus/module-type-aliases` from 3.9.2 to 3.10.0 - [Release notes](https://github.com/facebook/docusaurus/releases) - [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md) - [Commits](https://github.com/facebook/docusaurus/commits/v3.10.0/packages/docusaurus-module-type-aliases) Updates `@docusaurus/plugin-client-redirects` from 3.9.2 to 3.10.0 - [Release notes](https://github.com/facebook/docusaurus/releases) - [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md) - [Commits](https://github.com/facebook/docusaurus/commits/v3.10.0/packages/docusaurus-plugin-client-redirects) Updates `@docusaurus/plugin-content-docs` from 3.9.2 to 3.10.0 - [Release notes](https://github.com/facebook/docusaurus/releases) - [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md) - [Commits](https://github.com/facebook/docusaurus/commits/v3.10.0/packages/docusaurus-plugin-content-docs) Updates `@docusaurus/theme-common` from 3.9.2 to 3.10.0 - [Release notes](https://github.com/facebook/docusaurus/releases) - [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md) - [Commits](https://github.com/facebook/docusaurus/commits/v3.10.0/packages/docusaurus-theme-common) Updates `@docusaurus/tsconfig` from 3.9.2 to 3.10.0 - [Release notes](https://github.com/facebook/docusaurus/releases) - [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md) - [Commits](https://github.com/facebook/docusaurus/commits/v3.10.0/packages/docusaurus-tsconfig) Updates `@docusaurus/types` from 3.9.2 to 3.10.0 - [Release notes](https://github.com/facebook/docusaurus/releases) - [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md) - [Commits](https://github.com/facebook/docusaurus/commits/v3.10.0/packages/docusaurus-types) Updates `@docusaurus/theme-mermaid` from 3.9.2 to 3.10.0 - [Release notes](https://github.com/facebook/docusaurus/releases) - [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md) - [Commits](https://github.com/facebook/docusaurus/commits/v3.10.0/packages/docusaurus-theme-mermaid) --- updated-dependencies: - dependency-name: "@docusaurus/preset-classic" dependency-version: 3.10.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: docusaurus - dependency-name: "@docusaurus/core" dependency-version: 3.10.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: docusaurus - dependency-name: "@docusaurus/faster" dependency-version: 3.10.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: docusaurus - dependency-name: "@docusaurus/module-type-aliases" dependency-version: 3.10.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: docusaurus - dependency-name: "@docusaurus/plugin-client-redirects" dependency-version: 3.10.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: docusaurus - dependency-name: "@docusaurus/plugin-content-docs" dependency-version: 3.10.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: docusaurus - dependency-name: "@docusaurus/theme-common" dependency-version: 3.10.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: docusaurus - dependency-name: "@docusaurus/tsconfig" dependency-version: 3.10.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: docusaurus - dependency-name: "@docusaurus/types" dependency-version: 3.10.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: docusaurus - dependency-name: "@docusaurus/theme-mermaid" dependency-version: 3.10.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: docusaurus ... Signed-off-by: dependabot[bot] <support@github.com> * fix config Signed-off-by: Jens Langhammer <jens@goauthentik.io> * update config Signed-off-by: Jens Langhammer <jens@goauthentik.io> * bump docusaurus-plugin-openapi-docs Signed-off-by: Jens Langhammer <jens@goauthentik.io> --------- Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Jens Langhammer <jens@goauthentik.io> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jens Langhammer <jens@goauthentik.io>
212 lines
7.2 KiB
JavaScript
212 lines
7.2 KiB
JavaScript
/**
|
|
* @file Docusaurus Documentation config.
|
|
*
|
|
* @import { UserThemeConfig, UserThemeConfigExtra } from "@goauthentik/docusaurus-config";
|
|
* @import { AKReleasesPluginOptions } from "@goauthentik/docusaurus-theme/releases/common"
|
|
* @import { AKRedirectsPluginOptions } from "@goauthentik/docusaurus-theme/redirects/plugin"
|
|
* @import { Options as RedirectsPluginOptions } from "@docusaurus/plugin-client-redirects";
|
|
* @import { NormalizedSidebar, NormalizedSidebarItemCategory, SidebarItemsGeneratorArgs } from "@docusaurus/plugin-content-docs/src/sidebars/types.ts";
|
|
*/
|
|
|
|
import { cp } from "node:fs/promises";
|
|
import { basename, resolve } from "node:path";
|
|
import { fileURLToPath } from "node:url";
|
|
|
|
import { createDocusaurusConfig } from "@goauthentik/docusaurus-config";
|
|
import {
|
|
createAlgoliaConfig,
|
|
createClassicPreset,
|
|
extendConfig,
|
|
} from "@goauthentik/docusaurus-theme/config";
|
|
import { RewriteIndex } from "@goauthentik/docusaurus-theme/redirects";
|
|
import { parse } from "@goauthentik/docusaurus-theme/redirects/node";
|
|
import { prepareReleaseEnvironment } from "@goauthentik/docusaurus-theme/releases/node";
|
|
import { remarkLinkRewrite } from "@goauthentik/docusaurus-theme/remark";
|
|
|
|
const __dirname = fileURLToPath(new URL(".", import.meta.url));
|
|
|
|
const rootStaticDirectory = resolve(__dirname, "..", "static");
|
|
const packageStaticDirectory = resolve(__dirname, "static");
|
|
const authentikModulePath = resolve(__dirname, "..", "..");
|
|
|
|
const releaseEnvironment = prepareReleaseEnvironment();
|
|
|
|
//#region Copy static files
|
|
|
|
const files = [
|
|
// ---
|
|
resolve(authentikModulePath, "lifecycle/container/compose.yml"),
|
|
];
|
|
|
|
await Promise.all(
|
|
files.map((file) => {
|
|
const fileName = basename(file);
|
|
const destPath = resolve(rootStaticDirectory, fileName);
|
|
return cp(file, destPath, { recursive: true });
|
|
}),
|
|
);
|
|
|
|
const redirectsFile = resolve(packageStaticDirectory, "_redirects");
|
|
const redirects = await parse(redirectsFile);
|
|
const redirectsIndex = new RewriteIndex(redirects);
|
|
|
|
//#endregion
|
|
|
|
/**
|
|
* Generate Sidebar structure for CVEs. Items are grouped by year and sorted newest to old.
|
|
*
|
|
* @param {SidebarItemsGeneratorArgs} args
|
|
* @returns {NormalizedSidebar}
|
|
*/
|
|
export function generateCVESidebar(args) {
|
|
/** @type {{ [key: string]: NormalizedSidebarItemCategory}} */
|
|
const yearCategories = {};
|
|
args.docs
|
|
.filter((item) => item.sourceDirName === "security/cves")
|
|
.forEach((item) => {
|
|
const matches = item.title.match(/CVE-(\d+)-/);
|
|
if (!matches) {
|
|
console.warn(`Could not extract year from CVE title: ${item.title}`);
|
|
return;
|
|
}
|
|
const year = matches[1] || "";
|
|
if (!Object.hasOwn(yearCategories, year)) {
|
|
yearCategories[year] = {
|
|
type: "category",
|
|
label: year,
|
|
items: [],
|
|
};
|
|
}
|
|
yearCategories[year]?.items.push({
|
|
type: "doc",
|
|
id: item.id,
|
|
});
|
|
});
|
|
const categories = Object.values(yearCategories);
|
|
categories.forEach((item) => {
|
|
item.items.reverse();
|
|
});
|
|
categories.reverse();
|
|
return categories;
|
|
}
|
|
|
|
//#region Configuration
|
|
|
|
export default createDocusaurusConfig(
|
|
extendConfig({
|
|
future: {
|
|
faster: true,
|
|
},
|
|
clientModules: ["../docusaurus-theme/theme/utils/mermaid_icons.js"],
|
|
url: "https://docs.goauthentik.io",
|
|
//#region Preset
|
|
|
|
presets: [
|
|
createClassicPreset({
|
|
pages: false,
|
|
docs: {
|
|
sidebarItemsGenerator: async ({ defaultSidebarItemsGenerator, ...args }) => {
|
|
const sidebarItems = await defaultSidebarItemsGenerator(args);
|
|
if (args.item.dirName === "security/cves") {
|
|
return generateCVESidebar(args);
|
|
}
|
|
return sidebarItems;
|
|
},
|
|
exclude: [
|
|
/**
|
|
* Exclude previously generated API docs.
|
|
*
|
|
* @expires 2025-12-01
|
|
*/
|
|
"**/developer-docs/api/reference/**",
|
|
],
|
|
routeBasePath: "/",
|
|
path: ".",
|
|
|
|
sidebarPath: "./sidebar.mjs",
|
|
showLastUpdateTime: false,
|
|
editUrl: "https://github.com/goauthentik/authentik/edit/main/website/docs/",
|
|
|
|
//#region Docs Plugins
|
|
|
|
beforeDefaultRemarkPlugins: [
|
|
remarkLinkRewrite([
|
|
["/api", "https://api.goauthentik.io"],
|
|
["/integrations", "https://integrations.goauthentik.io"],
|
|
]),
|
|
],
|
|
},
|
|
}),
|
|
],
|
|
|
|
//#endregion
|
|
|
|
//#region Plugins
|
|
|
|
plugins: [
|
|
[
|
|
"@goauthentik/docusaurus-theme/releases/plugin",
|
|
/** @type {AKReleasesPluginOptions} */ ({
|
|
docsDirectory: __dirname,
|
|
environment: releaseEnvironment,
|
|
}),
|
|
],
|
|
|
|
// Inject redirects for later use during runtime,
|
|
// such as navigating to non-existent page with the client-side router.
|
|
|
|
[
|
|
"@goauthentik/docusaurus-theme/redirects/plugin",
|
|
/** @type {AKRedirectsPluginOptions} */ ({
|
|
redirects,
|
|
}),
|
|
],
|
|
|
|
// Create build-time redirects for later use in HTTP responses,
|
|
// such as when navigating to a page for the first time.
|
|
//
|
|
// The existence of the _redirects file is also picked up by
|
|
// Netlify's deployment, which will redirect to the correct URL, even
|
|
// if the source is no longer present within the build output,
|
|
// such as when a page is removed, renamed, or moved.
|
|
[
|
|
"@docusaurus/plugin-client-redirects",
|
|
/** @type {RedirectsPluginOptions} */ ({
|
|
createRedirects(existingPath) {
|
|
const redirects = redirectsIndex.findAliases(existingPath);
|
|
|
|
return redirects;
|
|
},
|
|
}),
|
|
],
|
|
],
|
|
|
|
//#endregion
|
|
|
|
//#region Theme
|
|
|
|
themes: ["@goauthentik/docusaurus-theme", "@docusaurus/theme-mermaid"],
|
|
|
|
themeConfig: /** @type {UserThemeConfig & UserThemeConfigExtra} */ ({
|
|
algolia: createAlgoliaConfig({
|
|
externalUrlRegex: /^(?:https?:\/\/)(?!docs\.goauthentik.io)/.source,
|
|
}),
|
|
|
|
image: "img/social.png",
|
|
navbarReplacements: {
|
|
DOCS_URL: "/",
|
|
},
|
|
navbar: {
|
|
logo: {
|
|
alt: "authentik logo",
|
|
src: "img/icon_left_brand.svg",
|
|
href: "https://goauthentik.io/",
|
|
target: "_self",
|
|
},
|
|
},
|
|
}),
|
|
|
|
//#endregion
|
|
}),
|
|
);
|