livemark 0.19.0 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/actions/config/define.d.ts +4 -0
- package/build/components/Layout.js +6 -4
- package/build/components/Sidebar.js +7 -3
- package/build/components/SiteLink.d.ts +12 -0
- package/build/components/SiteLink.js +27 -0
- package/build/content/article.d.ts +3 -0
- package/build/helpers/section.d.ts +10 -0
- package/build/helpers/section.js +9 -1
- package/build/helpers/section.unit.js +36 -2
- package/build/models/config.d.ts +12 -0
- package/build/models/section.d.ts +8 -0
- package/build/models/section.js +2 -1
- package/package.json +1 -1
- package/source/components/Layout.tsx +10 -5
- package/source/components/Sidebar.tsx +9 -2
- package/source/components/SiteLink.tsx +46 -0
- package/source/helpers/section.ts +9 -0
- package/source/helpers/section.unit.ts +42 -0
- package/source/models/section.ts +1 -0
|
@@ -26,6 +26,7 @@ export declare function defineConfig(input: UserConfig): {
|
|
|
26
26
|
position: "header" | "sidebar";
|
|
27
27
|
siteTitle?: string | undefined;
|
|
28
28
|
siteDescription?: string | undefined;
|
|
29
|
+
siteLink?: string | undefined;
|
|
29
30
|
type: "article";
|
|
30
31
|
prefix: string;
|
|
31
32
|
} | {
|
|
@@ -34,6 +35,7 @@ export declare function defineConfig(input: UserConfig): {
|
|
|
34
35
|
position: "header" | "sidebar";
|
|
35
36
|
siteTitle?: string | undefined;
|
|
36
37
|
siteDescription?: string | undefined;
|
|
38
|
+
siteLink?: string | undefined;
|
|
37
39
|
type: "blog";
|
|
38
40
|
prefix: string;
|
|
39
41
|
} | {
|
|
@@ -42,6 +44,7 @@ export declare function defineConfig(input: UserConfig): {
|
|
|
42
44
|
position: "header" | "sidebar";
|
|
43
45
|
siteTitle?: string | undefined;
|
|
44
46
|
siteDescription?: string | undefined;
|
|
47
|
+
siteLink?: string | undefined;
|
|
45
48
|
type: "changelog";
|
|
46
49
|
prefix: string;
|
|
47
50
|
source: string;
|
|
@@ -52,6 +55,7 @@ export declare function defineConfig(input: UserConfig): {
|
|
|
52
55
|
position: "header" | "sidebar";
|
|
53
56
|
siteTitle?: string | undefined;
|
|
54
57
|
siteDescription?: string | undefined;
|
|
58
|
+
siteLink?: string | undefined;
|
|
55
59
|
type: "custom";
|
|
56
60
|
url: string;
|
|
57
61
|
})[] | undefined;
|
|
@@ -5,11 +5,12 @@ import { useHotkey } from "@tanstack/react-hotkeys";
|
|
|
5
5
|
import { currentSection, sectionFirstArticle, sectionFlatArticles, sortedArticles, } from "../content/article.js";
|
|
6
6
|
import { DynamicIcon } from "../helpers/dynamic-icon.js";
|
|
7
7
|
import { prefixUrl } from "../helpers/prefix-url.js";
|
|
8
|
-
import { customSectionActive } from "../helpers/section.js";
|
|
8
|
+
import { activeSiteLink, customSectionActive } from "../helpers/section.js";
|
|
9
9
|
import { SidebarInset, SidebarProvider, SidebarTrigger, useSidebar, } from "../elements/sidebar.js";
|
|
10
10
|
import { BackToTop } from "./BackToTop.js";
|
|
11
11
|
import { Banner } from "./Banner.js";
|
|
12
12
|
import { Sidebar } from "./Sidebar.js";
|
|
13
|
+
import { SiteLink } from "./SiteLink.js";
|
|
13
14
|
import { SiteTitle } from "./SiteTitle.js";
|
|
14
15
|
function splatFor(pathname) {
|
|
15
16
|
return { _splat: pathname.replace(/^\/|\/$/g, "") };
|
|
@@ -20,13 +21,14 @@ export function Layout(props) {
|
|
|
20
21
|
const activeSection = articleRoute
|
|
21
22
|
? currentSection(`/${pathname.replace(/^\/|\/$/g, "")}/`)
|
|
22
23
|
: undefined;
|
|
24
|
+
const siteLinkTarget = activeSiteLink(pathname, config.sections ?? []);
|
|
23
25
|
useHotkey("J", () => window.scrollBy({ top: window.innerHeight * 0.8, behavior: "smooth" }));
|
|
24
26
|
useHotkey("K", () => window.scrollBy({ top: -window.innerHeight * 0.8, behavior: "smooth" }));
|
|
25
27
|
const sections = config.sections;
|
|
26
28
|
const header = (_jsxs("header", { className: "sticky top-0 z-20 flex h-16 shrink-0 items-center border-b bg-background", children: [
|
|
27
29
|
_jsx("div", { className: `flex items-center self-stretch pl-4 ${props.withSidebar ? "pr-4" : "lg:pr-20"}`, children: props.withSidebar ? (_jsxs(_Fragment, { children: [
|
|
28
|
-
_jsx("div", { className: "hidden lg:flex", children: _jsx(SidebarTrigger, {}) }), _jsx(
|
|
29
|
-
] })) : (_jsx(
|
|
30
|
+
_jsx("div", { className: "hidden lg:flex", children: _jsx(SidebarTrigger, {}) }), _jsx(SiteLink, { to: siteLinkTarget, className: "lg:hidden flex items-center gap-2", children: _jsx(SiteTitle, {}) })
|
|
31
|
+
] })) : (_jsx(SiteLink, { to: siteLinkTarget, className: "flex items-center gap-2", children: _jsx(SiteTitle, {}) })) }), _jsxs("div", { className: "hidden lg:flex flex-1 items-center gap-8 self-stretch px-6 text-sm", children: [sections?.length ? (sections
|
|
30
32
|
.filter(section => section.position === "header")
|
|
31
33
|
.map(section => {
|
|
32
34
|
const icon = section.icon;
|
|
@@ -69,4 +71,4 @@ function SidebarShell(props) {
|
|
|
69
71
|
] })
|
|
70
72
|
] }));
|
|
71
73
|
}
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGF5b3V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2NvbXBvbmVudHMvTGF5b3V0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUNuRCxPQUFPLEVBQ0wsY0FBYyxFQUNkLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsY0FBYyxHQUNmLE1BQU0sdUJBQXVCLENBQUE7QUFDOUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE2QixDQUFBO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUMzRCxPQUFPLEVBQ0wsWUFBWSxFQUNaLGVBQWUsRUFDZixjQUFjLEVBQ2QsVUFBVSxHQUNYLE1BQU0sd0JBQXlCLENBQUE7QUFDaEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFpQixDQUFBO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFjLENBQUE7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWUsQ0FBQTtBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWlCLENBQUE7QUFFM0MsU0FBUyxRQUFRLENBQUMsUUFBZ0I7SUFDaEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFBO0FBQ3JELENBQUM7QUFFRCxNQUFNLFVBQVUsTUFBTSxDQUFDLEtBR3RCO0lBQ0MsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLEVBQUUs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YUFBYSxFQUFFLEdBQUcsVUFBVSxFQUFFLENBQUE7SUFDaEQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxLQUF1QyxFQUFFLEVBQUU7UUFDMUQsSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFNO1FBQ3JCLElBQUssS0FBSyxDQUFDLE1BQXNCLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUFFLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN0RSxDQUFDLENBQUE7SUFDRCxPQUFPLENBQ0wsZUFBSyxLQUFLLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU87WUFDbkQsS0FBQyxPQUFPLElBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXLEdBQUksRUFDM0MsTUFBQyxZQUFZLGVBQ1YsS0FBSyxDQUFDLE1BQU0sRUFDYixlQUFNLFNBQVMsRUFBQyxRQUFRLFlBQUUsS0FBSyxDQUFDLFFBQVEsR0FBUSxFQUNoRCxLQUFDLFNBQVMsS0FBRztvQkFDQTtZQUNYLENBQ1AsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25maWcgfSBmcm9tIFwibGl2ZW1hcms6dmlydHVhbFwiXG5pbXBvcnQgeyBMaW5rLCB1c2VMb2NhdGlvbiwgdXNlTWF0Y2ggfSBmcm9tIFwiQHRhbnN0YWNrL3JlYWN0LXJvdXRlclwiXG5pbXBvcnQgeyB1c2VIb3RrZXkgfSBmcm9tIFwiQHRhbnN0YWNrL3JlYWN0LWhvdGtleXNcIlxuaW1wb3J0IHtcbiAgY3VycmVudFNlY3Rpb24sXG4gIHNlY3Rpb25GaXJzdEFydGljbGUsXG4gIHNlY3Rpb25GbGF0QXJ0aWNsZXMsXG4gIHNvcnRlZEFydGljbGVzLFxufSBmcm9tIFwiLi4vY29udGVudC9hcnRpY2xlLnRzXCJcbmltcG9ydCB7IER5bmFtaWNJY29uIH0gZnJvbSBcIi4uL2hlbHBlcnMvZHluYW1pYy1pY29uLnRzeFwiXG5pbXBvcnQgeyBwcmVmaXhVcmwgfSBmcm9tIFwiLi4vaGVscGVycy9wcmVmaXgtdXJsLnRzXCJcbmltcG9ydCB7IGN1c3RvbVNlY3Rpb25BY3RpdmUgfSBmcm9tIFwiLi4vaGVscGVycy9zZWN0aW9uLnRzXCJcbmltcG9ydCB7XG4gIFNpZGViYXJJbnNldCxcbiAgU2lkZWJhclByb3ZpZGVyLFxuICBTaWRlYmFyVHJpZ2dlcixcbiAgdXNlU2lkZWJhcixcbn0gZnJvbSBcIi4uL2VsZW1lbnRzL3NpZGViYXIudHN4XCJcbmltcG9ydCB7IEJhY2tUb1RvcCB9IGZyb20gXCIuL0JhY2tUb1RvcC50c3hcIlxuaW1wb3J0IHsgQmFubmVyIH0gZnJvbSBcIi4vQmFubmVyLnRzeFwiXG5pbXBvcnQgeyBTaWRlYmFyIH0gZnJvbSBcIi4vU2lkZWJhci50c3hcIlxuaW1wb3J0IHsgU2l0ZVRpdGxlIH0gZnJvbSBcIi4vU2l0ZVRpdGxlLnRzeFwiXG5cbmZ1bmN0aW9uIHNwbGF0Rm9yKHBhdGhuYW1lOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHsgX3NwbGF0OiBwYXRobmFtZS5yZXBsYWNlKC9eXFwvfFxcLyQvZywgXCJcIikgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gTGF5b3V0KHByb3BzOiB7XG4gIHdpdGhTaWRlYmFyPzogYm9vbGVhblxuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZVxufSkge1xuICBjb25zdCBwYXRobmFtZSA9IHVzZUxvY2F0aW9uKHsgc2VsZWN0OiBsID0+IGwucGF0aG5hbWUgfSlcbiAgY29uc3QgYXJ0aWNsZVJvdXRlID0gdXNlTWF0Y2goeyBmcm9tOiBcIi8kXCIsIHNob3VsZFRocm93OiBmYWxzZSB9KVxuICBjb25zdCBhY3RpdmVTZWN0aW9uID0gYXJ0aWNsZVJvdXRlXG4gICAgPyBjdXJyZW50U2VjdGlvbihgLyR7cGF0aG5hbWUucmVwbGFjZSgvXlxcL3xcXC8kL2csIFwiXCIpfS9gKVxuICAgIDogdW5kZWZpbmVkXG5cbiAgdXNlSG90a2V5KFwiSlwiLCAoKSA9PlxuICAgIHdpbmRvdy5zY3JvbGxCeSh7IHRvcDogd2luZG93LmlubmVySGVpZ2h0ICogMC44LCBiZWhhdmlvcjogXCJzbW9vdGhcIiB9KSxcbiAgKVxuICB1c2VIb3RrZXkoXCJLXCIsICgpID0+XG4gICAgd2luZG93LnNjcm9sbEJ5KHsgdG9wOiAtd2luZG93LmlubmVySGVpZ2h0ICogMC44LCBiZWhhdmlvcjogXCJzbW9vdGhcIiB9KSxcbiAgKVxuXG4gIGNvbnN0IHNlY3Rpb25zID0gY29uZmlnLnNlY3Rpb25zXG5cbiAgY29uc3QgaGVhZGVyID0gKFxuICAgIDxoZWFkZXIgY2xhc3NOYW1lPVwic3RpY2t5IHRvcC0wIHotMjAgZmxleCBoLTE2IHNocmluay0wIGl0ZW1zLWNlbnRlciBib3JkZXItYiBiZy1iYWNrZ3JvdW5kXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT17YGZsZXggaXRlbXMtY2VudGVyIHNlbGYtc3RyZXRjaCBwbC00ICR7cHJvcHMud2l0aFNpZGViYXIgPyBcInByLTRcIiA6IFwibGc6cHItMjBcIn1gfVxuICAgICAgPlxuICAgICAgICB7cHJvcHMud2l0aFNpZGViYXIgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaGlkZGVuIGxnOmZsZXhcIj5cbiAgICAgICAgICAgICAgPFNpZGViYXJUcmlnZ2VyIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxMaW5rIHRvPVwiL1wiIGNsYXNzTmFtZT1cImxnOmhpZGRlbiBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICAgICAgICA8U2l0ZVRpdGxlIC8+XG4gICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPExpbmsgdG89XCIvXCIgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgICAgIDxTaXRlVGl0bGUgLz5cbiAgICAgICAgICA8L0xpbms+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaGlkZGVuIGxnOmZsZXggZmxleC0xIGl0ZW1zLWNlbnRlciBnYXAtOCBzZWxmLXN0cmV0Y2ggcHgtNiB0ZXh0LXNtXCI+XG4gICAgICAgIHtzZWN0aW9ucz8ubGVuZ3RoID8gKFxuICAgICAgICAgIHNlY3Rpb25zXG4gICAgICAgICAgICAuZmlsdGVyKHNlY3Rpb24gPT4gc2VjdGlvbi5wb3NpdGlvbiA9PT0gXCJoZWFkZXJcIilcbiAgICAgICAgICAgIC5tYXAoc2VjdGlvbiA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGljb24gPSBzZWN0aW9uLmljb25cbiAgICAgICAgICAgICAgaWYgKHNlY3Rpb24udHlwZSA9PT0gXCJjdXN0b21cIikge1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzQWN0aXZlID0gY3VzdG9tU2VjdGlvbkFjdGl2ZShzZWN0aW9uLnVybCwgcGF0aG5hbWUpXG4gICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgIGtleT17c2VjdGlvbi51cmx9XG4gICAgICAgICAgICAgICAgICAgIGhyZWY9e3ByZWZpeFVybChzZWN0aW9uLnVybCwgY29uZmlnLmJhc2UpfVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2BpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEuNSB0ZXh0LWZvcmVncm91bmQgJHtcbiAgICAgICAgICAgICAgICAgICAgICBpc0FjdGl2ZVxuICAgICAgICAgICAgICAgICAgICAgICAgPyBcImZvbnQtbWVkaXVtIGJvcmRlci1iLTIgYm9yZGVyLWZvcmVncm91bmQgcGItMC41IC1tYi0wLjVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgOiBcIm9wYWNpdHktODAgaG92ZXI6b3BhY2l0eS0xMDAgdHJhbnNpdGlvbi1vcGFjaXR5XCJcbiAgICAgICAgICAgICAgICAgICAgfWB9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHtpY29uICYmIDxEeW5hbWljSWNvbiBuYW1lPXtpY29ufSBjbGFzc05hbWU9XCJzaXplLTMuNVwiIC8+fVxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj57c2VjdGlvbi50aXRsZX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNvbnN0IGlzQWN0aXZlID0gYWN0aXZlU2VjdGlvbj8ucHJlZml4ID09PSBzZWN0aW9uLnByZWZpeFxuICAgICAgICAgICAgICBjb25zdCB0YXJnZXQgPVxuICAgICAgICAgICAgICAgIHNlY3Rpb24udHlwZSA9PT0gXCJibG9nXCIgfHwgc2VjdGlvbi50eXBlID09PSBcImNoYW5nZWxvZ1wiXG4gICAgICAgICAgICAgICAgICA/IHNlY3Rpb24ucHJlZml4XG4gICAgICAgICAgICAgICAgICA6IHNlY3Rpb25GaXJzdEFydGljbGUuZ2V0KHNlY3Rpb24ucHJlZml4KVxuICAgICAgICAgICAgICBjb25zdCBsYXRlc3RWZXJzaW9uID1cbiAgICAgICAgICAgICAgICBzZWN0aW9uLnR5cGUgPT09IFwiY2hhbmdlbG9nXCIgJiYgc2VjdGlvbi52ZXJzaW9uXG4gICAgICAgICAgICAgICAgICA/IHNvcnRlZEFydGljbGVzLmZpbmQoXG4gICAgICAgICAgICAgICAgICAgICAgYSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgYS5wYXRoID09PSBzZWN0aW9uRmxhdEFydGljbGVzLmdldChzZWN0aW9uLnByZWZpeCk/LlswXSxcbiAgICAgICAgICAgICAgICAgICAgKT8udGl0bGVcbiAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAgICAgIGtleT17c2VjdGlvbi5wcmVmaXh9XG4gICAgICAgICAgICAgICAgICB0bz17dGFyZ2V0ID09PSBcIi9cIiA/IFwiL1wiIDogXCIvJFwifVxuICAgICAgICAgICAgICAgICAgcGFyYW1zPXt0YXJnZXQgJiYgdGFyZ2V0ICE9PSBcIi9cIiA/IHNwbGF0Rm9yKHRhcmdldCkgOiB7fX1cbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBnYXAtMS41IHRleHQtZm9yZWdyb3VuZCAke1xuICAgICAgICAgICAgICAgICAgICBpc0FjdGl2ZVxuICAgICAgICAgICAgICAgICAgICAgID8gXCJmb250LW1lZGl1bSBib3JkZXItYi0yIGJvcmRlci1mb3JlZ3JvdW5kIHBiLTAuNSAtbWItMC41XCJcbiAgICAgICAgICAgICAgICAgICAgICA6IFwib3BhY2l0eS04MCBob3ZlcjpvcGFjaXR5LTEwMCB0cmFuc2l0aW9uLW9wYWNpdHlcIlxuICAgICAgICAgICAgICAgICAgfWB9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2ljb24gJiYgPER5bmFtaWNJY29uIG5hbWU9e2ljb259IGNsYXNzTmFtZT1cInNpemUtMy41XCIgLz59XG4gICAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgICAge3NlY3Rpb24udGl0bGV9XG4gICAgICAgICAgICAgICAgICAgIHtsYXRlc3RWZXJzaW9uICYmIChcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJvcGFjaXR5LTgwXCI+ICh7bGF0ZXN0VmVyc2lvbn0pPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgdG89XCIvXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQtZm9yZWdyb3VuZCBmb250LW1lZGl1bSB1bmRlcmxpbmUgdW5kZXJsaW5lLW9mZnNldC00XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBEb2NzXG4gICAgICAgICAgPC9MaW5rPlxuICAgICAgICApfVxuICAgICAgICB7Y29uZmlnLmxpbmtzXG4gICAgICAgICAgPy5maWx0ZXIoXG4gICAgICAgICAgICBsaW5rID0+XG4gICAgICAgICAgICAgIGxpbmsucG9zaXRpb24gPT09IFwiaGVhZGVyXCIgJiZcbiAgICAgICAgICAgICAgKCFsaW5rLnByZWZpeCB8fCBsaW5rLnByZWZpeCA9PT0gYWN0aXZlU2VjdGlvbj8ucHJlZml4KSxcbiAgICAgICAgICApXG4gICAgICAgICAgLm1hcChsaW5rID0+IChcbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgIGtleT17bGluay51cmx9XG4gICAgICAgICAgICAgIGhyZWY9e3ByZWZpeFVybChsaW5rLnVybCwgY29uZmlnLmJhc2UpfVxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LWZvcmVncm91bmQgb3BhY2l0eS04MCBob3ZlcjpvcGFjaXR5LTEwMCB0cmFuc2l0aW9uLW9wYWNpdHlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7bGluay5pY29uICYmIChcbiAgICAgICAgICAgICAgICA8RHluYW1pY0ljb25cbiAgICAgICAgICAgICAgICAgIG5hbWU9e2xpbmsuaWNvbn1cbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImlubGluZSBzaXplLTMuNSBhbGlnbi1bLTAuMTI1ZW1dXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApfXtcIiBcIn1cbiAgICAgICAgICAgICAge2xpbmsudGl0bGV9XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDxCYW5uZXIgLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJsZzpoaWRkZW4gbWwtYXV0byBwci0yXCI+XG4gICAgICAgIDxTaWRlYmFyVHJpZ2dlciAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9oZWFkZXI+XG4gIClcblxuICByZXR1cm4gKFxuICAgIDxTaWRlYmFyUHJvdmlkZXJcbiAgICAgIGtleT17cHJvcHMud2l0aFNpZGViYXIgPyBcInNpZGViYXJcIiA6IFwibWluaVwifVxuICAgICAgZGVmYXVsdE9wZW49eyEhcHJvcHMud2l0aFNpZGViYXJ9XG4gICAgPlxuICAgICAgPFNpZGViYXJTaGVsbCB3aXRoU2lkZWJhcj17cHJvcHMud2l0aFNpZGViYXJ9IGhlYWRlcj17aGVhZGVyfT5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9TaWRlYmFyU2hlbGw+XG4gICAgPC9TaWRlYmFyUHJvdmlkZXI+XG4gIClcbn1cblxuZnVuY3Rpb24gU2lkZWJhclNoZWxsKHByb3BzOiB7XG4gIHdpdGhTaWRlYmFyPzogYm9vbGVhblxuICBoZWFkZXI6IFJlYWN0LlJlYWN0Tm9kZVxuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZVxufSkge1xuICBjb25zdCB7IGlzTW9iaWxlLCBzZXRPcGVuTW9iaWxlIH0gPSB1c2VTaWRlYmFyKClcbiAgY29uc3Qgb25DbGljayA9IChldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHtcbiAgICBpZiAoIWlzTW9iaWxlKSByZXR1cm5cbiAgICBpZiAoKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuY2xvc2VzdChcImFcIikpIHNldE9wZW5Nb2JpbGUoZmFsc2UpXG4gIH1cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6IFwiY29udGVudHNcIiB9fSBvbkNsaWNrPXtvbkNsaWNrfT5cbiAgICAgIDxTaWRlYmFyIHdpdGhTaWRlYmFyPXtwcm9wcy53aXRoU2lkZWJhcn0gLz5cbiAgICAgIDxTaWRlYmFySW5zZXQ+XG4gICAgICAgIHtwcm9wcy5oZWFkZXJ9XG4gICAgICAgIDxtYWluIGNsYXNzTmFtZT1cImZsZXgtMVwiPntwcm9wcy5jaGlsZHJlbn08L21haW4+XG4gICAgICAgIDxCYWNrVG9Ub3AgLz5cbiAgICAgIDwvU2lkZWJhckluc2V0PlxuICAgIDwvZGl2PlxuICApXG59XG4iXX0=
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGF5b3V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2NvbXBvbmVudHMvTGF5b3V0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUNuRCxPQUFPLEVBQ0wsY0FBYyxFQUNkLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsY0FBYyxHQUNmLE1BQU0sdUJBQXVCLENBQUE7QUFDOUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE2QixDQUFBO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDM0UsT0FBTyxFQUNMLFlBQVksRUFDWixlQUFlLEVBQ2YsY0FBYyxFQUNkLFVBQVUsR0FDWCxNQUFNLHdCQUF5QixDQUFBO0FBQ2hDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBaUIsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sYUFBYyxDQUFBO0FBQ3JDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFlLENBQUE7QUFDdkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWdCLENBQUE7QUFDekMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFpQixDQUFBO0FBRTNDLFNBQVMsUUFBUSxDQUFDLFFBQWdCO0lBQ2hDLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQTtBQUNyRCxDQUFDO0FBRUQsTUFBTSxVQUFV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LENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FNM0IsQ0FDbkIsQ0FBQTtBQUNILENBQUM7QUFFRCxTQUFTLFlBQVksQ0FBQyxLQUlyQjtJQUNDLE1BQU0sRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLEdBQUcsVUFBVSxFQUFFLENBQUE7SUFDaEQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxLQUF1QyxFQUFFLEVBQUU7UUFDMUQsSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFNO1FBQ3JCLElBQUssS0FBSyxDQUFDLE1BQXNCLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUFFLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN0RSxDQUFDLENBQUE7SUFDRCxPQUFPLENBQ0wsZUFBSyxLQUFLLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU87WUFDbkQsS0FBQyxPQUFPLElBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXLEdBQUksRUFDM0MsTUFBQyxZQUFZLGVBQ1YsS0FBSyxDQUFDLE1BQU0sRUFDYixlQUFNLFNBQVMsRUFBQyxRQUFRLFlBQUUsS0FBSyxDQUFDLFFBQVEsR0FBUSxFQUNoRCxLQUFDLFNBQVMsS0FBRztvQkFDQTtZQUNYLENBQ1AsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25maWcgfSBmcm9tIFwibGl2ZW1hcms6dmlydHVhbFwiXG5pbXBvcnQgeyBMaW5rLCB1c2VMb2NhdGlvbiwgdXNlTWF0Y2ggfSBmcm9tIFwiQHRhbnN0YWNrL3JlYWN0LXJvdXRlclwiXG5pbXBvcnQgeyB1c2VIb3RrZXkgfSBmcm9tIFwiQHRhbnN0YWNrL3JlYWN0LWhvdGtleXNcIlxuaW1wb3J0IHtcbiAgY3VycmVudFNlY3Rpb24sXG4gIHNlY3Rpb25GaXJzdEFydGljbGUsXG4gIHNlY3Rpb25GbGF0QXJ0aWNsZXMsXG4gIHNvcnRlZEFydGljbGVzLFxufSBmcm9tIFwiLi4vY29udGVudC9hcnRpY2xlLnRzXCJcbmltcG9ydCB7IER5bmFtaWNJY29uIH0gZnJvbSBcIi4uL2hlbHBlcnMvZHluYW1pYy1pY29uLnRzeFwiXG5pbXBvcnQgeyBwcmVmaXhVcmwgfSBmcm9tIFwiLi4vaGVscGVycy9wcmVmaXgtdXJsLnRzXCJcbmltcG9ydCB7IGFjdGl2ZVNpdGVMaW5rLCBjdXN0b21TZWN0aW9uQWN0aXZlIH0gZnJvbSBcIi4uL2hlbHBlcnMvc2VjdGlvbi50c1wiXG5pbXBvcnQge1xuICBTaWRlYmFySW5zZXQsXG4gIFNpZGViYXJQcm92aWRlcixcbiAgU2lkZWJhclRyaWdnZXIsXG4gIHVzZVNpZGViYXIsXG59IGZyb20gXCIuLi9lbGVtZW50cy9zaWRlYmFyLnRzeFwiXG5pbXBvcnQgeyBCYWNrVG9Ub3AgfSBmcm9tIFwiLi9CYWNrVG9Ub3AudHN4XCJcbmltcG9ydCB7IEJhbm5lciB9IGZyb20gXCIuL0Jhbm5lci50c3hcIlxuaW1wb3J0IHsgU2lkZWJhciB9IGZyb20gXCIuL1NpZGViYXIudHN4XCJcbmltcG9ydCB7IFNpdGVMaW5rIH0gZnJvbSBcIi4vU2l0ZUxpbmsudHN4XCJcbmltcG9ydCB7IFNpdGVUaXRsZSB9IGZyb20gXCIuL1NpdGVUaXRsZS50c3hcIlxuXG5mdW5jdGlvbiBzcGxhdEZvcihwYXRobmFtZTogc3RyaW5nKSB7XG4gIHJldHVybiB7IF9zcGxhdDogcGF0aG5hbWUucmVwbGFjZSgvXlxcL3xcXC8kL2csIFwiXCIpIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIExheW91dChwcm9wczoge1xuICB3aXRoU2lkZWJhcj86IGJvb2xlYW5cbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGVcbn0pIHtcbiAgY29uc3QgcGF0aG5hbWUgPSB1c2VMb2NhdGlvbih7IHNlbGVjdDogbCA9PiBsLnBhdGhuYW1lIH0pXG4gIGNvbnN0IGFydGljbGVSb3V0ZSA9IHVzZU1hdGNoKHsgZnJvbTogXCIvJFwiLCBzaG91bGRUaHJvdzogZmFsc2UgfSlcbiAgY29uc3QgYWN0aXZlU2VjdGlvbiA9IGFydGljbGVSb3V0ZVxuICAgID8gY3VycmVudFNlY3Rpb24oYC8ke3BhdGhuYW1lLnJlcGxhY2UoL15cXC98XFwvJC9nLCBcIlwiKX0vYClcbiAgICA6IHVuZGVmaW5lZFxuICBjb25zdCBzaXRlTGlua1RhcmdldCA9IGFjdGl2ZVNpdGVMaW5rKHBhdGhuYW1lLCBjb25maWcuc2VjdGlvbnMgPz8gW10pXG5cbiAgdXNlSG90a2V5KFwiSlwiLCAoKSA9PlxuICAgIHdpbmRvdy5zY3JvbGxCeSh7IHRvcDogd2luZG93LmlubmVySGVpZ2h0ICogMC44LCBiZWhhdmlvcjogXCJzbW9vdGhcIiB9KSxcbiAgKVxuICB1c2VIb3RrZXkoXCJLXCIsICgpID0+XG4gICAgd2luZG93LnNjcm9sbEJ5KHsgdG9wOiAtd2luZG93LmlubmVySGVpZ2h0ICogMC44LCBiZWhhdmlvcjogXCJzbW9vdGhcIiB9KSxcbiAgKVxuXG4gIGNvbnN0IHNlY3Rpb25zID0gY29uZmlnLnNlY3Rpb25zXG5cbiAgY29uc3QgaGVhZGVyID0gKFxuICAgIDxoZWFkZXIgY2xhc3NOYW1lPVwic3RpY2t5IHRvcC0wIHotMjAgZmxleCBoLTE2IHNocmluay0wIGl0ZW1zLWNlbnRlciBib3JkZXItYiBiZy1iYWNrZ3JvdW5kXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT17YGZsZXggaXRlbXMtY2VudGVyIHNlbGYtc3RyZXRjaCBwbC00ICR7cHJvcHMud2l0aFNpZGViYXIgPyBcInByLTRcIiA6IFwibGc6cHItMjBcIn1gfVxuICAgICAgPlxuICAgICAgICB7cHJvcHMud2l0aFNpZGViYXIgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaGlkZGVuIGxnOmZsZXhcIj5cbiAgICAgICAgICAgICAgPFNpZGViYXJUcmlnZ2VyIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxTaXRlTGlua1xuICAgICAgICAgICAgICB0bz17c2l0ZUxpbmtUYXJnZXR9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImxnOmhpZGRlbiBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxTaXRlVGl0bGUgLz5cbiAgICAgICAgICAgIDwvU2l0ZUxpbms+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFNpdGVMaW5rIHRvPXtzaXRlTGlua1RhcmdldH0gY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgICAgIDxTaXRlVGl0bGUgLz5cbiAgICAgICAgICA8L1NpdGVMaW5rPlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImhpZGRlbiBsZzpmbGV4IGZsZXgtMSBpdGVtcy1jZW50ZXIgZ2FwLTggc2VsZi1zdHJldGNoIHB4LTYgdGV4dC1zbVwiPlxuICAgICAgICB7c2VjdGlvbnM/Lmxlbmd0aCA/IChcbiAgICAgICAgICBzZWN0aW9uc1xuICAgICAgICAgICAgLmZpbHRlcihzZWN0aW9uID0+IHNlY3Rpb24ucG9zaXRpb24gPT09IFwiaGVhZGVyXCIpXG4gICAgICAgICAgICAubWFwKHNlY3Rpb24gPT4ge1xuICAgICAgICAgICAgICBjb25zdCBpY29uID0gc2VjdGlvbi5pY29uXG4gICAgICAgICAgICAgIGlmIChzZWN0aW9uLnR5cGUgPT09IFwiY3VzdG9tXCIpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpc0FjdGl2ZSA9IGN1c3RvbVNlY3Rpb25BY3RpdmUoc2VjdGlvbi51cmwsIHBhdGhuYW1lKVxuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICBrZXk9e3NlY3Rpb24udXJsfVxuICAgICAgICAgICAgICAgICAgICBocmVmPXtwcmVmaXhVcmwoc2VjdGlvbi51cmwsIGNvbmZpZy5iYXNlKX1cbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGdhcC0xLjUgdGV4dC1mb3JlZ3JvdW5kICR7XG4gICAgICAgICAgICAgICAgICAgICAgaXNBY3RpdmVcbiAgICAgICAgICAgICAgICAgICAgICAgID8gXCJmb250LW1lZGl1bSBib3JkZXItYi0yIGJvcmRlci1mb3JlZ3JvdW5kIHBiLTAuNSAtbWItMC41XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogXCJvcGFjaXR5LTgwIGhvdmVyOm9wYWNpdHktMTAwIHRyYW5zaXRpb24tb3BhY2l0eVwiXG4gICAgICAgICAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7aWNvbiAmJiA8RHluYW1pY0ljb24gbmFtZT17aWNvbn0gY2xhc3NOYW1lPVwic2l6ZS0zLjVcIiAvPn1cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3NlY3Rpb24udGl0bGV9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjb25zdCBpc0FjdGl2ZSA9IGFjdGl2ZVNlY3Rpb24/LnByZWZpeCA9PT0gc2VjdGlvbi5wcmVmaXhcbiAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID1cbiAgICAgICAgICAgICAgICBzZWN0aW9uLnR5cGUgPT09IFwiYmxvZ1wiIHx8IHNlY3Rpb24udHlwZSA9PT0gXCJjaGFuZ2Vsb2dcIlxuICAgICAgICAgICAgICAgICAgPyBzZWN0aW9uLnByZWZpeFxuICAgICAgICAgICAgICAgICAgOiBzZWN0aW9uRmlyc3RBcnRpY2xlLmdldChzZWN0aW9uLnByZWZpeClcbiAgICAgICAgICAgICAgY29uc3QgbGF0ZXN0VmVyc2lvbiA9XG4gICAgICAgICAgICAgICAgc2VjdGlvbi50eXBlID09PSBcImNoYW5nZWxvZ1wiICYmIHNlY3Rpb24udmVyc2lvblxuICAgICAgICAgICAgICAgICAgPyBzb3J0ZWRBcnRpY2xlcy5maW5kKFxuICAgICAgICAgICAgICAgICAgICAgIGEgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIGEucGF0aCA9PT0gc2VjdGlvbkZsYXRBcnRpY2xlcy5nZXQoc2VjdGlvbi5wcmVmaXgpPy5bMF0sXG4gICAgICAgICAgICAgICAgICAgICk/LnRpdGxlXG4gICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgICAgICBrZXk9e3NlY3Rpb24ucHJlZml4fVxuICAgICAgICAgICAgICAgICAgdG89e3RhcmdldCA9PT0gXCIvXCIgPyBcIi9cIiA6IFwiLyRcIn1cbiAgICAgICAgICAgICAgICAgIHBhcmFtcz17dGFyZ2V0ICYmIHRhcmdldCAhPT0gXCIvXCIgPyBzcGxhdEZvcih0YXJnZXQpIDoge319XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2BpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEuNSB0ZXh0LWZvcmVncm91bmQgJHtcbiAgICAgICAgICAgICAgICAgICAgaXNBY3RpdmVcbiAgICAgICAgICAgICAgICAgICAgICA/IFwiZm9udC1tZWRpdW0gYm9yZGVyLWItMiBib3JkZXItZm9yZWdyb3VuZCBwYi0wLjUgLW1iLTAuNVwiXG4gICAgICAgICAgICAgICAgICAgICAgOiBcIm9wYWNpdHktODAgaG92ZXI6b3BhY2l0eS0xMDAgdHJhbnNpdGlvbi1vcGFjaXR5XCJcbiAgICAgICAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtpY29uICYmIDxEeW5hbWljSWNvbiBuYW1lPXtpY29ufSBjbGFzc05hbWU9XCJzaXplLTMuNVwiIC8+fVxuICAgICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgIHtzZWN0aW9uLnRpdGxlfVxuICAgICAgICAgICAgICAgICAgICB7bGF0ZXN0VmVyc2lvbiAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwib3BhY2l0eS04MFwiPiAoe2xhdGVzdFZlcnNpb259KTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0pXG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPExpbmtcbiAgICAgICAgICAgIHRvPVwiL1wiXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LWZvcmVncm91bmQgZm9udC1tZWRpdW0gdW5kZXJsaW5lIHVuZGVybGluZS1vZmZzZXQtNFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgRG9jc1xuICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgKX1cbiAgICAgICAge2NvbmZpZy5saW5rc1xuICAgICAgICAgID8uZmlsdGVyKFxuICAgICAgICAgICAgbGluayA9PlxuICAgICAgICAgICAgICBsaW5rLnBvc2l0aW9uID09PSBcImhlYWRlclwiICYmXG4gICAgICAgICAgICAgICghbGluay5wcmVmaXggfHwgbGluay5wcmVmaXggPT09IGFjdGl2ZVNlY3Rpb24/LnByZWZpeCksXG4gICAgICAgICAgKVxuICAgICAgICAgIC5tYXAobGluayA9PiAoXG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICBrZXk9e2xpbmsudXJsfVxuICAgICAgICAgICAgICBocmVmPXtwcmVmaXhVcmwobGluay51cmwsIGNvbmZpZy5iYXNlKX1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC1mb3JlZ3JvdW5kIG9wYWNpdHktODAgaG92ZXI6b3BhY2l0eS0xMDAgdHJhbnNpdGlvbi1vcGFjaXR5XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2xpbmsuaWNvbiAmJiAoXG4gICAgICAgICAgICAgICAgPER5bmFtaWNJY29uXG4gICAgICAgICAgICAgICAgICBuYW1lPXtsaW5rLmljb259XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJpbmxpbmUgc2l6ZS0zLjUgYWxpZ24tWy0wLjEyNWVtXVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKX17XCIgXCJ9XG4gICAgICAgICAgICAgIHtsaW5rLnRpdGxlfVxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICkpfVxuICAgICAgICA8QmFubmVyIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGc6aGlkZGVuIG1sLWF1dG8gcHItMlwiPlxuICAgICAgICA8U2lkZWJhclRyaWdnZXIgLz5cbiAgICAgIDwvZGl2PlxuICAgIDwvaGVhZGVyPlxuICApXG5cbiAgcmV0dXJuIChcbiAgICA8U2lkZWJhclByb3ZpZGVyXG4gICAgICBrZXk9e3Byb3BzLndpdGhTaWRlYmFyID8gXCJzaWRlYmFyXCIgOiBcIm1pbmlcIn1cbiAgICAgIGRlZmF1bHRPcGVuPXshIXByb3BzLndpdGhTaWRlYmFyfVxuICAgID5cbiAgICAgIDxTaWRlYmFyU2hlbGwgd2l0aFNpZGViYXI9e3Byb3BzLndpdGhTaWRlYmFyfSBoZWFkZXI9e2hlYWRlcn0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvU2lkZWJhclNoZWxsPlxuICAgIDwvU2lkZWJhclByb3ZpZGVyPlxuICApXG59XG5cbmZ1bmN0aW9uIFNpZGViYXJTaGVsbChwcm9wczoge1xuICB3aXRoU2lkZWJhcj86IGJvb2xlYW5cbiAgaGVhZGVyOiBSZWFjdC5SZWFjdE5vZGVcbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGVcbn0pIHtcbiAgY29uc3QgeyBpc01vYmlsZSwgc2V0T3Blbk1vYmlsZSB9ID0gdXNlU2lkZWJhcigpXG4gIGNvbnN0IG9uQ2xpY2sgPSAoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgaWYgKCFpc01vYmlsZSkgcmV0dXJuXG4gICAgaWYgKChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsb3Nlc3QoXCJhXCIpKSBzZXRPcGVuTW9iaWxlKGZhbHNlKVxuICB9XG4gIHJldHVybiAoXG4gICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiBcImNvbnRlbnRzXCIgfX0gb25DbGljaz17b25DbGlja30+XG4gICAgICA8U2lkZWJhciB3aXRoU2lkZWJhcj17cHJvcHMud2l0aFNpZGViYXJ9IC8+XG4gICAgICA8U2lkZWJhckluc2V0PlxuICAgICAgICB7cHJvcHMuaGVhZGVyfVxuICAgICAgICA8bWFpbiBjbGFzc05hbWU9XCJmbGV4LTFcIj57cHJvcHMuY2hpbGRyZW59PC9tYWluPlxuICAgICAgICA8QmFja1RvVG9wIC8+XG4gICAgICA8L1NpZGViYXJJbnNldD5cbiAgICA8L2Rpdj5cbiAgKVxufVxuIl19
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { config } from "livemark:virtual";
|
|
3
|
+
import { useLocation, useMatch } from "@tanstack/react-router";
|
|
3
4
|
import { useHotkey } from "@tanstack/react-hotkeys";
|
|
4
5
|
import { currentSection } from "../content/article.js";
|
|
6
|
+
import { activeSiteLink } from "../helpers/section.js";
|
|
5
7
|
import { Sidebar as SidebarRoot, SidebarContent, SidebarFooter, SidebarHeader, SidebarMenu, SidebarMenuButton, SidebarMenuItem, SidebarRail, useSidebar, } from "../elements/sidebar.js";
|
|
6
8
|
import { Search } from "./Search.js";
|
|
7
9
|
import { SidebarArticles } from "./SidebarArticles.js";
|
|
@@ -9,6 +11,7 @@ import { SidebarLinks } from "./SidebarLinks.js";
|
|
|
9
11
|
import { SidebarPosts } from "./SidebarPosts.js";
|
|
10
12
|
import { SidebarReleases } from "./SidebarReleases.js";
|
|
11
13
|
import { SidebarSections } from "./SidebarSections.js";
|
|
14
|
+
import { SiteLink } from "./SiteLink.js";
|
|
12
15
|
import { SiteTitle } from "./SiteTitle.js";
|
|
13
16
|
import { Theme } from "./Theme.js";
|
|
14
17
|
/** Application sidebar shell: header, body slot picked by section.type, footer */
|
|
@@ -23,8 +26,9 @@ export function Sidebar(props) {
|
|
|
23
26
|
const section = articleRoute
|
|
24
27
|
? currentSection(`/${pathname.replace(/^\/|\/$/g, "")}/`)
|
|
25
28
|
: undefined;
|
|
29
|
+
const siteLinkTarget = activeSiteLink(pathname, config.sections ?? []);
|
|
26
30
|
return (_jsxs(SidebarRoot, { children: [
|
|
27
|
-
_jsx(SidebarHeader, { children: _jsx(SidebarMenu, { children: _jsx(SidebarMenuItem, { children: _jsx(SidebarMenuButton, { size: "lg", render: _jsx(
|
|
31
|
+
_jsx(SidebarHeader, { children: _jsx(SidebarMenu, { children: _jsx(SidebarMenuItem, { children: _jsx(SidebarMenuButton, { size: "lg", render: _jsx(SiteLink, { to: siteLinkTarget }), children: _jsx(SiteTitle, {}) }) }) }) }), _jsxs(SidebarContent, { children: [
|
|
28
32
|
_jsx(SidebarSections, {}), props.withSidebar && section?.type === "blog" && _jsx(SidebarPosts, {}), props.withSidebar && section?.type === "changelog" && (_jsx(SidebarReleases, {})), props.withSidebar &&
|
|
29
33
|
section?.type !== "blog" &&
|
|
30
34
|
section?.type !== "changelog" && _jsx(SidebarArticles, {}), _jsx(SidebarLinks, {})
|
|
@@ -33,4 +37,4 @@ export function Sidebar(props) {
|
|
|
33
37
|
] }), _jsx(SidebarRail, {})
|
|
34
38
|
] }));
|
|
35
39
|
}
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2lkZWJhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NvdXJjZS9jb21wb25lbnRzL1NpZGViYXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUN0RCxPQUFPLEVBQ0wsT0FBTyxJQUFJLFdBQVcsRUFDdEIsY0FBYyxFQUNkLGFBQWEsRUFDYixhQUFhLEVBQ2IsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixlQUFlLEVBQ2YsV0FBVyxFQUNYLFVBQVUsR0FDWCxNQUFNLHdCQUF5QixDQUFBO0FBQ2hDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFjLENBQUE7QUFDckMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUF1QixDQUFBO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBb0IsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW9CLENBQUE7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUF1QixDQUFBO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBdUIsQ0FBQTtBQUN2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZ0IsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWlCLENBQUE7QUFDM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFlBQWEsQ0FBQTtBQUVuQyxrRkFBa0Y7QUFDbEYsTUFBTSxVQUFVLE9BQU8sQ0FBQyxLQUFnQztJQUN0RCxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtJQUN6RCxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO0lBQ2pFLE1BQU0sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLEdBQUcsVUFBVSxFQUFFLENBQUE7SUFFaEQsU0FBUyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUU7UUFDbEIsSUFBSSxLQUFLLENBQUMsV0FBVyxJQUFJLFFBQVE7WUFBRSxhQUFhLEVBQUUsQ0FBQTtJQUNwRCxDQUFDLENBQUMsQ0FBQTtJQUVGLE1BQU0sT0FBTyxHQUFHLFlBQVk7UUFDMUIsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUM7UUFDekQsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtJQUNiLE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQTtJQUV0RSxPQUFPLENBQ0wsTUFBQyxXQUFXO1lBQ1YsS0FBQyxhQUFhLGNBQ1osS0FBQyxXQUFXLGNBQ1YsS0FBQyxlQUFlLGNBQ2QsS0FBQyxpQkFBaUIsSUFDaEIsSUFBSSxFQUFDLElBQUksRUFDVCxNQUFNLEVBQUUsS0FBQyxRQUFRLElBQUMsRUFBRSxFQUFFLGNBQWMsR0FBSSxZQUV4QyxLQUFDLFNBQVMsS0FBRyxHQUNLLEdBQ0osR0FDTixHQUNBLEVBQ2hCLE1BQUMsY0FBYztvQkFDYixLQUFDLGVBQWUsS0FBRyxFQUNsQixLQUFLLENBQUMsV0FBVyxJQUFJLE9BQU8sRUFBRSxJQUFJLEtBQUssTUFBTSxJQUFJLEtBQUMsWUFBWSxLQUFHLEVBQ2pFLEtBQUssQ0FBQyxXQUFXLElBQUksT0FBTyxFQUFFLElBQUksS0FBSyxXQUFXLElBQUksQ0FDckQsS0FBQyxlQUFlLEtBQUcsQ0FDcEIsRUFDQSxLQUFLLENBQUMsV0FBVzt3QkFDaEIsT0FBTyxFQUFFLElBQUksS0FBSyxNQUFNO3dCQUN4QixPQUFPLEVBQUUsSUFBSSxLQUFLLFdBQVcsSUFBSSxLQUFDLGVBQWUsS0FBRyxFQUN0RCxLQUFDLFlBQVksS0FBRztvQkFDRCxFQUNqQixNQUFDLGFBQWEsSUFBQyxTQUFTLEVBQUMsZUFBZTtvQkFDdEMsS0FBQyxNQUFNLEtBQUcsRUFDVixLQUFDLEtBQUssS0FBRztvQkFDSyxFQUNoQixLQUFDLFdBQVcsS0FBRztZQUNILENBQ2YsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25maWcgfSBmcm9tIFwibGl2ZW1hcms6dmlydHVhbFwiXG5pbXBvcnQgeyB1c2VMb2NhdGlvbiwgdXNlTWF0Y2ggfSBmcm9tIFwiQHRhbnN0YWNrL3JlYWN0LXJvdXRlclwiXG5pbXBvcnQgeyB1c2VIb3RrZXkgfSBmcm9tIFwiQHRhbnN0YWNrL3JlYWN0LWhvdGtleXNcIlxuaW1wb3J0IHsgY3VycmVudFNlY3Rpb24gfSBmcm9tIFwiLi4vY29udGVudC9hcnRpY2xlLnRzXCJcbmltcG9ydCB7IGFjdGl2ZVNpdGVMaW5rIH0gZnJvbSBcIi4uL2hlbHBlcnMvc2VjdGlvbi50c1wiXG5pbXBvcnQge1xuICBTaWRlYmFyIGFzIFNpZGViYXJSb290LFxuICBTaWRlYmFyQ29udGVudCxcbiAgU2lkZWJhckZvb3RlcixcbiAgU2lkZWJhckhlYWRlcixcbiAgU2lkZWJhck1lbnUsXG4gIFNpZGViYXJNZW51QnV0dG9uLFxuICBTaWRlYmFyTWVudUl0ZW0sXG4gIFNpZGViYXJSYWlsLFxuICB1c2VTaWRlYmFyLFxufSBmcm9tIFwiLi4vZWxlbWVudHMvc2lkZWJhci50c3hcIlxuaW1wb3J0IHsgU2VhcmNoIH0gZnJvbSBcIi4vU2VhcmNoLnRzeFwiXG5pbXBvcnQgeyBTaWRlYmFyQXJ0aWNsZXMgfSBmcm9tIFwiLi9TaWRlYmFyQXJ0aWNsZXMudHN4XCJcbmltcG9ydCB7IFNpZGViYXJMaW5rcyB9IGZyb20gXCIuL1NpZGViYXJMaW5rcy50c3hcIlxuaW1wb3J0IHsgU2lkZWJhclBvc3RzIH0gZnJvbSBcIi4vU2lkZWJhclBvc3RzLnRzeFwiXG5pbXBvcnQgeyBTaWRlYmFyUmVsZWFzZXMgfSBmcm9tIFwiLi9TaWRlYmFyUmVsZWFzZXMudHN4XCJcbmltcG9ydCB7IFNpZGViYXJTZWN0aW9ucyB9IGZyb20gXCIuL1NpZGViYXJTZWN0aW9ucy50c3hcIlxuaW1wb3J0IHsgU2l0ZUxpbmsgfSBmcm9tIFwiLi9TaXRlTGluay50c3hcIlxuaW1wb3J0IHsgU2l0ZVRpdGxlIH0gZnJvbSBcIi4vU2l0ZVRpdGxlLnRzeFwiXG5pbXBvcnQgeyBUaGVtZSB9IGZyb20gXCIuL1RoZW1lLnRzeFwiXG5cbi8qKiBBcHBsaWNhdGlvbiBzaWRlYmFyIHNoZWxsOiBoZWFkZXIsIGJvZHkgc2xvdCBwaWNrZWQgYnkgc2VjdGlvbi50eXBlLCBmb290ZXIgKi9cbmV4cG9ydCBmdW5jdGlvbiBTaWRlYmFyKHByb3BzOiB7IHdpdGhTaWRlYmFyPzogYm9vbGVhbiB9KSB7XG4gIGNvbnN0IHBhdGhuYW1lID0gdXNlTG9jYXRpb24oeyBzZWxlY3Q6IGwgPT4gbC5wYXRobmFtZSB9KVxuICBjb25zdCBhcnRpY2xlUm91dGUgPSB1c2VNYXRjaCh7IGZyb206IFwiLyRcIiwgc2hvdWxkVGhyb3c6IGZhbHNlIH0pXG4gIGNvbnN0IHsgdG9nZ2xlU2lkZWJhciwgaXNNb2JpbGUgfSA9IHVzZVNpZGViYXIoKVxuXG4gIHVzZUhvdGtleShcIlNcIiwgKCkgPT4ge1xuICAgIGlmIChwcm9wcy53aXRoU2lkZWJhciB8fCBpc01vYmlsZSkgdG9nZ2xlU2lkZWJhcigpXG4gIH0pXG5cbiAgY29uc3Qgc2VjdGlvbiA9IGFydGljbGVSb3V0ZVxuICAgID8gY3VycmVudFNlY3Rpb24oYC8ke3BhdGhuYW1lLnJlcGxhY2UoL15cXC98XFwvJC9nLCBcIlwiKX0vYClcbiAgICA6IHVuZGVmaW5lZFxuICBjb25zdCBzaXRlTGlua1RhcmdldCA9IGFjdGl2ZVNpdGVMaW5rKHBhdGhuYW1lLCBjb25maWcuc2VjdGlvbnMgPz8gW10pXG5cbiAgcmV0dXJuIChcbiAgICA8U2lkZWJhclJvb3Q+XG4gICAgICA8U2lkZWJhckhlYWRlcj5cbiAgICAgICAgPFNpZGViYXJNZW51PlxuICAgICAgICAgIDxTaWRlYmFyTWVudUl0ZW0+XG4gICAgICAgICAgICA8U2lkZWJhck1lbnVCdXR0b25cbiAgICAgICAgICAgICAgc2l6ZT1cImxnXCJcbiAgICAgICAgICAgICAgcmVuZGVyPXs8U2l0ZUxpbmsgdG89e3NpdGVMaW5rVGFyZ2V0fSAvPn1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFNpdGVUaXRsZSAvPlxuICAgICAgICAgICAgPC9TaWRlYmFyTWVudUJ1dHRvbj5cbiAgICAgICAgICA8L1NpZGViYXJNZW51SXRlbT5cbiAgICAgICAgPC9TaWRlYmFyTWVudT5cbiAgICAgIDwvU2lkZWJhckhlYWRlcj5cbiAgICAgIDxTaWRlYmFyQ29udGVudD5cbiAgICAgICAgPFNpZGViYXJTZWN0aW9ucyAvPlxuICAgICAgICB7cHJvcHMud2l0aFNpZGViYXIgJiYgc2VjdGlvbj8udHlwZSA9PT0gXCJibG9nXCIgJiYgPFNpZGViYXJQb3N0cyAvPn1cbiAgICAgICAge3Byb3BzLndpdGhTaWRlYmFyICYmIHNlY3Rpb24/LnR5cGUgPT09IFwiY2hhbmdlbG9nXCIgJiYgKFxuICAgICAgICAgIDxTaWRlYmFyUmVsZWFzZXMgLz5cbiAgICAgICAgKX1cbiAgICAgICAge3Byb3BzLndpdGhTaWRlYmFyICYmXG4gICAgICAgICAgc2VjdGlvbj8udHlwZSAhPT0gXCJibG9nXCIgJiZcbiAgICAgICAgICBzZWN0aW9uPy50eXBlICE9PSBcImNoYW5nZWxvZ1wiICYmIDxTaWRlYmFyQXJ0aWNsZXMgLz59XG4gICAgICAgIDxTaWRlYmFyTGlua3MgLz5cbiAgICAgIDwvU2lkZWJhckNvbnRlbnQ+XG4gICAgICA8U2lkZWJhckZvb3RlciBjbGFzc05hbWU9XCJwLTQgc3BhY2UteS0yXCI+XG4gICAgICAgIDxTZWFyY2ggLz5cbiAgICAgICAgPFRoZW1lIC8+XG4gICAgICA8L1NpZGViYXJGb290ZXI+XG4gICAgICA8U2lkZWJhclJhaWwgLz5cbiAgICA8L1NpZGViYXJSb290PlxuICApXG59XG4iXX0=
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
/** Wrapper for the SiteTitle's link target. Picks `<Link>` for internal
|
|
3
|
+
* paths (rooted at `/`) and a plain `<a>` for absolute URLs (`http(s)`,
|
|
4
|
+
* protocol-relative, `mailto:`). Designed to be used both directly
|
|
5
|
+
* (`<SiteLink to={...}>...</SiteLink>`) and as the `render` element of
|
|
6
|
+
* a `SidebarMenuButton`, which means props (`className`, children) are
|
|
7
|
+
* forwarded onto the underlying anchor or Link. */
|
|
8
|
+
export declare function SiteLink(props: {
|
|
9
|
+
to: string;
|
|
10
|
+
className?: string;
|
|
11
|
+
children?: ReactNode;
|
|
12
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { config } from "livemark:virtual";
|
|
3
|
+
import { Link } from "@tanstack/react-router";
|
|
4
|
+
import { prefixUrl } from "../helpers/prefix-url.js";
|
|
5
|
+
/** Wrapper for the SiteTitle's link target. Picks `<Link>` for internal
|
|
6
|
+
* paths (rooted at `/`) and a plain `<a>` for absolute URLs (`http(s)`,
|
|
7
|
+
* protocol-relative, `mailto:`). Designed to be used both directly
|
|
8
|
+
* (`<SiteLink to={...}>...</SiteLink>`) and as the `render` element of
|
|
9
|
+
* a `SidebarMenuButton`, which means props (`className`, children) are
|
|
10
|
+
* forwarded onto the underlying anchor or Link. */
|
|
11
|
+
export function SiteLink(props) {
|
|
12
|
+
if (isAbsolute(props.to)) {
|
|
13
|
+
return (_jsx("a", { href: prefixUrl(props.to, config.base), className: props.className, children: props.children }));
|
|
14
|
+
}
|
|
15
|
+
if (props.to === "/") {
|
|
16
|
+
return (_jsx(Link, { to: "/", className: props.className, children: props.children }));
|
|
17
|
+
}
|
|
18
|
+
const splat = props.to.replace(/^\/|\/$/g, "");
|
|
19
|
+
return (_jsx(Link, { to: "/$", params: { _splat: splat }, className: props.className, children: props.children }));
|
|
20
|
+
}
|
|
21
|
+
function isAbsolute(url) {
|
|
22
|
+
return (url.startsWith("http://") ||
|
|
23
|
+
url.startsWith("https://") ||
|
|
24
|
+
url.startsWith("//") ||
|
|
25
|
+
url.startsWith("mailto:"));
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2l0ZUxpbmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zb3VyY2UvY29tcG9uZW50cy9TaXRlTGluay50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFFN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBRXBEOzs7OztvREFLb0Q7QUFDcEQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxLQUl4QjtJQUNDLElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sQ0FDTCxZQUFHLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLFlBQ2xFLEtBQUssQ0FBQyxRQUFRLEdBQ2IsQ0FDTCxDQUFBO0lBQ0gsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLEVBQUUsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNyQixPQUFPLENBQ0wsS0FBQyxJQUFJLElBQUMsRUFBRSxFQUFDLEdBQUcsRUFBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVMsWUFDcEMsS0FBSyxDQUFDLFFBQVEsR0FDVixDQUNSLENBQUE7SUFDSCxDQUFDO0lBQ0QsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQzlDLE9BQU8sQ0FDTCxLQUFDLElBQUksSUFBQyxFQUFFLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVMsWUFDaEUsS0FBSyxDQUFDLFFBQVEsR0FDVixDQUNSLENBQUE7QUFDSCxDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsR0FBVztJQUM3QixPQUFPLENBQ0wsR0FBRyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUM7UUFDekIsR0FBRyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUM7UUFDMUIsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDcEIsR0FBRyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FDMUIsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25maWcgfSBmcm9tIFwibGl2ZW1hcms6dmlydHVhbFwiXG5pbXBvcnQgeyBMaW5rIH0gZnJvbSBcIkB0YW5zdGFjay9yZWFjdC1yb3V0ZXJcIlxuaW1wb3J0IHR5cGUgeyBSZWFjdE5vZGUgfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHsgcHJlZml4VXJsIH0gZnJvbSBcIi4uL2hlbHBlcnMvcHJlZml4LXVybC50c1wiXG5cbi8qKiBXcmFwcGVyIGZvciB0aGUgU2l0ZVRpdGxlJ3MgbGluayB0YXJnZXQuIFBpY2tzIGA8TGluaz5gIGZvciBpbnRlcm5hbFxuICogIHBhdGhzIChyb290ZWQgYXQgYC9gKSBhbmQgYSBwbGFpbiBgPGE+YCBmb3IgYWJzb2x1dGUgVVJMcyAoYGh0dHAocylgLFxuICogIHByb3RvY29sLXJlbGF0aXZlLCBgbWFpbHRvOmApLiBEZXNpZ25lZCB0byBiZSB1c2VkIGJvdGggZGlyZWN0bHlcbiAqICAoYDxTaXRlTGluayB0bz17Li4ufT4uLi48L1NpdGVMaW5rPmApIGFuZCBhcyB0aGUgYHJlbmRlcmAgZWxlbWVudCBvZlxuICogIGEgYFNpZGViYXJNZW51QnV0dG9uYCwgd2hpY2ggbWVhbnMgcHJvcHMgKGBjbGFzc05hbWVgLCBjaGlsZHJlbikgYXJlXG4gKiAgZm9yd2FyZGVkIG9udG8gdGhlIHVuZGVybHlpbmcgYW5jaG9yIG9yIExpbmsuICovXG5leHBvcnQgZnVuY3Rpb24gU2l0ZUxpbmsocHJvcHM6IHtcbiAgdG86IHN0cmluZ1xuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGVcbn0pIHtcbiAgaWYgKGlzQWJzb2x1dGUocHJvcHMudG8pKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxhIGhyZWY9e3ByZWZpeFVybChwcm9wcy50bywgY29uZmlnLmJhc2UpfSBjbGFzc05hbWU9e3Byb3BzLmNsYXNzTmFtZX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvYT5cbiAgICApXG4gIH1cbiAgaWYgKHByb3BzLnRvID09PSBcIi9cIikge1xuICAgIHJldHVybiAoXG4gICAgICA8TGluayB0bz1cIi9cIiBjbGFzc05hbWU9e3Byb3BzLmNsYXNzTmFtZX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvTGluaz5cbiAgICApXG4gIH1cbiAgY29uc3Qgc3BsYXQgPSBwcm9wcy50by5yZXBsYWNlKC9eXFwvfFxcLyQvZywgXCJcIilcbiAgcmV0dXJuIChcbiAgICA8TGluayB0bz1cIi8kXCIgcGFyYW1zPXt7IF9zcGxhdDogc3BsYXQgfX0gY2xhc3NOYW1lPXtwcm9wcy5jbGFzc05hbWV9PlxuICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgIDwvTGluaz5cbiAgKVxufVxuXG5mdW5jdGlvbiBpc0Fic29sdXRlKHVybDogc3RyaW5nKSB7XG4gIHJldHVybiAoXG4gICAgdXJsLnN0YXJ0c1dpdGgoXCJodHRwOi8vXCIpIHx8XG4gICAgdXJsLnN0YXJ0c1dpdGgoXCJodHRwczovL1wiKSB8fFxuICAgIHVybC5zdGFydHNXaXRoKFwiLy9cIikgfHxcbiAgICB1cmwuc3RhcnRzV2l0aChcIm1haWx0bzpcIilcbiAgKVxufVxuIl19
|
|
@@ -26,6 +26,7 @@ export declare function currentSection(path: string): {
|
|
|
26
26
|
position: "header" | "sidebar";
|
|
27
27
|
siteTitle?: string | undefined;
|
|
28
28
|
siteDescription?: string | undefined;
|
|
29
|
+
siteLink?: string | undefined;
|
|
29
30
|
type: "article";
|
|
30
31
|
prefix: string;
|
|
31
32
|
} | {
|
|
@@ -34,6 +35,7 @@ export declare function currentSection(path: string): {
|
|
|
34
35
|
position: "header" | "sidebar";
|
|
35
36
|
siteTitle?: string | undefined;
|
|
36
37
|
siteDescription?: string | undefined;
|
|
38
|
+
siteLink?: string | undefined;
|
|
37
39
|
type: "blog";
|
|
38
40
|
prefix: string;
|
|
39
41
|
} | {
|
|
@@ -42,6 +44,7 @@ export declare function currentSection(path: string): {
|
|
|
42
44
|
position: "header" | "sidebar";
|
|
43
45
|
siteTitle?: string | undefined;
|
|
44
46
|
siteDescription?: string | undefined;
|
|
47
|
+
siteLink?: string | undefined;
|
|
45
48
|
type: "changelog";
|
|
46
49
|
prefix: string;
|
|
47
50
|
source: string;
|
|
@@ -6,12 +6,19 @@ import type { Section } from "../models/section.ts";
|
|
|
6
6
|
* `customSectionActive` so a custom URL of `/` only activates on
|
|
7
7
|
* the home page itself. Custom sections with absolute URLs never
|
|
8
8
|
* match. Longest match wins. */
|
|
9
|
+
/** Resolve where the SiteTitle should link to for the current pathname.
|
|
10
|
+
* If the active section sets `siteLink`, returns that — otherwise falls
|
|
11
|
+
* back to `/` (the home page). The returned value may be an internal
|
|
12
|
+
* path (`/foo/`) or an absolute URL (`https://…`); rendering decides
|
|
13
|
+
* which element to use. */
|
|
14
|
+
export declare function activeSiteLink(pathname: string, sections: Section[]): string;
|
|
9
15
|
export declare function activeSiteSection(pathname: string, sections: Section[]): {
|
|
10
16
|
icon?: string | undefined;
|
|
11
17
|
title: string;
|
|
12
18
|
position: "header" | "sidebar";
|
|
13
19
|
siteTitle?: string | undefined;
|
|
14
20
|
siteDescription?: string | undefined;
|
|
21
|
+
siteLink?: string | undefined;
|
|
15
22
|
type: "article";
|
|
16
23
|
prefix: string;
|
|
17
24
|
} | {
|
|
@@ -20,6 +27,7 @@ export declare function activeSiteSection(pathname: string, sections: Section[])
|
|
|
20
27
|
position: "header" | "sidebar";
|
|
21
28
|
siteTitle?: string | undefined;
|
|
22
29
|
siteDescription?: string | undefined;
|
|
30
|
+
siteLink?: string | undefined;
|
|
23
31
|
type: "blog";
|
|
24
32
|
prefix: string;
|
|
25
33
|
} | {
|
|
@@ -28,6 +36,7 @@ export declare function activeSiteSection(pathname: string, sections: Section[])
|
|
|
28
36
|
position: "header" | "sidebar";
|
|
29
37
|
siteTitle?: string | undefined;
|
|
30
38
|
siteDescription?: string | undefined;
|
|
39
|
+
siteLink?: string | undefined;
|
|
31
40
|
type: "changelog";
|
|
32
41
|
prefix: string;
|
|
33
42
|
source: string;
|
|
@@ -38,6 +47,7 @@ export declare function activeSiteSection(pathname: string, sections: Section[])
|
|
|
38
47
|
position: "header" | "sidebar";
|
|
39
48
|
siteTitle?: string | undefined;
|
|
40
49
|
siteDescription?: string | undefined;
|
|
50
|
+
siteLink?: string | undefined;
|
|
41
51
|
type: "custom";
|
|
42
52
|
url: string;
|
|
43
53
|
} | undefined;
|
package/build/helpers/section.js
CHANGED
|
@@ -5,6 +5,14 @@
|
|
|
5
5
|
* `customSectionActive` so a custom URL of `/` only activates on
|
|
6
6
|
* the home page itself. Custom sections with absolute URLs never
|
|
7
7
|
* match. Longest match wins. */
|
|
8
|
+
/** Resolve where the SiteTitle should link to for the current pathname.
|
|
9
|
+
* If the active section sets `siteLink`, returns that — otherwise falls
|
|
10
|
+
* back to `/` (the home page). The returned value may be an internal
|
|
11
|
+
* path (`/foo/`) or an absolute URL (`https://…`); rendering decides
|
|
12
|
+
* which element to use. */
|
|
13
|
+
export function activeSiteLink(pathname, sections) {
|
|
14
|
+
return activeSiteSection(pathname, sections)?.siteLink ?? "/";
|
|
15
|
+
}
|
|
8
16
|
export function activeSiteSection(pathname, sections) {
|
|
9
17
|
const current = `/${pathname.replace(/^\/|\/$/g, "")}/`;
|
|
10
18
|
let best;
|
|
@@ -77,4 +85,4 @@ export function partitionBySection(articles, sections) {
|
|
|
77
85
|
}
|
|
78
86
|
return buckets;
|
|
79
87
|
}
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NvdXJjZS9oZWxwZXJzL3NlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7Ozs7OztpQ0FNaUM7QUFDakM7Ozs7NEJBSTRCO0FBQzVCLE1BQU0sVUFBVSxjQUFjLENBQUMsUUFBZ0IsRUFBRSxRQUFtQjtJQUNsRSxPQUFPLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsRUFBRSxRQUFRLElBQUksR0FBRyxDQUFBO0FBQy9ELENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsUUFBZ0IsRUFBRSxRQUFtQjtJQUNyRSxNQUFNLE9BQU8sR0FBRyxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUE7SUFDdkQsSUFBSSxJQUF5QixDQUFBO0lBQzdCLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQTtJQUNmLEtBQUssTUFBTSxDQUFDLElBQUksUUFBUSxFQUFFLENBQUM7UUFDekIsTUFBTSxNQUFNLEdBQUcsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDcEMsSUFBSSxDQUFDLE1BQU07WUFBRSxTQUFRO1FBQ3JCLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksTUFBTSxLQUFLLEdBQUcsSUFBSSxPQUFPLEtBQUssR0FBRztZQUFFLFNBQVE7UUFDdEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO1lBQUUsU0FBUTtRQUN6QyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsT0FBTyxFQUFFLENBQUM7WUFDNUIsSUFBSSxHQUFHLENBQUMsQ0FBQTtZQUNSLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFBO1FBQ3pCLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUE7QUFDYixDQUFDO0FBRUQsU0FBUyxrQkFBa0IsQ0FBQyxDQUFVO0lBQ3BDLElB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IGZyb20gXCIuLi9tb2RlbHMvc2VjdGlvbi50c1wiXG5cbi8qKiBSZXR1cm4gdGhlIHNlY3Rpb24gd2hvc2UgcHJlZml4IG9yIGludGVybmFsLVVSTCBiZXN0IG1hdGNoZXMgdGhlXG4gKiAgZ2l2ZW4gcGF0aG5hbWUuIFJvdXRlZCBzZWN0aW9ucyAoYXJ0aWNsZS9ibG9nL2NoYW5nZWxvZykgbWF0Y2ggYnlcbiAqICBgcHJlZml4YC4gQ3VzdG9tIHNlY3Rpb25zIHdpdGggaW50ZXJuYWwgVVJMcyAoYC9gLWxlYWRpbmcsIG5vdFxuICogIGAvL2ApIG1hdGNoIGJ5IHRoZWlyIFVSTCDigJQgd2l0aCB0aGUgc2FtZSBleGFjdC1gL2AgZ3VhcmQgYXNcbiAqICBgY3VzdG9tU2VjdGlvbkFjdGl2ZWAgc28gYSBjdXN0b20gVVJMIG9mIGAvYCBvbmx5IGFjdGl2YXRlcyBvblxuICogIHRoZSBob21lIHBhZ2UgaXRzZWxmLiBDdXN0b20gc2VjdGlvbnMgd2l0aCBhYnNvbHV0ZSBVUkxzIG5ldmVyXG4gKiAgbWF0Y2guIExvbmdlc3QgbWF0Y2ggd2lucy4gKi9cbi8qKiBSZXNvbHZlIHdoZXJlIHRoZSBTaXRlVGl0bGUgc2hvdWxkIGxpbmsgdG8gZm9yIHRoZSBjdXJyZW50IHBhdGhuYW1lLlxuICogIElmIHRoZSBhY3RpdmUgc2VjdGlvbiBzZXRzIGBzaXRlTGlua2AsIHJldHVybnMgdGhhdCDigJQgb3RoZXJ3aXNlIGZhbGxzXG4gKiAgYmFjayB0byBgL2AgKHRoZSBob21lIHBhZ2UpLiBUaGUgcmV0dXJuZWQgdmFsdWUgbWF5IGJlIGFuIGludGVybmFsXG4gKiAgcGF0aCAoYC9mb28vYCkgb3IgYW4gYWJzb2x1dGUgVVJMIChgaHR0cHM6Ly/igKZgKTsgcmVuZGVyaW5nIGRlY2lkZXNcbiAqICB3aGljaCBlbGVtZW50IHRvIHVzZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhY3RpdmVTaXRlTGluayhwYXRobmFtZTogc3RyaW5nLCBzZWN0aW9uczogU2VjdGlvbltdKSB7XG4gIHJldHVybiBhY3RpdmVTaXRlU2VjdGlvbihwYXRobmFtZSwgc2VjdGlvbnMpPy5zaXRlTGluayA/PyBcIi9cIlxufVxuXG5leHBvcnQgZnVuY3Rpb24gYWN0aXZlU2l0ZVNlY3Rpb24ocGF0aG5hbWU6IHN0cmluZywgc2VjdGlvbnM6IFNlY3Rpb25bXSkge1xuICBjb25zdCBjdXJyZW50ID0gYC8ke3BhdGhuYW1lLnJlcGxhY2UoL15cXC98XFwvJC9nLCBcIlwiKX0vYFxuICBsZXQgYmVzdDogU2VjdGlvbiB8IHVuZGVmaW5lZFxuICBsZXQgYmVzdExlbiA9IDBcbiAgZm9yIChjb25zdCBzIG9mIHNlY3Rpb25zKSB7XG4gICAgY29uc3QgcHJlZml4ID0gc2VjdGlvbk1hdGNoUHJlZml4KHMpXG4gICAgaWYgKCFwcmVmaXgpIGNvbnRpbnVlXG4gICAgaWYgKHMudHlwZSA9PT0gXCJjdXN0b21cIiAmJiBwcmVmaXggPT09IFwiL1wiICYmIGN1cnJlbnQgIT09IFwiL1wiKSBjb250aW51ZVxuICAgIGlmICghY3VycmVudC5zdGFydHNXaXRoKHByZWZpeCkpIGNvbnRpbnVlXG4gICAgaWYgKHByZWZpeC5sZW5ndGggPiBiZXN0TGVuKSB7XG4gICAgICBiZXN0ID0gc1xuICAgICAgYmVzdExlbiA9IHByZWZpeC5sZW5ndGhcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGJlc3Rcbn1cblxuZnVuY3Rpb24gc2VjdGlvbk1hdGNoUHJlZml4KHM6IFNlY3Rpb24pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBpZiAocy50eXBlICE9PSBcImN1c3RvbVwiKSByZXR1cm4gcy5wcmVmaXhcbiAgaWYgKCFzLnVybC5zdGFydHNXaXRoKFwiL1wiKSB8fCBzLnVybC5zdGFydHNXaXRoKFwiLy9cIikpIHJldHVybiB1bmRlZmluZWRcbiAgY29uc3Qgc3RyaXBwZWQgPSBzLnVybC5zcGxpdCgvWz8jXS8pWzBdID8/IFwiXCJcbiAgcmV0dXJuIGAvJHtzdHJpcHBlZC5yZXBsYWNlKC9eXFwvfFxcLyQvZywgXCJcIil9L2Bcbn1cblxuLyoqIFdoZXRoZXIgYSBjdXN0b20gc2VjdGlvbidzIFVSTCBzaG91bGQgaGlnaGxpZ2h0IGFzIGFjdGl2ZSBmb3IgdGhlXG4gKiAgY3VycmVudCBwYXRobmFtZS4gT25seSBgL2AtbGVhZGluZyBpbnRlcm5hbCBwYXRocyBwYXJ0aWNpcGF0ZTtcbiAqICBwcm90b2NvbC1hYnNvbHV0ZSAoYGh0dHBzOi8v4oCmYCwgYC8vY2Ru4oCmYCkgVVJMcyBuZXZlciBoaWdobGlnaHQuXG4gKiAgTWF0Y2ggc2VtYW50aWNzIG1pcnJvciByb3V0ZWQgc2VjdGlvbnMg4oCUIGV4YWN0IHBhdGggb3IgYW55XG4gKiAgZGVzY2VuZGFudC4gQSBVUkwgb2YgYC9gIG9ubHkgaGlnaGxpZ2h0cyB0aGUgaG9tZSBwYWdlIGl0c2VsZlxuICogIChvdGhlcndpc2UgaXQgd291bGQgYWx3YXlzIG1hdGNoKS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjdXN0b21TZWN0aW9uQWN0aXZlKHVybDogc3RyaW5nLCBwYXRobmFtZTogc3RyaW5nKSB7XG4gIGlmICghdXJsLnN0YXJ0c1dpdGgoXCIvXCIpIHx8IHVybC5zdGFydHNXaXRoKFwiLy9cIikpIHJldHVybiBmYWxzZVxuICBjb25zdCBzdHJpcHBlZCA9IHVybC5zcGxpdCgvWz8jXS8pWzBdID8/IFwiXCJcbiAgY29uc3QgdGFyZ2V0ID0gYC8ke3N0cmlwcGVkLnJlcGxhY2UoL15cXC98XFwvJC9nLCBcIlwiKX0vYFxuICBjb25zdCBjdXJyZW50ID0gYC8ke3BhdGhuYW1lLnJlcGxhY2UoL15cXC98XFwvJC9nLCBcIlwiKX0vYFxuICBpZiAodGFyZ2V0ID09PSBcIi9cIikgcmV0dXJuIGN1cnJlbnQgPT09IFwiL1wiXG4gIHJldHVybiBjdXJyZW50ID09PSB0YXJnZXQgfHwgY3VycmVudC5zdGFydHNXaXRoKHRhcmdldClcbn1cblxuLyoqIEZpbmQgdGhlIHNlY3Rpb24gd2hvc2UgcHJlZml4IGlzIHRoZSBsb25nZXN0IHByZWZpeCBvZiB0aGUgYXJ0aWNsZSBwYXRoICovXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2hTZWN0aW9uPFMgZXh0ZW5kcyB7IHByZWZpeDogc3RyaW5nIH0+KFxuICBhcnRpY2xlUGF0aDogc3RyaW5nLFxuICBzZWN0aW9uczogU1tdLFxuKTogUyB8IHVuZGVmaW5lZCB7XG4gIGxldCBiZXN0OiBTIHwgdW5kZWZpbmVkXG4gIGxldCBiZXN0TGVuID0gMFxuICBmb3IgKGNvbnN0IHNlY3Rpb24gb2Ygc2VjdGlvbnMpIHtcbiAgICBpZiAoXG4gICAgICBhcnRpY2xlUGF0aC5zdGFydHNXaXRoKHNlY3Rpb24ucHJlZml4KSAmJlxuICAgICAgc2VjdGlvbi5wcmVmaXgubGVuZ3RoID4gYmVzdExlblxuICAgICkge1xuICAgICAgYmVzdCA9IHNlY3Rpb25cbiAgICAgIGJlc3RMZW4gPSBzZWN0aW9uLnByZWZpeC5sZW5ndGhcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGJlc3Rcbn1cblxuLyoqIFNwbGl0IGFydGljbGVzIGludG8gcGVyLXNlY3Rpb24gYnVja2V0cy4gVW5tYXRjaGVkIGFydGljbGVzIGdvIHRvIFwiX19kZWZhdWx0X19cIiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnRpdGlvbkJ5U2VjdGlvbjxUIGV4dGVuZHMgeyBwYXRoOiBzdHJpbmcgfT4oXG4gIGFydGljbGVzOiBUW10sXG4gIHNlY3Rpb25zOiB7IHByZWZpeDogc3RyaW5nIH1bXSxcbik6IE1hcDxzdHJpbmcsIFRbXT4ge1xuICBjb25zdCBidWNrZXRzID0gbmV3IE1hcDxzdHJpbmcsIFRbXT4oKVxuICBmb3IgKGNvbnN0IGFydGljbGUgb2YgYXJ0aWNsZXMpIHtcbiAgICBjb25zdCBzZWN0aW9uID0gbWF0Y2hTZWN0aW9uKGFydGljbGUucGF0aCwgc2VjdGlvbnMpXG4gICAgY29uc3Qga2V5ID0gc2VjdGlvbj8ucHJlZml4ID8/IFwiX19kZWZhdWx0X19cIlxuICAgIGNvbnN0IGJ1Y2tldCA9IGJ1Y2tldHMuZ2V0KGtleSlcbiAgICBpZiAoYnVja2V0KSB7XG4gICAgICBidWNrZXQucHVzaChhcnRpY2xlKVxuICAgIH0gZWxzZSB7XG4gICAgICBidWNrZXRzLnNldChrZXksIFthcnRpY2xlXSlcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGJ1Y2tldHNcbn1cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, expect, it } from "vite-plus/test";
|
|
2
|
-
import { activeSiteSection, customSectionActive, matchSection, partitionBySection, } from "./section.js";
|
|
2
|
+
import { activeSiteLink, activeSiteSection, customSectionActive, matchSection, partitionBySection, } from "./section.js";
|
|
3
3
|
describe("matchSection", () => {
|
|
4
4
|
const sections = [
|
|
5
5
|
{ title: "Docs", prefix: "/" },
|
|
@@ -144,4 +144,38 @@ describe("activeSiteSection", () => {
|
|
|
144
144
|
expect(activeSiteSection("/anything/", [blog, apiCustom])).toBeUndefined();
|
|
145
145
|
});
|
|
146
146
|
});
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi51bml0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2hlbHBlcnMvc2VjdGlvbi51bml0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRXJELE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ25CLFlBQVksRUFDWixrQkFBa0IsR0FDbkIsTUFBTSxjQUFjLENBQUE7QUFFckIsUUFBUSxDQUFDLGNBQWMsRUFBRSxHQUFHLEVBQUU7SUFDNUIsTUFBTSxRQUFRLEdBQUc7UUFDZixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRTtRQUM5QixFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRTtRQUNqQyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRTtLQUM1QyxDQUFBO0lBRUQsRUFBRSxDQUFDLHVDQUF1QyxFQUFFLEdBQUcsRUFBRTtRQUMvQyxNQUFNLENBQUMsWUFBWSxDQUFDLGtCQUFrQixFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUM1RSxDQUFDLENBQUMsQ0FBQTtJQUVGLEVBQUUsQ0FBQywwREFBMEQsRUFBRSxHQUFHLEVBQUU7UUFDbEUsTUFBTSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2xFLENBQUMsQ0FBQyxDQUFBO0lBRUYsRUFBRSxDQUFDLHVDQUF1QyxFQUFFLEdBQUcsRUFBRTtRQUMvQyxNQUFNLENBQUMsWUFBWSxDQUFDLG1CQUFtQixFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLElBQUks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SUFBSSxDQUN0RSxLQUFLLENBQ04sQ0FBQTtJQUNILENBQUMsQ0FBQyxDQUFBO0lBRUYsRUFBRSxDQUFDLGtEQUFrRCxFQUFFLEdBQUcsRUFBRTtRQUMxRCxNQUFNLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFBO0lBQ3pFLENBQUMsQ0FBQyxDQUFBO0lBRUYsRUFBRSxDQUFDLG1EQUFtRCxFQUFFLEdBQUcsRUFBRTtRQUMzRCxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDaEUsTUFBTSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtJQUNwRSxDQUFDLENBQUMsQ0FBQTtJQUVGLEVBQUUsQ0FBQyxtRUFBbUUsRUFBRSxHQUFHLEVBQUU7UUFDM0UsTUFBTSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUM5RSxDQUFDLENBQUMsQ0FBQTtJQUVGLEVBQUUsQ0FBQyxpREFBaUQsRUFBRSxHQUFHLEVBQUU7UUFDekQsTUFBTSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDNUUsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlc2NyaWJlLCBleHBlY3QsIGl0IH0gZnJvbSBcInZpdGUtcGx1cy90ZXN0XCJcbmltcG9ydCB0eXBlIHsgU2VjdGlvbiB9IGZyb20gXCIuLi9tb2RlbHMvc2VjdGlvbi50c1wiXG5pbXBvcnQge1xuICBhY3RpdmVTaXRlU2VjdGlvbixcbiAgY3VzdG9tU2VjdGlvbkFjdGl2ZSxcbiAgbWF0Y2hTZWN0aW9uLFxuICBwYXJ0aXRpb25CeVNlY3Rpb24sXG59IGZyb20gXCIuL3NlY3Rpb24udHNcIlxuXG5kZXNjcmliZShcIm1hdGNoU2VjdGlvblwiLCAoKSA9PiB7XG4gIGNvbnN0IHNlY3Rpb25zID0gW1xuICAgIHsgdGl0bGU6IFwiRG9jc1wiLCBwcmVmaXg6IFwiL1wiIH0sXG4gICAgeyB0aXRsZTogXCJBUElcIiwgcHJlZml4OiBcIi9hcGkvXCIgfSxcbiAgICB7IHRpdGxlOiBcIkFQSSBBdXRoXCIsIHByZWZpeDogXCIvYXBpL2F1dGgvXCIgfSxcbiAgXVxuXG4gIGl0KFwic2hvdWxkIG1hdGNoIHRoZSBtb3N0IHNwZWNpZmljIHByZWZpeFwiLCAoKSA9PiB7XG4gICAgZXhwZWN0KG1hdGNoU2VjdGlvbihcIi9hcGkvYXV0aC9sb2dpbi9cIiwgc2VjdGlvbnMpPy50aXRsZSkudG9CZShcIkFQSSBBdXRoXCIpXG4gIH0pXG5cbiAgaXQoXCJzaG91bGQgbWF0Y2ggYSBsZXNzIHNwZWNpZmljIHByZWZpeCB3aGVuIG5vIGRlZXBlciBtYXRjaFwiLCAoKSA9PiB7XG4gICAgZXhwZWN0KG1hdGNoU2VjdGlvbihcIi9hcGkvdXNlcnMvXCIsIHNlY3Rpb25zKT8udGl0bGUpLnRvQmUoXCJBUElcIilcbiAgfSlcblxuICBpdChcInNob3VsZCBtYXRjaCByb290IHNlY3Rpb24gYXMgZmFsbGJhY2tcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChtYXRjaFNlY3Rpb24oXCIvZ2V0dGluZy1zdGFydGVkL1wiLCBzZWN0aW9ucyk/LnRpdGxlKS50b0JlKFwiRG9jc1wiKVxuICB9KVxuXG4gIGl0KFwic2hvdWxkIHJldHVybiB1bmRlZmluZWQgd2hlbiBubyBzZWN0aW9uIG1hdGNoZXNcIiwgKCkgPT4ge1xuICAgIGNvbnN0IG5hcnJvdyA9IFt7IHRpdGxlOiBcIkFQSVwiLCBwcmVmaXg6IFwiL2FwaS9cIiB9XVxuICAgIGV4cGVjdChtYXRjaFNlY3Rpb24oXCIvZ2V0dGluZy1zdGFydGVkL1wiLCBuYXJyb3cpKS50b0JlVW5kZWZpbmVkKClcbiAgfSlcblxuICBpdChcInNob3VsZCBtYXRjaCBhIHNpbmdsZSByb290IHNlY3Rpb24gZm9yIGFsbCBhcnRpY2xlc1wiLCAoKSA9PiB7XG4gICAgY29uc3Qgcm9vdCA9IFt7IHRpdGxlOiBcIkRvY3NcIiwgcHJlZml4OiBcIi9cIiB9XVxuICAgIGV4cGVjdChtYXRjaFNlY3Rpb24oXCIvYW55dGhpbmcvZGVlcC9wYXRoL1wiLCByb290KT8udGl0bGUpLnRvQmUoXCJEb2NzXCIpXG4gIH0pXG59KVxuXG5kZXNjcmliZShcInBhcnRpdGlvbkJ5U2VjdGlvblwiLCAoKSA9PiB7XG4gIGNvbnN0IHNlY3Rpb25zID0gW1xuICAgIHsgdGl0bGU6IFwiRG9jc1wiLCBwcmVmaXg6IFwiL1wiIH0sXG4gICAgeyB0aXRsZTogXCJBUElcIiwgcHJlZml4OiBcIi9hcGkvXCIgfSxcbiAgXVxuXG4gIGNvbnN0IGFydGljbGVzID0gW1xuICAgIHsgcGF0aDogXCIvZ2V0dGluZy1zdGFydGVkL1wiIH0sXG4gICAgeyBwYXRoOiBcIi9ndWlkZS9cIiB9LFxuICAgIHsgcGF0aDogXCIvYXBpL3VzZXJzL1wiIH0sXG4gICAgeyBwYXRoOiBcIi9hcGkvYXV0aC9cIiB9LFxuICBdXG5cbiAgaXQoXCJzaG91bGQgc3BsaXQgYXJ0aWNsZXMgaW50byBzZWN0aW9uIGJ1Y2tldHNcIiwgKCkgPT4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IHBhcnRpdGlvbkJ5U2VjdGlvbihhcnRpY2xlcywgc2VjdGlvbnMpXG4gICAgZXhwZWN0KHJlc3VsdC5nZXQoXCIvXCIpPy5tYXAoYSA9PiBhLnBhdGgpKS50b0VxdWFsKFtcbiAgICAgIFwiL2dldHRpbmctc3RhcnRlZC9cIixcbiAgICAgIFwiL2d1aWRlL1wiLFxuICAgIF0pXG4gICAgZXhwZWN0KHJlc3VsdC5nZXQoXCIvYXBpL1wiKT8ubWFwKGEgPT4gYS5wYXRoKSkudG9FcXVhbChbXG4gICAgICBcIi9hcGkvdXNlcnMvXCIsXG4gICAgICBcIi9hcGkvYXV0aC9cIixcbiAgICBdKVxuICB9KVxuXG4gIGl0KFwic2hvdWxkIHB1dCB1bm1hdGNoZWQgYXJ0aWNsZXMgaW4gX19kZWZhdWx0X18gYnVja2V0XCIsICgpID0+IHtcbiAgICBjb25zdCBuYXJyb3cgPSBbeyB0aXRsZTogXCJBUElcIiwgcHJlZml4OiBcIi9hcGkvXCIgfV1cbiAgICBjb25zdCByZXN1bHQgPSBwYXJ0aXRpb25CeVNlY3Rpb24oYXJ0aWNsZXMsIG5hcnJvdylcbiAgICBleHBlY3QocmVzdWx0LmdldChcIl9fZGVmYXVsdF9fXCIpPy5tYXAoYSA9PiBhLnBhdGgpKS50b0VxdWFsKFtcbiAgICAgIFwiL2dldHRpbmctc3RhcnRlZC9cIixcbiAgICAgIFwiL2d1aWRlL1wiLFxuICAgIF0pXG4gICAgZXhwZWN0KHJlc3VsdC5nZXQoXCIvYXBpL1wiKT8ubWFwKGEgPT4gYS5wYXRoKSkudG9FcXVhbChbXG4gICAgICBcIi9hcGkvdXNlcnMvXCIsXG4gICAgICBcIi9hcGkvYXV0aC9cIixcbiAgICBdKVxuICB9KVxufSlcblxuZGVzY3JpYmUoXCJjdXN0b21TZWN0aW9uQWN0aXZlXCIsICgpID0+IHtcbiAgaXQoXCJzaG91bGQgbm90IG1hdGNoIGFuIGFic29sdXRlIGh0dHAgdXJsXCIsICgpID0+IHtcbiAgICBleHBlY3QoY3VzdG9tU2VjdGlvbkFjdGl2ZShcImh0dHBzOi8veC5jb20veVwiLCBcIi95L1wiKSkudG9CZShmYWxzZSlcbiAgICBleHBlY3QoY3VzdG9tU2VjdGlvbkFjdGl2ZShcImh0dHA6Ly94LmNvbS95XCIsIFwiL3kvXCIpKS50b0JlKGZhbHNlKVxuICB9KVxuXG4gIGl0KFwic2hvdWxkIG5vdCBtYXRjaCBhIHByb3RvY29sLXJlbGF0aXZlIHVybFwiLCAoKSA9PiB7XG4gICAgZXhwZWN0KGN1c3RvbVNlY3Rpb25BY3RpdmUoXCIvL2Nkbi54LmNvbS95XCIsIFwiL3kvXCIpKS50b0JlKGZhbHNlKVxuICB9KVxuXG4gIGl0KFwic2hvdWxkIG5vdCBtYXRjaCBhIGhhc2ggdXJsXCIsICgpID0+IHtcbiAgICBleHBlY3QoY3VzdG9tU2VjdGlvbkFjdGl2ZShcIiNzZWN0aW9uXCIsIFwiL3NlY3Rpb24vXCIpKS50b0JlKGZhbHNlKVxuICB9KVxuXG4gIGl0KFwic2hvdWxkIG1hdGNoIHRoZSBleGFjdCBwYXRoXCIsICgpID0+IHtcbiAgICBleHBlY3QoY3VzdG9tU2VjdGlvbkFjdGl2ZShcIi9hYm91dFwiLCBcIi9hYm91dC9cIikpLnRvQmUodHJ1ZSlcbiAgICBleHBlY3QoY3VzdG9tU2VjdGlvbkFjdGl2ZShcIi9hYm91dC9cIiwgXCIvYWJvdXQvXCIpKS50b0JlKHRydWUpXG4gIH0pXG5cbiAgaXQoXCJzaG91bGQgbWF0Y2ggYSBkZXNjZW5kYW50IHBhdGhcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChjdXN0b21TZWN0aW9uQWN0aXZlKFwiL2Fib3V0XCIsIFwiL2Fib3V0L3RlYW0vXCIpKS50b0JlKHRydWUpXG4gIH0pXG5cbiAgaXQoXCJzaG91bGQgbm90IG1hdGNoIGEgc2libGluZyBwYXRoIHdpdGggc2hhcmVkIHByZWZpeFwiLCAoKSA9PiB7XG4gICAgZXhwZWN0KGN1c3RvbVNlY3Rpb25BY3RpdmUoXCIvYWJvdXRcIiwgXCIvYWJvdXR1cy9cIikpLnRvQmUoZmFsc2UpXG4gIH0pXG5cbiAgaXQoXCJzaG91bGQgbWF0Y2ggZXhhY3Qgcm9vdCBvbmx5XCIsICgpID0+IHtcbiAgICBleHBlY3QoY3VzdG9tU2VjdGlvbkFjdGl2ZShcIi9cIiwgXCIvXCIpKS50b0JlKHRydWUpXG4gICAgZXhwZWN0KGN1c3RvbVNlY3Rpb25BY3RpdmUoXCIvXCIsIFwiL2Fib3V0L1wiKSkudG9CZShmYWxzZSlcbiAgfSlcblxuICBpdChcInNob3VsZCBpZ25vcmUgcXVlcnkgYW5kIGhhc2ggb24gdGhlIHVybFwiLCAoKSA9PiB7XG4gICAgZXhwZWN0KGN1c3RvbVNlY3Rpb25BY3RpdmUoXCIvYWJvdXQ/eD0xXCIsIFwiL2Fib3V0L1wiKSkudG9CZSh0cnVlKVxuICAgIGV4cGVjdChjdXN0b21TZWN0aW9uQWN0aXZlKFwiL2Fib3V0I3RvcFwiLCBcIi9hYm91dC90ZWFtL1wiKSkudG9CZSh0cnVlKVxuICB9KVxufSlcblxuZGVzY3JpYmUoXCJhY3RpdmVTaXRlU2VjdGlvblwiLCAoKSA9PiB7XG4gIGNvbnN0IGRvY3M6IFNlY3Rpb24gPSB7XG4gICAgdHlwZTogXCJhcnRpY2xlXCIsXG4gICAgdGl0bGU6IFwiRG9jc1wiLFxuICAgIHByZWZpeDogXCIvXCIsXG4gICAgcG9zaXRpb246IFwiaGVhZGVyXCIsXG4gIH1cbiAgY29uc3QgYmxvZzogU2VjdGlvbiA9IHtcbiAgICB0eXBlOiBcImJsb2dcIixcbiAgICB0aXRsZTogXCJCbG9nXCIsXG4gICAgcHJlZml4OiBcIi9ibG9nL1wiLFxuICAgIHBvc2l0aW9uOiBcImhlYWRlclwiLFxuICB9XG4gIGNvbnN0IGFwaUN1c3RvbTogU2VjdGlvbiA9IHtcbiAgICB0eXBlOiBcImN1c3RvbVwiLFxuICAgIHRpdGxlOiBcIkFQSVwiLFxuICAgIHVybDogXCIvYXBpL3YyXCIsXG4gICAgcG9zaXRpb246IFwiaGVhZGVyXCIsXG4gIH1cbiAgY29uc3QgZ2l0aHViQ3VzdG9tOiBTZWN0aW9uID0ge1xuICAgIHR5cGU6IFwiY3VzdG9tXCIsXG4gICAgdGl0bGU6IFwiR2l0SHViXCIsXG4gICAgdXJsOiBcImh0dHBzOi8vZ2l0aHViLmNvbS9leGFtcGxlL3JlcG9cIixcbiAgICBwb3NpdGlvbjogXCJoZWFkZXJcIixcbiAgfVxuICBjb25zdCBob21lQ3VzdG9tOiBTZWN0aW9uID0ge1xuICAgIHR5cGU6IFwiY3VzdG9tXCIsXG4gICAgdGl0bGU6IFwiSG9tZVwiLFxuICAgIHVybDogXCIvXCIsXG4gICAgcG9zaXRpb246IFwiaGVhZGVyXCIsXG4gIH1cblxuICBpdChcInNob3VsZCByZXR1cm4gdGhlIHJvdXRlZCBzZWN0aW9uIG1hdGNoaW5nIGJ5IHByZWZpeFwiLCAoKSA9PiB7XG4gICAgZXhwZWN0KGFjdGl2ZVNpdGVTZWN0aW9uKFwiL2Jsb2cvcG9zdC9cIiwgW2RvY3MsIGJsb2ddKT8udGl0bGUpLnRvQmUoXCJCbG9nXCIpXG4gIH0pXG5cbiAgaXQoXCJzaG91bGQgcmV0dXJuIHRoZSBjdXN0b20gc2VjdGlvbiBtYXRjaGluZyBieSBpbnRlcm5hbCB1cmxcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChhY3RpdmVTaXRlU2VjdGlvbihcIi9hcGkvdjIvdXNlcnMvXCIsIFtkb2NzLCBhcGlDdXN0b21dKT8udGl0bGUpLnRvQmUoXG4gICAgICBcIkFQSVwiLFxuICAgIClcbiAgfSlcblxuICBpdChcInNob3VsZCBwaWNrIHRoZSBsb25nZXN0IG1hdGNoIGFtb25nIG92ZXJsYXBwaW5nIHByZWZpeGVzXCIsICgpID0+IHtcbiAgICBleHBlY3QoYWN0aXZlU2l0ZVNlY3Rpb24oXCIvYmxvZy9wb3N0L1wiLCBbZG9jcywgYmxvZ10pPy50aXRsZSkudG9CZShcIkJsb2dcIilcbiAgICBleHBlY3QoYWN0aXZlU2l0ZVNlY3Rpb24oXCIvYXBpL3YyL2Zvby9cIiwgW2RvY3MsIGFwaUN1c3RvbV0pPy50aXRsZSkudG9CZShcbiAgICAgIFwiQVBJXCIsXG4gICAgKVxuICB9KVxuXG4gIGl0KFwic2hvdWxkIGlnbm9yZSBjdXN0b20gc2VjdGlvbnMgd2l0aCBhYnNvbHV0ZSBVUkxzXCIsICgpID0+IHtcbiAgICBleHBlY3QoYWN0aXZlU2l0ZVNlY3Rpb24oXCIvYW55dGhpbmcvXCIsIFtnaXRodWJDdXN0b21dKSkudG9CZVVuZGVmaW5lZCgpXG4gIH0pXG5cbiAgaXQoXCJzaG91bGQgbWF0Y2ggY3VzdG9tIFVSTCBgL2Agb25seSBvbiB0aGUgaG9tZSBwYWdlXCIsICgpID0+IHtcbiAgICBleHBlY3QoYWN0aXZlU2l0ZVNlY3Rpb24oXCIvXCIsIFtob21lQ3VzdG9tXSk/LnRpdGxlKS50b0JlKFwiSG9tZVwiKVxuICAgIGV4cGVjdChhY3RpdmVTaXRlU2VjdGlvbihcIi9hYm91dC9cIiwgW2hvbWVDdXN0b21dKSkudG9CZVVuZGVmaW5lZCgpXG4gIH0pXG5cbiAgaXQoXCJzaG91bGQgbGV0IHJvdXRlZCBgL2AgbWF0Y2ggZGVzY2VuZGFudHMgd2hpbGUgY3VzdG9tIGAvYCBkb2VzIG5vdFwiLCAoKSA9PiB7XG4gICAgZXhwZWN0KGFjdGl2ZVNpdGVTZWN0aW9uKFwiL2Fib3V0L1wiLCBbZG9jcywgaG9tZUN1c3RvbV0pPy50aXRsZSkudG9CZShcIkRvY3NcIilcbiAgfSlcblxuICBpdChcInNob3VsZCByZXR1cm4gdW5kZWZpbmVkIHdoZW4gbm8gc2VjdGlvbiBtYXRjaGVzXCIsICgpID0+IHtcbiAgICBleHBlY3QoYWN0aXZlU2l0ZVNlY3Rpb24oXCIvYW55dGhpbmcvXCIsIFtibG9nLCBhcGlDdXN0b21dKSkudG9CZVVuZGVmaW5lZCgpXG4gIH0pXG59KVxuIl19
|
|
147
|
+
describe("activeSiteLink", () => {
|
|
148
|
+
const docs = {
|
|
149
|
+
type: "article",
|
|
150
|
+
title: "Docs",
|
|
151
|
+
prefix: "/",
|
|
152
|
+
position: "header",
|
|
153
|
+
};
|
|
154
|
+
const blog = {
|
|
155
|
+
type: "blog",
|
|
156
|
+
title: "Blog",
|
|
157
|
+
prefix: "/blog/",
|
|
158
|
+
position: "header",
|
|
159
|
+
siteLink: "/blog/",
|
|
160
|
+
};
|
|
161
|
+
const externalCustom = {
|
|
162
|
+
type: "custom",
|
|
163
|
+
title: "GitHub",
|
|
164
|
+
url: "/github",
|
|
165
|
+
position: "header",
|
|
166
|
+
siteLink: "https://github.com/example/repo",
|
|
167
|
+
};
|
|
168
|
+
it("should default to '/' when no section matches", () => {
|
|
169
|
+
expect(activeSiteLink("/anything/", [blog])).toBe("/");
|
|
170
|
+
});
|
|
171
|
+
it("should default to '/' when matching section has no siteLink", () => {
|
|
172
|
+
expect(activeSiteLink("/about/", [docs])).toBe("/");
|
|
173
|
+
});
|
|
174
|
+
it("should return the matching section's siteLink", () => {
|
|
175
|
+
expect(activeSiteLink("/blog/post/", [blog])).toBe("/blog/");
|
|
176
|
+
});
|
|
177
|
+
it("should support absolute URLs as the siteLink", () => {
|
|
178
|
+
expect(activeSiteLink("/github/", [externalCustom])).toBe("https://github.com/example/repo");
|
|
179
|
+
});
|
|
180
|
+
});
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi51bml0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2hlbHBlcnMvc2VjdGlvbi51bml0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRXJELE9BQU8sRUFDTCxjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixZQUFZLEVBQ1osa0JBQWtCLEdBQ25CLE1BQU0sY0FBYyxDQUFBO0FBRXJCLFFBQVEsQ0FBQyxjQUFjLEVBQUUsR0FBRyxFQUFFO0lBQzVCLE1BQU0sUUFBUSxHQUFHO1FBQ2YsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUU7UUFDOUIsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUU7UUFDakMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUU7S0FDNUMsQ0FBQTtJQUVELEVBQUUsQ0FBQyx1Q0FBdUMsRUFBRSxHQUFHLEVBQUU7UUFDL0MsTUFBTSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDNUUsQ0FBQyxDQUFDLENBQUE7SUFFRixFQUFFLENBQUMsMERBQTBELEVBQUUsR0FBRyxFQUFFO1FBQ2xFLE1BQU0sQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNsRSxDQUFDLENBQUMsQ0FBQTtJQUVGLEVBQUUsQ0FBQyx1Q0FBdUMsRUFBRSxHQUFHLEVBQUU7UUFDL0MsTUFBTSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLENBQUMs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O0FBQ0osQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZXNjcmliZSwgZXhwZWN0LCBpdCB9IGZyb20gXCJ2aXRlLXBsdXMvdGVzdFwiXG5pbXBvcnQgdHlwZSB7IFNlY3Rpb24gfSBmcm9tIFwiLi4vbW9kZWxzL3NlY3Rpb24udHNcIlxuaW1wb3J0IHtcbiAgYWN0aXZlU2l0ZUxpbmssXG4gIGFjdGl2ZVNpdGVTZWN0aW9uLFxuICBjdXN0b21TZWN0aW9uQWN0aXZlLFxuICBtYXRjaFNlY3Rpb24sXG4gIHBhcnRpdGlvbkJ5U2VjdGlvbixcbn0gZnJvbSBcIi4vc2VjdGlvbi50c1wiXG5cbmRlc2NyaWJlKFwibWF0Y2hTZWN0aW9uXCIsICgpID0+IHtcbiAgY29uc3Qgc2VjdGlvbnMgPSBbXG4gICAgeyB0aXRsZTogXCJEb2NzXCIsIHByZWZpeDogXCIvXCIgfSxcbiAgICB7IHRpdGxlOiBcIkFQSVwiLCBwcmVmaXg6IFwiL2FwaS9cIiB9LFxuICAgIHsgdGl0bGU6IFwiQVBJIEF1dGhcIiwgcHJlZml4OiBcIi9hcGkvYXV0aC9cIiB9LFxuICBdXG5cbiAgaXQoXCJzaG91bGQgbWF0Y2ggdGhlIG1vc3Qgc3BlY2lmaWMgcHJlZml4XCIsICgpID0+IHtcbiAgICBleHBlY3QobWF0Y2hTZWN0aW9uKFwiL2FwaS9hdXRoL2xvZ2luL1wiLCBzZWN0aW9ucyk/LnRpdGxlKS50b0JlKFwiQVBJIEF1dGhcIilcbiAgfSlcblxuICBpdChcInNob3VsZCBtYXRjaCBhIGxlc3Mgc3BlY2lmaWMgcHJlZml4IHdoZW4gbm8gZGVlcGVyIG1hdGNoXCIsICgpID0+IHtcbiAgICBleHBlY3QobWF0Y2hTZWN0aW9uKFwiL2FwaS91c2Vycy9cIiwgc2VjdGlvbnMpPy50aXRsZSkudG9CZShcIkFQSVwiKVxuICB9KVxuXG4gIGl0KFwic2hvdWxkIG1hdGNoIHJvb3Qgc2VjdGlvbiBhcyBmYWxsYmFja1wiLCAoKSA9PiB7XG4gICAgZXhwZWN0KG1hdGNoU2VjdGlvbihcIi9nZXR0aW5nLXN0YXJ0ZWQvXCIsIHNlY3Rpb25zKT8udGl0bGUpLnRvQmUoXCJEb2NzXCIpXG4gIH0pXG5cbiAgaXQoXCJzaG91bGQgcmV0dXJuIHVuZGVmaW5lZCB3aGVuIG5vIHNlY3Rpb24gbWF0Y2hlc1wiLCAoKSA9PiB7XG4gICAgY29uc3QgbmFycm93ID0gW3sgdGl0bGU6IFwiQVBJXCIsIHByZWZpeDogXCIvYXBpL1wiIH1dXG4gICAgZXhwZWN0KG1hdGNoU2VjdGlvbihcIi9nZXR0aW5nLXN0YXJ0ZWQvXCIsIG5hcnJvdykpLnRvQmVVbmRlZmluZWQoKVxuICB9KVxuXG4gIGl0KFwic2hvdWxkIG1hdGNoIGEgc2luZ2xlIHJvb3Qgc2VjdGlvbiBmb3IgYWxsIGFydGljbGVzXCIsICgpID0+IHtcbiAgICBjb25zdCByb290ID0gW3sgdGl0bGU6IFwiRG9jc1wiLCBwcmVmaXg6IFwiL1wiIH1dXG4gICAgZXhwZWN0KG1hdGNoU2VjdGlvbihcIi9hbnl0aGluZy9kZWVwL3BhdGgvXCIsIHJvb3QpPy50aXRsZSkudG9CZShcIkRvY3NcIilcbiAgfSlcbn0pXG5cbmRlc2NyaWJlKFwicGFydGl0aW9uQnlTZWN0aW9uXCIsICgpID0+IHtcbiAgY29uc3Qgc2VjdGlvbnMgPSBbXG4gICAgeyB0aXRsZTogXCJEb2NzXCIsIHByZWZpeDogXCIvXCIgfSxcbiAgICB7IHRpdGxlOiBcIkFQSVwiLCBwcmVmaXg6IFwiL2FwaS9cIiB9LFxuICBdXG5cbiAgY29uc3QgYXJ0aWNsZXMgPSBbXG4gICAgeyBwYXRoOiBcIi9nZXR0aW5nLXN0YXJ0ZWQvXCIgfSxcbiAgICB7IHBhdGg6IFwiL2d1aWRlL1wiIH0sXG4gICAgeyBwYXRoOiBcIi9hcGkvdXNlcnMvXCIgfSxcbiAgICB7IHBhdGg6IFwiL2FwaS9hdXRoL1wiIH0sXG4gIF1cblxuICBpdChcInNob3VsZCBzcGxpdCBhcnRpY2xlcyBpbnRvIHNlY3Rpb24gYnVja2V0c1wiLCAoKSA9PiB7XG4gICAgY29uc3QgcmVzdWx0ID0gcGFydGl0aW9uQnlTZWN0aW9uKGFydGljbGVzLCBzZWN0aW9ucylcbiAgICBleHBlY3QocmVzdWx0LmdldChcIi9cIik/Lm1hcChhID0+IGEucGF0aCkpLnRvRXF1YWwoW1xuICAgICAgXCIvZ2V0dGluZy1zdGFydGVkL1wiLFxuICAgICAgXCIvZ3VpZGUvXCIsXG4gICAgXSlcbiAgICBleHBlY3QocmVzdWx0LmdldChcIi9hcGkvXCIpPy5tYXAoYSA9PiBhLnBhdGgpKS50b0VxdWFsKFtcbiAgICAgIFwiL2FwaS91c2Vycy9cIixcbiAgICAgIFwiL2FwaS9hdXRoL1wiLFxuICAgIF0pXG4gIH0pXG5cbiAgaXQoXCJzaG91bGQgcHV0IHVubWF0Y2hlZCBhcnRpY2xlcyBpbiBfX2RlZmF1bHRfXyBidWNrZXRcIiwgKCkgPT4ge1xuICAgIGNvbnN0IG5hcnJvdyA9IFt7IHRpdGxlOiBcIkFQSVwiLCBwcmVmaXg6IFwiL2FwaS9cIiB9XVxuICAgIGNvbnN0IHJlc3VsdCA9IHBhcnRpdGlvbkJ5U2VjdGlvbihhcnRpY2xlcywgbmFycm93KVxuICAgIGV4cGVjdChyZXN1bHQuZ2V0KFwiX19kZWZhdWx0X19cIik/Lm1hcChhID0+IGEucGF0aCkpLnRvRXF1YWwoW1xuICAgICAgXCIvZ2V0dGluZy1zdGFydGVkL1wiLFxuICAgICAgXCIvZ3VpZGUvXCIsXG4gICAgXSlcbiAgICBleHBlY3QocmVzdWx0LmdldChcIi9hcGkvXCIpPy5tYXAoYSA9PiBhLnBhdGgpKS50b0VxdWFsKFtcbiAgICAgIFwiL2FwaS91c2Vycy9cIixcbiAgICAgIFwiL2FwaS9hdXRoL1wiLFxuICAgIF0pXG4gIH0pXG59KVxuXG5kZXNjcmliZShcImN1c3RvbVNlY3Rpb25BY3RpdmVcIiwgKCkgPT4ge1xuICBpdChcInNob3VsZCBub3QgbWF0Y2ggYW4gYWJzb2x1dGUgaHR0cCB1cmxcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChjdXN0b21TZWN0aW9uQWN0aXZlKFwiaHR0cHM6Ly94LmNvbS95XCIsIFwiL3kvXCIpKS50b0JlKGZhbHNlKVxuICAgIGV4cGVjdChjdXN0b21TZWN0aW9uQWN0aXZlKFwiaHR0cDovL3guY29tL3lcIiwgXCIveS9cIikpLnRvQmUoZmFsc2UpXG4gIH0pXG5cbiAgaXQoXCJzaG91bGQgbm90IG1hdGNoIGEgcHJvdG9jb2wtcmVsYXRpdmUgdXJsXCIsICgpID0+IHtcbiAgICBleHBlY3QoY3VzdG9tU2VjdGlvbkFjdGl2ZShcIi8vY2RuLnguY29tL3lcIiwgXCIveS9cIikpLnRvQmUoZmFsc2UpXG4gIH0pXG5cbiAgaXQoXCJzaG91bGQgbm90IG1hdGNoIGEgaGFzaCB1cmxcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChjdXN0b21TZWN0aW9uQWN0aXZlKFwiI3NlY3Rpb25cIiwgXCIvc2VjdGlvbi9cIikpLnRvQmUoZmFsc2UpXG4gIH0pXG5cbiAgaXQoXCJzaG91bGQgbWF0Y2ggdGhlIGV4YWN0IHBhdGhcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChjdXN0b21TZWN0aW9uQWN0aXZlKFwiL2Fib3V0XCIsIFwiL2Fib3V0L1wiKSkudG9CZSh0cnVlKVxuICAgIGV4cGVjdChjdXN0b21TZWN0aW9uQWN0aXZlKFwiL2Fib3V0L1wiLCBcIi9hYm91dC9cIikpLnRvQmUodHJ1ZSlcbiAgfSlcblxuICBpdChcInNob3VsZCBtYXRjaCBhIGRlc2NlbmRhbnQgcGF0aFwiLCAoKSA9PiB7XG4gICAgZXhwZWN0KGN1c3RvbVNlY3Rpb25BY3RpdmUoXCIvYWJvdXRcIiwgXCIvYWJvdXQvdGVhbS9cIikpLnRvQmUodHJ1ZSlcbiAgfSlcblxuICBpdChcInNob3VsZCBub3QgbWF0Y2ggYSBzaWJsaW5nIHBhdGggd2l0aCBzaGFyZWQgcHJlZml4XCIsICgpID0+IHtcbiAgICBleHBlY3QoY3VzdG9tU2VjdGlvbkFjdGl2ZShcIi9hYm91dFwiLCBcIi9hYm91dHVzL1wiKSkudG9CZShmYWxzZSlcbiAgfSlcblxuICBpdChcInNob3VsZCBtYXRjaCBleGFjdCByb290IG9ubHlcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChjdXN0b21TZWN0aW9uQWN0aXZlKFwiL1wiLCBcIi9cIikpLnRvQmUodHJ1ZSlcbiAgICBleHBlY3QoY3VzdG9tU2VjdGlvbkFjdGl2ZShcIi9cIiwgXCIvYWJvdXQvXCIpKS50b0JlKGZhbHNlKVxuICB9KVxuXG4gIGl0KFwic2hvdWxkIGlnbm9yZSBxdWVyeSBhbmQgaGFzaCBvbiB0aGUgdXJsXCIsICgpID0+IHtcbiAgICBleHBlY3QoY3VzdG9tU2VjdGlvbkFjdGl2ZShcIi9hYm91dD94PTFcIiwgXCIvYWJvdXQvXCIpKS50b0JlKHRydWUpXG4gICAgZXhwZWN0KGN1c3RvbVNlY3Rpb25BY3RpdmUoXCIvYWJvdXQjdG9wXCIsIFwiL2Fib3V0L3RlYW0vXCIpKS50b0JlKHRydWUpXG4gIH0pXG59KVxuXG5kZXNjcmliZShcImFjdGl2ZVNpdGVTZWN0aW9uXCIsICgpID0+IHtcbiAgY29uc3QgZG9jczogU2VjdGlvbiA9IHtcbiAgICB0eXBlOiBcImFydGljbGVcIixcbiAgICB0aXRsZTogXCJEb2NzXCIsXG4gICAgcHJlZml4OiBcIi9cIixcbiAgICBwb3NpdGlvbjogXCJoZWFkZXJcIixcbiAgfVxuICBjb25zdCBibG9nOiBTZWN0aW9uID0ge1xuICAgIHR5cGU6IFwiYmxvZ1wiLFxuICAgIHRpdGxlOiBcIkJsb2dcIixcbiAgICBwcmVmaXg6IFwiL2Jsb2cvXCIsXG4gICAgcG9zaXRpb246IFwiaGVhZGVyXCIsXG4gIH1cbiAgY29uc3QgYXBpQ3VzdG9tOiBTZWN0aW9uID0ge1xuICAgIHR5cGU6IFwiY3VzdG9tXCIsXG4gICAgdGl0bGU6IFwiQVBJXCIsXG4gICAgdXJsOiBcIi9hcGkvdjJcIixcbiAgICBwb3NpdGlvbjogXCJoZWFkZXJcIixcbiAgfVxuICBjb25zdCBnaXRodWJDdXN0b206IFNlY3Rpb24gPSB7XG4gICAgdHlwZTogXCJjdXN0b21cIixcbiAgICB0aXRsZTogXCJHaXRIdWJcIixcbiAgICB1cmw6IFwiaHR0cHM6Ly9naXRodWIuY29tL2V4YW1wbGUvcmVwb1wiLFxuICAgIHBvc2l0aW9uOiBcImhlYWRlclwiLFxuICB9XG4gIGNvbnN0IGhvbWVDdXN0b206IFNlY3Rpb24gPSB7XG4gICAgdHlwZTogXCJjdXN0b21cIixcbiAgICB0aXRsZTogXCJIb21lXCIsXG4gICAgdXJsOiBcIi9cIixcbiAgICBwb3NpdGlvbjogXCJoZWFkZXJcIixcbiAgfVxuXG4gIGl0KFwic2hvdWxkIHJldHVybiB0aGUgcm91dGVkIHNlY3Rpb24gbWF0Y2hpbmcgYnkgcHJlZml4XCIsICgpID0+IHtcbiAgICBleHBlY3QoYWN0aXZlU2l0ZVNlY3Rpb24oXCIvYmxvZy9wb3N0L1wiLCBbZG9jcywgYmxvZ10pPy50aXRsZSkudG9CZShcIkJsb2dcIilcbiAgfSlcblxuICBpdChcInNob3VsZCByZXR1cm4gdGhlIGN1c3RvbSBzZWN0aW9uIG1hdGNoaW5nIGJ5IGludGVybmFsIHVybFwiLCAoKSA9PiB7XG4gICAgZXhwZWN0KGFjdGl2ZVNpdGVTZWN0aW9uKFwiL2FwaS92Mi91c2Vycy9cIiwgW2RvY3MsIGFwaUN1c3RvbV0pPy50aXRsZSkudG9CZShcbiAgICAgIFwiQVBJXCIsXG4gICAgKVxuICB9KVxuXG4gIGl0KFwic2hvdWxkIHBpY2sgdGhlIGxvbmdlc3QgbWF0Y2ggYW1vbmcgb3ZlcmxhcHBpbmcgcHJlZml4ZXNcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChhY3RpdmVTaXRlU2VjdGlvbihcIi9ibG9nL3Bvc3QvXCIsIFtkb2NzLCBibG9nXSk/LnRpdGxlKS50b0JlKFwiQmxvZ1wiKVxuICAgIGV4cGVjdChhY3RpdmVTaXRlU2VjdGlvbihcIi9hcGkvdjIvZm9vL1wiLCBbZG9jcywgYXBpQ3VzdG9tXSk/LnRpdGxlKS50b0JlKFxuICAgICAgXCJBUElcIixcbiAgICApXG4gIH0pXG5cbiAgaXQoXCJzaG91bGQgaWdub3JlIGN1c3RvbSBzZWN0aW9ucyB3aXRoIGFic29sdXRlIFVSTHNcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChhY3RpdmVTaXRlU2VjdGlvbihcIi9hbnl0aGluZy9cIiwgW2dpdGh1YkN1c3RvbV0pKS50b0JlVW5kZWZpbmVkKClcbiAgfSlcblxuICBpdChcInNob3VsZCBtYXRjaCBjdXN0b20gVVJMIGAvYCBvbmx5IG9uIHRoZSBob21lIHBhZ2VcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChhY3RpdmVTaXRlU2VjdGlvbihcIi9cIiwgW2hvbWVDdXN0b21dKT8udGl0bGUpLnRvQmUoXCJIb21lXCIpXG4gICAgZXhwZWN0KGFjdGl2ZVNpdGVTZWN0aW9uKFwiL2Fib3V0L1wiLCBbaG9tZUN1c3RvbV0pKS50b0JlVW5kZWZpbmVkKClcbiAgfSlcblxuICBpdChcInNob3VsZCBsZXQgcm91dGVkIGAvYCBtYXRjaCBkZXNjZW5kYW50cyB3aGlsZSBjdXN0b20gYC9gIGRvZXMgbm90XCIsICgpID0+IHtcbiAgICBleHBlY3QoYWN0aXZlU2l0ZVNlY3Rpb24oXCIvYWJvdXQvXCIsIFtkb2NzLCBob21lQ3VzdG9tXSk/LnRpdGxlKS50b0JlKFwiRG9jc1wiKVxuICB9KVxuXG4gIGl0KFwic2hvdWxkIHJldHVybiB1bmRlZmluZWQgd2hlbiBubyBzZWN0aW9uIG1hdGNoZXNcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChhY3RpdmVTaXRlU2VjdGlvbihcIi9hbnl0aGluZy9cIiwgW2Jsb2csIGFwaUN1c3RvbV0pKS50b0JlVW5kZWZpbmVkKClcbiAgfSlcbn0pXG5cbmRlc2NyaWJlKFwiYWN0aXZlU2l0ZUxpbmtcIiwgKCkgPT4ge1xuICBjb25zdCBkb2NzOiBTZWN0aW9uID0ge1xuICAgIHR5cGU6IFwiYXJ0aWNsZVwiLFxuICAgIHRpdGxlOiBcIkRvY3NcIixcbiAgICBwcmVmaXg6IFwiL1wiLFxuICAgIHBvc2l0aW9uOiBcImhlYWRlclwiLFxuICB9XG4gIGNvbnN0IGJsb2c6IFNlY3Rpb24gPSB7XG4gICAgdHlwZTogXCJibG9nXCIsXG4gICAgdGl0bGU6IFwiQmxvZ1wiLFxuICAgIHByZWZpeDogXCIvYmxvZy9cIixcbiAgICBwb3NpdGlvbjogXCJoZWFkZXJcIixcbiAgICBzaXRlTGluazogXCIvYmxvZy9cIixcbiAgfVxuICBjb25zdCBleHRlcm5hbEN1c3RvbTogU2VjdGlvbiA9IHtcbiAgICB0eXBlOiBcImN1c3RvbVwiLFxuICAgIHRpdGxlOiBcIkdpdEh1YlwiLFxuICAgIHVybDogXCIvZ2l0aHViXCIsXG4gICAgcG9zaXRpb246IFwiaGVhZGVyXCIsXG4gICAgc2l0ZUxpbms6IFwiaHR0cHM6Ly9naXRodWIuY29tL2V4YW1wbGUvcmVwb1wiLFxuICB9XG5cbiAgaXQoXCJzaG91bGQgZGVmYXVsdCB0byAnLycgd2hlbiBubyBzZWN0aW9uIG1hdGNoZXNcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChhY3RpdmVTaXRlTGluayhcIi9hbnl0aGluZy9cIiwgW2Jsb2ddKSkudG9CZShcIi9cIilcbiAgfSlcblxuICBpdChcInNob3VsZCBkZWZhdWx0IHRvICcvJyB3aGVuIG1hdGNoaW5nIHNlY3Rpb24gaGFzIG5vIHNpdGVMaW5rXCIsICgpID0+IHtcbiAgICBleHBlY3QoYWN0aXZlU2l0ZUxpbmsoXCIvYWJvdXQvXCIsIFtkb2NzXSkpLnRvQmUoXCIvXCIpXG4gIH0pXG5cbiAgaXQoXCJzaG91bGQgcmV0dXJuIHRoZSBtYXRjaGluZyBzZWN0aW9uJ3Mgc2l0ZUxpbmtcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChhY3RpdmVTaXRlTGluayhcIi9ibG9nL3Bvc3QvXCIsIFtibG9nXSkpLnRvQmUoXCIvYmxvZy9cIilcbiAgfSlcblxuICBpdChcInNob3VsZCBzdXBwb3J0IGFic29sdXRlIFVSTHMgYXMgdGhlIHNpdGVMaW5rXCIsICgpID0+IHtcbiAgICBleHBlY3QoYWN0aXZlU2l0ZUxpbmsoXCIvZ2l0aHViL1wiLCBbZXh0ZXJuYWxDdXN0b21dKSkudG9CZShcbiAgICAgIFwiaHR0cHM6Ly9naXRodWIuY29tL2V4YW1wbGUvcmVwb1wiLFxuICAgIClcbiAgfSlcbn0pXG4iXX0=
|
package/build/models/config.d.ts
CHANGED
|
@@ -122,6 +122,7 @@ export declare const UserConfig: z.ZodObject<{
|
|
|
122
122
|
}>>;
|
|
123
123
|
siteTitle: z.ZodOptional<z.ZodString>;
|
|
124
124
|
siteDescription: z.ZodOptional<z.ZodString>;
|
|
125
|
+
siteLink: z.ZodOptional<z.ZodString>;
|
|
125
126
|
type: z.ZodLiteral<"article">;
|
|
126
127
|
prefix: z.ZodString;
|
|
127
128
|
}, z.core.$strip>, z.ZodObject<{
|
|
@@ -133,6 +134,7 @@ export declare const UserConfig: z.ZodObject<{
|
|
|
133
134
|
}>>;
|
|
134
135
|
siteTitle: z.ZodOptional<z.ZodString>;
|
|
135
136
|
siteDescription: z.ZodOptional<z.ZodString>;
|
|
137
|
+
siteLink: z.ZodOptional<z.ZodString>;
|
|
136
138
|
type: z.ZodLiteral<"blog">;
|
|
137
139
|
prefix: z.ZodString;
|
|
138
140
|
}, z.core.$strip>, z.ZodObject<{
|
|
@@ -144,6 +146,7 @@ export declare const UserConfig: z.ZodObject<{
|
|
|
144
146
|
}>>;
|
|
145
147
|
siteTitle: z.ZodOptional<z.ZodString>;
|
|
146
148
|
siteDescription: z.ZodOptional<z.ZodString>;
|
|
149
|
+
siteLink: z.ZodOptional<z.ZodString>;
|
|
147
150
|
type: z.ZodLiteral<"changelog">;
|
|
148
151
|
prefix: z.ZodString;
|
|
149
152
|
source: z.ZodString;
|
|
@@ -157,6 +160,7 @@ export declare const UserConfig: z.ZodObject<{
|
|
|
157
160
|
}>>;
|
|
158
161
|
siteTitle: z.ZodOptional<z.ZodString>;
|
|
159
162
|
siteDescription: z.ZodOptional<z.ZodString>;
|
|
163
|
+
siteLink: z.ZodOptional<z.ZodString>;
|
|
160
164
|
type: z.ZodLiteral<"custom">;
|
|
161
165
|
url: z.ZodString;
|
|
162
166
|
}, z.core.$strip>], "type">>>>;
|
|
@@ -213,6 +217,7 @@ export declare const WebsiteConfig: z.ZodObject<{
|
|
|
213
217
|
}>>;
|
|
214
218
|
siteTitle: z.ZodOptional<z.ZodString>;
|
|
215
219
|
siteDescription: z.ZodOptional<z.ZodString>;
|
|
220
|
+
siteLink: z.ZodOptional<z.ZodString>;
|
|
216
221
|
type: z.ZodLiteral<"article">;
|
|
217
222
|
prefix: z.ZodString;
|
|
218
223
|
}, z.core.$strip>, z.ZodObject<{
|
|
@@ -224,6 +229,7 @@ export declare const WebsiteConfig: z.ZodObject<{
|
|
|
224
229
|
}>>;
|
|
225
230
|
siteTitle: z.ZodOptional<z.ZodString>;
|
|
226
231
|
siteDescription: z.ZodOptional<z.ZodString>;
|
|
232
|
+
siteLink: z.ZodOptional<z.ZodString>;
|
|
227
233
|
type: z.ZodLiteral<"blog">;
|
|
228
234
|
prefix: z.ZodString;
|
|
229
235
|
}, z.core.$strip>, z.ZodObject<{
|
|
@@ -235,6 +241,7 @@ export declare const WebsiteConfig: z.ZodObject<{
|
|
|
235
241
|
}>>;
|
|
236
242
|
siteTitle: z.ZodOptional<z.ZodString>;
|
|
237
243
|
siteDescription: z.ZodOptional<z.ZodString>;
|
|
244
|
+
siteLink: z.ZodOptional<z.ZodString>;
|
|
238
245
|
type: z.ZodLiteral<"changelog">;
|
|
239
246
|
prefix: z.ZodString;
|
|
240
247
|
source: z.ZodString;
|
|
@@ -248,6 +255,7 @@ export declare const WebsiteConfig: z.ZodObject<{
|
|
|
248
255
|
}>>;
|
|
249
256
|
siteTitle: z.ZodOptional<z.ZodString>;
|
|
250
257
|
siteDescription: z.ZodOptional<z.ZodString>;
|
|
258
|
+
siteLink: z.ZodOptional<z.ZodString>;
|
|
251
259
|
type: z.ZodLiteral<"custom">;
|
|
252
260
|
url: z.ZodString;
|
|
253
261
|
}, z.core.$strip>], "type">>>>;
|
|
@@ -370,6 +378,7 @@ export declare const Config: z.ZodObject<{
|
|
|
370
378
|
}>>;
|
|
371
379
|
siteTitle: z.ZodOptional<z.ZodString>;
|
|
372
380
|
siteDescription: z.ZodOptional<z.ZodString>;
|
|
381
|
+
siteLink: z.ZodOptional<z.ZodString>;
|
|
373
382
|
type: z.ZodLiteral<"article">;
|
|
374
383
|
prefix: z.ZodString;
|
|
375
384
|
}, z.core.$strip>, z.ZodObject<{
|
|
@@ -381,6 +390,7 @@ export declare const Config: z.ZodObject<{
|
|
|
381
390
|
}>>;
|
|
382
391
|
siteTitle: z.ZodOptional<z.ZodString>;
|
|
383
392
|
siteDescription: z.ZodOptional<z.ZodString>;
|
|
393
|
+
siteLink: z.ZodOptional<z.ZodString>;
|
|
384
394
|
type: z.ZodLiteral<"blog">;
|
|
385
395
|
prefix: z.ZodString;
|
|
386
396
|
}, z.core.$strip>, z.ZodObject<{
|
|
@@ -392,6 +402,7 @@ export declare const Config: z.ZodObject<{
|
|
|
392
402
|
}>>;
|
|
393
403
|
siteTitle: z.ZodOptional<z.ZodString>;
|
|
394
404
|
siteDescription: z.ZodOptional<z.ZodString>;
|
|
405
|
+
siteLink: z.ZodOptional<z.ZodString>;
|
|
395
406
|
type: z.ZodLiteral<"changelog">;
|
|
396
407
|
prefix: z.ZodString;
|
|
397
408
|
source: z.ZodString;
|
|
@@ -405,6 +416,7 @@ export declare const Config: z.ZodObject<{
|
|
|
405
416
|
}>>;
|
|
406
417
|
siteTitle: z.ZodOptional<z.ZodString>;
|
|
407
418
|
siteDescription: z.ZodOptional<z.ZodString>;
|
|
419
|
+
siteLink: z.ZodOptional<z.ZodString>;
|
|
408
420
|
type: z.ZodLiteral<"custom">;
|
|
409
421
|
url: z.ZodString;
|
|
410
422
|
}, z.core.$strip>], "type">>>>;
|
|
@@ -10,6 +10,7 @@ export declare const ArticleSection: z.ZodObject<{
|
|
|
10
10
|
}>>;
|
|
11
11
|
siteTitle: z.ZodOptional<z.ZodString>;
|
|
12
12
|
siteDescription: z.ZodOptional<z.ZodString>;
|
|
13
|
+
siteLink: z.ZodOptional<z.ZodString>;
|
|
13
14
|
type: z.ZodLiteral<"article">;
|
|
14
15
|
prefix: z.ZodString;
|
|
15
16
|
}, z.core.$strip>;
|
|
@@ -24,6 +25,7 @@ export declare const BlogSection: z.ZodObject<{
|
|
|
24
25
|
}>>;
|
|
25
26
|
siteTitle: z.ZodOptional<z.ZodString>;
|
|
26
27
|
siteDescription: z.ZodOptional<z.ZodString>;
|
|
28
|
+
siteLink: z.ZodOptional<z.ZodString>;
|
|
27
29
|
type: z.ZodLiteral<"blog">;
|
|
28
30
|
prefix: z.ZodString;
|
|
29
31
|
}, z.core.$strip>;
|
|
@@ -38,6 +40,7 @@ export declare const ChangelogSection: z.ZodObject<{
|
|
|
38
40
|
}>>;
|
|
39
41
|
siteTitle: z.ZodOptional<z.ZodString>;
|
|
40
42
|
siteDescription: z.ZodOptional<z.ZodString>;
|
|
43
|
+
siteLink: z.ZodOptional<z.ZodString>;
|
|
41
44
|
type: z.ZodLiteral<"changelog">;
|
|
42
45
|
prefix: z.ZodString;
|
|
43
46
|
source: z.ZodString;
|
|
@@ -56,6 +59,7 @@ export declare const CustomSection: z.ZodObject<{
|
|
|
56
59
|
}>>;
|
|
57
60
|
siteTitle: z.ZodOptional<z.ZodString>;
|
|
58
61
|
siteDescription: z.ZodOptional<z.ZodString>;
|
|
62
|
+
siteLink: z.ZodOptional<z.ZodString>;
|
|
59
63
|
type: z.ZodLiteral<"custom">;
|
|
60
64
|
url: z.ZodString;
|
|
61
65
|
}, z.core.$strip>;
|
|
@@ -74,6 +78,7 @@ export declare const Section: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodD
|
|
|
74
78
|
}>>;
|
|
75
79
|
siteTitle: z.ZodOptional<z.ZodString>;
|
|
76
80
|
siteDescription: z.ZodOptional<z.ZodString>;
|
|
81
|
+
siteLink: z.ZodOptional<z.ZodString>;
|
|
77
82
|
type: z.ZodLiteral<"article">;
|
|
78
83
|
prefix: z.ZodString;
|
|
79
84
|
}, z.core.$strip>, z.ZodObject<{
|
|
@@ -85,6 +90,7 @@ export declare const Section: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodD
|
|
|
85
90
|
}>>;
|
|
86
91
|
siteTitle: z.ZodOptional<z.ZodString>;
|
|
87
92
|
siteDescription: z.ZodOptional<z.ZodString>;
|
|
93
|
+
siteLink: z.ZodOptional<z.ZodString>;
|
|
88
94
|
type: z.ZodLiteral<"blog">;
|
|
89
95
|
prefix: z.ZodString;
|
|
90
96
|
}, z.core.$strip>, z.ZodObject<{
|
|
@@ -96,6 +102,7 @@ export declare const Section: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodD
|
|
|
96
102
|
}>>;
|
|
97
103
|
siteTitle: z.ZodOptional<z.ZodString>;
|
|
98
104
|
siteDescription: z.ZodOptional<z.ZodString>;
|
|
105
|
+
siteLink: z.ZodOptional<z.ZodString>;
|
|
99
106
|
type: z.ZodLiteral<"changelog">;
|
|
100
107
|
prefix: z.ZodString;
|
|
101
108
|
source: z.ZodString;
|
|
@@ -109,6 +116,7 @@ export declare const Section: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodD
|
|
|
109
116
|
}>>;
|
|
110
117
|
siteTitle: z.ZodOptional<z.ZodString>;
|
|
111
118
|
siteDescription: z.ZodOptional<z.ZodString>;
|
|
119
|
+
siteLink: z.ZodOptional<z.ZodString>;
|
|
112
120
|
type: z.ZodLiteral<"custom">;
|
|
113
121
|
url: z.ZodString;
|
|
114
122
|
}, z.core.$strip>], "type">>;
|
package/build/models/section.js
CHANGED
|
@@ -5,6 +5,7 @@ const BaseSection = z.object({
|
|
|
5
5
|
position: z.enum(["header", "sidebar"]).default("header"),
|
|
6
6
|
siteTitle: z.string().optional(),
|
|
7
7
|
siteDescription: z.string().optional(),
|
|
8
|
+
siteLink: z.string().optional(),
|
|
8
9
|
});
|
|
9
10
|
export const ArticleSection = BaseSection.extend({
|
|
10
11
|
type: z.literal("article"),
|
|
@@ -36,4 +37,4 @@ export const Section = z.preprocess(input => {
|
|
|
36
37
|
ChangelogSection,
|
|
37
38
|
CustomSection,
|
|
38
39
|
]));
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NvdXJjZS9tb2RlbHMvc2VjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFBO0FBRXZCLE1BQU0sV0FBVyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDM0IsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDM0IsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDakIsUUFBUSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQ3pELFNBQVMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2hDLGVBQWUsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3RDLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQ2hDLENBQUMsQ0FBQTtBQUlGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDO0lBQy9DLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztJQUMxQixNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtDQUNuQixDQUFDLENBQUE7QUFJRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQztJQUM1QyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDdkIsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7Q0FDbkIsQ0FBQyxDQUFBO0FBSUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQztJQUNqRCxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7SUFDNUIsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDbEIsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDbEIsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDaEMsQ0FBQyxDQUFBO0FBTUYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUM7SUFDOUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQ3pCLEdBQUcsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0NBQ2hCLENBQUMsQ0FBQTtBQVFGLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxDQUFDLENBQUMsVUFBVSxDQUNqQyxLQUFLLENBQUMsRUFBRTtJQUNOLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3hFLE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUNELE1BQU0sTUFBTSxHQUFHLEtBQWdDLENBQUE7SUFDL0MsT0FBTyxNQUFNLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFBO0FBQ25FLENBQUMsRUFDRCxDQUFDLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFO0lBQzNCLGNBQWM7SUFDZCxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGFBQWE7Q0FDZCxDQUFDLENBQ0gsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHogfSBmcm9tIFwiem9kXCJcblxuY29uc3QgQmFzZVNlY3Rpb24gPSB6Lm9iamVjdCh7XG4gIGljb246IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdGl0bGU6IHouc3RyaW5nKCksXG4gIHBvc2l0aW9uOiB6LmVudW0oW1wiaGVhZGVyXCIsIFwic2lkZWJhclwiXSkuZGVmYXVsdChcImhlYWRlclwiKSxcbiAgc2l0ZVRpdGxlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHNpdGVEZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBzaXRlTGluazogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxufSlcblxuLyoqIERlZmF1bHQgc2VjdGlvbjogcmVuZGVycyBhcnRpY2xlcy4gKi9cbmV4cG9ydCB0eXBlIEFydGljbGVTZWN0aW9uID0gei5pbmZlcjx0eXBlb2YgQXJ0aWNsZVNlY3Rpb24+XG5leHBvcnQgY29uc3QgQXJ0aWNsZVNlY3Rpb24gPSBCYXNlU2VjdGlvbi5leHRlbmQoe1xuICB0eXBlOiB6LmxpdGVyYWwoXCJhcnRpY2xlXCIpLFxuICBwcmVmaXg6IHouc3RyaW5nKCksXG59KVxuXG4vKiogQmxvZyBzZWN0aW9uOiBkYXRlLXNvcnRlZCBwb3N0cyB3aXRoIHRhZ3MgYW5kIGluZGV4LiAqL1xuZXhwb3J0IHR5cGUgQmxvZ1NlY3Rpb24gPSB6LmluZmVyPHR5cGVvZiBCbG9nU2VjdGlvbj5cbmV4cG9ydCBjb25zdCBCbG9nU2VjdGlvbiA9IEJhc2VTZWN0aW9uLmV4dGVuZCh7XG4gIHR5cGU6IHoubGl0ZXJhbChcImJsb2dcIiksXG4gIHByZWZpeDogei5zdHJpbmcoKSxcbn0pXG5cbi8qKiBDaGFuZ2Vsb2cgc2VjdGlvbjogc2luZ2xlIGZpbGUgb3IgR2l0SHViIHJlbGVhc2VzLCBzcGxpdCBwZXIgdmVyc2lvbi4gKi9cbmV4cG9ydCB0eXBlIENoYW5nZWxvZ1NlY3Rpb24gPSB6LmluZmVyPHR5cGVvZiBDaGFuZ2Vsb2dTZWN0aW9uPlxuZXhwb3J0IGNvbnN0IENoYW5nZWxvZ1NlY3Rpb24gPSBCYXNlU2VjdGlvbi5leHRlbmQoe1xuICB0eXBlOiB6LmxpdGVyYWwoXCJjaGFuZ2Vsb2dcIiksXG4gIHByZWZpeDogei5zdHJpbmcoKSxcbiAgc291cmNlOiB6LnN0cmluZygpLFxuICB2ZXJzaW9uOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxufSlcblxuLyoqIEN1c3RvbSBzZWN0aW9uOiByZW5kZXJzIGFzIGEgbGluayB0byBhbiBhcmJpdHJhcnkgVVJMIOKAlCBhYnNvbHV0ZVxuICogIChgaHR0cHM6Ly/igKZgKSBvciBpbnRlcm5hbCAoYC9jaGFuZ2Vsb2dgKS4gSW50ZXJuYWwgVVJMcyBwYXJ0aWNpcGF0ZVxuICogIGluIGFjdGl2ZS1zdGF0ZSBoaWdobGlnaHRpbmcgbGlrZSByb3V0ZWQgc2VjdGlvbnMuICovXG5leHBvcnQgdHlwZSBDdXN0b21TZWN0aW9uID0gei5pbmZlcjx0eXBlb2YgQ3VzdG9tU2VjdGlvbj5cbmV4cG9ydCBjb25zdCBDdXN0b21TZWN0aW9uID0gQmFzZVNlY3Rpb24uZXh0ZW5kKHtcbiAgdHlwZTogei5saXRlcmFsKFwiY3VzdG9tXCIpLFxuICB1cmw6IHouc3RyaW5nKCksXG59KVxuXG4vKipcbiAqIEEgc2l0ZSBzZWN0aW9uLiBEaXNjcmltaW5hdGVkIG9uIGB0eXBlYC5cbiAqIFdoZW4gYHR5cGVgIGlzIG9taXR0ZWQsIGl0IGRlZmF1bHRzIHRvIFwiYXJ0aWNsZVwiIHNvIHBsYWluXG4gKiBgeyB0aXRsZSwgcHJlZml4IH1gIGVudHJpZXMga2VlcCB3b3JraW5nLlxuICovXG5leHBvcnQgdHlwZSBTZWN0aW9uID0gei5pbmZlcjx0eXBlb2YgU2VjdGlvbj5cbmV4cG9ydCBjb25zdCBTZWN0aW9uID0gei5wcmVwcm9jZXNzKFxuICBpbnB1dCA9PiB7XG4gICAgaWYgKGlucHV0ID09PSBudWxsIHx8IHR5cGVvZiBpbnB1dCAhPT0gXCJvYmplY3RcIiB8fCBBcnJheS5pc0FycmF5KGlucHV0KSkge1xuICAgICAgcmV0dXJuIGlucHV0XG4gICAgfVxuICAgIGNvbnN0IHJlY29yZCA9IGlucHV0IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICAgcmV0dXJuIFwidHlwZVwiIGluIHJlY29yZCA/IHJlY29yZCA6IHsgLi4ucmVjb3JkLCB0eXBlOiBcImFydGljbGVcIiB9XG4gIH0sXG4gIHouZGlzY3JpbWluYXRlZFVuaW9uKFwidHlwZVwiLCBbXG4gICAgQXJ0aWNsZVNlY3Rpb24sXG4gICAgQmxvZ1NlY3Rpb24sXG4gICAgQ2hhbmdlbG9nU2VjdGlvbixcbiAgICBDdXN0b21TZWN0aW9uLFxuICBdKSxcbilcbiJdfQ==
|
package/package.json
CHANGED
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
} from "../content/article.ts"
|
|
10
10
|
import { DynamicIcon } from "../helpers/dynamic-icon.tsx"
|
|
11
11
|
import { prefixUrl } from "../helpers/prefix-url.ts"
|
|
12
|
-
import { customSectionActive } from "../helpers/section.ts"
|
|
12
|
+
import { activeSiteLink, customSectionActive } from "../helpers/section.ts"
|
|
13
13
|
import {
|
|
14
14
|
SidebarInset,
|
|
15
15
|
SidebarProvider,
|
|
@@ -19,6 +19,7 @@ import {
|
|
|
19
19
|
import { BackToTop } from "./BackToTop.tsx"
|
|
20
20
|
import { Banner } from "./Banner.tsx"
|
|
21
21
|
import { Sidebar } from "./Sidebar.tsx"
|
|
22
|
+
import { SiteLink } from "./SiteLink.tsx"
|
|
22
23
|
import { SiteTitle } from "./SiteTitle.tsx"
|
|
23
24
|
|
|
24
25
|
function splatFor(pathname: string) {
|
|
@@ -34,6 +35,7 @@ export function Layout(props: {
|
|
|
34
35
|
const activeSection = articleRoute
|
|
35
36
|
? currentSection(`/${pathname.replace(/^\/|\/$/g, "")}/`)
|
|
36
37
|
: undefined
|
|
38
|
+
const siteLinkTarget = activeSiteLink(pathname, config.sections ?? [])
|
|
37
39
|
|
|
38
40
|
useHotkey("J", () =>
|
|
39
41
|
window.scrollBy({ top: window.innerHeight * 0.8, behavior: "smooth" }),
|
|
@@ -54,14 +56,17 @@ export function Layout(props: {
|
|
|
54
56
|
<div className="hidden lg:flex">
|
|
55
57
|
<SidebarTrigger />
|
|
56
58
|
</div>
|
|
57
|
-
<
|
|
59
|
+
<SiteLink
|
|
60
|
+
to={siteLinkTarget}
|
|
61
|
+
className="lg:hidden flex items-center gap-2"
|
|
62
|
+
>
|
|
58
63
|
<SiteTitle />
|
|
59
|
-
</
|
|
64
|
+
</SiteLink>
|
|
60
65
|
</>
|
|
61
66
|
) : (
|
|
62
|
-
<
|
|
67
|
+
<SiteLink to={siteLinkTarget} className="flex items-center gap-2">
|
|
63
68
|
<SiteTitle />
|
|
64
|
-
</
|
|
69
|
+
</SiteLink>
|
|
65
70
|
)}
|
|
66
71
|
</div>
|
|
67
72
|
<div className="hidden lg:flex flex-1 items-center gap-8 self-stretch px-6 text-sm">
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { config } from "livemark:virtual"
|
|
2
|
+
import { useLocation, useMatch } from "@tanstack/react-router"
|
|
2
3
|
import { useHotkey } from "@tanstack/react-hotkeys"
|
|
3
4
|
import { currentSection } from "../content/article.ts"
|
|
5
|
+
import { activeSiteLink } from "../helpers/section.ts"
|
|
4
6
|
import {
|
|
5
7
|
Sidebar as SidebarRoot,
|
|
6
8
|
SidebarContent,
|
|
@@ -18,6 +20,7 @@ import { SidebarLinks } from "./SidebarLinks.tsx"
|
|
|
18
20
|
import { SidebarPosts } from "./SidebarPosts.tsx"
|
|
19
21
|
import { SidebarReleases } from "./SidebarReleases.tsx"
|
|
20
22
|
import { SidebarSections } from "./SidebarSections.tsx"
|
|
23
|
+
import { SiteLink } from "./SiteLink.tsx"
|
|
21
24
|
import { SiteTitle } from "./SiteTitle.tsx"
|
|
22
25
|
import { Theme } from "./Theme.tsx"
|
|
23
26
|
|
|
@@ -34,13 +37,17 @@ export function Sidebar(props: { withSidebar?: boolean }) {
|
|
|
34
37
|
const section = articleRoute
|
|
35
38
|
? currentSection(`/${pathname.replace(/^\/|\/$/g, "")}/`)
|
|
36
39
|
: undefined
|
|
40
|
+
const siteLinkTarget = activeSiteLink(pathname, config.sections ?? [])
|
|
37
41
|
|
|
38
42
|
return (
|
|
39
43
|
<SidebarRoot>
|
|
40
44
|
<SidebarHeader>
|
|
41
45
|
<SidebarMenu>
|
|
42
46
|
<SidebarMenuItem>
|
|
43
|
-
<SidebarMenuButton
|
|
47
|
+
<SidebarMenuButton
|
|
48
|
+
size="lg"
|
|
49
|
+
render={<SiteLink to={siteLinkTarget} />}
|
|
50
|
+
>
|
|
44
51
|
<SiteTitle />
|
|
45
52
|
</SidebarMenuButton>
|
|
46
53
|
</SidebarMenuItem>
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { config } from "livemark:virtual"
|
|
2
|
+
import { Link } from "@tanstack/react-router"
|
|
3
|
+
import type { ReactNode } from "react"
|
|
4
|
+
import { prefixUrl } from "../helpers/prefix-url.ts"
|
|
5
|
+
|
|
6
|
+
/** Wrapper for the SiteTitle's link target. Picks `<Link>` for internal
|
|
7
|
+
* paths (rooted at `/`) and a plain `<a>` for absolute URLs (`http(s)`,
|
|
8
|
+
* protocol-relative, `mailto:`). Designed to be used both directly
|
|
9
|
+
* (`<SiteLink to={...}>...</SiteLink>`) and as the `render` element of
|
|
10
|
+
* a `SidebarMenuButton`, which means props (`className`, children) are
|
|
11
|
+
* forwarded onto the underlying anchor or Link. */
|
|
12
|
+
export function SiteLink(props: {
|
|
13
|
+
to: string
|
|
14
|
+
className?: string
|
|
15
|
+
children?: ReactNode
|
|
16
|
+
}) {
|
|
17
|
+
if (isAbsolute(props.to)) {
|
|
18
|
+
return (
|
|
19
|
+
<a href={prefixUrl(props.to, config.base)} className={props.className}>
|
|
20
|
+
{props.children}
|
|
21
|
+
</a>
|
|
22
|
+
)
|
|
23
|
+
}
|
|
24
|
+
if (props.to === "/") {
|
|
25
|
+
return (
|
|
26
|
+
<Link to="/" className={props.className}>
|
|
27
|
+
{props.children}
|
|
28
|
+
</Link>
|
|
29
|
+
)
|
|
30
|
+
}
|
|
31
|
+
const splat = props.to.replace(/^\/|\/$/g, "")
|
|
32
|
+
return (
|
|
33
|
+
<Link to="/$" params={{ _splat: splat }} className={props.className}>
|
|
34
|
+
{props.children}
|
|
35
|
+
</Link>
|
|
36
|
+
)
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
function isAbsolute(url: string) {
|
|
40
|
+
return (
|
|
41
|
+
url.startsWith("http://") ||
|
|
42
|
+
url.startsWith("https://") ||
|
|
43
|
+
url.startsWith("//") ||
|
|
44
|
+
url.startsWith("mailto:")
|
|
45
|
+
)
|
|
46
|
+
}
|
|
@@ -7,6 +7,15 @@ import type { Section } from "../models/section.ts"
|
|
|
7
7
|
* `customSectionActive` so a custom URL of `/` only activates on
|
|
8
8
|
* the home page itself. Custom sections with absolute URLs never
|
|
9
9
|
* match. Longest match wins. */
|
|
10
|
+
/** Resolve where the SiteTitle should link to for the current pathname.
|
|
11
|
+
* If the active section sets `siteLink`, returns that — otherwise falls
|
|
12
|
+
* back to `/` (the home page). The returned value may be an internal
|
|
13
|
+
* path (`/foo/`) or an absolute URL (`https://…`); rendering decides
|
|
14
|
+
* which element to use. */
|
|
15
|
+
export function activeSiteLink(pathname: string, sections: Section[]) {
|
|
16
|
+
return activeSiteSection(pathname, sections)?.siteLink ?? "/"
|
|
17
|
+
}
|
|
18
|
+
|
|
10
19
|
export function activeSiteSection(pathname: string, sections: Section[]) {
|
|
11
20
|
const current = `/${pathname.replace(/^\/|\/$/g, "")}/`
|
|
12
21
|
let best: Section | undefined
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { describe, expect, it } from "vite-plus/test"
|
|
2
2
|
import type { Section } from "../models/section.ts"
|
|
3
3
|
import {
|
|
4
|
+
activeSiteLink,
|
|
4
5
|
activeSiteSection,
|
|
5
6
|
customSectionActive,
|
|
6
7
|
matchSection,
|
|
@@ -180,3 +181,44 @@ describe("activeSiteSection", () => {
|
|
|
180
181
|
expect(activeSiteSection("/anything/", [blog, apiCustom])).toBeUndefined()
|
|
181
182
|
})
|
|
182
183
|
})
|
|
184
|
+
|
|
185
|
+
describe("activeSiteLink", () => {
|
|
186
|
+
const docs: Section = {
|
|
187
|
+
type: "article",
|
|
188
|
+
title: "Docs",
|
|
189
|
+
prefix: "/",
|
|
190
|
+
position: "header",
|
|
191
|
+
}
|
|
192
|
+
const blog: Section = {
|
|
193
|
+
type: "blog",
|
|
194
|
+
title: "Blog",
|
|
195
|
+
prefix: "/blog/",
|
|
196
|
+
position: "header",
|
|
197
|
+
siteLink: "/blog/",
|
|
198
|
+
}
|
|
199
|
+
const externalCustom: Section = {
|
|
200
|
+
type: "custom",
|
|
201
|
+
title: "GitHub",
|
|
202
|
+
url: "/github",
|
|
203
|
+
position: "header",
|
|
204
|
+
siteLink: "https://github.com/example/repo",
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
it("should default to '/' when no section matches", () => {
|
|
208
|
+
expect(activeSiteLink("/anything/", [blog])).toBe("/")
|
|
209
|
+
})
|
|
210
|
+
|
|
211
|
+
it("should default to '/' when matching section has no siteLink", () => {
|
|
212
|
+
expect(activeSiteLink("/about/", [docs])).toBe("/")
|
|
213
|
+
})
|
|
214
|
+
|
|
215
|
+
it("should return the matching section's siteLink", () => {
|
|
216
|
+
expect(activeSiteLink("/blog/post/", [blog])).toBe("/blog/")
|
|
217
|
+
})
|
|
218
|
+
|
|
219
|
+
it("should support absolute URLs as the siteLink", () => {
|
|
220
|
+
expect(activeSiteLink("/github/", [externalCustom])).toBe(
|
|
221
|
+
"https://github.com/example/repo",
|
|
222
|
+
)
|
|
223
|
+
})
|
|
224
|
+
})
|
package/source/models/section.ts
CHANGED