website: Touch up shared config. (#15153)

* website: Touch up shared config.

* website: Update deps. Fix issues surrounding cross-package formatting.
This commit is contained in:
Teffen Ellis
2025-06-19 20:11:55 +02:00
committed by GitHub
parent d043dacece
commit caa5617ce6
10 changed files with 311 additions and 215 deletions

View File

@ -3,16 +3,26 @@
*
* @import { UserThemeConfig as UserThemeConfigCommon } from "@docusaurus/theme-common";
* @import { UserThemeConfig as UserThemeConfigAlgolia } from "@docusaurus/theme-search-algolia";
* @import { NavbarItemOverrides } from "./navbar.js"
*/
import { deepmerge } from "deepmerge-ts";
import { themes as prismThemes } from "prism-react-renderer";
import { createNavbarItems } from "./navbar.js";
//#region Types
/**
* Combined theme configuration for Docusaurus and Algolia.
* @typedef {Object} UserThemeConfigExtra
* @property {Partial<NavbarItemOverrides>} [navbarReplacements] The replacements for the navbar.
*
*/
/**
* Combined theme configuration for Docusaurus, Algolia, and our own configuration.
*
* @typedef {UserThemeConfigCommon & UserThemeConfigAlgolia} UserThemeConfig
*
*/
//#endregion
@ -57,10 +67,10 @@ export function createPrismConfig(overrides = {}) {
/**
* Creates a theme configuration for Docusaurus.
*
* @param {Partial<UserThemeConfig>} overrides - Overrides for the default theme configuration.
* @param {Partial<UserThemeConfig & UserThemeConfigExtra>} overrides - Overrides for the default theme configuration.
* @returns {UserThemeConfig}
*/
export function createThemeConfig({ prism, ...overrides } = {}) {
export function createThemeConfig({ prism, navbarReplacements, ...overrides } = {}) {
/**
* @type {UserThemeConfig}
*/
@ -77,6 +87,17 @@ export function createThemeConfig({ prism, ...overrides } = {}) {
appId: "36ROD0O0FV",
apiKey: "727db511300ca9aec5425645bbbddfb5",
},
footer: {
copyright: `Copyright © ${new Date().getFullYear()} Authentik Security Inc. Built with Docusaurus.`,
},
navbar: {
logo: {
alt: "authentik logo",
src: "img/icon_left_brand.svg",
},
items: createNavbarItems(navbarReplacements),
},
prism: createPrismConfig(prism),
};