vitepress 0.22.3 → 1.0.0-draft.2
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/client.d.ts +2 -3
- package/dist/client/app/components/ClientOnly.js +1 -1
- package/dist/client/app/index.js +5 -7
- package/dist/client/index.d.ts +5 -0
- package/dist/client/shared.js +1 -0
- package/dist/client/theme-default/Layout.vue +39 -180
- package/dist/client/theme-default/NotFound.vue +9 -8
- package/dist/client/theme-default/components/VPAlgoliaSearchBox.vue +127 -0
- package/dist/client/theme-default/components/VPBackdrop.vue +39 -0
- package/dist/client/theme-default/components/VPBox.vue +59 -0
- package/dist/client/theme-default/components/VPButton.vue +123 -0
- package/dist/client/theme-default/components/VPContent.vue +74 -0
- package/dist/client/theme-default/components/VPDoc.vue +173 -0
- package/dist/client/theme-default/components/VPDocFooter.vue +141 -0
- package/dist/client/theme-default/components/VPDocOutline.vue +108 -0
- package/dist/client/theme-default/components/VPFlyout.vue +149 -0
- package/dist/client/theme-default/components/VPFooter.vue +53 -0
- package/dist/client/theme-default/components/VPHero.vue +144 -0
- package/dist/client/theme-default/components/VPHome.vue +33 -0
- package/dist/client/theme-default/components/VPHomeFeatures.vue +96 -0
- package/dist/client/theme-default/components/VPHomeHero.vue +17 -0
- package/dist/client/theme-default/components/VPHomeSponsors.vue +97 -0
- package/dist/client/theme-default/components/VPLink.vue +37 -0
- package/dist/client/theme-default/components/VPLocalNav.vue +106 -0
- package/dist/client/theme-default/components/VPMenu.vue +79 -0
- package/dist/client/theme-default/components/VPMenuGroup.vue +35 -0
- package/dist/client/theme-default/components/VPMenuLink.vue +30 -0
- package/dist/client/theme-default/components/VPNav.vue +33 -0
- package/dist/client/theme-default/components/VPNavBar.vue +110 -0
- package/dist/client/theme-default/components/VPNavBarAppearance.vue +25 -0
- package/dist/client/theme-default/components/VPNavBarExtra.vue +107 -0
- package/dist/client/theme-default/components/VPNavBarHamburger.vue +79 -0
- package/dist/client/theme-default/components/VPNavBarMenu.vue +29 -0
- package/dist/client/theme-default/components/VPNavBarMenuGroup.vue +18 -0
- package/dist/client/theme-default/components/VPNavBarMenuLink.vue +56 -0
- package/dist/client/theme-default/components/VPNavBarSearch.vue +269 -0
- package/dist/client/theme-default/components/VPNavBarSocialLinks.vue +27 -0
- package/dist/client/theme-default/components/VPNavBarTitle.vue +57 -0
- package/dist/client/theme-default/components/VPNavBarTranslations.vue +74 -0
- package/dist/client/theme-default/components/VPNavScreen.vue +100 -0
- package/dist/client/theme-default/components/VPNavScreenAppearance.vue +33 -0
- package/dist/client/theme-default/components/VPNavScreenMenu.vue +24 -0
- package/dist/client/theme-default/components/VPNavScreenMenuGroup.vue +118 -0
- package/dist/client/theme-default/components/VPNavScreenMenuGroupLink.vue +33 -0
- package/dist/client/theme-default/components/VPNavScreenMenuGroupSection.vue +35 -0
- package/dist/client/theme-default/components/VPNavScreenMenuLink.vue +34 -0
- package/dist/client/theme-default/components/VPNavScreenSocialLinks.vue +14 -0
- package/dist/client/theme-default/components/VPNavScreenTranslations.vue +73 -0
- package/dist/client/theme-default/components/VPPage.vue +5 -0
- package/dist/client/theme-default/components/VPSidebar.vue +118 -0
- package/dist/client/theme-default/components/VPSidebarGroup.vue +44 -0
- package/dist/client/theme-default/components/VPSidebarLink.vue +57 -0
- package/dist/client/theme-default/components/VPSkipLink.vue +72 -0
- package/dist/client/theme-default/components/VPSocialLink.vue +63 -0
- package/dist/client/theme-default/components/VPSocialLinks.vue +27 -0
- package/dist/client/theme-default/components/VPSponsors.vue +77 -0
- package/dist/client/theme-default/components/VPSponsorsGrid.vue +32 -0
- package/dist/client/theme-default/components/VPSwitch.vue +66 -0
- package/dist/client/theme-default/components/VPSwitchAppearance.vue +74 -0
- package/dist/client/theme-default/components/icons/VPIconAlignJustify.vue +8 -0
- package/dist/client/theme-default/components/icons/VPIconAlignLeft.vue +8 -0
- package/dist/client/theme-default/components/icons/VPIconAlignRight.vue +8 -0
- package/dist/client/theme-default/components/icons/{ArrowLeft.vue → VPIconArrowLeft.vue} +0 -0
- package/dist/client/theme-default/components/icons/{ArrowRight.vue → VPIconArrowRight.vue} +0 -0
- package/dist/client/theme-default/components/icons/VPIconChevronDown.vue +5 -0
- package/dist/client/theme-default/components/icons/VPIconChevronLeft.vue +5 -0
- package/dist/client/theme-default/components/icons/VPIconChevronRight.vue +5 -0
- package/dist/client/theme-default/components/icons/VPIconChevronUp.vue +5 -0
- package/dist/client/theme-default/components/icons/VPIconDiscord.vue +5 -0
- package/dist/client/theme-default/components/icons/VPIconEdit.vue +6 -0
- package/dist/client/theme-default/components/icons/VPIconExternalLink.vue +13 -0
- package/dist/client/theme-default/components/icons/VPIconFacebook.vue +5 -0
- package/dist/client/theme-default/components/icons/VPIconGitHub.vue +5 -0
- package/dist/client/theme-default/components/icons/VPIconHeart.vue +5 -0
- package/dist/client/theme-default/components/icons/VPIconInstagram.vue +5 -0
- package/dist/client/theme-default/components/icons/VPIconLanguages.vue +9 -0
- package/dist/client/theme-default/components/icons/VPIconLinkedIn.vue +5 -0
- package/dist/client/theme-default/components/icons/VPIconMoon.vue +5 -0
- package/dist/client/theme-default/components/icons/VPIconMoreHorizontal.vue +7 -0
- package/dist/client/theme-default/components/icons/VPIconPlus.vue +5 -0
- package/dist/client/theme-default/components/icons/VPIconSlack.vue +5 -0
- package/dist/client/theme-default/components/icons/VPIconSun.vue +13 -0
- package/dist/client/theme-default/components/icons/VPIconTwitter.vue +5 -0
- package/dist/client/theme-default/components/icons/VPIconYouTube.vue +5 -0
- package/dist/client/theme-default/composables/edit-link.js +22 -0
- package/dist/client/theme-default/composables/flyout.js +40 -0
- package/dist/client/theme-default/composables/nav.js +27 -1
- package/dist/client/theme-default/composables/outline.js +112 -0
- package/dist/client/theme-default/composables/prev-next.js +18 -0
- package/dist/client/theme-default/composables/sidebar.js +57 -0
- package/dist/client/theme-default/composables/sponsor-grid.js +92 -0
- package/dist/client/theme-default/composables/sponsor.js +87 -0
- package/dist/client/theme-default/fonts/inter-cyrillic-ext.woff2 +0 -0
- package/dist/client/theme-default/fonts/inter-cyrillic.woff2 +0 -0
- package/dist/client/theme-default/fonts/inter-greek-ext.woff2 +0 -0
- package/dist/client/theme-default/fonts/inter-greek.woff2 +0 -0
- package/dist/client/theme-default/fonts/inter-latin-ext.woff2 +0 -0
- package/dist/client/theme-default/fonts/inter-latin.woff2 +0 -0
- package/dist/client/theme-default/fonts/inter-vietnamese.woff2 +0 -0
- package/dist/client/theme-default/index.js +8 -4
- package/dist/client/theme-default/styles/base.css +203 -0
- package/dist/client/theme-default/styles/fonts.css +67 -0
- package/dist/client/theme-default/styles/utils.css +9 -0
- package/dist/client/theme-default/styles/vars.css +291 -66
- package/dist/client/theme-default/styles/vp-doc.css +425 -0
- package/dist/client/theme-default/styles/vp-sponsor.css +86 -0
- package/dist/client/theme-default/support/sidebar.js +29 -0
- package/dist/client/theme-default/support/utils.js +62 -0
- package/dist/node/alias.js +60 -0
- package/dist/node/alias.js.map +1 -0
- package/dist/node/build/build.js +57 -0
- package/dist/node/build/build.js.map +1 -0
- package/dist/node/build/buildMPAClient.js +44 -0
- package/dist/node/build/buildMPAClient.js.map +1 -0
- package/dist/node/build/bundle.js +163 -0
- package/dist/node/build/bundle.js.map +1 -0
- package/dist/node/build/render.js +185 -0
- package/dist/node/build/render.js.map +1 -0
- package/dist/node/cli.js +37 -294
- package/dist/node/cli.js.map +1 -0
- package/dist/node/config.js +176 -0
- package/dist/node/config.js.map +1 -0
- package/dist/node/index.d.ts +122 -79
- package/dist/node/index.js +22 -37
- package/dist/node/index.js.map +1 -0
- package/dist/node/markdown/markdown.js +75 -0
- package/dist/node/markdown/markdown.js.map +1 -0
- package/dist/node/markdown/plugins/component.js +86 -0
- package/dist/node/markdown/plugins/component.js.map +1 -0
- package/dist/node/markdown/plugins/containers.js +41 -0
- package/dist/node/markdown/plugins/containers.js.map +1 -0
- package/dist/node/markdown/plugins/headings.js +25 -0
- package/dist/node/markdown/plugins/headings.js.map +1 -0
- package/dist/node/markdown/plugins/highlight.js +53 -0
- package/dist/node/markdown/plugins/highlight.js.map +1 -0
- package/dist/node/markdown/plugins/highlightLines.js +48 -0
- package/dist/node/markdown/plugins/highlightLines.js.map +1 -0
- package/dist/node/markdown/plugins/hoist.js +22 -0
- package/dist/node/markdown/plugins/hoist.js.map +1 -0
- package/dist/node/markdown/plugins/image.js +17 -0
- package/dist/node/markdown/plugins/image.js.map +1 -0
- package/dist/node/markdown/plugins/lineNumbers.js +23 -0
- package/dist/node/markdown/plugins/lineNumbers.js.map +1 -0
- package/dist/node/markdown/plugins/link.js +85 -0
- package/dist/node/markdown/plugins/link.js.map +1 -0
- package/dist/node/markdown/plugins/preWrapper.js +22 -0
- package/dist/node/markdown/plugins/preWrapper.js.map +1 -0
- package/dist/node/markdown/plugins/slugify.js +26 -0
- package/dist/node/markdown/plugins/slugify.js.map +1 -0
- package/dist/node/markdown/plugins/snippet.js +146 -0
- package/dist/node/markdown/plugins/snippet.js.map +1 -0
- package/dist/node/markdownToVue.js +166 -0
- package/dist/node/markdownToVue.js.map +1 -0
- package/dist/node/plugin.js +227 -0
- package/dist/node/plugin.js.map +1 -0
- package/dist/node/serve/serve.js +59 -0
- package/dist/node/serve/serve.js.map +1 -0
- package/dist/node/{serve-777539c0.js → serve-b5dc02b2.js} +27 -2
- package/dist/node/server.js +18 -0
- package/dist/node/server.js.map +1 -0
- package/dist/node/shared.js +72 -0
- package/dist/node/shared.js.map +1 -0
- package/dist/node/staticDataPlugin.js +99 -0
- package/dist/node/staticDataPlugin.js.map +1 -0
- package/dist/node/utils/getGitTimestamp.js +17 -0
- package/dist/node/utils/getGitTimestamp.js.map +1 -0
- package/dist/node/utils/parseHeader.js +57 -0
- package/dist/node/utils/parseHeader.js.map +1 -0
- package/dist/node/utils/slash.js +8 -0
- package/dist/node/utils/slash.js.map +1 -0
- package/package.json +31 -25
- package/types/default-theme.d.ts +115 -78
- package/types/shared.d.ts +11 -6
- package/dist/client/theme-default/components/AlgoliaSearchBox.vue +0 -188
- package/dist/client/theme-default/components/BuySellAds.vue +0 -152
- package/dist/client/theme-default/components/CarbonAds.vue +0 -99
- package/dist/client/theme-default/components/EditLink.vue +0 -38
- package/dist/client/theme-default/components/Home.vue +0 -31
- package/dist/client/theme-default/components/HomeFeatures.vue +0 -143
- package/dist/client/theme-default/components/HomeFooter.vue +0 -50
- package/dist/client/theme-default/components/HomeHero.vue +0 -161
- package/dist/client/theme-default/components/LastUpdated.vue +0 -60
- package/dist/client/theme-default/components/NavBar.vue +0 -60
- package/dist/client/theme-default/components/NavBarTitle.vue +0 -41
- package/dist/client/theme-default/components/NavDropdownLink.vue +0 -135
- package/dist/client/theme-default/components/NavDropdownLinkItem.vue +0 -76
- package/dist/client/theme-default/components/NavLink.vue +0 -61
- package/dist/client/theme-default/components/NavLinks.vue +0 -52
- package/dist/client/theme-default/components/NextAndPrevLinks.vue +0 -88
- package/dist/client/theme-default/components/Page.vue +0 -53
- package/dist/client/theme-default/components/PageFooter.vue +0 -44
- package/dist/client/theme-default/components/SideBar.vue +0 -60
- package/dist/client/theme-default/components/SideBarLink.js +0 -68
- package/dist/client/theme-default/components/SideBarLinks.vue +0 -12
- package/dist/client/theme-default/components/ToggleSideBarButton.vue +0 -46
- package/dist/client/theme-default/components/icons/OutboundLink.vue +0 -31
- package/dist/client/theme-default/composables/activeSidebarLink.js +0 -99
- package/dist/client/theme-default/composables/editLink.js +0 -49
- package/dist/client/theme-default/composables/navLink.js +0 -42
- package/dist/client/theme-default/composables/nextAndPrevLinks.js +0 -37
- package/dist/client/theme-default/composables/repo.js +0 -38
- package/dist/client/theme-default/composables/sideBar.js +0 -57
- package/dist/client/theme-default/styles/code.css +0 -299
- package/dist/client/theme-default/styles/custom-blocks.css +0 -76
- package/dist/client/theme-default/styles/layout.css +0 -236
- package/dist/client/theme-default/styles/sidebar-links.css +0 -107
- package/dist/client/theme-default/support/sideBar.js +0 -46
- package/dist/client/theme-default/utils.js +0 -63
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// TODO figure out why it causes full page reload
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.staticDataPlugin = void 0;
|
|
5
|
+
const vite_1 = require("vite");
|
|
6
|
+
const path_1 = require("path");
|
|
7
|
+
const micromatch_1 = require("micromatch");
|
|
8
|
+
const loaderMatch = /\.data\.(j|t)s$/;
|
|
9
|
+
let server;
|
|
10
|
+
const idToLoaderModulesMap = Object.create(null);
|
|
11
|
+
// During build, the load hook will be called on the same file twice
|
|
12
|
+
// once for client and once for server build. Not only is this wasteful, it
|
|
13
|
+
// also leads to a race condition in loadConfigFromFile() that results in an
|
|
14
|
+
// fs unlink error. So we reuse the same Promise during build to avoid double
|
|
15
|
+
// loading.
|
|
16
|
+
let idToPendingPromiseMap = Object.create(null);
|
|
17
|
+
let isBuild = false;
|
|
18
|
+
exports.staticDataPlugin = {
|
|
19
|
+
name: 'vitepress:data',
|
|
20
|
+
configResolved(config) {
|
|
21
|
+
isBuild = config.command === 'build';
|
|
22
|
+
},
|
|
23
|
+
configureServer(_server) {
|
|
24
|
+
server = _server;
|
|
25
|
+
},
|
|
26
|
+
async load(id) {
|
|
27
|
+
var _a;
|
|
28
|
+
if (loaderMatch.test(id)) {
|
|
29
|
+
let _resolve;
|
|
30
|
+
if (isBuild) {
|
|
31
|
+
if (idToPendingPromiseMap[id]) {
|
|
32
|
+
return idToPendingPromiseMap[id];
|
|
33
|
+
}
|
|
34
|
+
idToPendingPromiseMap[id] = new Promise((r) => {
|
|
35
|
+
_resolve = r;
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
const base = (0, path_1.dirname)(id);
|
|
39
|
+
let pattern;
|
|
40
|
+
let loader;
|
|
41
|
+
const existing = idToLoaderModulesMap[id];
|
|
42
|
+
if (existing) {
|
|
43
|
+
;
|
|
44
|
+
({ pattern, loader } = existing);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
// use vite's load config util as a away to load Node.js file with
|
|
48
|
+
// TS & native ESM support
|
|
49
|
+
const loaderModule = (_a = (await (0, vite_1.loadConfigFromFile)({}, id))) === null || _a === void 0 ? void 0 : _a.config;
|
|
50
|
+
pattern =
|
|
51
|
+
typeof loaderModule.watch === 'string'
|
|
52
|
+
? [loaderModule.watch]
|
|
53
|
+
: loaderModule.watch;
|
|
54
|
+
if (pattern) {
|
|
55
|
+
pattern = pattern.map((p) => {
|
|
56
|
+
return p.startsWith('./') ? p.slice(2) : p;
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
loader = loaderModule.load;
|
|
60
|
+
}
|
|
61
|
+
// load the data
|
|
62
|
+
const data = await loader();
|
|
63
|
+
// record loader module for HMR
|
|
64
|
+
if (server) {
|
|
65
|
+
idToLoaderModulesMap[id] = { base, pattern, loader };
|
|
66
|
+
}
|
|
67
|
+
const result = `export const data = JSON.parse(${JSON.stringify(JSON.stringify(data))})`;
|
|
68
|
+
if (_resolve)
|
|
69
|
+
_resolve(result);
|
|
70
|
+
return result;
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
transform(_code, id) {
|
|
74
|
+
if (server && loaderMatch.test(id)) {
|
|
75
|
+
// register this module as a glob importer
|
|
76
|
+
const { base, pattern } = idToLoaderModulesMap[id];
|
|
77
|
+
server._globImporters[id] = {
|
|
78
|
+
module: server.moduleGraph.getModuleById(id),
|
|
79
|
+
importGlobs: pattern === null || pattern === void 0 ? void 0 : pattern.map((pattern) => ({ base, pattern }))
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
return null;
|
|
83
|
+
},
|
|
84
|
+
handleHotUpdate(ctx) {
|
|
85
|
+
for (const id in idToLoaderModulesMap) {
|
|
86
|
+
const { base, pattern } = idToLoaderModulesMap[id];
|
|
87
|
+
const isLoaderFile = (0, vite_1.normalizePath)(ctx.file) === id;
|
|
88
|
+
if (isLoaderFile) {
|
|
89
|
+
// invalidate loader file
|
|
90
|
+
delete idToLoaderModulesMap[id];
|
|
91
|
+
}
|
|
92
|
+
if (isLoaderFile ||
|
|
93
|
+
(pattern && (0, micromatch_1.isMatch)((0, path_1.relative)(base, ctx.file), pattern))) {
|
|
94
|
+
ctx.modules.push(server.moduleGraph.getModuleById(id));
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
//# sourceMappingURL=staticDataPlugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"staticDataPlugin.js","sourceRoot":"","sources":["../../src/node/staticDataPlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getGitTimestamp = void 0;
|
|
4
|
+
const cross_spawn_1 = require("cross-spawn");
|
|
5
|
+
function getGitTimestamp(file) {
|
|
6
|
+
return new Promise((resolve, reject) => {
|
|
7
|
+
const child = (0, cross_spawn_1.spawn)('git', ['log', '-1', '--pretty="%ci"', file]);
|
|
8
|
+
let output = '';
|
|
9
|
+
child.stdout.on('data', (d) => (output += String(d)));
|
|
10
|
+
child.on('close', () => {
|
|
11
|
+
resolve(+new Date(output));
|
|
12
|
+
});
|
|
13
|
+
child.on('error', reject);
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
exports.getGitTimestamp = getGitTimestamp;
|
|
17
|
+
//# sourceMappingURL=getGitTimestamp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getGitTimestamp.js","sourceRoot":"","sources":["../../../src/node/utils/getGitTimestamp.ts"],"names":[],"mappings":";;;AAAA,6CAAmC;AAEnC,SAAgB,eAAe,CAAC,IAAY;IAC1C,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC7C,MAAM,KAAK,GAAG,IAAA,mBAAK,EAAC,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAA;QACjE,IAAI,MAAM,GAAG,EAAE,CAAA;QACf,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACrD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACrB,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;QAC5B,CAAC,CAAC,CAAA;QACF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAA;AACJ,CAAC;AAVD,0CAUC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.deeplyParseHeader = exports.parseHeader = exports.removeNonCodeWrappedHTML = void 0;
|
|
7
|
+
// Since VuePress needs to extract the header from the markdown source
|
|
8
|
+
// file and display it in the sidebar or title (#238), this file simply
|
|
9
|
+
// removes some unnecessary elements to make header displays well at
|
|
10
|
+
// sidebar or title.
|
|
11
|
+
//
|
|
12
|
+
// But header's parsing in the markdown content is done by the markdown
|
|
13
|
+
// loader based on markdown-it. markdown-it parser will will always keep
|
|
14
|
+
// HTML in headers, so in VuePress, after being parsed by the markdown
|
|
15
|
+
// loader, the raw HTML in headers will finally be parsed by Vue-loader.
|
|
16
|
+
// so that we can write HTML/Vue in the header. One exception is the HTML
|
|
17
|
+
// wrapped by <code>(markdown token: '`') tag.
|
|
18
|
+
const full_json_1 = __importDefault(require("markdown-it-emoji/lib/data/full.json"));
|
|
19
|
+
const parseEmojis = (str) => {
|
|
20
|
+
return str.replace(/:(.+?):/g, (placeholder, key) => full_json_1.default[key] || placeholder);
|
|
21
|
+
};
|
|
22
|
+
const unescapeHtml = (html) => html
|
|
23
|
+
.replace(/"/g, '"')
|
|
24
|
+
.replace(/'/g, "'")
|
|
25
|
+
.replace(/:/g, ':')
|
|
26
|
+
.replace(/</g, '<')
|
|
27
|
+
.replace(/>/g, '>');
|
|
28
|
+
const removeMarkdownTokens = (str) => str
|
|
29
|
+
.replace(/(\[(.[^\]]+)\]\((.[^)]+)\))/g, '$2') // []()
|
|
30
|
+
.replace(/(`|\*{1,3}|_)(.*?[^\\])\1/g, '$2') // `{t}` | *{t}* | **{t}** | ***{t}*** | _{t}_
|
|
31
|
+
.replace(/(\\)(\*|_|`|\!|<|\$)/g, '$2'); // remove escape char '\'
|
|
32
|
+
const remvoeCustomAnchor = (str) => str.replace(/\{#([a-z0-9\-_]+?)\}\s*$/, ''); // {#custom-header}
|
|
33
|
+
const trim = (str) => str.trim();
|
|
34
|
+
// This method remove the raw HTML but reserve the HTML wrapped by `<code>`.
|
|
35
|
+
// e.g.
|
|
36
|
+
// Input: "<a> b", Output: "b"
|
|
37
|
+
// Input: "`<a>` b", Output: "`<a>` b"
|
|
38
|
+
const removeNonCodeWrappedHTML = (str) => {
|
|
39
|
+
return String(str).replace(/(^|[^><`\\])<.*>([^><`]|$)/g, '$1$2');
|
|
40
|
+
};
|
|
41
|
+
exports.removeNonCodeWrappedHTML = removeNonCodeWrappedHTML;
|
|
42
|
+
const compose = (...processors) => {
|
|
43
|
+
if (processors.length === 0)
|
|
44
|
+
return (input) => input;
|
|
45
|
+
if (processors.length === 1)
|
|
46
|
+
return processors[0];
|
|
47
|
+
return processors.reduce((prev, next) => {
|
|
48
|
+
return (str) => next(prev(str));
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
// Unescape html, parse emojis and remove some md tokens.
|
|
52
|
+
exports.parseHeader = compose(unescapeHtml, parseEmojis, remvoeCustomAnchor, removeMarkdownTokens, trim);
|
|
53
|
+
// Also clean the html that isn't wrapped by code.
|
|
54
|
+
// Because we want to support using VUE components in headers.
|
|
55
|
+
// e.g. https://vuepress.vuejs.org/guide/using-vue.html#badge
|
|
56
|
+
exports.deeplyParseHeader = compose(exports.removeNonCodeWrappedHTML, exports.parseHeader);
|
|
57
|
+
//# sourceMappingURL=parseHeader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseHeader.js","sourceRoot":"","sources":["../../../src/node/utils/parseHeader.ts"],"names":[],"mappings":";;;;;;AAAA,sEAAsE;AACtE,uEAAuE;AACvE,oEAAoE;AACpE,oBAAoB;AACpB,EAAE;AACF,uEAAuE;AACvE,wEAAwE;AACxE,sEAAsE;AACtE,wEAAwE;AACxE,yEAAyE;AACzE,8CAA8C;AAC9C,qFAA4D;AAE5D,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE;IAClC,OAAO,GAAG,CAAC,OAAO,CAChB,UAAU,EACV,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE,CAAC,mBAAS,CAAC,GAAG,CAAC,IAAI,WAAW,CACpD,CAAA;AACH,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,EAAE,CACpC,IAAI;KACD,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;KACvB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;KACtB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;KACvB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;KACrB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;AAE1B,MAAM,oBAAoB,GAAG,CAAC,GAAW,EAAE,EAAE,CAC3C,GAAG;KACA,OAAO,CAAC,8BAA8B,EAAE,IAAI,CAAC,CAAC,OAAO;KACrD,OAAO,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC,8CAA8C;KAC1F,OAAO,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAA,CAAC,yBAAyB;AAErE,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAE,EAAE,CACzC,GAAG,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAA,CAAC,mBAAmB;AAEjE,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;AAExC,4EAA4E;AAC5E,OAAO;AACP,gCAAgC;AAChC,sCAAsC;AAC/B,MAAM,wBAAwB,GAAG,CAAC,GAAW,EAAE,EAAE;IACtD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAA;AACnE,CAAC,CAAA;AAFY,QAAA,wBAAwB,4BAEpC;AAED,MAAM,OAAO,GAAG,CAAC,GAAG,UAAuC,EAAE,EAAE;IAC7D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAA;IAC5D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAA;IACjD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;QACtC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IACjC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,yDAAyD;AAC5C,QAAA,WAAW,GAAG,OAAO,CAChC,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,oBAAoB,EACpB,IAAI,CACL,CAAA;AAED,kDAAkD;AAClD,8DAA8D;AAC9D,6DAA6D;AAChD,QAAA,iBAAiB,GAAG,OAAO,CAAC,gCAAwB,EAAE,mBAAW,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slash.js","sourceRoot":"","sources":["../../../src/node/utils/slash.ts"],"names":[],"mappings":";;;AAAA,SAAgB,KAAK,CAAC,CAAS;IAC7B,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;AAC9B,CAAC;AAFD,sBAEC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vitepress",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0-draft.2",
|
|
4
|
+
"packageManager": "pnpm@7.0.1",
|
|
4
5
|
"description": "Vite & Vue powered static site generator",
|
|
5
6
|
"main": "dist/node/index.js",
|
|
6
7
|
"typings": "types/index.d.ts",
|
|
@@ -14,20 +15,6 @@
|
|
|
14
15
|
"client.d.ts",
|
|
15
16
|
"theme.d.ts"
|
|
16
17
|
],
|
|
17
|
-
"engines": {
|
|
18
|
-
"node": ">=14.0.0"
|
|
19
|
-
},
|
|
20
|
-
"gitHooks": {
|
|
21
|
-
"pre-commit": "lint-staged"
|
|
22
|
-
},
|
|
23
|
-
"lint-staged": {
|
|
24
|
-
"*.js": [
|
|
25
|
-
"prettier --write"
|
|
26
|
-
],
|
|
27
|
-
"*.ts": [
|
|
28
|
-
"prettier --parser=typescript --write"
|
|
29
|
-
]
|
|
30
|
-
},
|
|
31
18
|
"repository": {
|
|
32
19
|
"type": "git",
|
|
33
20
|
"url": "git+https://github.com/vuejs/vitepress.git"
|
|
@@ -39,24 +26,41 @@
|
|
|
39
26
|
],
|
|
40
27
|
"author": "Evan You",
|
|
41
28
|
"license": "MIT",
|
|
42
|
-
"homepage": "https://github.com/vuejs/vitepress/tree/
|
|
29
|
+
"homepage": "https://github.com/vuejs/vitepress/tree/main/#readme",
|
|
43
30
|
"bugs": {
|
|
44
31
|
"url": "https://github.com/vuejs/vitepress/issues"
|
|
45
32
|
},
|
|
33
|
+
"engines": {
|
|
34
|
+
"node": ">=14.0.0"
|
|
35
|
+
},
|
|
36
|
+
"gitHooks": {
|
|
37
|
+
"pre-commit": "lint-staged"
|
|
38
|
+
},
|
|
39
|
+
"lint-staged": {
|
|
40
|
+
"*.js": [
|
|
41
|
+
"prettier --write"
|
|
42
|
+
],
|
|
43
|
+
"*.ts": [
|
|
44
|
+
"prettier --parser=typescript --write"
|
|
45
|
+
]
|
|
46
|
+
},
|
|
46
47
|
"dependencies": {
|
|
47
|
-
"@docsearch/css": "^3.0.0
|
|
48
|
-
"@docsearch/js": "^3.0.0
|
|
49
|
-
"@vitejs/plugin-vue": "^2.2
|
|
48
|
+
"@docsearch/css": "^3.0.0",
|
|
49
|
+
"@docsearch/js": "^3.0.0",
|
|
50
|
+
"@vitejs/plugin-vue": "^2.3.2",
|
|
51
|
+
"@vueuse/core": "^8.5.0",
|
|
52
|
+
"body-scroll-lock": "^4.0.0-beta.0",
|
|
50
53
|
"prismjs": "^1.25.0",
|
|
51
|
-
"vite": "^2.
|
|
52
|
-
"vue": "
|
|
54
|
+
"vite": "^2.9.7",
|
|
55
|
+
"vue": "3.2.33"
|
|
53
56
|
},
|
|
54
57
|
"devDependencies": {
|
|
55
|
-
"@microsoft/api-extractor": "^7.
|
|
58
|
+
"@microsoft/api-extractor": "^7.23.1",
|
|
56
59
|
"@rollup/plugin-alias": "^3.1.5",
|
|
57
60
|
"@rollup/plugin-commonjs": "^20.0.0",
|
|
58
61
|
"@rollup/plugin-json": "^4.1.0",
|
|
59
62
|
"@rollup/plugin-node-resolve": "^13.0.4",
|
|
63
|
+
"@types/body-scroll-lock": "^3.1.0",
|
|
60
64
|
"@types/compression": "^1.7.0",
|
|
61
65
|
"@types/cross-spawn": "^6.0.2",
|
|
62
66
|
"@types/debug": "^4.1.7",
|
|
@@ -66,6 +70,7 @@
|
|
|
66
70
|
"@types/lru-cache": "^5.1.0",
|
|
67
71
|
"@types/markdown-it": "^12.0.1",
|
|
68
72
|
"@types/micromatch": "^4.0.2",
|
|
73
|
+
"@types/minimist": "^1.2.2",
|
|
69
74
|
"@types/node": "^15.6.1",
|
|
70
75
|
"@types/polka": "^0.5.3",
|
|
71
76
|
"chalk": "^4.1.1",
|
|
@@ -102,8 +107,8 @@
|
|
|
102
107
|
"rollup-plugin-esbuild": "^4.8.2",
|
|
103
108
|
"semver": "^7.3.5",
|
|
104
109
|
"sirv": "^1.0.12",
|
|
105
|
-
"typescript": "^4.
|
|
106
|
-
"vitest": "^0.
|
|
110
|
+
"typescript": "^4.6.4",
|
|
111
|
+
"vitest": "^0.10.4",
|
|
107
112
|
"yorkie": "^2.0.0"
|
|
108
113
|
},
|
|
109
114
|
"scripts": {
|
|
@@ -124,12 +129,13 @@
|
|
|
124
129
|
"lint:js": "prettier --check --write \"{bin,docs,scripts,src}/**/*.js\"",
|
|
125
130
|
"lint:ts": "prettier --check --write --parser typescript \"{__tests__,src,docs,types}/**/*.ts\"",
|
|
126
131
|
"test": "vitest run __tests__ -c __tests__/vitest.config.js --global",
|
|
132
|
+
"test:all": "run-s lint test",
|
|
127
133
|
"changelog": "conventional-changelog -p angular -i CHANGELOG.md -s",
|
|
128
134
|
"release": "node scripts/release.js",
|
|
129
135
|
"docs": "run-p dev docs-dev",
|
|
130
136
|
"docs-dev": "node ./bin/vitepress dev docs",
|
|
131
137
|
"docs-debug": "node --inspect-brk ./bin/vitepress dev docs",
|
|
132
|
-
"docs-build": "
|
|
138
|
+
"docs-build": "run-s build docs-build-only",
|
|
133
139
|
"docs-build-only": "node ./bin/vitepress build docs",
|
|
134
140
|
"docs-serve": "node ./bin/vitepress serve docs",
|
|
135
141
|
"ci-docs": "run-s build docs-build"
|
package/types/default-theme.d.ts
CHANGED
|
@@ -1,127 +1,170 @@
|
|
|
1
1
|
export namespace DefaultTheme {
|
|
2
2
|
export interface Config {
|
|
3
|
-
logo?: string
|
|
4
|
-
nav?: NavItem[] | false
|
|
5
|
-
sidebar?: SideBarConfig | MultiSideBarConfig
|
|
6
|
-
|
|
7
3
|
/**
|
|
8
|
-
*
|
|
4
|
+
* The logo file of the site.
|
|
9
5
|
*
|
|
10
|
-
* @example
|
|
6
|
+
* @example '/logo.svg'
|
|
11
7
|
*/
|
|
12
|
-
|
|
8
|
+
logo?: string
|
|
13
9
|
|
|
14
10
|
/**
|
|
15
|
-
*
|
|
16
|
-
* depending on the provided repo.
|
|
17
|
-
*
|
|
18
|
-
* @example `"Contribute!"`
|
|
11
|
+
* The nav items.
|
|
19
12
|
*/
|
|
20
|
-
|
|
13
|
+
nav?: NavItem[]
|
|
21
14
|
|
|
22
15
|
/**
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* @example `"vuejs/docs-next"`
|
|
16
|
+
* The sidebar items.
|
|
26
17
|
*/
|
|
27
|
-
|
|
18
|
+
sidebar?: Sidebar
|
|
28
19
|
|
|
29
20
|
/**
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
* @example `"docs"`
|
|
21
|
+
* Info for the edit link. If it's undefined, the edit link feature will
|
|
22
|
+
* be disabled.
|
|
33
23
|
*/
|
|
34
|
-
|
|
24
|
+
editLink?: EditLink
|
|
35
25
|
|
|
36
26
|
/**
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
* @example `"next"`
|
|
27
|
+
* The social links to be displayed at the end of the nav bar. Perfect for
|
|
28
|
+
* placing links to social services such as GitHub, Twitter, Facebook, etc.
|
|
40
29
|
*/
|
|
41
|
-
|
|
30
|
+
socialLinks?: SocialLink[]
|
|
42
31
|
|
|
43
32
|
/**
|
|
44
|
-
*
|
|
33
|
+
* The footer configuration.
|
|
45
34
|
*/
|
|
46
|
-
|
|
35
|
+
footer?: Footer
|
|
47
36
|
|
|
48
37
|
/**
|
|
49
|
-
*
|
|
38
|
+
* Adds locale menu to the nav. This option should be used when you have
|
|
39
|
+
* your translated sites outside of the project.
|
|
50
40
|
*/
|
|
51
|
-
|
|
41
|
+
localeLinks?: LocaleLinks
|
|
52
42
|
|
|
53
43
|
/**
|
|
54
|
-
*
|
|
55
|
-
* If given a string, it will be displayed as a prefix (default value:
|
|
56
|
-
* "Last Updated").
|
|
44
|
+
* The algolia options. Leave it undefined to disable the search feature.
|
|
57
45
|
*/
|
|
58
|
-
lastUpdated?: string | boolean
|
|
59
|
-
|
|
60
|
-
prevLinks?: boolean
|
|
61
|
-
nextLinks?: boolean
|
|
62
|
-
|
|
63
|
-
locales?: Record<string, LocaleConfig & Omit<Config, 'locales'>>
|
|
64
|
-
|
|
65
46
|
algolia?: AlgoliaSearchOptions
|
|
66
47
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}
|
|
48
|
+
/**
|
|
49
|
+
* The carbon ads options. Leave it undefined to disable the ads feature.
|
|
50
|
+
*/
|
|
51
|
+
carbonAds?: CarbonAdsOptions
|
|
72
52
|
}
|
|
73
53
|
|
|
74
|
-
//
|
|
54
|
+
// nav -----------------------------------------------------------------------
|
|
75
55
|
|
|
76
56
|
export type NavItem = NavItemWithLink | NavItemWithChildren
|
|
77
57
|
|
|
78
|
-
export
|
|
58
|
+
export type NavItemWithLink = {
|
|
79
59
|
text: string
|
|
80
|
-
target?: string
|
|
81
|
-
rel?: string
|
|
82
|
-
ariaLabel?: string
|
|
83
|
-
activeMatch?: string
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
export interface NavItemWithLink extends NavItemBase {
|
|
87
60
|
link: string
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* `activeMatch` is expected to be a regex string. We can't use actual
|
|
64
|
+
* RegExp object here because it isn't serializable
|
|
65
|
+
*/
|
|
66
|
+
activeMatch?: string
|
|
88
67
|
}
|
|
89
68
|
|
|
90
|
-
export interface NavItemWithChildren
|
|
69
|
+
export interface NavItemWithChildren {
|
|
70
|
+
text?: string
|
|
91
71
|
items: NavItemWithLink[]
|
|
92
72
|
}
|
|
93
73
|
|
|
94
74
|
// sidebar -------------------------------------------------------------------
|
|
95
75
|
|
|
96
|
-
export type
|
|
76
|
+
export type Sidebar = SidebarGroup[] | SidebarMulti
|
|
97
77
|
|
|
98
|
-
export interface
|
|
99
|
-
[path: string]:
|
|
78
|
+
export interface SidebarMulti {
|
|
79
|
+
[path: string]: SidebarGroup[]
|
|
100
80
|
}
|
|
101
81
|
|
|
102
|
-
export
|
|
82
|
+
export interface SidebarGroup {
|
|
83
|
+
text: string
|
|
84
|
+
items: SidebarItem[]
|
|
85
|
+
}
|
|
103
86
|
|
|
104
|
-
export interface
|
|
87
|
+
export interface SidebarItem {
|
|
105
88
|
text: string
|
|
106
89
|
link: string
|
|
107
90
|
}
|
|
108
91
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
92
|
+
// edit link -----------------------------------------------------------------
|
|
93
|
+
|
|
94
|
+
export interface EditLink {
|
|
95
|
+
/**
|
|
96
|
+
* Repo of the site.
|
|
97
|
+
*
|
|
98
|
+
* @example 'vuejs/docs'
|
|
99
|
+
*/
|
|
100
|
+
repo: string
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* Branch of the repo.
|
|
104
|
+
*
|
|
105
|
+
* @default 'main'
|
|
106
|
+
*/
|
|
107
|
+
branch?: string
|
|
112
108
|
|
|
113
109
|
/**
|
|
114
|
-
*
|
|
110
|
+
* If your docs are not at the root of the repo.
|
|
111
|
+
*
|
|
112
|
+
* @example 'docs'
|
|
115
113
|
*/
|
|
116
|
-
|
|
114
|
+
dir?: string
|
|
117
115
|
|
|
118
|
-
|
|
116
|
+
/**
|
|
117
|
+
* Custom text for edit link.
|
|
118
|
+
*
|
|
119
|
+
* @default 'Edit this page'
|
|
120
|
+
*/
|
|
121
|
+
text?: string
|
|
119
122
|
}
|
|
120
123
|
|
|
121
|
-
//
|
|
122
|
-
|
|
124
|
+
// social link ---------------------------------------------------------------
|
|
125
|
+
|
|
126
|
+
export interface SocialLink {
|
|
127
|
+
icon: SocialLinkIcon
|
|
128
|
+
link: string
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
export type SocialLinkIcon =
|
|
132
|
+
| 'discord'
|
|
133
|
+
| 'facebook'
|
|
134
|
+
| 'github'
|
|
135
|
+
| 'instagram'
|
|
136
|
+
| 'linkedin'
|
|
137
|
+
| 'slack'
|
|
138
|
+
| 'twitter'
|
|
139
|
+
| 'youtube'
|
|
140
|
+
|
|
141
|
+
// footer --------------------------------------------------------------------
|
|
142
|
+
|
|
143
|
+
export interface Footer {
|
|
144
|
+
message?: string
|
|
145
|
+
copyright?: string
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
// locales -------------------------------------------------------------------
|
|
149
|
+
|
|
150
|
+
export interface LocaleLinks {
|
|
151
|
+
text: string
|
|
152
|
+
items: LocaleLink[]
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
export interface LocaleLink {
|
|
156
|
+
text: string
|
|
157
|
+
link: string
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
// algolia ------------------------------------------------------------------
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* The Algolia search options. Partially copied from
|
|
164
|
+
* `@docsearch/react/dist/esm/DocSearch.d.ts`
|
|
165
|
+
*/
|
|
123
166
|
export interface AlgoliaSearchOptions {
|
|
124
|
-
appId
|
|
167
|
+
appId: string
|
|
125
168
|
apiKey: string
|
|
126
169
|
indexName: string
|
|
127
170
|
placeholder?: string
|
|
@@ -130,17 +173,11 @@ export namespace DefaultTheme {
|
|
|
130
173
|
initialQuery?: string
|
|
131
174
|
}
|
|
132
175
|
|
|
133
|
-
//
|
|
176
|
+
// carbon ads ----------------------------------------------------------------
|
|
134
177
|
|
|
135
|
-
export interface
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
selectText?: string
|
|
140
|
-
|
|
141
|
-
/**
|
|
142
|
-
* Label for this locale in the language dropdown.
|
|
143
|
-
*/
|
|
144
|
-
label?: string
|
|
178
|
+
export interface CarbonAdsOptions {
|
|
179
|
+
carbon: string
|
|
180
|
+
custom?: string
|
|
181
|
+
placement: string
|
|
145
182
|
}
|
|
146
183
|
}
|
package/types/shared.d.ts
CHANGED
|
@@ -11,19 +11,30 @@ export interface PageData {
|
|
|
11
11
|
lastUpdated?: number
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
+
export interface Header {
|
|
15
|
+
level: number
|
|
16
|
+
title: string
|
|
17
|
+
slug: string
|
|
18
|
+
}
|
|
19
|
+
|
|
14
20
|
export interface SiteData<ThemeConfig = any> {
|
|
15
21
|
base: string
|
|
22
|
+
|
|
16
23
|
/**
|
|
17
24
|
* Language of the site as it should be set on the `html` element.
|
|
25
|
+
*
|
|
18
26
|
* @example `en-US`, `zh-CN`
|
|
19
27
|
*/
|
|
20
28
|
lang: string
|
|
29
|
+
|
|
21
30
|
title: string
|
|
22
31
|
description: string
|
|
23
32
|
head: HeadConfig[]
|
|
33
|
+
appearance: boolean
|
|
24
34
|
themeConfig: ThemeConfig
|
|
25
35
|
scrollOffset: number | string
|
|
26
36
|
locales: Record<string, LocaleConfig>
|
|
37
|
+
|
|
27
38
|
/**
|
|
28
39
|
* Available locales for the site when it has defined `locales` in its
|
|
29
40
|
* `themeConfig`. This object is otherwise empty. Keys are paths like `/` or
|
|
@@ -50,12 +61,6 @@ export type HeadConfig =
|
|
|
50
61
|
| [string, Record<string, string>]
|
|
51
62
|
| [string, Record<string, string>, string]
|
|
52
63
|
|
|
53
|
-
export interface Header {
|
|
54
|
-
level: number
|
|
55
|
-
title: string
|
|
56
|
-
slug: string
|
|
57
|
-
}
|
|
58
|
-
|
|
59
64
|
export interface LocaleConfig {
|
|
60
65
|
lang: string
|
|
61
66
|
title?: string
|