vitepress 0.17.2 → 0.19.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.
Files changed (107) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +2 -6
  3. package/dist/client/app/router.js +2 -0
  4. package/dist/client/index.d.ts +127 -9
  5. package/dist/node/cli.js +289 -34
  6. package/dist/node/index.d.ts +138 -4
  7. package/dist/node/index.js +33 -17
  8. package/dist/node/serve-dbc4b971.js +47774 -0
  9. package/package.json +39 -28
  10. package/types/shared.d.ts +1 -1
  11. package/dist/client/app/components/ClientOnly.d.ts +0 -3
  12. package/dist/client/app/components/Content.d.ts +0 -3
  13. package/dist/client/app/composables/head.d.ts +0 -4
  14. package/dist/client/app/composables/preFetch.d.ts +0 -1
  15. package/dist/client/app/data.d.ts +0 -18
  16. package/dist/client/app/index.d.ts +0 -6
  17. package/dist/client/app/router.d.ts +0 -20
  18. package/dist/client/app/theme.d.ts +0 -13
  19. package/dist/client/app/utils.d.ts +0 -11
  20. package/dist/client/shared.d.ts +0 -12
  21. package/dist/client/theme-default/components/SideBarLink.d.ts +0 -6
  22. package/dist/client/theme-default/composables/activeSidebarLink.d.ts +0 -1
  23. package/dist/client/theme-default/composables/editLink.d.ts +0 -4
  24. package/dist/client/theme-default/composables/nav.d.ts +0 -2
  25. package/dist/client/theme-default/composables/navLink.d.ts +0 -15
  26. package/dist/client/theme-default/composables/nextAndPrevLinks.d.ts +0 -5
  27. package/dist/client/theme-default/composables/repo.d.ts +0 -5
  28. package/dist/client/theme-default/composables/sideBar.d.ts +0 -2
  29. package/dist/client/theme-default/config.d.ts +0 -112
  30. package/dist/client/theme-default/index.d.ts +0 -8
  31. package/dist/client/theme-default/support/sideBar.d.ts +0 -18
  32. package/dist/client/theme-default/utils.d.ts +0 -25
  33. package/dist/node/alias.d.ts +0 -8
  34. package/dist/node/alias.js +0 -50
  35. package/dist/node/alias.js.map +0 -1
  36. package/dist/node/build/build.d.ts +0 -2
  37. package/dist/node/build/build.js +0 -48
  38. package/dist/node/build/build.js.map +0 -1
  39. package/dist/node/build/bundle.d.ts +0 -6
  40. package/dist/node/build/bundle.js +0 -97
  41. package/dist/node/build/bundle.js.map +0 -1
  42. package/dist/node/build/render.d.ts +0 -4
  43. package/dist/node/build/render.js +0 -128
  44. package/dist/node/build/render.js.map +0 -1
  45. package/dist/node/cli.d.ts +0 -1
  46. package/dist/node/cli.js.map +0 -1
  47. package/dist/node/config.d.ts +0 -52
  48. package/dist/node/config.js +0 -119
  49. package/dist/node/config.js.map +0 -1
  50. package/dist/node/index.js.map +0 -1
  51. package/dist/node/markdown/markdown.d.ts +0 -25
  52. package/dist/node/markdown/markdown.js +0 -78
  53. package/dist/node/markdown/markdown.js.map +0 -1
  54. package/dist/node/markdown/plugins/component.d.ts +0 -2
  55. package/dist/node/markdown/plugins/component.js +0 -83
  56. package/dist/node/markdown/plugins/component.js.map +0 -1
  57. package/dist/node/markdown/plugins/containers.d.ts +0 -2
  58. package/dist/node/markdown/plugins/containers.js +0 -34
  59. package/dist/node/markdown/plugins/containers.js.map +0 -1
  60. package/dist/node/markdown/plugins/header.d.ts +0 -2
  61. package/dist/node/markdown/plugins/header.js +0 -25
  62. package/dist/node/markdown/plugins/header.js.map +0 -1
  63. package/dist/node/markdown/plugins/highlight.d.ts +0 -1
  64. package/dist/node/markdown/plugins/highlight.js +0 -49
  65. package/dist/node/markdown/plugins/highlight.js.map +0 -1
  66. package/dist/node/markdown/plugins/highlightLines.d.ts +0 -2
  67. package/dist/node/markdown/plugins/highlightLines.js +0 -46
  68. package/dist/node/markdown/plugins/highlightLines.js.map +0 -1
  69. package/dist/node/markdown/plugins/hoist.d.ts +0 -2
  70. package/dist/node/markdown/plugins/hoist.js +0 -22
  71. package/dist/node/markdown/plugins/hoist.js.map +0 -1
  72. package/dist/node/markdown/plugins/lineNumbers.d.ts +0 -2
  73. package/dist/node/markdown/plugins/lineNumbers.js +0 -23
  74. package/dist/node/markdown/plugins/lineNumbers.js.map +0 -1
  75. package/dist/node/markdown/plugins/link.d.ts +0 -2
  76. package/dist/node/markdown/plugins/link.js +0 -66
  77. package/dist/node/markdown/plugins/link.js.map +0 -1
  78. package/dist/node/markdown/plugins/preWrapper.d.ts +0 -2
  79. package/dist/node/markdown/plugins/preWrapper.js +0 -22
  80. package/dist/node/markdown/plugins/preWrapper.js.map +0 -1
  81. package/dist/node/markdown/plugins/slugify.d.ts +0 -1
  82. package/dist/node/markdown/plugins/slugify.js +0 -26
  83. package/dist/node/markdown/plugins/slugify.js.map +0 -1
  84. package/dist/node/markdown/plugins/snippet.d.ts +0 -2
  85. package/dist/node/markdown/plugins/snippet.js +0 -146
  86. package/dist/node/markdown/plugins/snippet.js.map +0 -1
  87. package/dist/node/markdownToVue.d.ts +0 -9
  88. package/dist/node/markdownToVue.js +0 -145
  89. package/dist/node/markdownToVue.js.map +0 -1
  90. package/dist/node/plugin.d.ts +0 -3
  91. package/dist/node/plugin.js +0 -199
  92. package/dist/node/plugin.js.map +0 -1
  93. package/dist/node/serve/serve.d.ts +0 -5
  94. package/dist/node/serve/serve.js +0 -36
  95. package/dist/node/serve/serve.js.map +0 -1
  96. package/dist/node/server.d.ts +0 -2
  97. package/dist/node/server.js +0 -18
  98. package/dist/node/server.js.map +0 -1
  99. package/dist/node/shared.d.ts +0 -12
  100. package/dist/node/shared.js +0 -70
  101. package/dist/node/shared.js.map +0 -1
  102. package/dist/node/utils/parseHeader.d.ts +0 -3
  103. package/dist/node/utils/parseHeader.js +0 -53
  104. package/dist/node/utils/parseHeader.js.map +0 -1
  105. package/dist/node/utils/slash.d.ts +0 -1
  106. package/dist/node/utils/slash.js +0 -8
  107. package/dist/node/utils/slash.js.map +0 -1
@@ -1,145 +0,0 @@
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.createMarkdownToVueRenderFn = void 0;
7
- const fs_1 = __importDefault(require("fs"));
8
- const path_1 = __importDefault(require("path"));
9
- const gray_matter_1 = __importDefault(require("gray-matter"));
10
- const lru_cache_1 = __importDefault(require("lru-cache"));
11
- const markdown_1 = require("./markdown/markdown");
12
- const parseHeader_1 = require("./utils/parseHeader");
13
- const slash_1 = require("./utils/slash");
14
- const chalk_1 = __importDefault(require("chalk"));
15
- const debug = require('debug')('vitepress:md');
16
- const cache = new lru_cache_1.default({ max: 1024 });
17
- const includesRE = /<!--\s*@include:\s*(.*?)\s*-->/g;
18
- function createMarkdownToVueRenderFn(srcDir, options = {}, pages, userDefines, isBuild = false) {
19
- const md = markdown_1.createMarkdownRenderer(srcDir, options);
20
- pages = pages.map((p) => slash_1.slash(p.replace(/\.md$/, '')));
21
- return (src, file, publicDir) => {
22
- const relativePath = slash_1.slash(path_1.default.relative(srcDir, file));
23
- const dir = path_1.default.dirname(file);
24
- const cached = cache.get(src);
25
- if (cached) {
26
- debug(`[cache hit] ${relativePath}`);
27
- return cached;
28
- }
29
- const start = Date.now();
30
- // resolve includes
31
- let includes = [];
32
- src = src.replace(includesRE, (_, m1) => {
33
- const includePath = path_1.default.join(dir, m1);
34
- console.log(includePath);
35
- const content = fs_1.default.readFileSync(includePath, 'utf-8');
36
- includes.push(slash_1.slash(includePath));
37
- return content;
38
- });
39
- const { content, data: frontmatter } = gray_matter_1.default(src);
40
- let { html, data } = md.render(content);
41
- if (isBuild) {
42
- // avoid env variables being replaced by vite
43
- html = html
44
- .replace(/\bimport\.meta/g, 'import.<wbr/>meta')
45
- .replace(/\bprocess\.env/g, 'process.<wbr/>env');
46
- // also avoid replacing vite user defines
47
- if (userDefines) {
48
- const regex = new RegExp(`\\b(${Object.keys(userDefines)
49
- .map((key) => key.replace(/[-[\]/{}()*+?.\\^$|]/g, '\\$&'))
50
- .join('|')})`, 'g');
51
- html = html.replace(regex, (_) => `${_[0]}<wbr/>${_.slice(1)}`);
52
- }
53
- }
54
- // validate data.links
55
- const deadLinks = [];
56
- if (data.links) {
57
- const dir = path_1.default.dirname(file);
58
- for (let url of data.links) {
59
- url = url.replace(/[?#].*$/, '').replace(/\.(html|md)$/, '');
60
- if (url.endsWith('/'))
61
- url += `index`;
62
- const resolved = slash_1.slash(url.startsWith('/')
63
- ? url.slice(1)
64
- : path_1.default.relative(srcDir, path_1.default.resolve(dir, url)));
65
- if (!pages.includes(resolved) &&
66
- !fs_1.default.existsSync(path_1.default.resolve(dir, publicDir, `${resolved}.html`))) {
67
- console.warn(chalk_1.default.yellow(`\n(!) Found dead link ${chalk_1.default.cyan(url)} in file ${chalk_1.default.white.dim(file)}`));
68
- deadLinks.push(url);
69
- }
70
- }
71
- }
72
- const pageData = {
73
- title: inferTitle(frontmatter, content),
74
- description: inferDescription(frontmatter),
75
- frontmatter,
76
- headers: data.headers,
77
- relativePath,
78
- // TODO use git timestamp?
79
- lastUpdated: Math.round(fs_1.default.statSync(file).mtimeMs)
80
- };
81
- const vueSrc = genPageDataCode(data.hoistedTags || [], pageData).join('\n') +
82
- `\n<template><div>${html}</div></template>`;
83
- debug(`[render] ${file} in ${Date.now() - start}ms.`);
84
- const result = {
85
- vueSrc,
86
- pageData,
87
- deadLinks,
88
- includes
89
- };
90
- cache.set(src, result);
91
- return result;
92
- };
93
- }
94
- exports.createMarkdownToVueRenderFn = createMarkdownToVueRenderFn;
95
- const scriptRE = /<\/script>/;
96
- const scriptSetupRE = /<\s*script[^>]*\bsetup\b[^>]*/;
97
- const defaultExportRE = /((?:^|\n|;)\s*)export(\s*)default/;
98
- const namedDefaultExportRE = /((?:^|\n|;)\s*)export(.+)as(\s*)default/;
99
- function genPageDataCode(tags, data) {
100
- const code = `\nexport const __pageData = ${JSON.stringify(JSON.stringify(data))}`;
101
- const existingScriptIndex = tags.findIndex((tag) => {
102
- return scriptRE.test(tag) && !scriptSetupRE.test(tag);
103
- });
104
- if (existingScriptIndex > -1) {
105
- const tagSrc = tags[existingScriptIndex];
106
- // user has <script> tag inside markdown
107
- // if it doesn't have export default it will error out on build
108
- const hasDefaultExport = defaultExportRE.test(tagSrc) || namedDefaultExportRE.test(tagSrc);
109
- tags[existingScriptIndex] = tagSrc.replace(scriptRE, code + (hasDefaultExport ? `` : `\nexport default{}\n`) + `</script>`);
110
- }
111
- else {
112
- tags.unshift(`<script>${code}\nexport default {}</script>`);
113
- }
114
- return tags;
115
- }
116
- const inferTitle = (frontmatter, content) => {
117
- if (frontmatter.home) {
118
- return 'Home';
119
- }
120
- if (frontmatter.title) {
121
- return parseHeader_1.deeplyParseHeader(frontmatter.title);
122
- }
123
- const match = content.match(/^\s*#+\s+(.*)/m);
124
- if (match) {
125
- return parseHeader_1.deeplyParseHeader(match[1].trim());
126
- }
127
- return '';
128
- };
129
- const inferDescription = (frontmatter) => {
130
- const { description, head } = frontmatter;
131
- if (description !== undefined) {
132
- return description;
133
- }
134
- return (head && getHeadMetaContent(head, 'description')) || '';
135
- };
136
- const getHeadMetaContent = (head, name) => {
137
- if (!head || !head.length) {
138
- return undefined;
139
- }
140
- const meta = head.find(([tag, attrs = {}]) => {
141
- return tag === 'meta' && attrs.name === name && attrs.content;
142
- });
143
- return meta && meta[1].content;
144
- };
145
- //# sourceMappingURL=markdownToVue.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"markdownToVue.js","sourceRoot":"","sources":["../../src/node/markdownToVue.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { Plugin } from 'vite';
2
- import { SiteConfig } from './config';
3
- export declare function createVitePressPlugin(root: string, { srcDir, configPath, alias, markdown, site, vue: userVuePluginOptions, vite: userViteConfig, pages }: SiteConfig, ssr?: boolean, pageToHashMap?: Record<string, string>): Plugin[];
@@ -1,199 +0,0 @@
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.createVitePressPlugin = void 0;
7
- const path_1 = __importDefault(require("path"));
8
- const vite_1 = require("vite");
9
- const config_1 = require("./config");
10
- const markdownToVue_1 = require("./markdownToVue");
11
- const alias_1 = require("./alias");
12
- const plugin_vue_1 = __importDefault(require("@vitejs/plugin-vue"));
13
- const slash_1 = require("./utils/slash");
14
- const hashRE = /\.(\w+)\.js$/;
15
- const staticInjectMarkerRE = /\b(const _hoisted_\d+ = \/\*#__PURE__\*\/createStaticVNode)\("(.*)", (\d+)\)/g;
16
- const staticStripRE = /__VP_STATIC_START__.*?__VP_STATIC_END__/g;
17
- const staticRestoreRE = /__VP_STATIC_(START|END)__/g;
18
- const isPageChunk = (chunk) => !!(chunk.type === 'chunk' &&
19
- chunk.isEntry &&
20
- chunk.facadeModuleId &&
21
- chunk.facadeModuleId.endsWith('.md'));
22
- function createVitePressPlugin(root, { srcDir, configPath, alias, markdown, site, vue: userVuePluginOptions, vite: userViteConfig, pages }, ssr = false, pageToHashMap) {
23
- let markdownToVue;
24
- const vuePlugin = plugin_vue_1.default({
25
- include: [/\.vue$/, /\.md$/],
26
- ...userVuePluginOptions
27
- });
28
- let siteData = site;
29
- let hasDeadLinks = false;
30
- let config;
31
- const vitePressPlugin = {
32
- name: 'vitepress',
33
- configResolved(resolvedConfig) {
34
- config = resolvedConfig;
35
- markdownToVue = markdownToVue_1.createMarkdownToVueRenderFn(srcDir, markdown, pages, config.define, config.command === 'build');
36
- },
37
- config() {
38
- var _a, _b;
39
- const baseConfig = vite_1.defineConfig({
40
- resolve: {
41
- alias
42
- },
43
- define: {
44
- __CARBON__: !!((_a = site.themeConfig.carbonAds) === null || _a === void 0 ? void 0 : _a.carbon),
45
- __BSA__: !!((_b = site.themeConfig.carbonAds) === null || _b === void 0 ? void 0 : _b.custom),
46
- __ALGOLIA__: !!site.themeConfig.algolia
47
- },
48
- optimizeDeps: {
49
- // force include vue to avoid duplicated copies when linked + optimized
50
- include: ['vue'],
51
- exclude: ['@docsearch/js']
52
- },
53
- server: {
54
- fs: {
55
- allow: [alias_1.DIST_CLIENT_PATH, srcDir, process.cwd()]
56
- }
57
- }
58
- });
59
- return userViteConfig
60
- ? vite_1.mergeConfig(userViteConfig, baseConfig)
61
- : baseConfig;
62
- },
63
- resolveId(id) {
64
- if (id === alias_1.SITE_DATA_REQUEST_PATH) {
65
- return alias_1.SITE_DATA_REQUEST_PATH;
66
- }
67
- },
68
- load(id) {
69
- if (id === alias_1.SITE_DATA_REQUEST_PATH) {
70
- return `export default ${JSON.stringify(JSON.stringify(siteData))}`;
71
- }
72
- },
73
- transform(code, id) {
74
- if (id.endsWith('.md')) {
75
- // transform .md files into vueSrc so plugin-vue can handle it
76
- const { vueSrc, deadLinks, includes } = markdownToVue(code, id, config.publicDir);
77
- if (deadLinks.length) {
78
- hasDeadLinks = true;
79
- }
80
- if (includes.length) {
81
- includes.forEach((i) => {
82
- this.addWatchFile(i);
83
- });
84
- }
85
- return vueSrc;
86
- }
87
- },
88
- renderStart() {
89
- if (hasDeadLinks) {
90
- throw new Error(`One or more pages contain dead links.`);
91
- }
92
- },
93
- configureServer(server) {
94
- server.watcher.add(configPath);
95
- // serve our index.html after vite history fallback
96
- return () => {
97
- server.middlewares.use((req, res, next) => {
98
- if (req.url.endsWith('.html')) {
99
- res.statusCode = 200;
100
- res.end(`
101
- <!DOCTYPE html>
102
- <html>
103
- <head>
104
- <title></title>
105
- <meta charset="utf-8">
106
- <meta name="viewport" content="width=device-width,initial-scale=1">
107
- <meta name="description" content="">
108
- </head>
109
- <body>
110
- <div id="app"></div>
111
- <script type="module" src="/@fs/${alias_1.APP_PATH}/index.js"></script>
112
- </body>
113
- </html>`);
114
- return;
115
- }
116
- next();
117
- });
118
- };
119
- },
120
- renderChunk(code, chunk) {
121
- if (!ssr && isPageChunk(chunk)) {
122
- // For each page chunk, inject marker for start/end of static strings.
123
- // we do this here because in generateBundle the chunks would have been
124
- // minified and we won't be able to safely locate the strings.
125
- // Using a regexp relies on specific output from Vue compiler core,
126
- // which is a reasonable trade-off considering the massive perf win over
127
- // a full AST parse.
128
- code = code.replace(staticInjectMarkerRE, '$1("__VP_STATIC_START__$2__VP_STATIC_END__", $3)');
129
- return code;
130
- }
131
- return null;
132
- },
133
- generateBundle(_options, bundle) {
134
- if (ssr) {
135
- // ssr build:
136
- // delete all asset chunks
137
- for (const name in bundle) {
138
- if (bundle[name].type === 'asset') {
139
- delete bundle[name];
140
- }
141
- }
142
- }
143
- else {
144
- // client build:
145
- // for each .md entry chunk, adjust its name to its correct path.
146
- for (const name in bundle) {
147
- const chunk = bundle[name];
148
- if (isPageChunk(chunk)) {
149
- // record page -> hash relations
150
- const hash = chunk.fileName.match(hashRE)[1];
151
- pageToHashMap[chunk.name.toLowerCase()] = hash;
152
- // inject another chunk with the content stripped
153
- bundle[name + '-lean'] = {
154
- ...chunk,
155
- fileName: chunk.fileName.replace(/\.js$/, '.lean.js'),
156
- code: chunk.code.replace(staticStripRE, ``)
157
- };
158
- // remove static markers from original code
159
- chunk.code = chunk.code.replace(staticRestoreRE, '');
160
- }
161
- }
162
- }
163
- },
164
- async handleHotUpdate(ctx) {
165
- // handle config hmr
166
- const { file, read, server } = ctx;
167
- if (file === configPath) {
168
- const newData = await config_1.resolveSiteData(root);
169
- if (newData.base !== siteData.base) {
170
- console.warn(`[vitepress]: config.base has changed. Please restart the dev server.`);
171
- }
172
- siteData = newData;
173
- return [server.moduleGraph.getModuleById(alias_1.SITE_DATA_REQUEST_PATH)];
174
- }
175
- // hot reload .md files as .vue files
176
- if (file.endsWith('.md')) {
177
- const content = await read();
178
- const { pageData, vueSrc } = markdownToVue(content, file, config.publicDir);
179
- // notify the client to update page data
180
- server.ws.send({
181
- type: 'custom',
182
- event: 'vitepress:pageData',
183
- data: {
184
- path: `/${slash_1.slash(path_1.default.relative(srcDir, file))}`,
185
- pageData
186
- }
187
- });
188
- // reload the content component
189
- return vuePlugin.handleHotUpdate({
190
- ...ctx,
191
- read: () => vueSrc
192
- });
193
- }
194
- }
195
- };
196
- return [vitePressPlugin, vuePlugin];
197
- }
198
- exports.createVitePressPlugin = createVitePressPlugin;
199
- //# sourceMappingURL=plugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/node/plugin.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- export interface ServeOptions {
2
- root?: string;
3
- port?: number;
4
- }
5
- export declare function serve(options?: ServeOptions): Promise<void>;
@@ -1,36 +0,0 @@
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.serve = void 0;
7
- const sirv_1 = __importDefault(require("sirv"));
8
- const compression_1 = __importDefault(require("compression"));
9
- const config_1 = require("../config");
10
- async function serve(options = {}) {
11
- const port = options.port !== undefined ? options.port : 5000;
12
- const site = await config_1.resolveConfig(options.root);
13
- const compress = compression_1.default();
14
- const serve = sirv_1.default(site.outDir, {
15
- etag: true,
16
- single: true,
17
- maxAge: 31536000,
18
- immutable: true,
19
- setHeaders(res, pathname) {
20
- if (!pathname.includes('/assets/')) {
21
- // force server validation for non-asset files since they are not
22
- // fingerprinted.
23
- res.setHeader('cache-control', 'no-cache');
24
- }
25
- }
26
- });
27
- require('polka')()
28
- .use(compress, serve)
29
- .listen(port, (err) => {
30
- if (err)
31
- throw err;
32
- console.log(`Built site served at http://localhost:${port}/\n`);
33
- });
34
- }
35
- exports.serve = serve;
36
- //# sourceMappingURL=serve.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../src/node/serve/serve.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AACvB,8DAAqC;AACrC,sCAAyC;AAOlC,KAAK,UAAU,KAAK,CAAC,UAAwB,EAAE;IACpD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;IAC7D,MAAM,IAAI,GAAG,MAAM,sBAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAE9C,MAAM,QAAQ,GAAG,qBAAW,EAAE,CAAA;IAC9B,MAAM,KAAK,GAAG,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE;QAC9B,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,IAAI;QACf,UAAU,CAAC,GAAG,EAAE,QAAQ;YACtB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;gBAClC,iEAAiE;gBACjE,iBAAiB;gBACjB,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAA;aAC3C;QACH,CAAC;KACF,CAAC,CAAA;IAEF,OAAO,CAAC,OAAO,CAAC,EAAE;SACf,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC;SACpB,MAAM,CAAC,IAAI,EAAE,CAAC,GAAQ,EAAE,EAAE;QACzB,IAAI,GAAG;YAAE,MAAM,GAAG,CAAA;QAClB,OAAO,CAAC,GAAG,CAAC,yCAAyC,IAAI,KAAK,CAAC,CAAA;IACjE,CAAC,CAAC,CAAA;AACN,CAAC;AAzBD,sBAyBC"}
@@ -1,2 +0,0 @@
1
- import { ServerOptions } from 'vite';
2
- export declare function createServer(root?: string, serverOptions?: ServerOptions): Promise<import("vite").ViteDevServer>;
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createServer = void 0;
4
- const vite_1 = require("vite");
5
- const config_1 = require("./config");
6
- const plugin_1 = require("./plugin");
7
- async function createServer(root = process.cwd(), serverOptions = {}) {
8
- const config = await config_1.resolveConfig(root);
9
- return vite_1.createServer({
10
- root: config.srcDir,
11
- base: config.site.base,
12
- // logLevel: 'warn',
13
- plugins: plugin_1.createVitePressPlugin(root, config),
14
- server: serverOptions
15
- });
16
- }
17
- exports.createServer = createServer;
18
- //# sourceMappingURL=server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/node/server.ts"],"names":[],"mappings":";;;AAAA,+BAAsE;AACtE,qCAAwC;AACxC,qCAAgD;AAEzC,KAAK,UAAU,YAAY,CAChC,OAAe,OAAO,CAAC,GAAG,EAAE,EAC5B,gBAA+B,EAAE;IAEjC,MAAM,MAAM,GAAG,MAAM,sBAAa,CAAC,IAAI,CAAC,CAAA;IAExC,OAAO,mBAAgB,CAAC;QACtB,IAAI,EAAE,MAAM,CAAC,MAAM;QACnB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;QACtB,oBAAoB;QACpB,OAAO,EAAE,8BAAqB,CAAC,IAAI,EAAE,MAAM,CAAC;QAC5C,MAAM,EAAE,aAAa;KACtB,CAAC,CAAA;AACJ,CAAC;AAbD,oCAaC"}
@@ -1,12 +0,0 @@
1
- import { LocaleConfig, SiteData } from '../../types/shared';
2
- export type { SiteData, PageData, HeadConfig, LocaleConfig, Header } from '../../types/shared';
3
- export declare const EXTERNAL_URL_RE: RegExp;
4
- export declare const inBrowser: boolean;
5
- export declare function createLangDictionary(siteData: {
6
- themeConfig?: Record<string, any>;
7
- locales?: Record<string, LocaleConfig>;
8
- }): Record<string, {
9
- lang: string;
10
- label: string;
11
- }>;
12
- export declare function resolveSiteDataByRoute(siteData: SiteData, route: string): SiteData;
@@ -1,70 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resolveSiteDataByRoute = exports.createLangDictionary = exports.inBrowser = exports.EXTERNAL_URL_RE = void 0;
4
- exports.EXTERNAL_URL_RE = /^https?:/i;
5
- exports.inBrowser = typeof window !== 'undefined';
6
- function findMatchRoot(route, roots) {
7
- // first match to the routes with the most deep level.
8
- roots.sort((a, b) => {
9
- const levelDelta = b.split('/').length - a.split('/').length;
10
- if (levelDelta !== 0) {
11
- return levelDelta;
12
- }
13
- else {
14
- return b.length - a.length;
15
- }
16
- });
17
- for (const r of roots) {
18
- if (route.startsWith(r))
19
- return r;
20
- }
21
- }
22
- function resolveLocales(locales, route) {
23
- const localeRoot = findMatchRoot(route, Object.keys(locales));
24
- return localeRoot ? locales[localeRoot] : undefined;
25
- }
26
- function createLangDictionary(siteData) {
27
- const { locales } = siteData.themeConfig || {};
28
- const siteLocales = siteData.locales;
29
- return locales && siteLocales
30
- ? Object.keys(locales).reduce((langs, path) => {
31
- langs[path] = {
32
- label: locales[path].label,
33
- lang: siteLocales[path].lang
34
- };
35
- return langs;
36
- }, {})
37
- : {};
38
- }
39
- exports.createLangDictionary = createLangDictionary;
40
- // this merges the locales data to the main data by the route
41
- function resolveSiteDataByRoute(siteData, route) {
42
- route = cleanRoute(siteData, route);
43
- const localeData = resolveLocales(siteData.locales || {}, route);
44
- const localeThemeConfig = resolveLocales(siteData.themeConfig.locales || {}, route);
45
- // avoid object rest spread since this is going to run in the browser
46
- // and spread is going to result in polyfill code
47
- return Object.assign({}, siteData, localeData, {
48
- themeConfig: Object.assign({}, siteData.themeConfig, localeThemeConfig, {
49
- // clean the locales to reduce the bundle size
50
- locales: {}
51
- }),
52
- lang: (localeData || siteData).lang,
53
- // clean the locales to reduce the bundle size
54
- locales: {},
55
- langs: createLangDictionary(siteData)
56
- });
57
- }
58
- exports.resolveSiteDataByRoute = resolveSiteDataByRoute;
59
- /**
60
- * Clean up the route by removing the `base` path if it's set in config.
61
- */
62
- function cleanRoute(siteData, route) {
63
- if (!exports.inBrowser) {
64
- return route;
65
- }
66
- const base = siteData.base;
67
- const baseWithoutSuffix = base.endsWith('/') ? base.slice(0, -1) : base;
68
- return route.slice(baseWithoutSuffix.length);
69
- }
70
- //# sourceMappingURL=shared.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/node/shared.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export declare const removeNonCodeWrappedHTML: (str: string) => string;
2
- export declare const parseHeader: (str: string) => string;
3
- export declare const deeplyParseHeader: (str: string) => string;
@@ -1,53 +0,0 @@
1
- "use strict";
2
- // Since VuePress needs to extract the header from the markdown source
3
- // file and display it in the sidebar or title (#238), this file simply
4
- // removes some unnecessary elements to make header displays well at
5
- // sidebar or title.
6
- //
7
- // But header's parsing in the markdown content is done by the markdown
8
- // loader based on markdown-it. markdown-it parser will will always keep
9
- // HTML in headers, so in VuePress, after being parsed by the markdown
10
- // loader, the raw HTML in headers will finally be parsed by Vue-loader.
11
- // so that we can write HTML/Vue in the header. One exception is the HTML
12
- // wrapped by <code>(markdown token: '`') tag.
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.deeplyParseHeader = exports.parseHeader = exports.removeNonCodeWrappedHTML = void 0;
15
- const parseEmojis = (str) => {
16
- const emojiData = require('markdown-it-emoji/lib/data/full.json');
17
- return String(str).replace(/:(.+?):/g, (placeholder, key) => emojiData[key] || placeholder);
18
- };
19
- const unescapeHtml = (html) => String(html)
20
- .replace(/&quot;/g, '"')
21
- .replace(/&#39;/g, "'")
22
- .replace(/&#x3A;/g, ':')
23
- .replace(/&lt;/g, '<')
24
- .replace(/&gt;/g, '>');
25
- const removeMarkdownTokens = (str) => String(str)
26
- .replace(/(\[(.[^\]]+)\]\((.[^)]+)\))/g, '$2') // []()
27
- .replace(/(`|\*{1,3}|_)(.*?[^\\])\1/g, '$2') // `{t}` | *{t}* | **{t}** | ***{t}*** | _{t}_
28
- .replace(/(\\)(\*|_|`|\!|<|\$)/g, '$2'); // remove escape char '\'
29
- const trim = (str) => str.trim();
30
- // This method remove the raw HTML but reserve the HTML wrapped by `<code>`.
31
- // e.g.
32
- // Input: "<a> b", Output: "b"
33
- // Input: "`<a>` b", Output: "`<a>` b"
34
- const removeNonCodeWrappedHTML = (str) => {
35
- return String(str).replace(/(^|[^><`\\])<.*>([^><`]|$)/g, '$1$2');
36
- };
37
- exports.removeNonCodeWrappedHTML = removeNonCodeWrappedHTML;
38
- const compose = (...processors) => {
39
- if (processors.length === 0)
40
- return (input) => input;
41
- if (processors.length === 1)
42
- return processors[0];
43
- return processors.reduce((prev, next) => {
44
- return (str) => next(prev(str));
45
- });
46
- };
47
- // Unescape html, parse emojis and remove some md tokens.
48
- exports.parseHeader = compose(unescapeHtml, parseEmojis, removeMarkdownTokens, trim);
49
- // Also clean the html that isn't wrapped by code.
50
- // Because we want to support using VUE components in headers.
51
- // e.g. https://vuepress.vuejs.org/guide/using-vue.html#badge
52
- exports.deeplyParseHeader = compose(exports.removeNonCodeWrappedHTML, exports.parseHeader);
53
- //# sourceMappingURL=parseHeader.js.map
@@ -1 +0,0 @@
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;;;AAE9C,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE;IAClC,MAAM,SAAS,GAAG,OAAO,CAAC,sCAAsC,CAAC,CAAA;IACjE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CACxB,UAAU,EACV,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,WAAW,CACpD,CAAA;AACH,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,EAAE,CACpC,MAAM,CAAC,IAAI,CAAC;KACT,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,MAAM,CAAC,GAAG,CAAC;KACR,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,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,oBAAoB,EACpB,IAAI,CACL,CAAA;AAED,kDAAkD;AAClD,8DAA8D;AAC9D,6DAA6D;AAChD,QAAA,iBAAiB,GAAG,OAAO,CAAC,gCAAwB,EAAE,mBAAW,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- export declare function slash(p: string): string;
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.slash = void 0;
4
- function slash(p) {
5
- return p.replace(/\\/g, '/');
6
- }
7
- exports.slash = slash;
8
- //# sourceMappingURL=slash.js.map
@@ -1 +0,0 @@
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"}