@vuepress/core 2.0.0-beta.27 → 2.0.0-beta.28
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/lib/app/appInit.js +3 -2
- package/lib/app/createAppMarkdown.d.ts +6 -0
- package/lib/app/createAppMarkdown.js +16 -0
- package/lib/app/createAppPages.js +9 -1
- package/lib/app/createBaseApp.js +0 -3
- package/lib/app/prepare/preparePagesRoutes.js +4 -4
- package/lib/page/createPage.d.ts +1 -1
- package/lib/page/createPage.js +18 -10
- package/lib/page/index.d.ts +1 -2
- package/lib/page/index.js +1 -2
- package/lib/page/resolvePageContent.js +1 -1
- package/lib/page/resolvePageRouteMeta.d.ts +7 -0
- package/lib/page/resolvePageRouteMeta.js +8 -0
- package/lib/pluginApi/createPluginApiHooks.js +4 -4
- package/lib/types/app/app.d.ts +6 -4
- package/lib/types/page.d.ts +9 -3
- package/lib/types/pluginApi/hooks.d.ts +6 -7
- package/package.json +6 -6
- package/lib/page/resolvePageData.d.ts +0 -8
- package/lib/page/resolvePageData.js +0 -23
- package/lib/page/resolvePageOptions.d.ts +0 -8
- package/lib/page/resolvePageOptions.js +0 -15
package/lib/app/appInit.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.appInit = void 0;
|
|
4
4
|
const utils_1 = require("@vuepress/utils");
|
|
5
|
+
const createAppMarkdown_1 = require("./createAppMarkdown");
|
|
5
6
|
const createAppPages_1 = require("./createAppPages");
|
|
6
7
|
const log = (0, utils_1.debug)('vuepress:core/app');
|
|
7
8
|
/**
|
|
@@ -15,8 +16,8 @@ const appInit = async (app) => {
|
|
|
15
16
|
// plugins should be used before `registerHooks()`
|
|
16
17
|
// hooks in plugins will take effect after `registerHooks()`
|
|
17
18
|
app.pluginApi.registerHooks();
|
|
18
|
-
//
|
|
19
|
-
await
|
|
19
|
+
// create markdown
|
|
20
|
+
app.markdown = await (0, createAppMarkdown_1.createAppMarkdown)(app);
|
|
20
21
|
// create pages
|
|
21
22
|
app.pages = await (0, createAppPages_1.createAppPages)(app);
|
|
22
23
|
// plugin hook: onInitialized
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createAppMarkdown = void 0;
|
|
4
|
+
const markdown_1 = require("@vuepress/markdown");
|
|
5
|
+
/**
|
|
6
|
+
* Create markdown-it instance for vuepress app
|
|
7
|
+
*/
|
|
8
|
+
const createAppMarkdown = async (app) => {
|
|
9
|
+
// plugin hook: extendsMarkdownOptions
|
|
10
|
+
await app.pluginApi.hooks.extendsMarkdownOptions.process(app.options.markdown, app);
|
|
11
|
+
const markdown = (0, markdown_1.createMarkdown)(app.options.markdown);
|
|
12
|
+
// plugin hook: extendsMarkdown
|
|
13
|
+
await app.pluginApi.hooks.extendsMarkdown.process(markdown, app);
|
|
14
|
+
return markdown;
|
|
15
|
+
};
|
|
16
|
+
exports.createAppMarkdown = createAppMarkdown;
|
|
@@ -15,7 +15,15 @@ const createAppPages = async (app) => {
|
|
|
15
15
|
cwd: app.dir.source(),
|
|
16
16
|
});
|
|
17
17
|
// create pages from files
|
|
18
|
-
const pages = await Promise.all(pageFilePaths.map((filePath) =>
|
|
18
|
+
const pages = await Promise.all(pageFilePaths.map(async (filePath) => {
|
|
19
|
+
const pageOptions = { filePath };
|
|
20
|
+
// plugin hook: extendsPageOptions
|
|
21
|
+
await app.pluginApi.hooks.extendsPageOptions.process(pageOptions, app);
|
|
22
|
+
const page = await (0, page_1.createPage)(app, pageOptions);
|
|
23
|
+
// plugin hook: extendsPage
|
|
24
|
+
await app.pluginApi.hooks.extendsPage.process(page, app);
|
|
25
|
+
return page;
|
|
26
|
+
}));
|
|
19
27
|
// if there is no 404 page, add one
|
|
20
28
|
if (!pages.some((page) => page.path === '/404.html')) {
|
|
21
29
|
pages.push(await (0, page_1.createPage)(app, {
|
package/lib/app/createBaseApp.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createBaseApp = void 0;
|
|
4
|
-
const markdown_1 = require("@vuepress/markdown");
|
|
5
4
|
const pluginApi_1 = require("../pluginApi");
|
|
6
5
|
const appInit_1 = require("./appInit");
|
|
7
6
|
const appPrepare_1 = require("./appPrepare");
|
|
@@ -23,7 +22,6 @@ const createBaseApp = (config, isBuild = false) => {
|
|
|
23
22
|
const dir = (0, createAppDir_1.createAppDir)(options);
|
|
24
23
|
const env = (0, createAppEnv_1.createAppEnv)(options, isBuild);
|
|
25
24
|
const siteData = (0, createAppSiteData_1.createAppSiteData)(options);
|
|
26
|
-
const markdown = (0, markdown_1.createMarkdown)(options.markdown);
|
|
27
25
|
const pluginApi = (0, pluginApi_1.createPluginApi)();
|
|
28
26
|
const writeTemp = (0, createAppWriteTemp_1.createAppWriteTemp)(dir);
|
|
29
27
|
const app = {
|
|
@@ -32,7 +30,6 @@ const createBaseApp = (config, isBuild = false) => {
|
|
|
32
30
|
dir,
|
|
33
31
|
env,
|
|
34
32
|
siteData,
|
|
35
|
-
markdown,
|
|
36
33
|
pluginApi,
|
|
37
34
|
writeTemp,
|
|
38
35
|
use: (...args) => (0, appUse_1.appUse)(app, ...args),
|
|
@@ -11,9 +11,9 @@ import { Vuepress } from '@vuepress/client/lib/components/Vuepress'
|
|
|
11
11
|
|
|
12
12
|
const routeItems = [\
|
|
13
13
|
${app.pages
|
|
14
|
-
.map(({ key, path, pathInferred, filePathRelative,
|
|
14
|
+
.map(({ key, path, pathInferred, filePathRelative, routeMeta }) => {
|
|
15
15
|
const redirects = [];
|
|
16
|
-
const routeItem = [key, path,
|
|
16
|
+
const routeItem = [key, path, routeMeta, redirects];
|
|
17
17
|
// paths that should redirect to this page
|
|
18
18
|
const redirectsSet = new Set();
|
|
19
19
|
// redirect from decoded path
|
|
@@ -47,13 +47,13 @@ ${app.pages
|
|
|
47
47
|
]
|
|
48
48
|
|
|
49
49
|
export const pagesRoutes = routeItems.reduce(
|
|
50
|
-
(result, [name, path,
|
|
50
|
+
(result, [name, path, meta, redirects]) => {
|
|
51
51
|
result.push(
|
|
52
52
|
{
|
|
53
53
|
name,
|
|
54
54
|
path,
|
|
55
55
|
component: Vuepress,
|
|
56
|
-
meta
|
|
56
|
+
meta,
|
|
57
57
|
},
|
|
58
58
|
...redirects.map((item) => ({
|
|
59
59
|
path: item,
|
package/lib/page/createPage.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { App, Page, PageOptions } from '../types';
|
|
2
|
-
export declare const createPage: (app: App,
|
|
2
|
+
export declare const createPage: (app: App, options: PageOptions) => Promise<Page>;
|
package/lib/page/createPage.js
CHANGED
|
@@ -6,7 +6,6 @@ const renderPageContent_1 = require("./renderPageContent");
|
|
|
6
6
|
const renderPageExcerpt_1 = require("./renderPageExcerpt");
|
|
7
7
|
const resolvePageComponentInfo_1 = require("./resolvePageComponentInfo");
|
|
8
8
|
const resolvePageContent_1 = require("./resolvePageContent");
|
|
9
|
-
const resolvePageData_1 = require("./resolvePageData");
|
|
10
9
|
const resolvePageDataInfo_1 = require("./resolvePageDataInfo");
|
|
11
10
|
const resolvePageDate_1 = require("./resolvePageDate");
|
|
12
11
|
const resolvePageFileContent_1 = require("./resolvePageFileContent");
|
|
@@ -15,13 +14,11 @@ const resolvePageFrontmatter_1 = require("./resolvePageFrontmatter");
|
|
|
15
14
|
const resolvePageHtmlInfo_1 = require("./resolvePageHtmlInfo");
|
|
16
15
|
const resolvePageKey_1 = require("./resolvePageKey");
|
|
17
16
|
const resolvePageLang_1 = require("./resolvePageLang");
|
|
18
|
-
const resolvePageOptions_1 = require("./resolvePageOptions");
|
|
19
17
|
const resolvePagePath_1 = require("./resolvePagePath");
|
|
20
18
|
const resolvePagePermalink_1 = require("./resolvePagePermalink");
|
|
19
|
+
const resolvePageRouteMeta_1 = require("./resolvePageRouteMeta");
|
|
21
20
|
const resolvePageSlug_1 = require("./resolvePageSlug");
|
|
22
|
-
const createPage = async (app,
|
|
23
|
-
// resolve page options from raw options
|
|
24
|
-
const options = await (0, resolvePageOptions_1.resolvePageOptions)({ app, optionsRaw });
|
|
21
|
+
const createPage = async (app, options) => {
|
|
25
22
|
// resolve page file absolute path and relative path
|
|
26
23
|
const { filePath, filePathRelative } = (0, resolvePageFilePath_1.resolvePageFilePath)({
|
|
27
24
|
app,
|
|
@@ -44,13 +41,15 @@ const createPage = async (app, optionsRaw) => {
|
|
|
44
41
|
frontmatter,
|
|
45
42
|
});
|
|
46
43
|
// render page content and extract information
|
|
47
|
-
const { contentRendered, deps, headers, hoistedTags, links, title
|
|
44
|
+
const { contentRendered, deps, headers, hoistedTags, links, title } = await (0, renderPageContent_1.renderPageContent)({
|
|
48
45
|
app,
|
|
49
46
|
content,
|
|
50
47
|
filePath,
|
|
51
48
|
filePathRelative,
|
|
52
49
|
frontmatter,
|
|
53
50
|
});
|
|
51
|
+
// resolve route meta from frontmatter
|
|
52
|
+
const routeMeta = (0, resolvePageRouteMeta_1.resolvePageRouteMeta)({ frontmatter });
|
|
54
53
|
// resolve slug from file path
|
|
55
54
|
const slug = (0, resolvePageSlug_1.resolvePageSlug)({ filePathRelative });
|
|
56
55
|
// resolve date from file path
|
|
@@ -69,7 +68,7 @@ const createPage = async (app, optionsRaw) => {
|
|
|
69
68
|
});
|
|
70
69
|
// resolve page path
|
|
71
70
|
const path = (0, resolvePagePath_1.resolvePagePath)({ permalink, pathInferred, options });
|
|
72
|
-
// resolve
|
|
71
|
+
// resolve page key
|
|
73
72
|
const key = (0, resolvePageKey_1.resolvePageKey)({ path });
|
|
74
73
|
// resolve page rendered html file path
|
|
75
74
|
const { htmlFilePath, htmlFilePathRelative } = (0, resolvePageHtmlInfo_1.resolvePageHtmlInfo)({
|
|
@@ -83,8 +82,18 @@ const createPage = async (app, optionsRaw) => {
|
|
|
83
82
|
htmlFilePathRelative,
|
|
84
83
|
key,
|
|
85
84
|
});
|
|
86
|
-
const { dataFilePath, dataFilePathRelative, dataFileChunkName
|
|
85
|
+
const { dataFilePath, dataFilePathRelative, dataFileChunkName } = (0, resolvePageDataInfo_1.resolvePageDataInfo)({ app, htmlFilePathRelative, key });
|
|
87
86
|
const page = {
|
|
87
|
+
// page data
|
|
88
|
+
data: {
|
|
89
|
+
key,
|
|
90
|
+
path,
|
|
91
|
+
title,
|
|
92
|
+
lang,
|
|
93
|
+
frontmatter,
|
|
94
|
+
excerpt,
|
|
95
|
+
headers,
|
|
96
|
+
},
|
|
88
97
|
// base fields
|
|
89
98
|
key,
|
|
90
99
|
path,
|
|
@@ -103,6 +112,7 @@ const createPage = async (app, optionsRaw) => {
|
|
|
103
112
|
pathInferred,
|
|
104
113
|
pathLocale,
|
|
105
114
|
permalink,
|
|
115
|
+
routeMeta,
|
|
106
116
|
slug,
|
|
107
117
|
// file info
|
|
108
118
|
filePath,
|
|
@@ -116,8 +126,6 @@ const createPage = async (app, optionsRaw) => {
|
|
|
116
126
|
htmlFilePath,
|
|
117
127
|
htmlFilePathRelative,
|
|
118
128
|
};
|
|
119
|
-
// resolve page data
|
|
120
|
-
page.data = await (0, resolvePageData_1.resolvePageData)({ app, page });
|
|
121
129
|
return page;
|
|
122
130
|
};
|
|
123
131
|
exports.createPage = createPage;
|
package/lib/page/index.d.ts
CHANGED
|
@@ -5,7 +5,6 @@ export * from './renderPageExcerpt';
|
|
|
5
5
|
export * from './resolvePageComponentInfo';
|
|
6
6
|
export * from './resolvePageContent';
|
|
7
7
|
export * from './resolvePageDataInfo';
|
|
8
|
-
export * from './resolvePageData';
|
|
9
8
|
export * from './resolvePageDate';
|
|
10
9
|
export * from './resolvePageFileContent';
|
|
11
10
|
export * from './resolvePageFilePath';
|
|
@@ -13,7 +12,7 @@ export * from './resolvePageFrontmatter';
|
|
|
13
12
|
export * from './resolvePageHtmlInfo';
|
|
14
13
|
export * from './resolvePageKey';
|
|
15
14
|
export * from './resolvePageLang';
|
|
16
|
-
export * from './resolvePageOptions';
|
|
17
15
|
export * from './resolvePagePath';
|
|
18
16
|
export * from './resolvePagePermalink';
|
|
17
|
+
export * from './resolvePageRouteMeta';
|
|
19
18
|
export * from './resolvePageSlug';
|
package/lib/page/index.js
CHANGED
|
@@ -17,7 +17,6 @@ __exportStar(require("./renderPageExcerpt"), exports);
|
|
|
17
17
|
__exportStar(require("./resolvePageComponentInfo"), exports);
|
|
18
18
|
__exportStar(require("./resolvePageContent"), exports);
|
|
19
19
|
__exportStar(require("./resolvePageDataInfo"), exports);
|
|
20
|
-
__exportStar(require("./resolvePageData"), exports);
|
|
21
20
|
__exportStar(require("./resolvePageDate"), exports);
|
|
22
21
|
__exportStar(require("./resolvePageFileContent"), exports);
|
|
23
22
|
__exportStar(require("./resolvePageFilePath"), exports);
|
|
@@ -25,7 +24,7 @@ __exportStar(require("./resolvePageFrontmatter"), exports);
|
|
|
25
24
|
__exportStar(require("./resolvePageHtmlInfo"), exports);
|
|
26
25
|
__exportStar(require("./resolvePageKey"), exports);
|
|
27
26
|
__exportStar(require("./resolvePageLang"), exports);
|
|
28
|
-
__exportStar(require("./resolvePageOptions"), exports);
|
|
29
27
|
__exportStar(require("./resolvePagePath"), exports);
|
|
30
28
|
__exportStar(require("./resolvePagePermalink"), exports);
|
|
29
|
+
__exportStar(require("./resolvePageRouteMeta"), exports);
|
|
31
30
|
__exportStar(require("./resolvePageSlug"), exports);
|
|
@@ -15,7 +15,7 @@ const resolvePageContent = ({ contentRaw, }) => {
|
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
17
|
/* istanbul ignore next */
|
|
18
|
-
const { data, content, excerpt = '' } = matter(contentRaw, {
|
|
18
|
+
const { data, content, excerpt = '', } = matter(contentRaw, {
|
|
19
19
|
excerpt_separator: '<!-- more -->',
|
|
20
20
|
engines: {
|
|
21
21
|
toml: toml.parse.bind(toml),
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolvePageRouteMeta = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Resolve page route meta
|
|
6
|
+
*/
|
|
7
|
+
const resolvePageRouteMeta = ({ frontmatter, }) => { var _a; return (_a = frontmatter.routeMeta) !== null && _a !== void 0 ? _a : {}; };
|
|
8
|
+
exports.resolvePageRouteMeta = resolvePageRouteMeta;
|
|
@@ -8,11 +8,11 @@ const createPluginApiHooks = () => ({
|
|
|
8
8
|
onPrepared: (0, createHookQueue_1.createHookQueue)('onPrepared'),
|
|
9
9
|
onWatched: (0, createHookQueue_1.createHookQueue)('onWatched'),
|
|
10
10
|
onGenerated: (0, createHookQueue_1.createHookQueue)('onGenerated'),
|
|
11
|
-
//
|
|
12
|
-
|
|
13
|
-
extendsPageData: (0, createHookQueue_1.createHookQueue)('extendsPageData'),
|
|
14
|
-
// markdown hooks
|
|
11
|
+
// extends hooks
|
|
12
|
+
extendsMarkdownOptions: (0, createHookQueue_1.createHookQueue)('extendsMarkdownOptions'),
|
|
15
13
|
extendsMarkdown: (0, createHookQueue_1.createHookQueue)('extendsMarkdown'),
|
|
14
|
+
extendsPageOptions: (0, createHookQueue_1.createHookQueue)('extendsPageOptions'),
|
|
15
|
+
extendsPage: (0, createHookQueue_1.createHookQueue)('extendsPage'),
|
|
16
16
|
// client files hooks
|
|
17
17
|
clientAppEnhanceFiles: (0, createHookQueue_1.createHookQueue)('clientAppEnhanceFiles'),
|
|
18
18
|
clientAppRootComponentFiles: (0, createHookQueue_1.createHookQueue)('clientAppRootComponentFiles'),
|
package/lib/types/app/app.d.ts
CHANGED
|
@@ -30,10 +30,6 @@ export interface App {
|
|
|
30
30
|
* Site data, which will be used in client side
|
|
31
31
|
*/
|
|
32
32
|
siteData: SiteData;
|
|
33
|
-
/**
|
|
34
|
-
* Markdown-it instance
|
|
35
|
-
*/
|
|
36
|
-
markdown: Markdown;
|
|
37
33
|
/**
|
|
38
34
|
* Plugin system
|
|
39
35
|
*/
|
|
@@ -65,6 +61,12 @@ export interface App {
|
|
|
65
61
|
* Only available after initialization
|
|
66
62
|
*/
|
|
67
63
|
layouts: Record<string, string>;
|
|
64
|
+
/**
|
|
65
|
+
* Markdown-it instance.
|
|
66
|
+
*
|
|
67
|
+
* Only available after initialization
|
|
68
|
+
*/
|
|
69
|
+
markdown: Markdown;
|
|
68
70
|
/**
|
|
69
71
|
* Page objects.
|
|
70
72
|
*
|
package/lib/types/page.d.ts
CHANGED
|
@@ -3,11 +3,11 @@ import type { PageData, PageFrontmatter } from '@vuepress/shared';
|
|
|
3
3
|
/**
|
|
4
4
|
* Vuepress Page
|
|
5
5
|
*/
|
|
6
|
-
export
|
|
6
|
+
export declare type Page<ExtraPageData extends Record<any, any> = Record<never, never>, ExtraPageFields extends Record<any, any> = Record<never, never>> = PageData & ExtraPageFields & {
|
|
7
7
|
/**
|
|
8
8
|
* Data of the page, which will be available in client code
|
|
9
9
|
*/
|
|
10
|
-
data:
|
|
10
|
+
data: PageData<ExtraPageData>;
|
|
11
11
|
/**
|
|
12
12
|
* Raw Content of the page
|
|
13
13
|
*/
|
|
@@ -56,6 +56,12 @@ export interface Page<T extends PageData = PageData> extends PageData {
|
|
|
56
56
|
* If the page does not have a permalink, it would be `null`
|
|
57
57
|
*/
|
|
58
58
|
permalink: string | null;
|
|
59
|
+
/**
|
|
60
|
+
* Custom data to be attached to the page route record of vue-router
|
|
61
|
+
*
|
|
62
|
+
* @see https://next.router.vuejs.org/api/#meta
|
|
63
|
+
*/
|
|
64
|
+
routeMeta: Record<string, unknown>;
|
|
59
65
|
/**
|
|
60
66
|
* Slug of the page
|
|
61
67
|
*/
|
|
@@ -108,7 +114,7 @@ export interface Page<T extends PageData = PageData> extends PageData {
|
|
|
108
114
|
* Rendered html file path relative to dest directory
|
|
109
115
|
*/
|
|
110
116
|
htmlFilePathRelative: string;
|
|
111
|
-
}
|
|
117
|
+
};
|
|
112
118
|
/**
|
|
113
119
|
* Options to create vuepress page
|
|
114
120
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Markdown } from '@vuepress/markdown';
|
|
1
|
+
import type { Markdown, MarkdownOptions } from '@vuepress/markdown';
|
|
2
2
|
import type { App } from '../app';
|
|
3
3
|
import type { Page, PageOptions } from '../page';
|
|
4
4
|
declare type PromiseOrNot<T> = Promise<T> | T;
|
|
@@ -11,11 +11,9 @@ export declare type Hook<Exposed, Normalized = Exposed, Result = Normalized exte
|
|
|
11
11
|
result: Result;
|
|
12
12
|
};
|
|
13
13
|
export declare type LifeCycleHook<T extends unknown[] = []> = Hook<(app: App, ...args: T) => PromiseOrNot<void>>;
|
|
14
|
+
export declare type ExtendsHook<T> = Hook<(extendable: T, app: App) => PromiseOrNot<void>>;
|
|
14
15
|
export declare type ClientFilesHook = Hook<string | string[] | ((app: App) => PromiseOrNot<string | string[]>), (app: App) => Promise<string[]>>;
|
|
15
16
|
export declare type ReturnObjectHook = Hook<Record<string, any> | ((app: App) => PromiseOrNot<Record<string, any>>), (app: App) => Promise<Record<string, any>>>;
|
|
16
|
-
export declare type ExtendsMarkdownHook = Hook<(md: Markdown, app: App) => PromiseOrNot<void>>;
|
|
17
|
-
export declare type ExtendsPageOptionsHook = Hook<(options: PageOptions, app: App) => PromiseOrNot<PageOptions>>;
|
|
18
|
-
export declare type ExtendsPageDataHook = Hook<(page: Omit<Page, 'data'>, app: App) => PromiseOrNot<Record<string, any>>>;
|
|
19
17
|
/**
|
|
20
18
|
* List of hooks
|
|
21
19
|
*/
|
|
@@ -24,9 +22,10 @@ export interface Hooks {
|
|
|
24
22
|
onPrepared: LifeCycleHook;
|
|
25
23
|
onWatched: LifeCycleHook<[watchers: Closable[], restart: () => Promise<void>]>;
|
|
26
24
|
onGenerated: LifeCycleHook;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
25
|
+
extendsMarkdownOptions: ExtendsHook<MarkdownOptions>;
|
|
26
|
+
extendsMarkdown: ExtendsHook<Markdown>;
|
|
27
|
+
extendsPageOptions: ExtendsHook<PageOptions>;
|
|
28
|
+
extendsPage: ExtendsHook<Page>;
|
|
30
29
|
clientAppEnhanceFiles: ClientFilesHook;
|
|
31
30
|
clientAppRootComponentFiles: ClientFilesHook;
|
|
32
31
|
clientAppSetupFiles: ClientFilesHook;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vuepress/core",
|
|
3
|
-
"version": "2.0.0-beta.
|
|
3
|
+
"version": "2.0.0-beta.28",
|
|
4
4
|
"description": "Core package of VuePress",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"vuepress",
|
|
@@ -26,15 +26,15 @@
|
|
|
26
26
|
"clean": "rimraf lib *.tsbuildinfo"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@vuepress/client": "2.0.0-beta.
|
|
30
|
-
"@vuepress/markdown": "2.0.0-beta.
|
|
31
|
-
"@vuepress/shared": "2.0.0-beta.
|
|
32
|
-
"@vuepress/utils": "2.0.0-beta.
|
|
29
|
+
"@vuepress/client": "2.0.0-beta.28",
|
|
30
|
+
"@vuepress/markdown": "2.0.0-beta.28",
|
|
31
|
+
"@vuepress/shared": "2.0.0-beta.28",
|
|
32
|
+
"@vuepress/utils": "2.0.0-beta.28",
|
|
33
33
|
"gray-matter": "^4.0.3",
|
|
34
34
|
"toml": "^3.0.0"
|
|
35
35
|
},
|
|
36
36
|
"publishConfig": {
|
|
37
37
|
"access": "public"
|
|
38
38
|
},
|
|
39
|
-
"gitHead": "
|
|
39
|
+
"gitHead": "71c34816a79263c7dcba3ff0c103e264abdbf0d2"
|
|
40
40
|
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.resolvePageData = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Resolve page data
|
|
6
|
-
*/
|
|
7
|
-
const resolvePageData = async ({ app, page, }) => {
|
|
8
|
-
const { key, path, title, lang, frontmatter, excerpt, headers } = page;
|
|
9
|
-
const data = {
|
|
10
|
-
key,
|
|
11
|
-
path,
|
|
12
|
-
title,
|
|
13
|
-
lang,
|
|
14
|
-
frontmatter,
|
|
15
|
-
excerpt,
|
|
16
|
-
headers,
|
|
17
|
-
};
|
|
18
|
-
// plugin hook: extendsPageData
|
|
19
|
-
const extendsPageData = await app.pluginApi.hooks.extendsPageData.process(page, app);
|
|
20
|
-
extendsPageData.forEach((item) => Object.assign(data, item));
|
|
21
|
-
return data;
|
|
22
|
-
};
|
|
23
|
-
exports.resolvePageData = resolvePageData;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.resolvePageOptions = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Render page content and extract related info
|
|
6
|
-
*/
|
|
7
|
-
const resolvePageOptions = async ({ app, optionsRaw, }) => {
|
|
8
|
-
// avoid mutating the original options object provided by user
|
|
9
|
-
const options = { ...optionsRaw };
|
|
10
|
-
// plugin hook: extendsPageOptions
|
|
11
|
-
const extendsPageOptions = await app.pluginApi.hooks.extendsPageOptions.process(options, app);
|
|
12
|
-
extendsPageOptions.forEach((item) => Object.assign(options, item));
|
|
13
|
-
return options;
|
|
14
|
-
};
|
|
15
|
-
exports.resolvePageOptions = resolvePageOptions;
|