livemark 0.14.0 → 0.16.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/components/Layout.js +8 -2
- package/build/components/SidebarArticles.js +9 -9
- package/build/components/SidebarLinks.js +3 -2
- package/build/components/SidebarSections.js +8 -2
- package/build/components/SiteTitle.js +3 -2
- package/build/content/article.d.ts +10 -10
- package/build/content/article.js +19 -17
- package/build/content-collections.js +3 -2
- package/build/helpers/article.d.ts +1 -15
- package/build/helpers/article.js +1 -34
- package/build/helpers/prefix-url.d.ts +6 -0
- package/build/helpers/prefix-url.js +24 -0
- package/build/helpers/prefix-url.unit.d.ts +1 -0
- package/build/helpers/prefix-url.unit.js +45 -0
- package/build/helpers/resolve-asset-path.d.ts +1 -1
- package/build/helpers/resolve-asset-path.js +9 -5
- package/build/helpers/resolve-asset-path.unit.d.ts +1 -0
- package/build/helpers/resolve-asset-path.unit.js +34 -0
- package/build/helpers/section.js +2 -1
- package/build/models/article.d.ts +0 -9
- package/build/models/article.js +1 -2
- package/build/models/config.d.ts +39 -11
- package/build/models/config.js +11 -1
- package/build/models/patch.d.ts +0 -1
- package/build/models/section.d.ts +27 -6
- package/build/models/section.js +14 -3
- package/build/plugins/remark-image.d.ts +1 -0
- package/build/plugins/remark-image.js +3 -3
- package/build/plugins/vite-livemark.js +6 -1
- package/build/router.js +3 -1
- package/build/routes/__root.js +3 -2
- package/build/vite.config.js +18 -4
- package/package.json +1 -1
- package/source/components/Layout.tsx +17 -1
- package/source/components/SidebarArticles.tsx +17 -24
- package/source/components/SidebarLinks.tsx +2 -1
- package/source/components/SidebarSections.tsx +18 -1
- package/source/components/SiteTitle.tsx +2 -1
- package/source/content/article.ts +20 -26
- package/source/content-collections.ts +2 -1
- package/source/helpers/article.ts +1 -39
- package/source/helpers/prefix-url.ts +22 -0
- package/source/helpers/prefix-url.unit.ts +57 -0
- package/source/helpers/resolve-asset-path.ts +12 -5
- package/source/helpers/resolve-asset-path.unit.ts +59 -0
- package/source/helpers/section.ts +1 -0
- package/source/models/article.ts +0 -10
- package/source/models/config.ts +9 -0
- package/source/models/section.ts +16 -2
- package/source/plugins/remark-image.ts +3 -3
- package/source/plugins/vite-livemark.ts +5 -0
- package/source/router.tsx +2 -0
- package/source/routes/__root.tsx +5 -1
- package/source/vite.config.ts +17 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ArticleNode } from "../models/article.ts";
|
|
2
2
|
/** Build a tree from a flat sorted list of articles based on path hierarchy */
|
|
3
3
|
export declare function buildArticleTree(articles: {
|
|
4
4
|
path: string;
|
|
@@ -6,19 +6,5 @@ export declare function buildArticleTree(articles: {
|
|
|
6
6
|
label?: string;
|
|
7
7
|
icon: string;
|
|
8
8
|
}[]): ArticleNode[];
|
|
9
|
-
/**
|
|
10
|
-
* Partition root nodes into sidebar sections.
|
|
11
|
-
*
|
|
12
|
-
* Walks root nodes in sort order. A root whose article has a `group` field
|
|
13
|
-
* opens a new section; subsequent roots without `group` append to the current
|
|
14
|
-
* section. Roots before the first `group` field land in a single leading
|
|
15
|
-
* section with `name: undefined` (rendered without a label).
|
|
16
|
-
*
|
|
17
|
-
* `group` on non-root articles is ignored — only roots gate section boundaries.
|
|
18
|
-
*/
|
|
19
|
-
export declare function groupArticleTree(tree: ArticleNode[], articles: {
|
|
20
|
-
path: string;
|
|
21
|
-
group?: string;
|
|
22
|
-
}[]): ArticleGroup[];
|
|
23
9
|
/** Depth-first flatten of an article tree into a list of paths */
|
|
24
10
|
export declare function flattenArticleTree(nodes: ArticleNode[]): string[];
|
package/build/helpers/article.js
CHANGED
|
@@ -28,39 +28,6 @@ export function buildArticleTree(articles) {
|
|
|
28
28
|
}
|
|
29
29
|
return roots;
|
|
30
30
|
}
|
|
31
|
-
/**
|
|
32
|
-
* Partition root nodes into sidebar sections.
|
|
33
|
-
*
|
|
34
|
-
* Walks root nodes in sort order. A root whose article has a `group` field
|
|
35
|
-
* opens a new section; subsequent roots without `group` append to the current
|
|
36
|
-
* section. Roots before the first `group` field land in a single leading
|
|
37
|
-
* section with `name: undefined` (rendered without a label).
|
|
38
|
-
*
|
|
39
|
-
* `group` on non-root articles is ignored — only roots gate section boundaries.
|
|
40
|
-
*/
|
|
41
|
-
export function groupArticleTree(tree, articles) {
|
|
42
|
-
const groupByPathname = new Map();
|
|
43
|
-
for (const article of articles) {
|
|
44
|
-
groupByPathname.set(article.path, article.group);
|
|
45
|
-
}
|
|
46
|
-
const sections = [];
|
|
47
|
-
let current;
|
|
48
|
-
for (const node of tree) {
|
|
49
|
-
const group = groupByPathname.get(node.path);
|
|
50
|
-
if (group) {
|
|
51
|
-
current = { name: group, nodes: [node] };
|
|
52
|
-
sections.push(current);
|
|
53
|
-
}
|
|
54
|
-
else if (current) {
|
|
55
|
-
current.nodes.push(node);
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
current = { name: undefined, nodes: [node] };
|
|
59
|
-
sections.push(current);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
return sections;
|
|
63
|
-
}
|
|
64
31
|
/** Depth-first flatten of an article tree into a list of paths */
|
|
65
32
|
export function flattenArticleTree(nodes) {
|
|
66
33
|
const result = [];
|
|
@@ -70,4 +37,4 @@ export function flattenArticleTree(nodes) {
|
|
|
70
37
|
}
|
|
71
38
|
return result;
|
|
72
39
|
}
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ0aWNsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NvdXJjZS9oZWxwZXJzL2FydGljbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsK0VBQStFO0FBQy9FLE1BQU0sVUFBVSxnQkFBZ0IsQ0FDOUIsUUFLRztJQUVILE1BQU0sT0FBTyxHQUFHLElBQUksR0FBRyxFQUF1QixDQUFBO0lBRTlDLEtBQUssTUFBTSxPQUFPLElBQUksUUFBUSxFQUFFLENBQUM7UUFDL0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFO1lBQ3hCLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtZQUNsQixLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7WUFDcEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO1lBQ3BCLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtZQUNsQixRQUFRLEVBQUUsRUFBRTtTQUNiLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxNQUFNLEtBQUssR0FBa0IsRUFBRSxDQUFBO0lBRS9CLEtBQUssTUFBTSxPQUFPLElBQUksUUFBUSxFQUFFLENBQUM7UUFDL0IsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDdEMsSUFBSSxDQUFDLElBQUk7WUFBRSxTQUFRO1FBQ25CLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUMvQyxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQzFDLE1BQU0sVUFBVSxHQUFHLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO1FBQ3pFLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFBO1FBRS9ELElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM1QixDQUFDO2FBQU0sQ0FBQztZQUNOLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDbEIsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQTtBQUNkLENBQUM7QUFFRCxrRUFBa0U7QUFDbEUsTUFBTSxVQUFVLGtCQUFrQixDQUFDLEtBQW9CO0lBQ3JELE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQTtJQUMzQixLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ3pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3RCLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQTtJQUNuRCxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUE7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBcnRpY2xlTm9kZSB9IGZyb20gXCIuLi9tb2RlbHMvYXJ0aWNsZS50c1wiXG5cbi8qKiBCdWlsZCBhIHRyZWUgZnJvbSBhIGZsYXQgc29ydGVkIGxpc3Qgb2YgYXJ0aWNsZXMgYmFzZWQgb24gcGF0aCBoaWVyYXJjaHkgKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEFydGljbGVUcmVlKFxuICBhcnRpY2xlczoge1xuICAgIHBhdGg6IHN0cmluZ1xuICAgIHRpdGxlOiBzdHJpbmdcbiAgICBsYWJlbD86IHN0cmluZ1xuICAgIGljb246IHN0cmluZ1xuICB9W10sXG4pIHtcbiAgY29uc3Qgbm9kZU1hcCA9IG5ldyBNYXA8c3RyaW5nLCBBcnRpY2xlTm9kZT4oKVxuXG4gIGZvciAoY29uc3QgYXJ0aWNsZSBvZiBhcnRpY2xlcykge1xuICAgIG5vZGVNYXAuc2V0KGFydGljbGUucGF0aCwge1xuICAgICAgcGF0aDogYXJ0aWNsZS5wYXRoLFxuICAgICAgdGl0bGU6IGFydGljbGUudGl0bGUsXG4gICAgICBsYWJlbDogYXJ0aWNsZS5sYWJlbCxcbiAgICAgIGljb246IGFydGljbGUuaWNvbixcbiAgICAgIGNoaWxkcmVuOiBbXSxcbiAgICB9KVxuICB9XG5cbiAgY29uc3Qgcm9vdHM6IEFydGljbGVOb2RlW10gPSBbXVxuXG4gIGZvciAoY29uc3QgYXJ0aWNsZSBvZiBhcnRpY2xlcykge1xuICAgIGNvbnN0IG5vZGUgPSBub2RlTWFwLmdldChhcnRpY2xlLnBhdGgpXG4gICAgaWYgKCFub2RlKSBjb250aW51ZVxuICAgIGNvbnN0IHRyaW1tZWQgPSBhcnRpY2xlLnBhdGgucmVwbGFjZSgvXFwvJC8sIFwiXCIpXG4gICAgY29uc3QgbGFzdFNsYXNoID0gdHJpbW1lZC5sYXN0SW5kZXhPZihcIi9cIilcbiAgICBjb25zdCBwYXJlbnRQYXRoID0gbGFzdFNsYXNoID4gMCA/IGAke3RyaW1tZWQuc2xpY2UoMCwgbGFzdFNsYXNoKX0vYCA6IFwiXCJcbiAgICBjb25zdCBwYXJlbnQgPSBwYXJlbnRQYXRoID8gbm9kZU1hcC5nZXQocGFyZW50UGF0aCkgOiB1bmRlZmluZWRcblxuICAgIGlmIChwYXJlbnQpIHtcbiAgICAgIHBhcmVudC5jaGlsZHJlbi5wdXNoKG5vZGUpXG4gICAgfSBlbHNlIHtcbiAgICAgIHJvb3RzLnB1c2gobm9kZSlcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcm9vdHNcbn1cblxuLyoqIERlcHRoLWZpcnN0IGZsYXR0ZW4gb2YgYW4gYXJ0aWNsZSB0cmVlIGludG8gYSBsaXN0IG9mIHBhdGhzICovXG5leHBvcnQgZnVuY3Rpb24gZmxhdHRlbkFydGljbGVUcmVlKG5vZGVzOiBBcnRpY2xlTm9kZVtdKSB7XG4gIGNvbnN0IHJlc3VsdDogc3RyaW5nW10gPSBbXVxuICBmb3IgKGNvbnN0IG5vZGUgb2Ygbm9kZXMpIHtcbiAgICByZXN1bHQucHVzaChub2RlLnBhdGgpXG4gICAgcmVzdWx0LnB1c2goLi4uZmxhdHRlbkFydGljbGVUcmVlKG5vZGUuY2hpbGRyZW4pKVxuICB9XG4gIHJldHVybiByZXN1bHRcbn1cbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/** Prefix a root-relative URL with `base` when the site is mounted at
|
|
2
|
+
* a sub-path. Leaves protocol-absolute (`http(s)://`, `//`), scheme
|
|
3
|
+
* (`mailto:`, `tel:`, `data:`), hash, and relative URLs untouched, and
|
|
4
|
+
* is idempotent — already-prefixed URLs are returned unchanged so
|
|
5
|
+
* config validation or hot reload can't double-prefix. */
|
|
6
|
+
export declare function prefixUrl(url: string, base: string | undefined): string;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/** Prefix a root-relative URL with `base` when the site is mounted at
|
|
2
|
+
* a sub-path. Leaves protocol-absolute (`http(s)://`, `//`), scheme
|
|
3
|
+
* (`mailto:`, `tel:`, `data:`), hash, and relative URLs untouched, and
|
|
4
|
+
* is idempotent — already-prefixed URLs are returned unchanged so
|
|
5
|
+
* config validation or hot reload can't double-prefix. */
|
|
6
|
+
export function prefixUrl(url, base) {
|
|
7
|
+
if (!base)
|
|
8
|
+
return url;
|
|
9
|
+
if (url.startsWith("http://") ||
|
|
10
|
+
url.startsWith("https://") ||
|
|
11
|
+
url.startsWith("//") ||
|
|
12
|
+
url.startsWith("mailto:") ||
|
|
13
|
+
url.startsWith("tel:") ||
|
|
14
|
+
url.startsWith("data:") ||
|
|
15
|
+
url.startsWith("#")) {
|
|
16
|
+
return url;
|
|
17
|
+
}
|
|
18
|
+
if (!url.startsWith("/"))
|
|
19
|
+
return url;
|
|
20
|
+
if (url === base || url.startsWith(`${base}/`))
|
|
21
|
+
return url;
|
|
22
|
+
return `${base}${url}`;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZml4LXVybC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NvdXJjZS9oZWxwZXJzL3ByZWZpeC11cmwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7MkRBSTJEO0FBQzNELE1BQU0sVUFBVSxTQUFTLENBQUMsR0FBVyxFQUFFLElBQXdCO0lBQzdELElBQUksQ0FBQyxJQUFJO1FBQUUsT0FBTyxHQUFHLENBQUE7SUFDckIsSUFDRSxHQUFHLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQztRQUN6QixHQUFHLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQztRQUMxQixHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztRQUNwQixHQUFHLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQztRQUN6QixHQUFHLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQztRQUN0QixHQUFHLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUN2QixHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUNuQixDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUE7SUFDWixDQUFDO0lBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO1FBQUUsT0FBTyxHQUFHLENBQUE7SUFDcEMsSUFBSSxHQUFHLEtBQUssSUFBSSxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQztRQUFFLE9BQU8sR0FBRyxDQUFBO0lBQzFELE9BQU8sR0FBRyxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUE7QUFDeEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBQcmVmaXggYSByb290LXJlbGF0aXZlIFVSTCB3aXRoIGBiYXNlYCB3aGVuIHRoZSBzaXRlIGlzIG1vdW50ZWQgYXRcbiAqICBhIHN1Yi1wYXRoLiBMZWF2ZXMgcHJvdG9jb2wtYWJzb2x1dGUgKGBodHRwKHMpOi8vYCwgYC8vYCksIHNjaGVtZVxuICogIChgbWFpbHRvOmAsIGB0ZWw6YCwgYGRhdGE6YCksIGhhc2gsIGFuZCByZWxhdGl2ZSBVUkxzIHVudG91Y2hlZCwgYW5kXG4gKiAgaXMgaWRlbXBvdGVudCDigJQgYWxyZWFkeS1wcmVmaXhlZCBVUkxzIGFyZSByZXR1cm5lZCB1bmNoYW5nZWQgc29cbiAqICBjb25maWcgdmFsaWRhdGlvbiBvciBob3QgcmVsb2FkIGNhbid0IGRvdWJsZS1wcmVmaXguICovXG5leHBvcnQgZnVuY3Rpb24gcHJlZml4VXJsKHVybDogc3RyaW5nLCBiYXNlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgaWYgKCFiYXNlKSByZXR1cm4gdXJsXG4gIGlmIChcbiAgICB1cmwuc3RhcnRzV2l0aChcImh0dHA6Ly9cIikgfHxcbiAgICB1cmwuc3RhcnRzV2l0aChcImh0dHBzOi8vXCIpIHx8XG4gICAgdXJsLnN0YXJ0c1dpdGgoXCIvL1wiKSB8fFxuICAgIHVybC5zdGFydHNXaXRoKFwibWFpbHRvOlwiKSB8fFxuICAgIHVybC5zdGFydHNXaXRoKFwidGVsOlwiKSB8fFxuICAgIHVybC5zdGFydHNXaXRoKFwiZGF0YTpcIikgfHxcbiAgICB1cmwuc3RhcnRzV2l0aChcIiNcIilcbiAgKSB7XG4gICAgcmV0dXJuIHVybFxuICB9XG4gIGlmICghdXJsLnN0YXJ0c1dpdGgoXCIvXCIpKSByZXR1cm4gdXJsXG4gIGlmICh1cmwgPT09IGJhc2UgfHwgdXJsLnN0YXJ0c1dpdGgoYCR7YmFzZX0vYCkpIHJldHVybiB1cmxcbiAgcmV0dXJuIGAke2Jhc2V9JHt1cmx9YFxufVxuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { describe, expect, it } from "vite-plus/test";
|
|
2
|
+
import { prefixUrl } from "./prefix-url.js";
|
|
3
|
+
describe("prefixUrl", () => {
|
|
4
|
+
it("should return url unchanged when base is undefined", () => {
|
|
5
|
+
expect(prefixUrl("/foo", undefined)).toBe("/foo");
|
|
6
|
+
});
|
|
7
|
+
it("should prefix a root-relative url", () => {
|
|
8
|
+
expect(prefixUrl("/foo", "/repo")).toBe("/repo/foo");
|
|
9
|
+
});
|
|
10
|
+
it("should prefix a deep root-relative url", () => {
|
|
11
|
+
expect(prefixUrl("/a/b/c.png", "/repo")).toBe("/repo/a/b/c.png");
|
|
12
|
+
});
|
|
13
|
+
it("should leave protocol-absolute http urls untouched", () => {
|
|
14
|
+
expect(prefixUrl("http://x.com/y", "/repo")).toBe("http://x.com/y");
|
|
15
|
+
expect(prefixUrl("https://x.com/y", "/repo")).toBe("https://x.com/y");
|
|
16
|
+
});
|
|
17
|
+
it("should leave protocol-relative urls untouched", () => {
|
|
18
|
+
expect(prefixUrl("//cdn.x.com/y", "/repo")).toBe("//cdn.x.com/y");
|
|
19
|
+
});
|
|
20
|
+
it("should leave scheme urls untouched", () => {
|
|
21
|
+
expect(prefixUrl("mailto:a@b.com", "/repo")).toBe("mailto:a@b.com");
|
|
22
|
+
expect(prefixUrl("tel:+123", "/repo")).toBe("tel:+123");
|
|
23
|
+
expect(prefixUrl("data:image/png;base64,xyz", "/repo")).toBe("data:image/png;base64,xyz");
|
|
24
|
+
});
|
|
25
|
+
it("should leave hash urls untouched", () => {
|
|
26
|
+
expect(prefixUrl("#section", "/repo")).toBe("#section");
|
|
27
|
+
});
|
|
28
|
+
it("should leave document-relative urls untouched", () => {
|
|
29
|
+
expect(prefixUrl("foo.png", "/repo")).toBe("foo.png");
|
|
30
|
+
expect(prefixUrl("./foo.png", "/repo")).toBe("./foo.png");
|
|
31
|
+
expect(prefixUrl("../foo.png", "/repo")).toBe("../foo.png");
|
|
32
|
+
});
|
|
33
|
+
it("should be idempotent on already-prefixed urls", () => {
|
|
34
|
+
expect(prefixUrl("/repo/foo", "/repo")).toBe("/repo/foo");
|
|
35
|
+
expect(prefixUrl("/repo", "/repo")).toBe("/repo");
|
|
36
|
+
});
|
|
37
|
+
it("should not match prefix-as-substring", () => {
|
|
38
|
+
expect(prefixUrl("/repository/foo", "/repo")).toBe("/repo/repository/foo");
|
|
39
|
+
});
|
|
40
|
+
it("should support multi-segment base", () => {
|
|
41
|
+
expect(prefixUrl("/foo", "/a/b")).toBe("/a/b/foo");
|
|
42
|
+
expect(prefixUrl("/a/b/foo", "/a/b")).toBe("/a/b/foo");
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZml4LXVybC51bml0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2hlbHBlcnMvcHJlZml4LXVybC51bml0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUUzQyxRQUFRLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRTtJQUN6QixFQUFFLENBQUMsb0RBQW9ELEVBQUUsR0FBRyxFQUFFO1FBQzVELE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ25ELENBQUMsQ0FBQyxDQUFBO0lBRUYsRUFBRSxDQUFDLG1DQUFtQyxFQUFFLEdBQUcsRUFBRTtRQUMzQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUN0RCxDQUFDLENBQUMsQ0FBQTtJQUVGLEVBQUUsQ0FBQyx3Q0FBd0MsRUFBRSxHQUFHLEVBQUU7UUFDaEQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUNsRSxDQUFDLENBQUMsQ0FBQTtJQUVGLEVBQUUsQ0FBQyxvREFBb0QsRUFBRSxHQUFHLEVBQUU7UUFDNUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1FBQ25FLE1BQU0sQ0FBQyxTQUFTLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUN2RSxDQUFDLENBQUMsQ0FBQTtJQUVGLEVBQUUsQ0FBQywrQ0FBK0MsRUFBRSxHQUFHLEVBQUU7UUFDdkQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUE7SUFDbkUsQ0FBQyxDQUFDLENBQUE7SUFFRixFQUFFLENBQUMsb0NBQW9DLEVBQUUsR0FBRyxFQUFFO1FBQzVDLE1BQU0sQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtRQUNuRSxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUN2RCxNQUFNLENBQUMsU0FBUyxDQUFDLDJCQUEyQixFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUMxRCwyQkFBMkIsQ0FDNUIsQ0FBQTtJQUNILENBQUMsQ0FBQyxDQUFBO0lBRUYsRUFBRSxDQUFDLGtDQUFrQyxFQUFFLEdBQUcsRUFBRTtRQUMxQyxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUN6RCxDQUFDLENBQUMsQ0FBQTtJQUVGLEVBQUUsQ0FBQywrQ0FBK0MsRUFBRSxHQUFHLEVBQUU7UUFDdkQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDckQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7UUFDekQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUE7SUFDN0QsQ0FBQyxDQUFDLENBQUE7SUFFRixFQUFFLENBQUMsK0NBQStDLEVBQUUsR0FBRyxFQUFFO1FBQ3ZELE1BQU0sQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBQ3pELE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ25ELENBQUMsQ0FBQyxDQUFBO0lBRUYsRUFBRSxDQUFDLHNDQUFzQyxFQUFFLEdBQUcsRUFBRTtRQUM5QyxNQUFNLENBQUMsU0FBUyxDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUE7SUFDNUUsQ0FBQyxDQUFDLENBQUE7SUFFRixFQUFFLENBQUMsbUNBQW1DLEVBQUUsR0FBRyxFQUFFO1FBQzNDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ2xELE1BQU0sQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ3hELENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZXNjcmliZSwgZXhwZWN0LCBpdCB9IGZyb20gXCJ2aXRlLXBsdXMvdGVzdFwiXG5pbXBvcnQgeyBwcmVmaXhVcmwgfSBmcm9tIFwiLi9wcmVmaXgtdXJsLnRzXCJcblxuZGVzY3JpYmUoXCJwcmVmaXhVcmxcIiwgKCkgPT4ge1xuICBpdChcInNob3VsZCByZXR1cm4gdXJsIHVuY2hhbmdlZCB3aGVuIGJhc2UgaXMgdW5kZWZpbmVkXCIsICgpID0+IHtcbiAgICBleHBlY3QocHJlZml4VXJsKFwiL2Zvb1wiLCB1bmRlZmluZWQpKS50b0JlKFwiL2Zvb1wiKVxuICB9KVxuXG4gIGl0KFwic2hvdWxkIHByZWZpeCBhIHJvb3QtcmVsYXRpdmUgdXJsXCIsICgpID0+IHtcbiAgICBleHBlY3QocHJlZml4VXJsKFwiL2Zvb1wiLCBcIi9yZXBvXCIpKS50b0JlKFwiL3JlcG8vZm9vXCIpXG4gIH0pXG5cbiAgaXQoXCJzaG91bGQgcHJlZml4IGEgZGVlcCByb290LXJlbGF0aXZlIHVybFwiLCAoKSA9PiB7XG4gICAgZXhwZWN0KHByZWZpeFVybChcIi9hL2IvYy5wbmdcIiwgXCIvcmVwb1wiKSkudG9CZShcIi9yZXBvL2EvYi9jLnBuZ1wiKVxuICB9KVxuXG4gIGl0KFwic2hvdWxkIGxlYXZlIHByb3RvY29sLWFic29sdXRlIGh0dHAgdXJscyB1bnRvdWNoZWRcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChwcmVmaXhVcmwoXCJodHRwOi8veC5jb20veVwiLCBcIi9yZXBvXCIpKS50b0JlKFwiaHR0cDovL3guY29tL3lcIilcbiAgICBleHBlY3QocHJlZml4VXJsKFwiaHR0cHM6Ly94LmNvbS95XCIsIFwiL3JlcG9cIikpLnRvQmUoXCJodHRwczovL3guY29tL3lcIilcbiAgfSlcblxuICBpdChcInNob3VsZCBsZWF2ZSBwcm90b2NvbC1yZWxhdGl2ZSB1cmxzIHVudG91Y2hlZFwiLCAoKSA9PiB7XG4gICAgZXhwZWN0KHByZWZpeFVybChcIi8vY2RuLnguY29tL3lcIiwgXCIvcmVwb1wiKSkudG9CZShcIi8vY2RuLnguY29tL3lcIilcbiAgfSlcblxuICBpdChcInNob3VsZCBsZWF2ZSBzY2hlbWUgdXJscyB1bnRvdWNoZWRcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChwcmVmaXhVcmwoXCJtYWlsdG86YUBiLmNvbVwiLCBcIi9yZXBvXCIpKS50b0JlKFwibWFpbHRvOmFAYi5jb21cIilcbiAgICBleHBlY3QocHJlZml4VXJsKFwidGVsOisxMjNcIiwgXCIvcmVwb1wiKSkudG9CZShcInRlbDorMTIzXCIpXG4gICAgZXhwZWN0KHByZWZpeFVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCx4eXpcIiwgXCIvcmVwb1wiKSkudG9CZShcbiAgICAgIFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LHh5elwiLFxuICAgIClcbiAgfSlcblxuICBpdChcInNob3VsZCBsZWF2ZSBoYXNoIHVybHMgdW50b3VjaGVkXCIsICgpID0+IHtcbiAgICBleHBlY3QocHJlZml4VXJsKFwiI3NlY3Rpb25cIiwgXCIvcmVwb1wiKSkudG9CZShcIiNzZWN0aW9uXCIpXG4gIH0pXG5cbiAgaXQoXCJzaG91bGQgbGVhdmUgZG9jdW1lbnQtcmVsYXRpdmUgdXJscyB1bnRvdWNoZWRcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChwcmVmaXhVcmwoXCJmb28ucG5nXCIsIFwiL3JlcG9cIikpLnRvQmUoXCJmb28ucG5nXCIpXG4gICAgZXhwZWN0KHByZWZpeFVybChcIi4vZm9vLnBuZ1wiLCBcIi9yZXBvXCIpKS50b0JlKFwiLi9mb28ucG5nXCIpXG4gICAgZXhwZWN0KHByZWZpeFVybChcIi4uL2Zvby5wbmdcIiwgXCIvcmVwb1wiKSkudG9CZShcIi4uL2Zvby5wbmdcIilcbiAgfSlcblxuICBpdChcInNob3VsZCBiZSBpZGVtcG90ZW50IG9uIGFscmVhZHktcHJlZml4ZWQgdXJsc1wiLCAoKSA9PiB7XG4gICAgZXhwZWN0KHByZWZpeFVybChcIi9yZXBvL2Zvb1wiLCBcIi9yZXBvXCIpKS50b0JlKFwiL3JlcG8vZm9vXCIpXG4gICAgZXhwZWN0KHByZWZpeFVybChcIi9yZXBvXCIsIFwiL3JlcG9cIikpLnRvQmUoXCIvcmVwb1wiKVxuICB9KVxuXG4gIGl0KFwic2hvdWxkIG5vdCBtYXRjaCBwcmVmaXgtYXMtc3Vic3RyaW5nXCIsICgpID0+IHtcbiAgICBleHBlY3QocHJlZml4VXJsKFwiL3JlcG9zaXRvcnkvZm9vXCIsIFwiL3JlcG9cIikpLnRvQmUoXCIvcmVwby9yZXBvc2l0b3J5L2Zvb1wiKVxuICB9KVxuXG4gIGl0KFwic2hvdWxkIHN1cHBvcnQgbXVsdGktc2VnbWVudCBiYXNlXCIsICgpID0+IHtcbiAgICBleHBlY3QocHJlZml4VXJsKFwiL2Zvb1wiLCBcIi9hL2JcIikpLnRvQmUoXCIvYS9iL2Zvb1wiKVxuICAgIGV4cGVjdChwcmVmaXhVcmwoXCIvYS9iL2Zvb1wiLCBcIi9hL2JcIikpLnRvQmUoXCIvYS9iL2Zvb1wiKVxuICB9KVxufSlcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/** Resolve a relative asset path to an absolute URL serveable by Vite */
|
|
2
|
-
export declare function resolveAssetPath(url: string, filePath: string, root: string): string;
|
|
2
|
+
export declare function resolveAssetPath(url: string, filePath: string, root: string, base?: string): string;
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
import { dirname, relative, resolve } from "node:path";
|
|
1
|
+
import { dirname, relative, resolve, sep } from "node:path";
|
|
2
|
+
import { prefixUrl } from "./prefix-url.js";
|
|
2
3
|
/** Resolve a relative asset path to an absolute URL serveable by Vite */
|
|
3
|
-
export function resolveAssetPath(url, filePath, root) {
|
|
4
|
-
if (url.startsWith("http") || url.startsWith("
|
|
4
|
+
export function resolveAssetPath(url, filePath, root, base) {
|
|
5
|
+
if (url.startsWith("http") || url.startsWith("data:"))
|
|
5
6
|
return url;
|
|
7
|
+
if (url.startsWith("/"))
|
|
8
|
+
return prefixUrl(url, base);
|
|
6
9
|
const absolute = resolve(dirname(filePath), url);
|
|
7
|
-
|
|
10
|
+
const rel = relative(root, absolute).split(sep).join("/");
|
|
11
|
+
return prefixUrl("/" + rel, base);
|
|
8
12
|
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS1hc3NldC1wYXRoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2hlbHBlcnMvcmVzb2x2ZS1hc3NldC1wYXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRTNDLHlFQUF5RTtBQUN6RSxNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLEdBQVcsRUFDWCxRQUFnQixFQUNoQixJQUFZLEVBQ1osSUFBYTtJQUViLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUFFLE9BQU8sR0FBRyxDQUFBO0lBQ2pFLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7UUFBRSxPQUFPLFNBQVMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDcEQsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUNoRCxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDekQsT0FBTyxTQUFTLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQTtBQUNuQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGlybmFtZSwgcmVsYXRpdmUsIHJlc29sdmUsIHNlcCB9IGZyb20gXCJub2RlOnBhdGhcIlxuaW1wb3J0IHsgcHJlZml4VXJsIH0gZnJvbSBcIi4vcHJlZml4LXVybC50c1wiXG5cbi8qKiBSZXNvbHZlIGEgcmVsYXRpdmUgYXNzZXQgcGF0aCB0byBhbiBhYnNvbHV0ZSBVUkwgc2VydmVhYmxlIGJ5IFZpdGUgKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlQXNzZXRQYXRoKFxuICB1cmw6IHN0cmluZyxcbiAgZmlsZVBhdGg6IHN0cmluZyxcbiAgcm9vdDogc3RyaW5nLFxuICBiYXNlPzogc3RyaW5nLFxuKSB7XG4gIGlmICh1cmwuc3RhcnRzV2l0aChcImh0dHBcIikgfHwgdXJsLnN0YXJ0c1dpdGgoXCJkYXRhOlwiKSkgcmV0dXJuIHVybFxuICBpZiAodXJsLnN0YXJ0c1dpdGgoXCIvXCIpKSByZXR1cm4gcHJlZml4VXJsKHVybCwgYmFzZSlcbiAgY29uc3QgYWJzb2x1dGUgPSByZXNvbHZlKGRpcm5hbWUoZmlsZVBhdGgpLCB1cmwpXG4gIGNvbnN0IHJlbCA9IHJlbGF0aXZlKHJvb3QsIGFic29sdXRlKS5zcGxpdChzZXApLmpvaW4oXCIvXCIpXG4gIHJldHVybiBwcmVmaXhVcmwoXCIvXCIgKyByZWwsIGJhc2UpXG59XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { describe, expect, it } from "vite-plus/test";
|
|
2
|
+
import { resolveAssetPath } from "./resolve-asset-path.js";
|
|
3
|
+
describe("resolveAssetPath", () => {
|
|
4
|
+
const root = "/site";
|
|
5
|
+
const filePath = "/site/docs/page.md";
|
|
6
|
+
it("should resolve a sibling relative path", () => {
|
|
7
|
+
expect(resolveAssetPath("./logo.png", filePath, root)).toBe("/docs/logo.png");
|
|
8
|
+
});
|
|
9
|
+
it("should resolve a parent relative path", () => {
|
|
10
|
+
expect(resolveAssetPath("../assets/x.png", filePath, root)).toBe("/assets/x.png");
|
|
11
|
+
});
|
|
12
|
+
it("should pass through a root-relative url", () => {
|
|
13
|
+
expect(resolveAssetPath("/foo.png", filePath, root)).toBe("/foo.png");
|
|
14
|
+
});
|
|
15
|
+
it("should pass through an http url", () => {
|
|
16
|
+
expect(resolveAssetPath("https://x.com/y.png", filePath, root)).toBe("https://x.com/y.png");
|
|
17
|
+
});
|
|
18
|
+
it("should pass through a data url", () => {
|
|
19
|
+
expect(resolveAssetPath("data:image/png;base64,xyz", filePath, root)).toBe("data:image/png;base64,xyz");
|
|
20
|
+
});
|
|
21
|
+
it("should prefix a resolved relative path with base", () => {
|
|
22
|
+
expect(resolveAssetPath("./logo.png", filePath, root, "/repo")).toBe("/repo/docs/logo.png");
|
|
23
|
+
});
|
|
24
|
+
it("should prefix a root-relative url with base", () => {
|
|
25
|
+
expect(resolveAssetPath("/foo.png", filePath, root, "/repo")).toBe("/repo/foo.png");
|
|
26
|
+
});
|
|
27
|
+
it("should not double-prefix an already-prefixed url", () => {
|
|
28
|
+
expect(resolveAssetPath("/repo/foo.png", filePath, root, "/repo")).toBe("/repo/foo.png");
|
|
29
|
+
});
|
|
30
|
+
it("should not prefix external urls when base is set", () => {
|
|
31
|
+
expect(resolveAssetPath("https://x.com/y.png", filePath, root, "/repo")).toBe("https://x.com/y.png");
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS1hc3NldC1wYXRoLnVuaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zb3VyY2UvaGVscGVycy9yZXNvbHZlLWFzc2V0LXBhdGgudW5pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUUxRCxRQUFRLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxFQUFFO0lBQ2hDLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQTtJQUNwQixNQUFNLFFBQVEsR0FBRyxvQkFBb0IsQ0FBQTtJQUVyQyxFQUFFLENBQUMsd0NBQXdDLEVBQUUsR0FBRyxFQUFFO1FBQ2hELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUN6RCxnQkFBZ0IsQ0FDakIsQ0FBQTtJQUNILENBQUMsQ0FBQyxDQUFBO0lBRUYsRUFBRSxDQUFDLHVDQUF1QyxFQUFFLEdBQUcsRUFBRTtRQUMvQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUM5RCxlQUFlLENBQ2hCLENBQUE7SUFDSCxDQUFDLENBQUMsQ0FBQTtJQUVGLEVBQUUsQ0FBQyx5Q0FBeUMsRUFBRSxHQUFHLEVBQUU7UUFDakQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDdkUsQ0FBQyxDQUFDLENBQUE7SUFFRixFQUFFLENBQUMsaUNBQWlDLEVBQUUsR0FBRyxFQUFFO1FBQ3pDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ2xFLHFCQUFxQixDQUN0QixDQUFBO0lBQ0gsQ0FBQyxDQUFDLENBQUE7SUFFRixFQUFFLENBQUMsZ0NBQWdDLEVBQUUsR0FBRyxFQUFFO1FBQ3hDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQywyQkFBMkIsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3hFLDJCQUEyQixDQUM1QixDQUFBO0lBQ0gsQ0FBQyxDQUFDLENBQUE7SUFFRixFQUFFLENBQUMsa0RBQWtELEVBQUUsR0FBRyxFQUFFO1FBQzFELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDbEUscUJBQXFCLENBQ3RCLENBQUE7SUFDSCxDQUFDLENBQUMsQ0FBQTtJQUVGLEVBQUUsQ0FBQyw2Q0FBNkMsRUFBRSxHQUFHLEVBQUU7UUFDckQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNoRSxlQUFlLENBQ2hCLENBQUE7SUFDSCxDQUFDLENBQUMsQ0FBQTtJQUVGLEVBQUUsQ0FBQyxrREFBa0QsRUFBRSxHQUFHLEVBQUU7UUFDMUQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNyRSxlQUFlLENBQ2hCLENBQUE7SUFDSCxDQUFDLENBQUMsQ0FBQTtJQUVGLEVBQUUsQ0FBQyxrREFBa0QsRUFBRSxHQUFHLEVBQUU7UUFDMUQsTUFBTSxDQUNKLGdCQUFnQixDQUFDLHFCQUFxQixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQ2pFLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUE7SUFDL0IsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlc2NyaWJlLCBleHBlY3QsIGl0IH0gZnJvbSBcInZpdGUtcGx1cy90ZXN0XCJcbmltcG9ydCB7IHJlc29sdmVBc3NldFBhdGggfSBmcm9tIFwiLi9yZXNvbHZlLWFzc2V0LXBhdGgudHNcIlxuXG5kZXNjcmliZShcInJlc29sdmVBc3NldFBhdGhcIiwgKCkgPT4ge1xuICBjb25zdCByb290ID0gXCIvc2l0ZVwiXG4gIGNvbnN0IGZpbGVQYXRoID0gXCIvc2l0ZS9kb2NzL3BhZ2UubWRcIlxuXG4gIGl0KFwic2hvdWxkIHJlc29sdmUgYSBzaWJsaW5nIHJlbGF0aXZlIHBhdGhcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChyZXNvbHZlQXNzZXRQYXRoKFwiLi9sb2dvLnBuZ1wiLCBmaWxlUGF0aCwgcm9vdCkpLnRvQmUoXG4gICAgICBcIi9kb2NzL2xvZ28ucG5nXCIsXG4gICAgKVxuICB9KVxuXG4gIGl0KFwic2hvdWxkIHJlc29sdmUgYSBwYXJlbnQgcmVsYXRpdmUgcGF0aFwiLCAoKSA9PiB7XG4gICAgZXhwZWN0KHJlc29sdmVBc3NldFBhdGgoXCIuLi9hc3NldHMveC5wbmdcIiwgZmlsZVBhdGgsIHJvb3QpKS50b0JlKFxuICAgICAgXCIvYXNzZXRzL3gucG5nXCIsXG4gICAgKVxuICB9KVxuXG4gIGl0KFwic2hvdWxkIHBhc3MgdGhyb3VnaCBhIHJvb3QtcmVsYXRpdmUgdXJsXCIsICgpID0+IHtcbiAgICBleHBlY3QocmVzb2x2ZUFzc2V0UGF0aChcIi9mb28ucG5nXCIsIGZpbGVQYXRoLCByb290KSkudG9CZShcIi9mb28ucG5nXCIpXG4gIH0pXG5cbiAgaXQoXCJzaG91bGQgcGFzcyB0aHJvdWdoIGFuIGh0dHAgdXJsXCIsICgpID0+IHtcbiAgICBleHBlY3QocmVzb2x2ZUFzc2V0UGF0aChcImh0dHBzOi8veC5jb20veS5wbmdcIiwgZmlsZVBhdGgsIHJvb3QpKS50b0JlKFxuICAgICAgXCJodHRwczovL3guY29tL3kucG5nXCIsXG4gICAgKVxuICB9KVxuXG4gIGl0KFwic2hvdWxkIHBhc3MgdGhyb3VnaCBhIGRhdGEgdXJsXCIsICgpID0+IHtcbiAgICBleHBlY3QocmVzb2x2ZUFzc2V0UGF0aChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCx4eXpcIiwgZmlsZVBhdGgsIHJvb3QpKS50b0JlKFxuICAgICAgXCJkYXRhOmltYWdlL3BuZztiYXNlNjQseHl6XCIsXG4gICAgKVxuICB9KVxuXG4gIGl0KFwic2hvdWxkIHByZWZpeCBhIHJlc29sdmVkIHJlbGF0aXZlIHBhdGggd2l0aCBiYXNlXCIsICgpID0+IHtcbiAgICBleHBlY3QocmVzb2x2ZUFzc2V0UGF0aChcIi4vbG9nby5wbmdcIiwgZmlsZVBhdGgsIHJvb3QsIFwiL3JlcG9cIikpLnRvQmUoXG4gICAgICBcIi9yZXBvL2RvY3MvbG9nby5wbmdcIixcbiAgICApXG4gIH0pXG5cbiAgaXQoXCJzaG91bGQgcHJlZml4IGEgcm9vdC1yZWxhdGl2ZSB1cmwgd2l0aCBiYXNlXCIsICgpID0+IHtcbiAgICBleHBlY3QocmVzb2x2ZUFzc2V0UGF0aChcIi9mb28ucG5nXCIsIGZpbGVQYXRoLCByb290LCBcIi9yZXBvXCIpKS50b0JlKFxuICAgICAgXCIvcmVwby9mb28ucG5nXCIsXG4gICAgKVxuICB9KVxuXG4gIGl0KFwic2hvdWxkIG5vdCBkb3VibGUtcHJlZml4IGFuIGFscmVhZHktcHJlZml4ZWQgdXJsXCIsICgpID0+IHtcbiAgICBleHBlY3QocmVzb2x2ZUFzc2V0UGF0aChcIi9yZXBvL2Zvby5wbmdcIiwgZmlsZVBhdGgsIHJvb3QsIFwiL3JlcG9cIikpLnRvQmUoXG4gICAgICBcIi9yZXBvL2Zvby5wbmdcIixcbiAgICApXG4gIH0pXG5cbiAgaXQoXCJzaG91bGQgbm90IHByZWZpeCBleHRlcm5hbCB1cmxzIHdoZW4gYmFzZSBpcyBzZXRcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChcbiAgICAgIHJlc29sdmVBc3NldFBhdGgoXCJodHRwczovL3guY29tL3kucG5nXCIsIGZpbGVQYXRoLCByb290LCBcIi9yZXBvXCIpLFxuICAgICkudG9CZShcImh0dHBzOi8veC5jb20veS5wbmdcIilcbiAgfSlcbn0pXG4iXX0=
|
package/build/helpers/section.js
CHANGED
|
@@ -2,6 +2,7 @@ const DEFAULT_ICONS = {
|
|
|
2
2
|
article: "book-open",
|
|
3
3
|
blog: "rss",
|
|
4
4
|
changelog: "history",
|
|
5
|
+
external: "external-link",
|
|
5
6
|
};
|
|
6
7
|
/** Return the section's icon, falling back to a type-based default */
|
|
7
8
|
export function sectionIcon(section) {
|
|
@@ -36,4 +37,4 @@ export function partitionBySection(articles, sections) {
|
|
|
36
37
|
}
|
|
37
38
|
return buckets;
|
|
38
39
|
}
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NvdXJjZS9oZWxwZXJzL3NlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxhQUFhLEdBQW9DO0lBQ3JELE9BQU8sRUFBRSxXQUFXO0lBQ3BCLElBQUksRUFBRSxLQUFLO0lBQ1gsU0FBUyxFQUFFLFNBQVM7SUFDcEIsUUFBUSxFQUFFLGVBQWU7Q0FDMUIsQ0FBQTtBQUVELHNFQUFzRTtBQUN0RSxNQUFNLFVBQVUsV0FBVyxDQUFDLE9BQXVDO0lBQ2pFLE9BQU8sT0FBTyxDQUFDLElBQUksSUFBSSxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO0FBQ3BELENBQUM7QUFFRCw4RUFBOEU7QUFDOUUsTUFBTSxVQUFVLFlBQVksQ0FDMUIsV0FBbUIsRUFDbkIsUUFBYTtJQUViLElBQUksSUFBbUIsQ0FBQTtJQUN2QixJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUE7SUFDZixLQUFLLE1BQU0sT0FBTyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQy9CLElBQ0UsV0FBVyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQ3RDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLE9BQU8sRUFDL0IsQ0FBQztZQUNELElBQUksR0FBRyxPQUFPLENBQUE7WUFDZCxPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUE7UUFDakMsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQTtBQUNiLENBQUM7QUFFRCxzRkFBc0Y7QUFDdEYsTUFBTSxVQUFVLGtCQUFrQixDQUNoQyxRQUFhLEVBQ2IsUUFBOEI7SUFFOUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLEVBQWUsQ0FBQTtJQUN0QyxLQUFLLE1BQU0sT0FBTyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQy9CLE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFBO1FBQ3BELE1BQU0sR0FBRyxHQUFHLE9BQU8sRUFBRSxNQUFNLElBQUksYUFBYSxDQUFBO1FBQzVDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDL0IsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDdEIsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLE9BQU8sQ0FBQTtBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTZWN0aW9uIH0gZnJvbSBcIi4uL21vZGVscy9zZWN0aW9uLnRzXCJcblxuY29uc3QgREVGQVVMVF9JQ09OUzogUmVjb3JkPFNlY3Rpb25bXCJ0eXBlXCJdLCBzdHJpbmc+ID0ge1xuICBhcnRpY2xlOiBcImJvb2stb3BlblwiLFxuICBibG9nOiBcInJzc1wiLFxuICBjaGFuZ2Vsb2c6IFwiaGlzdG9yeVwiLFxuICBleHRlcm5hbDogXCJleHRlcm5hbC1saW5rXCIsXG59XG5cbi8qKiBSZXR1cm4gdGhlIHNlY3Rpb24ncyBpY29uLCBmYWxsaW5nIGJhY2sgdG8gYSB0eXBlLWJhc2VkIGRlZmF1bHQgKi9cbmV4cG9ydCBmdW5jdGlvbiBzZWN0aW9uSWNvbihzZWN0aW9uOiBQaWNrPFNlY3Rpb24sIFwiaWNvblwiIHwgXCJ0eXBlXCI+KSB7XG4gIHJldHVybiBzZWN0aW9uLmljb24gPz8gREVGQVVMVF9JQ09OU1tzZWN0aW9uLnR5cGVdXG59XG5cbi8qKiBGaW5kIHRoZSBzZWN0aW9uIHdob3NlIHByZWZpeCBpcyB0aGUgbG9uZ2VzdCBwcmVmaXggb2YgdGhlIGFydGljbGUgcGF0aCAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hdGNoU2VjdGlvbjxTIGV4dGVuZHMgeyBwcmVmaXg6IHN0cmluZyB9PihcbiAgYXJ0aWNsZVBhdGg6IHN0cmluZyxcbiAgc2VjdGlvbnM6IFNbXSxcbik6IFMgfCB1bmRlZmluZWQge1xuICBsZXQgYmVzdDogUyB8IHVuZGVmaW5lZFxuICBsZXQgYmVzdExlbiA9IDBcbiAgZm9yIChjb25zdCBzZWN0aW9uIG9mIHNlY3Rpb25zKSB7XG4gICAgaWYgKFxuICAgICAgYXJ0aWNsZVBhdGguc3RhcnRzV2l0aChzZWN0aW9uLnByZWZpeCkgJiZcbiAgICAgIHNlY3Rpb24ucHJlZml4Lmxlbmd0aCA+IGJlc3RMZW5cbiAgICApIHtcbiAgICAgIGJlc3QgPSBzZWN0aW9uXG4gICAgICBiZXN0TGVuID0gc2VjdGlvbi5wcmVmaXgubGVuZ3RoXG4gICAgfVxuICB9XG4gIHJldHVybiBiZXN0XG59XG5cbi8qKiBTcGxpdCBhcnRpY2xlcyBpbnRvIHBlci1zZWN0aW9uIGJ1Y2tldHMuIFVubWF0Y2hlZCBhcnRpY2xlcyBnbyB0byBcIl9fZGVmYXVsdF9fXCIgKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJ0aXRpb25CeVNlY3Rpb248VCBleHRlbmRzIHsgcGF0aDogc3RyaW5nIH0+KFxuICBhcnRpY2xlczogVFtdLFxuICBzZWN0aW9uczogeyBwcmVmaXg6IHN0cmluZyB9W10sXG4pOiBNYXA8c3RyaW5nLCBUW10+IHtcbiAgY29uc3QgYnVja2V0cyA9IG5ldyBNYXA8c3RyaW5nLCBUW10+KClcbiAgZm9yIChjb25zdCBhcnRpY2xlIG9mIGFydGljbGVzKSB7XG4gICAgY29uc3Qgc2VjdGlvbiA9IG1hdGNoU2VjdGlvbihhcnRpY2xlLnBhdGgsIHNlY3Rpb25zKVxuICAgIGNvbnN0IGtleSA9IHNlY3Rpb24/LnByZWZpeCA/PyBcIl9fZGVmYXVsdF9fXCJcbiAgICBjb25zdCBidWNrZXQgPSBidWNrZXRzLmdldChrZXkpXG4gICAgaWYgKGJ1Y2tldCkge1xuICAgICAgYnVja2V0LnB1c2goYXJ0aWNsZSlcbiAgICB9IGVsc2Uge1xuICAgICAgYnVja2V0cy5zZXQoa2V5LCBbYXJ0aWNsZV0pXG4gICAgfVxuICB9XG4gIHJldHVybiBidWNrZXRzXG59XG4iXX0=
|
|
@@ -10,7 +10,6 @@ export declare const Article: z.ZodObject<{
|
|
|
10
10
|
icon: z.ZodOptional<z.ZodString>;
|
|
11
11
|
order: z.ZodOptional<z.ZodNumber>;
|
|
12
12
|
path: z.ZodOptional<z.ZodString>;
|
|
13
|
-
group: z.ZodOptional<z.ZodString>;
|
|
14
13
|
sidebar: z.ZodDefault<z.ZodBoolean>;
|
|
15
14
|
toc: z.ZodDefault<z.ZodBoolean>;
|
|
16
15
|
image: z.ZodOptional<z.ZodString>;
|
|
@@ -48,11 +47,3 @@ export interface ArticleNode {
|
|
|
48
47
|
icon: string;
|
|
49
48
|
children: ArticleNode[];
|
|
50
49
|
}
|
|
51
|
-
/**
|
|
52
|
-
* A contiguous section of root articles sharing the same `group` label.
|
|
53
|
-
* `name: undefined` represents the leading ungrouped section (at most one).
|
|
54
|
-
*/
|
|
55
|
-
export interface ArticleGroup {
|
|
56
|
-
name?: string;
|
|
57
|
-
nodes: ArticleNode[];
|
|
58
|
-
}
|
package/build/models/article.js
CHANGED
|
@@ -8,7 +8,6 @@ export const Article = z.object({
|
|
|
8
8
|
icon: nonEmptyString.optional(),
|
|
9
9
|
order: z.number().optional(),
|
|
10
10
|
path: nonEmptyString.optional(),
|
|
11
|
-
group: nonEmptyString.optional(),
|
|
12
11
|
sidebar: z.boolean().default(true),
|
|
13
12
|
toc: z.boolean().default(true),
|
|
14
13
|
image: nonEmptyString.optional(),
|
|
@@ -18,4 +17,4 @@ export const Article = z.object({
|
|
|
18
17
|
sourceUrl: nonEmptyString.optional(),
|
|
19
18
|
sourceAction: z.enum(["edit", "view"]).default("edit"),
|
|
20
19
|
});
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ0aWNsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NvdXJjZS9tb2RlbHMvYXJ0aWNsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFBO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUtwRCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM5QixPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNuQixLQUFLLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRTtJQUNoQyxLQUFLLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRTtJQUNoQyxXQUFXLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRTtJQUN0QyxJQUFJLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRTtJQUMvQixLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM1QixJQUFJLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRTtJQUMvQixPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDbEMsR0FBRyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO0lBQzlCLEtBQUssRUFBRSxjQUFjLENBQUMsUUFBUSxFQUFFO0lBQ2hDLE1BQU0sRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNyRSxJQUFJLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRTtJQUMvQixJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDeEMsU0FBUyxFQUFFLGNBQWMsQ0FBQyxRQUFRLEVBQUU7SUFDcEMsWUFBWSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO0NBQ3ZELENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHogfSBmcm9tIFwiem9kXCJcbmltcG9ydCB7IG5vbkVtcHR5U3RyaW5nIH0gZnJvbSBcIi4uL2hlbHBlcnMvbW9kZWwudHNcIlxuaW1wb3J0IHR5cGUgeyBUb2NJdGVtIH0gZnJvbSBcIi4vdG9jLnRzXCJcblxuLyoqIEZyb250bWF0dGVyIHNjaGVtYSBmb3IgYSBtYXJrZG93biBhcnRpY2xlLiAqL1xuZXhwb3J0IHR5cGUgQXJ0aWNsZSA9IHouaW5mZXI8dHlwZW9mIEFydGljbGU+XG5leHBvcnQgY29uc3QgQXJ0aWNsZSA9IHoub2JqZWN0KHtcbiAgY29udGVudDogei5zdHJpbmcoKSxcbiAgdGl0bGU6IG5vbkVtcHR5U3RyaW5nLm9wdGlvbmFsKCksXG4gIGxhYmVsOiBub25FbXB0eVN0cmluZy5vcHRpb25hbCgpLFxuICBkZXNjcmlwdGlvbjogbm9uRW1wdHlTdHJpbmcub3B0aW9uYWwoKSxcbiAgaWNvbjogbm9uRW1wdHlTdHJpbmcub3B0aW9uYWwoKSxcbiAgb3JkZXI6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgcGF0aDogbm9uRW1wdHlTdHJpbmcub3B0aW9uYWwoKSxcbiAgc2lkZWJhcjogei5ib29sZWFuKCkuZGVmYXVsdCh0cnVlKSxcbiAgdG9jOiB6LmJvb2xlYW4oKS5kZWZhdWx0KHRydWUpLFxuICBpbWFnZTogbm9uRW1wdHlTdHJpbmcub3B0aW9uYWwoKSxcbiAgYXV0aG9yOiB6LnVuaW9uKFtub25FbXB0eVN0cmluZywgei5hcnJheShub25FbXB0eVN0cmluZyldKS5vcHRpb25hbCgpLFxuICBkYXRlOiBub25FbXB0eVN0cmluZy5vcHRpb25hbCgpLFxuICB0YWdzOiB6LmFycmF5KG5vbkVtcHR5U3RyaW5nKS5vcHRpb25hbCgpLFxuICBzb3VyY2VVcmw6IG5vbkVtcHR5U3RyaW5nLm9wdGlvbmFsKCksXG4gIHNvdXJjZUFjdGlvbjogei5lbnVtKFtcImVkaXRcIiwgXCJ2aWV3XCJdKS5kZWZhdWx0KFwiZWRpdFwiKSxcbn0pXG5cbi8qKiBQcm9jZXNzZWQgYXJ0aWNsZSByZWFkeSBmb3IgcGFnZSByZW5kZXJpbmcgKHJlc3VsdCBvZiBjb250ZW50LWNvbGxlY3Rpb25zIHRyYW5zZm9ybSkuICovXG5leHBvcnQgaW50ZXJmYWNlIEFydGljbGVWaWV3IHtcbiAgcGF0aDogc3RyaW5nXG4gIHRpdGxlOiBzdHJpbmdcbiAgY29udGVudDogc3RyaW5nXG4gIGZpbGU6IHN0cmluZ1xuICBtZHg6IHN0cmluZ1xuICB0b2NJdGVtczogVG9jSXRlbVtdXG4gIHRvYz86IGJvb2xlYW5cbiAgbGFzdFVwZGF0ZWQ/OiBzdHJpbmdcbiAgc2lkZWJhcj86IGJvb2xlYW5cbiAgaW1hZ2U/OiBzdHJpbmdcbiAgYXV0aG9yPzogc3RyaW5nIHwgc3RyaW5nW11cbiAgZGF0ZT86IHN0cmluZ1xuICB0YWdzPzogc3RyaW5nW11cbiAgc291cmNlVXJsPzogc3RyaW5nXG4gIHNvdXJjZUFjdGlvbj86IFwiZWRpdFwiIHwgXCJ2aWV3XCJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcnRpY2xlTm9kZSB7XG4gIHBhdGg6IHN0cmluZ1xuICB0aXRsZTogc3RyaW5nXG4gIGxhYmVsPzogc3RyaW5nXG4gIGljb246IHN0cmluZ1xuICBjaGlsZHJlbjogQXJ0aWNsZU5vZGVbXVxufVxuIl19
|
package/build/models/config.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export type UserConfig = Omit<z.infer<typeof UserConfig>, "vite"> & {
|
|
|
15
15
|
};
|
|
16
16
|
export declare const UserConfig: z.ZodObject<{
|
|
17
17
|
site: z.ZodOptional<z.ZodString>;
|
|
18
|
+
base: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<string | undefined, string | undefined>>;
|
|
18
19
|
favicon: z.ZodOptional<z.ZodString>;
|
|
19
20
|
logo: z.ZodOptional<z.ZodString>;
|
|
20
21
|
title: z.ZodDefault<z.ZodString>;
|
|
@@ -103,32 +104,41 @@ export declare const UserConfig: z.ZodObject<{
|
|
|
103
104
|
sections: z.ZodOptional<z.ZodArray<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
104
105
|
icon: z.ZodOptional<z.ZodString>;
|
|
105
106
|
title: z.ZodString;
|
|
106
|
-
prefix: z.ZodString;
|
|
107
107
|
position: z.ZodDefault<z.ZodEnum<{
|
|
108
108
|
header: "header";
|
|
109
109
|
sidebar: "sidebar";
|
|
110
110
|
}>>;
|
|
111
111
|
type: z.ZodLiteral<"article">;
|
|
112
|
+
prefix: z.ZodString;
|
|
112
113
|
}, z.core.$strip>, z.ZodObject<{
|
|
113
114
|
icon: z.ZodOptional<z.ZodString>;
|
|
114
115
|
title: z.ZodString;
|
|
115
|
-
prefix: z.ZodString;
|
|
116
116
|
position: z.ZodDefault<z.ZodEnum<{
|
|
117
117
|
header: "header";
|
|
118
118
|
sidebar: "sidebar";
|
|
119
119
|
}>>;
|
|
120
120
|
type: z.ZodLiteral<"blog">;
|
|
121
|
+
prefix: z.ZodString;
|
|
121
122
|
}, z.core.$strip>, z.ZodObject<{
|
|
122
123
|
icon: z.ZodOptional<z.ZodString>;
|
|
123
124
|
title: z.ZodString;
|
|
124
|
-
prefix: z.ZodString;
|
|
125
125
|
position: z.ZodDefault<z.ZodEnum<{
|
|
126
126
|
header: "header";
|
|
127
127
|
sidebar: "sidebar";
|
|
128
128
|
}>>;
|
|
129
129
|
type: z.ZodLiteral<"changelog">;
|
|
130
|
+
prefix: z.ZodString;
|
|
130
131
|
source: z.ZodString;
|
|
131
132
|
version: z.ZodOptional<z.ZodBoolean>;
|
|
133
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
134
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
135
|
+
title: z.ZodString;
|
|
136
|
+
position: z.ZodDefault<z.ZodEnum<{
|
|
137
|
+
header: "header";
|
|
138
|
+
sidebar: "sidebar";
|
|
139
|
+
}>>;
|
|
140
|
+
type: z.ZodLiteral<"external">;
|
|
141
|
+
url: z.ZodString;
|
|
132
142
|
}, z.core.$strip>], "type">>>>;
|
|
133
143
|
patches: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
134
144
|
file: z.ZodString;
|
|
@@ -139,7 +149,6 @@ export declare const UserConfig: z.ZodObject<{
|
|
|
139
149
|
icon: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
140
150
|
order: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
141
151
|
path: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
142
|
-
group: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
143
152
|
sidebar: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
144
153
|
toc: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
145
154
|
image: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
@@ -159,6 +168,7 @@ export declare const UserConfig: z.ZodObject<{
|
|
|
159
168
|
export type WebsiteConfig = z.infer<typeof WebsiteConfig>;
|
|
160
169
|
export declare const WebsiteConfig: z.ZodObject<{
|
|
161
170
|
site: z.ZodOptional<z.ZodString>;
|
|
171
|
+
base: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<string | undefined, string | undefined>>;
|
|
162
172
|
favicon: z.ZodOptional<z.ZodString>;
|
|
163
173
|
logo: z.ZodOptional<z.ZodString>;
|
|
164
174
|
title: z.ZodDefault<z.ZodString>;
|
|
@@ -176,32 +186,41 @@ export declare const WebsiteConfig: z.ZodObject<{
|
|
|
176
186
|
sections: z.ZodOptional<z.ZodArray<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
177
187
|
icon: z.ZodOptional<z.ZodString>;
|
|
178
188
|
title: z.ZodString;
|
|
179
|
-
prefix: z.ZodString;
|
|
180
189
|
position: z.ZodDefault<z.ZodEnum<{
|
|
181
190
|
header: "header";
|
|
182
191
|
sidebar: "sidebar";
|
|
183
192
|
}>>;
|
|
184
193
|
type: z.ZodLiteral<"article">;
|
|
194
|
+
prefix: z.ZodString;
|
|
185
195
|
}, z.core.$strip>, z.ZodObject<{
|
|
186
196
|
icon: z.ZodOptional<z.ZodString>;
|
|
187
197
|
title: z.ZodString;
|
|
188
|
-
prefix: z.ZodString;
|
|
189
198
|
position: z.ZodDefault<z.ZodEnum<{
|
|
190
199
|
header: "header";
|
|
191
200
|
sidebar: "sidebar";
|
|
192
201
|
}>>;
|
|
193
202
|
type: z.ZodLiteral<"blog">;
|
|
203
|
+
prefix: z.ZodString;
|
|
194
204
|
}, z.core.$strip>, z.ZodObject<{
|
|
195
205
|
icon: z.ZodOptional<z.ZodString>;
|
|
196
206
|
title: z.ZodString;
|
|
197
|
-
prefix: z.ZodString;
|
|
198
207
|
position: z.ZodDefault<z.ZodEnum<{
|
|
199
208
|
header: "header";
|
|
200
209
|
sidebar: "sidebar";
|
|
201
210
|
}>>;
|
|
202
211
|
type: z.ZodLiteral<"changelog">;
|
|
212
|
+
prefix: z.ZodString;
|
|
203
213
|
source: z.ZodString;
|
|
204
214
|
version: z.ZodOptional<z.ZodBoolean>;
|
|
215
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
216
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
217
|
+
title: z.ZodString;
|
|
218
|
+
position: z.ZodDefault<z.ZodEnum<{
|
|
219
|
+
header: "header";
|
|
220
|
+
sidebar: "sidebar";
|
|
221
|
+
}>>;
|
|
222
|
+
type: z.ZodLiteral<"external">;
|
|
223
|
+
url: z.ZodString;
|
|
205
224
|
}, z.core.$strip>], "type">>>>;
|
|
206
225
|
}, z.core.$strip>;
|
|
207
226
|
/**
|
|
@@ -222,6 +241,7 @@ export declare const SystemConfig: z.ZodObject<{
|
|
|
222
241
|
export type Config = z.infer<typeof Config>;
|
|
223
242
|
export declare const Config: z.ZodObject<{
|
|
224
243
|
site: z.ZodOptional<z.ZodString>;
|
|
244
|
+
base: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<string | undefined, string | undefined>>;
|
|
225
245
|
favicon: z.ZodOptional<z.ZodString>;
|
|
226
246
|
logo: z.ZodOptional<z.ZodString>;
|
|
227
247
|
title: z.ZodDefault<z.ZodString>;
|
|
@@ -310,32 +330,41 @@ export declare const Config: z.ZodObject<{
|
|
|
310
330
|
sections: z.ZodOptional<z.ZodArray<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
311
331
|
icon: z.ZodOptional<z.ZodString>;
|
|
312
332
|
title: z.ZodString;
|
|
313
|
-
prefix: z.ZodString;
|
|
314
333
|
position: z.ZodDefault<z.ZodEnum<{
|
|
315
334
|
header: "header";
|
|
316
335
|
sidebar: "sidebar";
|
|
317
336
|
}>>;
|
|
318
337
|
type: z.ZodLiteral<"article">;
|
|
338
|
+
prefix: z.ZodString;
|
|
319
339
|
}, z.core.$strip>, z.ZodObject<{
|
|
320
340
|
icon: z.ZodOptional<z.ZodString>;
|
|
321
341
|
title: z.ZodString;
|
|
322
|
-
prefix: z.ZodString;
|
|
323
342
|
position: z.ZodDefault<z.ZodEnum<{
|
|
324
343
|
header: "header";
|
|
325
344
|
sidebar: "sidebar";
|
|
326
345
|
}>>;
|
|
327
346
|
type: z.ZodLiteral<"blog">;
|
|
347
|
+
prefix: z.ZodString;
|
|
328
348
|
}, z.core.$strip>, z.ZodObject<{
|
|
329
349
|
icon: z.ZodOptional<z.ZodString>;
|
|
330
350
|
title: z.ZodString;
|
|
331
|
-
prefix: z.ZodString;
|
|
332
351
|
position: z.ZodDefault<z.ZodEnum<{
|
|
333
352
|
header: "header";
|
|
334
353
|
sidebar: "sidebar";
|
|
335
354
|
}>>;
|
|
336
355
|
type: z.ZodLiteral<"changelog">;
|
|
356
|
+
prefix: z.ZodString;
|
|
337
357
|
source: z.ZodString;
|
|
338
358
|
version: z.ZodOptional<z.ZodBoolean>;
|
|
359
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
360
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
361
|
+
title: z.ZodString;
|
|
362
|
+
position: z.ZodDefault<z.ZodEnum<{
|
|
363
|
+
header: "header";
|
|
364
|
+
sidebar: "sidebar";
|
|
365
|
+
}>>;
|
|
366
|
+
type: z.ZodLiteral<"external">;
|
|
367
|
+
url: z.ZodString;
|
|
339
368
|
}, z.core.$strip>], "type">>>>;
|
|
340
369
|
patches: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
341
370
|
file: z.ZodString;
|
|
@@ -346,7 +375,6 @@ export declare const Config: z.ZodObject<{
|
|
|
346
375
|
icon: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
347
376
|
order: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
348
377
|
path: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
349
|
-
group: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
350
378
|
sidebar: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
351
379
|
toc: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
352
380
|
image: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
package/build/models/config.js
CHANGED
|
@@ -5,6 +5,15 @@ import { Section } from "./section.js";
|
|
|
5
5
|
import { CodeThemeDark, CodeThemeLight } from "./theme.js";
|
|
6
6
|
export const UserConfig = z.object({
|
|
7
7
|
site: z.string().optional(),
|
|
8
|
+
base: z
|
|
9
|
+
.string()
|
|
10
|
+
.optional()
|
|
11
|
+
.transform(v => {
|
|
12
|
+
if (!v)
|
|
13
|
+
return undefined;
|
|
14
|
+
const trimmed = v.replace(/^\/|\/$/g, "");
|
|
15
|
+
return trimmed ? `/${trimmed}` : undefined;
|
|
16
|
+
}),
|
|
8
17
|
favicon: z.string().optional(),
|
|
9
18
|
logo: z.string().optional(),
|
|
10
19
|
title: z.string().default("Livemark"),
|
|
@@ -25,6 +34,7 @@ export const WebsiteConfig = UserConfig.pick({
|
|
|
25
34
|
title: true,
|
|
26
35
|
description: true,
|
|
27
36
|
site: true,
|
|
37
|
+
base: true,
|
|
28
38
|
favicon: true,
|
|
29
39
|
logo: true,
|
|
30
40
|
links: true,
|
|
@@ -35,4 +45,4 @@ export const SystemConfig = z.object({
|
|
|
35
45
|
configPath: z.string(),
|
|
36
46
|
});
|
|
37
47
|
export const Config = UserConfig.merge(SystemConfig);
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL21vZGVscy9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQTtBQUV2QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQ2hDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQWtCMUQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDakMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDM0IsSUFBSSxFQUFFLENBQUM7U0FDSixNQUFNLEVBQUU7U0FDUixRQUFRLEVBQUU7U0FDVixTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDYixJQUFJLENBQUMsQ0FBQztZQUFFLE9BQU8sU0FBUyxDQUFBO1FBQ3hCLE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBQ3pDLE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7SUFDNUMsQ0FBQyxDQUFDO0lBQ0osT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDOUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDM0IsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO0lBQ3JDLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLHlCQUF5QixDQUFDO0lBQzFELE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7SUFDdEUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQzlELGNBQWMsRUFBRSxjQUFjLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDO0lBQzFELGFBQWEsRUFBRSxhQUFhLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDO0lBQ3hELEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUMvQixRQUFRLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDckMsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ2xDLHNFQUFzRTtJQUN0RSxtRUFBbUU7SUFDbkUsa0VBQWtFO0lBQ2xFLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQzdCLENBQUMsQ0FBQTtBQUlGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO0lBQzNDLEtBQUssRUFBRSxJQUFJO0lBQ1gsV0FBVyxFQUFFLElBQUk7SUFDakIsSUFBSSxFQUFFLElBQUk7SUFDVixJQUFJLEVBQUUsSUFBSTtJQUNWLE9BQU8sRUFBRSxJQUFJO0lBQ2IsSUFBSSxFQUFFLElBQUk7SUFDVixLQUFLLEVBQUUsSUFBSTtJQUNYLFFBQVEsRUFBRSxJQUFJO0NBQ2YsQ0FBQyxDQUFBO0FBTUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDbkMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDaEIsVUFBVSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7Q0FDdkIsQ0FBQyxDQUFBO0FBVUYsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB6IH0gZnJvbSBcInpvZFwiXG5pbXBvcnQgdHlwZSB7IENvbmZpZ0VudiwgVXNlckNvbmZpZyBhcyBWaXRlVXNlckNvbmZpZyB9IGZyb20gXCJ2aXRlXCJcbmltcG9ydCB7IExpbmsgfSBmcm9tIFwiLi9saW5rLnRzXCJcbmltcG9ydCB7IFBhdGNoIH0gZnJvbSBcIi4vcGF0Y2gudHNcIlxuaW1wb3J0IHsgU2VjdGlvbiB9IGZyb20gXCIuL3NlY3Rpb24udHNcIlxuaW1wb3J0IHsgQ29kZVRoZW1lRGFyaywgQ29kZVRoZW1lTGlnaHQgfSBmcm9tIFwiLi90aGVtZS50c1wiXG5cbi8qKiBFc2NhcGUgaGF0Y2ggZm9yIGFyYml0cmFyeSBWaXRlIGNvbmZpZyDigJQgYWNjZXB0cyBlaXRoZXIgYSBjb25maWdcbiAqICBvYmplY3QgKHNpbXBsZSBvdmVycmlkZXMpIG9yIGEgZnVuY3Rpb24gZm9ybSAoYChlbnYpID0+IGNvbmZpZ2AsXG4gKiAgbWF0Y2hpbmcgVml0ZSdzIG93biBgZGVmaW5lQ29uZmlnYCkuIE1lcmdlZCBvbiB0b3Agb2YgbGl2ZW1hcmsnc1xuICogIGRlZmF1bHRzIHZpYSBgbWVyZ2VDb25maWdgLCBzbyBwbHVnaW4gYXJyYXlzIGNvbmNhdGVuYXRlLCBkZWZpbmVzXG4gKiAgbWVyZ2UsIGV0Yy4gVXNlIHRoaXMgZm9yIGRlcGxveW1lbnQtdGFyZ2V0IHR3ZWFrcyAoZS5nLiBDRiBXb3JrZXJzXG4gKiAgdmlhIGBlbnZpcm9ubWVudHMuc3NyLnJlc29sdmUuY29uZGl0aW9uczogW1wid29ya2VyZFwiLCAuLi5dYCkuICovXG5leHBvcnQgdHlwZSBWaXRlT3ZlcnJpZGUgPVxuICB8IFZpdGVVc2VyQ29uZmlnXG4gIHwgKChlbnY6IENvbmZpZ0VudikgPT4gVml0ZVVzZXJDb25maWcgfCBQcm9taXNlPFZpdGVVc2VyQ29uZmlnPilcblxuLyoqXG4gKiBVc2VyLXByb3ZpZGVkIGNvbmZpZ3VyYXRpb24gZm9yIExpdmVtYXJrLlxuICovXG5leHBvcnQgdHlwZSBVc2VyQ29uZmlnID0gT21pdDx6LmluZmVyPHR5cGVvZiBVc2VyQ29uZmlnPiwgXCJ2aXRlXCI+ICYge1xuICB2aXRlPzogVml0ZU92ZXJyaWRlXG59XG5leHBvcnQgY29uc3QgVXNlckNvbmZpZyA9IHoub2JqZWN0KHtcbiAgc2l0ZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBiYXNlOiB6XG4gICAgLnN0cmluZygpXG4gICAgLm9wdGlvbmFsKClcbiAgICAudHJhbnNmb3JtKHYgPT4ge1xuICAgICAgaWYgKCF2KSByZXR1cm4gdW5kZWZpbmVkXG4gICAgICBjb25zdCB0cmltbWVkID0gdi5yZXBsYWNlKC9eXFwvfFxcLyQvZywgXCJcIilcbiAgICAgIHJldHVybiB0cmltbWVkID8gYC8ke3RyaW1tZWR9YCA6IHVuZGVmaW5lZFxuICAgIH0pLFxuICBmYXZpY29uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGxvZ286IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdGl0bGU6IHouc3RyaW5nKCkuZGVmYXVsdChcIkxpdmVtYXJrXCIpLFxuICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5kZWZhdWx0KFwiTWFya2Rvd24gc2l0ZSBnZW5lcmF0b3JcIiksXG4gIGluY2x1ZGU6IHoudW5pb24oW3ouc3RyaW5nKCksIHouYXJyYXkoei5zdHJpbmcoKSldKS5kZWZhdWx0KFwiKiovKi5tZFwiKSxcbiAgZXhjbHVkZTogei51bmlvbihbei5zdHJpbmcoKSwgei5hcnJheSh6LnN0cmluZygpKV0pLm9wdGlvbmFsKCksXG4gIGNvZGVUaGVtZUxpZ2h0OiBDb2RlVGhlbWVMaWdodC5kZWZhdWx0KFwiY2F0cHB1Y2Npbi1sYXR0ZVwiKSxcbiAgY29kZVRoZW1lRGFyazogQ29kZVRoZW1lRGFyay5kZWZhdWx0KFwiY2F0cHB1Y2Npbi1tb2NoYVwiKSxcbiAgbGlua3M6IHouYXJyYXkoTGluaykub3B0aW9uYWwoKSxcbiAgc2VjdGlvbnM6IHouYXJyYXkoU2VjdGlvbikub3B0aW9uYWwoKSxcbiAgcGF0Y2hlczogei5hcnJheShQYXRjaCkub3B0aW9uYWwoKSxcbiAgLy8gU3RvcmVkIGFzIGB1bmtub3duYCBpbiB0aGUgc2NoZW1hICh6b2QgY2FuJ3QgdHlwZSBhIFZpdGUgVXNlckNvbmZpZ1xuICAvLyBvciBhIGZ1bmN0aW9uIHJldHVybmluZyBvbmUgbWVhbmluZ2Z1bGx5KTsgdGhlIHB1YmxpYyBUeXBlU2NyaXB0XG4gIC8vIHN1cmZhY2UgYWJvdmUgbGlmdHMgaXQgYmFjayB0byBWaXRlT3ZlcnJpZGUgZm9yIGVkaXRvciBzdXBwb3J0LlxuICB2aXRlOiB6LnVua25vd24oKS5vcHRpb25hbCgpLFxufSlcblxuLyoqIFdlYnNpdGUgY29uZmlndXJhdGlvbiBpbmplY3RlZCBhdCBidWlsZCB0aW1lIHZpYSBWaXRlIGRlZmluZSAqL1xuZXhwb3J0IHR5cGUgV2Vic2l0ZUNvbmZpZyA9IHouaW5mZXI8dHlwZW9mIFdlYnNpdGVDb25maWc+XG5leHBvcnQgY29uc3QgV2Vic2l0ZUNvbmZpZyA9IFVzZXJDb25maWcucGljayh7XG4gIHRpdGxlOiB0cnVlLFxuICBkZXNjcmlwdGlvbjogdHJ1ZSxcbiAgc2l0ZTogdHJ1ZSxcbiAgYmFzZTogdHJ1ZSxcbiAgZmF2aWNvbjogdHJ1ZSxcbiAgbG9nbzogdHJ1ZSxcbiAgbGlua3M6IHRydWUsXG4gIHNlY3Rpb25zOiB0cnVlLFxufSlcblxuLyoqXG4gKiBTeXN0ZW0tY29tcHV0ZWQgY29uZmlndXJhdGlvbiBkZXJpdmVkIGZyb20gdGhlIGNvbmZpZyBmaWxlIGxvY2F0aW9uLlxuICovXG5leHBvcnQgdHlwZSBTeXN0ZW1Db25maWcgPSB6LmluZmVyPHR5cGVvZiBTeXN0ZW1Db25maWc+XG5leHBvcnQgY29uc3QgU3lzdGVtQ29uZmlnID0gei5vYmplY3Qoe1xuICByb290OiB6LnN0cmluZygpLFxuICBjb25maWdQYXRoOiB6LnN0cmluZygpLFxufSlcblxuLyoqXG4gKiBGdWxseSByZXNvbHZlZCBMaXZlbWFyayBjb25maWd1cmF0aW9uLlxuICpcbiAqIGB2aXRlYCBzdGF5cyBgdW5rbm93bmAgaGVyZSBiZWNhdXNlIHRoYXQncyB3aGF0IHRoZSBydW50aW1lIHNjaGVtYVxuICogcHJvZHVjZXMg4oCUIGNvbnN1bWVyLWZhY2luZyB0eXBpbmcgaGFwcGVucyB2aWEge0BsaW5rIFVzZXJDb25maWd9IHNvXG4gKiBgZGVmaW5lQ29uZmlnYCBzaG93cyB0aGUgcmlnaHQgc2hhcGUgaW4gZWRpdG9ycy5cbiAqL1xuZXhwb3J0IHR5cGUgQ29uZmlnID0gei5pbmZlcjx0eXBlb2YgQ29uZmlnPlxuZXhwb3J0IGNvbnN0IENvbmZpZyA9IFVzZXJDb25maWcubWVyZ2UoU3lzdGVtQ29uZmlnKVxuIl19
|
package/build/models/patch.d.ts
CHANGED
|
@@ -10,7 +10,6 @@ export declare const Patch: z.ZodObject<{
|
|
|
10
10
|
icon: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
11
11
|
order: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
12
12
|
path: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
13
|
-
group: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
14
13
|
sidebar: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
15
14
|
toc: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
16
15
|
image: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|