 90c5b5c475
			
		
	
	90c5b5c475
	
	
	
		
			
			* 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>
		
			
				
	
	
		
			111 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			111 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /**
 | |
|  * @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];
 | |
|                 },
 | |
|             ),
 | |
|         };
 | |
|     });
 | |
| }
 |