website: Docusaurus 3.8 shared fixes part 2 (#15155)
* website: Fix issue where files are ignored during build. * Update packages/docusaurus-config/lib/routing.js Co-authored-by: Dominic R <dominic@sdko.org> Signed-off-by: Teffen Ellis <592134+GirlBossRush@users.noreply.github.com> * website: Update paths. --------- Signed-off-by: Teffen Ellis <592134+GirlBossRush@users.noreply.github.com> Co-authored-by: Dominic R <dominic@sdko.org>
This commit is contained in:
		
							
								
								
									
										110
									
								
								packages/docusaurus-config/lib/navbar.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										110
									
								
								packages/docusaurus-config/lib/navbar.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,110 @@ | ||||
| /** | ||||
|  * @file Docusaurus navbar configuration for the authentik website. | ||||
|  * | ||||
|  * @import { NavbarItem } from "@docusaurus/theme-common"; | ||||
|  */ | ||||
| import { DocusaurusURL, SocialURL } from "./routing.js"; | ||||
|  | ||||
| /** | ||||
|  * The navbar items for the authentik website. | ||||
|  * | ||||
|  * @type {NavbarItem[]} | ||||
|  */ | ||||
| export const SocialNavbarItems = /** @type {const} */ ([ | ||||
|     { | ||||
|         "href": SocialURL.GitHub, | ||||
|         "data-icon": "github", | ||||
|         "aria-label": "GitHub", | ||||
|         "position": "right", | ||||
|     }, | ||||
|     { | ||||
|         "href": SocialURL.Discord, | ||||
|         "data-icon": "discord", | ||||
|         "aria-label": "Discord", | ||||
|         "position": "right", | ||||
|     }, | ||||
| ]); | ||||
|  | ||||
| /** | ||||
|  * The navbar items for the authentik website. | ||||
|  * | ||||
|  * @satisfies {NavbarItem[]} | ||||
|  */ | ||||
| export const NavbarItemsTemplate = /** @type {const} */ ([ | ||||
|     { | ||||
|         to: "{{WWW_URL}}/features", | ||||
|         label: "Features", | ||||
|         position: "left", | ||||
|         target: "_self", | ||||
|     }, | ||||
|     { | ||||
|         to: "{{INTEGRATIONS_URL}}", | ||||
|         label: "Integrations", | ||||
|         target: "_self", | ||||
|         position: "left", | ||||
|     }, | ||||
|     { | ||||
|         to: "{{DOCS_URL}}", | ||||
|  | ||||
|         label: "Documentation", | ||||
|         position: "left", | ||||
|         target: "_self", | ||||
|     }, | ||||
|     { | ||||
|         to: "{{WWW_URL}}/pricing/", | ||||
|         label: "Pricing", | ||||
|         position: "left", | ||||
|         target: "_self", | ||||
|     }, | ||||
|     { | ||||
|         to: "{{WWW_URL}}/blog", | ||||
|         label: "Blog", | ||||
|         position: "left", | ||||
|         target: "_self", | ||||
|     }, | ||||
|     ...SocialNavbarItems, | ||||
| ]); | ||||
|  | ||||
| /** | ||||
|  * @typedef {Object} NavbarItemOverrides | ||||
|  * | ||||
|  * @prop {string} WWW_URL The URL for the WWW environment. | ||||
|  * @prop {string} DOCS_URL The URL for the documentation. | ||||
|  * @prop {string} INTEGRATIONS_URL The URL for the integrations. | ||||
|  */ | ||||
|  | ||||
| const DEFAULT_NAVBAR_REPLACEMENTS = /** @type {const} */ ({ | ||||
|     DOCS_URL: DocusaurusURL.Docs, | ||||
|     INTEGRATIONS_URL: DocusaurusURL.Integrations, | ||||
|     WWW_URL: DocusaurusURL.WWW, | ||||
| }); | ||||
|  | ||||
| /** | ||||
|  * Creates a navbar item array, replacing placeholders with the given replacements. | ||||
|  * | ||||
|  * @param {Partial<NavbarItemOverrides>} [overrides] | ||||
|  * @returns {NavbarItem[]} | ||||
|  */ | ||||
| export function createNavbarItems(overrides) { | ||||
|     const replacements = { | ||||
|         ...DEFAULT_NAVBAR_REPLACEMENTS, | ||||
|         ...overrides, | ||||
|     }; | ||||
|  | ||||
|     return NavbarItemsTemplate.map((item) => { | ||||
|         if (typeof item.to !== "string") return item; | ||||
|  | ||||
|         return { | ||||
|             ...item, | ||||
|             to: item.to.replace( | ||||
|                 /{{([^}]+)}}/g, | ||||
|                 /** | ||||
|                  * @param {keyof NavbarItemOverrides}  key | ||||
|                  */ | ||||
|                 (_, key) => { | ||||
|                     return replacements[key]; | ||||
|                 }, | ||||
|             ), | ||||
|         }; | ||||
|     }); | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 Teffen Ellis
					Teffen Ellis