@vuepress/client 2.0.0-beta.6 → 2.0.0-beta.60

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 (72) hide show
  1. package/dist/app.js +308 -0
  2. package/dist/chunk-E44UNXTX.js +298 -0
  3. package/dist/index.d.ts +287 -0
  4. package/dist/index.js +64 -0
  5. package/dist/setupDevtools-EXVHPMXB.js +88 -0
  6. package/package.json +48 -16
  7. package/templates/{index.ssr.html → build.html} +4 -1
  8. package/templates/{index.dev.html → dev.html} +2 -0
  9. package/types.d.ts +7 -0
  10. package/CHANGELOG.md +0 -198
  11. package/lib/app.d.ts +0 -18
  12. package/lib/app.js +0 -134
  13. package/lib/client.d.ts +0 -1
  14. package/lib/client.js +0 -14
  15. package/lib/components/Content.d.ts +0 -7
  16. package/lib/components/Content.js +0 -34
  17. package/lib/components/OutboundLink.css +0 -7
  18. package/lib/components/OutboundLink.d.ts +0 -3
  19. package/lib/components/OutboundLink.js +0 -24
  20. package/lib/components/Vuepress.d.ts +0 -5
  21. package/lib/components/Vuepress.js +0 -33
  22. package/lib/components/index.d.ts +0 -3
  23. package/lib/components/index.js +0 -3
  24. package/lib/constants.d.ts +0 -4
  25. package/lib/index.d.ts +0 -7
  26. package/lib/index.js +0 -5
  27. package/lib/injections/index.d.ts +0 -10
  28. package/lib/injections/index.js +0 -10
  29. package/lib/injections/pageData.d.ts +0 -7
  30. package/lib/injections/pageData.js +0 -31
  31. package/lib/injections/pageFrontmatter.d.ts +0 -7
  32. package/lib/injections/pageFrontmatter.js +0 -10
  33. package/lib/injections/pageHead.d.ts +0 -15
  34. package/lib/injections/pageHead.js +0 -33
  35. package/lib/injections/pageHeadTitle.d.ts +0 -11
  36. package/lib/injections/pageHeadTitle.js +0 -13
  37. package/lib/injections/pageLang.d.ts +0 -13
  38. package/lib/injections/pageLang.js +0 -16
  39. package/lib/injections/pagesData.d.ts +0 -6
  40. package/lib/injections/pagesData.js +0 -6
  41. package/lib/injections/routeLocale.d.ts +0 -10
  42. package/lib/injections/routeLocale.js +0 -14
  43. package/lib/injections/siteData.d.ts +0 -6
  44. package/lib/injections/siteData.js +0 -10
  45. package/lib/injections/siteLocaleData.d.ts +0 -12
  46. package/lib/injections/siteLocaleData.js +0 -17
  47. package/lib/injections/updateHead.d.ts +0 -15
  48. package/lib/injections/updateHead.js +0 -100
  49. package/lib/server.d.ts +0 -8
  50. package/lib/server.js +0 -10
  51. package/lib/types/clientAppEnhance.d.ts +0 -8
  52. package/lib/types/clientAppEnhance.js +0 -1
  53. package/lib/types/clientAppSetup.d.ts +0 -1
  54. package/lib/types/clientAppSetup.js +0 -1
  55. package/lib/types/index.d.ts +0 -7
  56. package/lib/types/index.js +0 -2
  57. package/lib/types/internal/clientAppEnhances.d.ts +0 -5
  58. package/lib/types/internal/clientAppRootComponents.d.ts +0 -5
  59. package/lib/types/internal/clientAppSetups.d.ts +0 -5
  60. package/lib/types/internal/layoutComponents.d.ts +0 -5
  61. package/lib/types/internal/pagesComponent.d.ts +0 -5
  62. package/lib/types/internal/pagesData.d.ts +0 -5
  63. package/lib/types/internal/pagesRoutes.d.ts +0 -5
  64. package/lib/types/internal/siteData.d.ts +0 -5
  65. package/lib/utils/defineClientAppEnhance.d.ts +0 -2
  66. package/lib/utils/defineClientAppEnhance.js +0 -1
  67. package/lib/utils/defineClientAppSetup.d.ts +0 -2
  68. package/lib/utils/defineClientAppSetup.js +0 -1
  69. package/lib/utils/index.d.ts +0 -3
  70. package/lib/utils/index.js +0 -3
  71. package/lib/utils/withBase.d.ts +0 -4
  72. package/lib/utils/withBase.js +0 -11
package/CHANGELOG.md DELETED
@@ -1,198 +0,0 @@
1
- # Change Log
2
-
3
- All notable changes to this project will be documented in this file.
4
- See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
-
6
- # [2.0.0-beta.6](https://github.com/vuepress/vuepress-next/compare/v2.0.0-beta.5...v2.0.0-beta.6) (2021-03-26)
7
-
8
-
9
- ### Reverts
10
-
11
- * refactor(client): remove extra handling for router base ([6205279](https://github.com/vuepress/vuepress-next/commit/620527917e4d3ee7cfa4c1db7d3cadc36a30eaab))
12
-
13
-
14
-
15
-
16
-
17
- # [2.0.0-beta.5](https://github.com/vuepress/vuepress-next/compare/v2.0.0-beta.4...v2.0.0-beta.5) (2021-03-26)
18
-
19
-
20
- ### Bug Fixes
21
-
22
- * **client:** ensure page component is loaded before route resolve ([598adf3](https://github.com/vuepress/vuepress-next/commit/598adf38b1f9edd3034bb011358a1a9d3bcb6b9e))
23
-
24
-
25
- ### Performance Improvements
26
-
27
- * improve HMR support ([38f0073](https://github.com/vuepress/vuepress-next/commit/38f007335864db4c9125ea5905ca91850fb7103b))
28
-
29
-
30
-
31
-
32
-
33
- # [2.0.0-beta.4](https://github.com/vuepress/vuepress-next/compare/v2.0.0-beta.3...v2.0.0-beta.4) (2021-03-20)
34
-
35
- **Note:** Version bump only for package @vuepress/client
36
-
37
-
38
-
39
-
40
-
41
- # [2.0.0-beta.1](https://github.com/vuepress/vuepress-next/compare/v2.0.0-beta.0...v2.0.0-beta.1) (2021-03-13)
42
-
43
- **Note:** Version bump only for package @vuepress/client
44
-
45
-
46
-
47
-
48
-
49
- # [2.0.0-beta.0](https://github.com/vuepress/vuepress-next/compare/v2.0.0-alpha.26...v2.0.0-beta.0) (2021-03-13)
50
-
51
-
52
- ### Features
53
-
54
- * implement vite hmr ([525c18d](https://github.com/vuepress/vuepress-next/commit/525c18d5a64fbdbdeb5ce1348ec1e1ead3dbd8f9))
55
- * **client:** add defineClientAppEnhance and defineClientAppSetup utils ([1520517](https://github.com/vuepress/vuepress-next/commit/15205172c3b56fc8a879bba040f4ecc815d2c924))
56
-
57
-
58
-
59
-
60
-
61
- # [2.0.0-alpha.25](https://github.com/vuepress/vuepress-next/compare/v2.0.0-alpha.24...v2.0.0-alpha.25) (2021-02-20)
62
-
63
-
64
- ### Code Refactoring
65
-
66
- * **core:** remove theme data from site data ([187aef3](https://github.com/vuepress/vuepress-next/commit/187aef36607efc62d7b2d5c773553f89685cf64c))
67
-
68
-
69
- ### BREAKING CHANGES
70
-
71
- * **core:** `themeConfig` is not available in site data any more
72
-
73
-
74
-
75
-
76
-
77
- # [2.0.0-alpha.24](https://github.com/vuepress/vuepress-next/compare/v2.0.0-alpha.23...v2.0.0-alpha.24) (2021-02-13)
78
-
79
- **Note:** Version bump only for package @vuepress/client
80
-
81
-
82
-
83
-
84
-
85
- # [2.0.0-alpha.22](https://github.com/vuepress/vuepress-next/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2021-02-10)
86
-
87
-
88
- ### Bug Fixes
89
-
90
- * **client:** only watch route path to update head ([3174f5a](https://github.com/vuepress/vuepress-next/commit/3174f5a676d95943df256b2be31227eb844d0144))
91
-
92
-
93
-
94
-
95
-
96
- # [2.0.0-alpha.20](https://github.com/vuepress/vuepress-next/compare/v2.0.0-alpha.19...v2.0.0-alpha.20) (2021-02-04)
97
-
98
-
99
- ### Features
100
-
101
- * **core:** make language available in page data ([03bb09f](https://github.com/vuepress/vuepress-next/commit/03bb09fd51aeaff56d26820a1401b87ea8bdeb38))
102
-
103
-
104
-
105
-
106
-
107
- # [2.0.0-alpha.19](https://github.com/vuepress/vuepress-next/compare/v2.0.0-alpha.18...v2.0.0-alpha.19) (2021-01-24)
108
-
109
- **Note:** Version bump only for package @vuepress/client
110
-
111
-
112
-
113
-
114
-
115
- # [2.0.0-alpha.18](https://github.com/vuepress/vuepress-next/compare/v2.0.0-alpha.17...v2.0.0-alpha.18) (2021-01-17)
116
-
117
-
118
- ### Bug Fixes
119
-
120
- * **client:** load existing head tags on mounted ([15722c5](https://github.com/vuepress/vuepress-next/commit/15722c5175e44a8d6363bfe5f138f2c2c8edeec3))
121
-
122
-
123
- ### Features
124
-
125
- * **client:** make usePageFrontmatter generic ([2c5e5c1](https://github.com/vuepress/vuepress-next/commit/2c5e5c1400469a3cb4da2856104514a9413bff8a))
126
-
127
-
128
-
129
-
130
-
131
- # [2.0.0-alpha.16](https://github.com/vuepress/vuepress-next/compare/v2.0.0-alpha.15...v2.0.0-alpha.16) (2021-01-11)
132
-
133
- **Note:** Version bump only for package @vuepress/client
134
-
135
-
136
-
137
-
138
-
139
- # [2.0.0-alpha.15](https://github.com/vuepress/vuepress-next/compare/v2.0.0-alpha.14...v2.0.0-alpha.15) (2021-01-04)
140
-
141
- **Note:** Version bump only for package @vuepress/client
142
-
143
-
144
-
145
-
146
-
147
- # [2.0.0-alpha.13](https://github.com/vuepress/vuepress-next/compare/v2.0.0-alpha.12...v2.0.0-alpha.13) (2020-12-23)
148
-
149
- **Note:** Version bump only for package @vuepress/client
150
-
151
-
152
-
153
-
154
-
155
- # [2.0.0-alpha.7](https://github.com/vuepress/vuepress-next/compare/v2.0.0-alpha.6...v2.0.0-alpha.7) (2020-12-09)
156
-
157
- **Note:** Version bump only for package @vuepress/client
158
-
159
-
160
-
161
-
162
-
163
- # [2.0.0-alpha.6](https://github.com/vuepress/vuepress-next/compare/v2.0.0-alpha.5...v2.0.0-alpha.6) (2020-12-09)
164
-
165
-
166
- ### Features
167
-
168
- * **client:** remove built-in debug component ([a5962bb](https://github.com/vuepress/vuepress-next/commit/a5962bb82483f56800b33b4e35c50dcb49fd48b1))
169
-
170
-
171
-
172
-
173
-
174
- # 2.0.0-alpha.1 (2020-12-01)
175
-
176
-
177
- ### Bug Fixes
178
-
179
- * **client:** do not prepend base to http url ([9e4e623](https://github.com/vuepress/vuepress-next/commit/9e4e6233ce988bf3b6ebbbb1bc60f83a26f6709c))
180
- * **client:** wrap ssr-app with a parent div ([c65b6c4](https://github.com/vuepress/vuepress-next/commit/c65b6c47f084466dde9daf17d1c1d00b88f6682d))
181
-
182
-
183
- ### Features
184
-
185
- * **client:** add built-in styles for Debug component ([1b3b028](https://github.com/vuepress/vuepress-next/commit/1b3b028e0cd078eb6f074c36696255df1cf49267))
186
- * **client:** add ClientOnly component ([e2cad36](https://github.com/vuepress/vuepress-next/commit/e2cad36c5f859240e5fac62c38fbaa14b39defab))
187
- * **client:** add global computed and updateHead ([df83b88](https://github.com/vuepress/vuepress-next/commit/df83b887a69db9290a22d0731056f4ac2b6f0014))
188
- * **client:** add global data utils ([46b9fc5](https://github.com/vuepress/vuepress-next/commit/46b9fc579f51c1f037f4850f8699074805799884))
189
- * **client:** add OutboundLink component ([4107add](https://github.com/vuepress/vuepress-next/commit/4107add516e7acd0cbdc4a526bf4772c54fb6108))
190
- * **client:** add siteLocale in debug component ([e1d663b](https://github.com/vuepress/vuepress-next/commit/e1d663b4ece27012c72383f5eecb90c5fb2195ef))
191
- * **client:** add themeData injections ([04cafe2](https://github.com/vuepress/vuepress-next/commit/04cafe23ec835d9efc9a2b1ab8be8b7d8f0a22b4))
192
- * **client:** add withBase util ([f234c5d](https://github.com/vuepress/vuepress-next/commit/f234c5d74f148b55b265d13dc2c868d8531d192a))
193
- * **client:** augment route meta type ([6f4e1f5](https://github.com/vuepress/vuepress-next/commit/6f4e1f5995351a0dd6ebf257e1889d26e77d26e4))
194
- * **client:** make siteData injections generic ([86b9416](https://github.com/vuepress/vuepress-next/commit/86b941646b7554b404a621a3616a7a81958c12c3))
195
- * **client:** provide site locale data ([00455bd](https://github.com/vuepress/vuepress-next/commit/00455bdf21736254c8a3a488cdf8245e80742398))
196
- * **client:** set scrollBehavior for vue-router ([f7a12ce](https://github.com/vuepress/vuepress-next/commit/f7a12ceaa1e20ba2e87fa34c692a754fcc3f34f4))
197
- * **client:** support clientAppRootComponentFiles ([188c1a0](https://github.com/vuepress/vuepress-next/commit/188c1a04fed8ed6614b45a6a0c1cb3d07a4ca112))
198
- * **client:** take 404 as the fallback layout ([bb34903](https://github.com/vuepress/vuepress-next/commit/bb349038da090d0e5fd9069ff5cfa3372c95dc0b))
package/lib/app.d.ts DELETED
@@ -1,18 +0,0 @@
1
- import type { CreateAppFunction, App } from 'vue';
2
- import type { Router, RouterHistory } from 'vue-router';
3
- export declare type AppCreator = CreateAppFunction<Element>;
4
- export declare type HistoryCreator = (base?: string) => RouterHistory;
5
- export declare type CreateVueAppResult = {
6
- app: App;
7
- router: Router;
8
- };
9
- /**
10
- * Create a vue app
11
- *
12
- * Accepting different app creator and history creator, so it
13
- * can be reused for both client side and server side
14
- */
15
- export declare const createVueApp: ({ appCreator, historyCreator, }: {
16
- appCreator: AppCreator;
17
- historyCreator: HistoryCreator;
18
- }) => Promise<CreateVueAppResult>;
package/lib/app.js DELETED
@@ -1,134 +0,0 @@
1
- import { computed, h } from 'vue';
2
- import { createRouter, RouterView, START_LOCATION } from 'vue-router';
3
- import { removeEndingSlash } from '@vuepress/shared';
4
- import { clientAppEnhances } from '@internal/clientAppEnhances';
5
- import { clientAppRootComponents } from '@internal/clientAppRootComponents';
6
- import { clientAppSetups } from '@internal/clientAppSetups';
7
- import { pagesComponent } from '@internal/pagesComponent';
8
- import { pagesRoutes } from '@internal/pagesRoutes';
9
- import { siteData, pageData, resolvePageData, pageFrontmatterSymbol, resolvePageFrontmatter, pageHeadSymbol, resolvePageHead, pageHeadTitleSymbol, resolvePageHeadTitle, pageLangSymbol, resolvePageLang, routeLocaleSymbol, resolveRouteLocale, siteLocaleDataSymbol, resolveSiteLocaleData, useUpdateHead, } from './injections';
10
- import { Content, OutboundLink } from './components';
11
- import { withBase } from './utils';
12
- /**
13
- * Create a vue app
14
- *
15
- * Accepting different app creator and history creator, so it
16
- * can be reused for both client side and server side
17
- */
18
- export const createVueApp = async ({ appCreator, historyCreator, }) => {
19
- // options to create vue app
20
- const appOptions = {
21
- setup() {
22
- // auto update head
23
- useUpdateHead();
24
- // invoke all clientAppSetups
25
- for (const clientAppSetup of clientAppSetups) {
26
- clientAppSetup();
27
- }
28
- return () => [
29
- h(RouterView),
30
- ...clientAppRootComponents.map((comp) => h(comp)),
31
- ];
32
- },
33
- };
34
- // create vue app
35
- const app = appCreator(appOptions);
36
- // create vue-router
37
- const router = createRouter({
38
- // TODO: it might be an issue of vue-router that have to remove the ending slash
39
- history: historyCreator(removeEndingSlash(siteData.value.base)),
40
- routes: pagesRoutes,
41
- scrollBehavior: (to, from, savedPosition) => {
42
- if (savedPosition) {
43
- return savedPosition;
44
- }
45
- if (to.hash) {
46
- return { el: to.hash };
47
- }
48
- return { top: 0 };
49
- },
50
- });
51
- // use vue-router
52
- app.use(router);
53
- router.beforeResolve(async (to, from) => {
54
- if (to.path !== from.path || from === START_LOCATION) {
55
- // ensure page data and page component have been loaded
56
- ;
57
- [pageData.value] = await Promise.all([
58
- resolvePageData(to.path),
59
- pagesComponent[to.path].__asyncLoader(),
60
- ]);
61
- }
62
- });
63
- // create global computed
64
- const routeLocale = computed(() => resolveRouteLocale(siteData.value.locales, router.currentRoute.value.path));
65
- const siteLocaleData = computed(() => resolveSiteLocaleData(siteData.value, routeLocale.value));
66
- const pageFrontmatter = computed(() => resolvePageFrontmatter(pageData.value));
67
- const pageHeadTitle = computed(() => resolvePageHeadTitle(pageData.value, siteLocaleData.value));
68
- const pageHead = computed(() => resolvePageHead(pageHeadTitle.value, pageFrontmatter.value, siteLocaleData.value));
69
- const pageLang = computed(() => resolvePageLang(pageData.value));
70
- // provide global computed
71
- app.provide(routeLocaleSymbol, routeLocale);
72
- app.provide(siteLocaleDataSymbol, siteLocaleData);
73
- app.provide(pageFrontmatterSymbol, pageFrontmatter);
74
- app.provide(pageHeadTitleSymbol, pageHeadTitle);
75
- app.provide(pageHeadSymbol, pageHead);
76
- app.provide(pageLangSymbol, pageLang);
77
- // provide global data & helpers
78
- Object.defineProperties(app.config.globalProperties, {
79
- $routeLocale: {
80
- get() {
81
- return routeLocale.value;
82
- },
83
- },
84
- $site: {
85
- get() {
86
- return siteData.value;
87
- },
88
- },
89
- $siteLocale: {
90
- get() {
91
- return siteLocaleData.value;
92
- },
93
- },
94
- $page: {
95
- get() {
96
- return pageData.value;
97
- },
98
- },
99
- $frontmatter: {
100
- get() {
101
- return pageFrontmatter.value;
102
- },
103
- },
104
- $lang: {
105
- get() {
106
- return pageLang.value;
107
- },
108
- },
109
- $headTitle: {
110
- get() {
111
- return pageHeadTitle.value;
112
- },
113
- },
114
- $withBase: {
115
- get() {
116
- return withBase;
117
- },
118
- },
119
- });
120
- // register built-in components
121
- /* eslint-disable vue/match-component-file-name */
122
- app.component('ClientOnly', __SSR__ ? () => null : (_, ctx) => { var _a, _b; return (_b = (_a = ctx.slots).default) === null || _b === void 0 ? void 0 : _b.call(_a); });
123
- app.component('Content', Content);
124
- app.component('OutboundLink', OutboundLink);
125
- /* eslint-enable vue/match-component-file-name */
126
- // invoke all clientAppEnhances
127
- for (const clientAppEnhance of clientAppEnhances) {
128
- await clientAppEnhance({ app, router, siteData });
129
- }
130
- return {
131
- app,
132
- router,
133
- };
134
- };
package/lib/client.d.ts DELETED
@@ -1 +0,0 @@
1
- export {};
package/lib/client.js DELETED
@@ -1,14 +0,0 @@
1
- import { createApp } from 'vue';
2
- import { createWebHistory } from 'vue-router';
3
- import { createVueApp } from './app';
4
- /**
5
- * Client entry point
6
- */
7
- createVueApp({
8
- appCreator: createApp,
9
- historyCreator: createWebHistory,
10
- }).then(({ app, router }) => {
11
- router.isReady().then(() => {
12
- app.mount('#app');
13
- });
14
- });
@@ -1,7 +0,0 @@
1
- import type { FunctionalComponent } from 'vue';
2
- /**
3
- * Markdown rendered content
4
- */
5
- export declare const Content: FunctionalComponent<{
6
- pagePath?: string;
7
- }>;
@@ -1,34 +0,0 @@
1
- import { h } from 'vue';
2
- import { pagesComponent } from '@internal/pagesComponent';
3
- import { usePageData } from '../injections';
4
- /**
5
- * Markdown rendered content
6
- */
7
- export const Content = (props) => {
8
- let key;
9
- // use the page key from props directly
10
- if (props.pagePath) {
11
- key = props.pagePath;
12
- }
13
- else {
14
- // get current page key from page data
15
- const page = usePageData();
16
- key = page.value.path;
17
- }
18
- const component = pagesComponent[key];
19
- // use page component
20
- if (component) {
21
- return h(component);
22
- }
23
- // fallback
24
- return h('div', __DEV__
25
- ? 'Page does not exist. This is a fallback content.'
26
- : '404 Not Found');
27
- };
28
- Content.displayName = 'Content';
29
- Content.props = {
30
- pagePath: {
31
- type: String,
32
- required: false,
33
- },
34
- };
@@ -1,7 +0,0 @@
1
- .icon.outbound {
2
- position: relative;
3
- display: inline-block;
4
- color: #aaa;
5
- vertical-align: middle;
6
- top: -1px;
7
- }
@@ -1,3 +0,0 @@
1
- import type { FunctionalComponent } from 'vue';
2
- import './OutboundLink.css';
3
- export declare const OutboundLink: FunctionalComponent;
@@ -1,24 +0,0 @@
1
- import { h } from 'vue';
2
- import './OutboundLink.css';
3
- const svg = h('svg', {
4
- class: 'icon outbound',
5
- xmlns: 'http://www.w3.org/2000/svg',
6
- ariaHidden: 'true',
7
- focusable: 'false',
8
- x: '0px',
9
- y: '0px',
10
- viewBox: '0 0 100 100',
11
- width: '15',
12
- height: '15',
13
- }, [
14
- h('path', {
15
- fill: 'currentColor',
16
- d: 'M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z',
17
- }),
18
- h('polygon', {
19
- fill: 'currentColor',
20
- points: '45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9',
21
- }),
22
- ]);
23
- export const OutboundLink = (_, { slots }) => { var _a; return h('span', [svg, (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots)]); };
24
- OutboundLink.displayName = 'OutboundLink';
@@ -1,5 +0,0 @@
1
- import type { FunctionalComponent } from 'vue';
2
- /**
3
- * Global Layout
4
- */
5
- export declare const Vuepress: FunctionalComponent;
@@ -1,33 +0,0 @@
1
- import { h } from 'vue';
2
- import { isString } from '@vuepress/shared';
3
- import { layoutComponents } from '@internal/layoutComponents';
4
- import { usePageData } from '../injections';
5
- import { Content } from './Content';
6
- /**
7
- * Global Layout
8
- */
9
- export const Vuepress = () => {
10
- // get layout of current page
11
- let layoutName = '404';
12
- const page = usePageData();
13
- if (page.value.path) {
14
- // if current page exists
15
- // use layout from frontmatter
16
- const frontmatterLayout = page.value.frontmatter.layout;
17
- if (isString(frontmatterLayout)) {
18
- layoutName = frontmatterLayout;
19
- }
20
- else {
21
- // fallback to Layout component
22
- layoutName = 'Layout';
23
- }
24
- }
25
- const layoutComponent = layoutComponents[layoutName];
26
- // use layout component
27
- if (layoutComponent) {
28
- return h(layoutComponent);
29
- }
30
- // fallback to Content
31
- return h(Content);
32
- };
33
- Vuepress.displayName = 'Vuepress';
@@ -1,3 +0,0 @@
1
- export * from './Content';
2
- export * from './OutboundLink';
3
- export * from './Vuepress';
@@ -1,3 +0,0 @@
1
- export * from './Content';
2
- export * from './OutboundLink';
3
- export * from './Vuepress';
@@ -1,4 +0,0 @@
1
- declare const __VERSION__: string
2
- declare const __DEV__: boolean
3
- declare const __SSR__: boolean
4
- declare const __VUE_HMR_RUNTIME__: Record<string, any>
package/lib/index.d.ts DELETED
@@ -1,7 +0,0 @@
1
- export * from './app';
2
- export * from './components';
3
- export * from './injections';
4
- export * from './types';
5
- export * from './utils';
6
- export type { PageHeader } from '@vuepress/shared';
7
- export type { ServerEntry } from './server';
package/lib/index.js DELETED
@@ -1,5 +0,0 @@
1
- export * from './app';
2
- export * from './components';
3
- export * from './injections';
4
- export * from './types';
5
- export * from './utils';
@@ -1,10 +0,0 @@
1
- export * from './pageData';
2
- export * from './pageFrontmatter';
3
- export * from './pageHead';
4
- export * from './pageHeadTitle';
5
- export * from './pageLang';
6
- export * from './pagesData';
7
- export * from './routeLocale';
8
- export * from './siteData';
9
- export * from './siteLocaleData';
10
- export * from './updateHead';
@@ -1,10 +0,0 @@
1
- export * from './pageData';
2
- export * from './pageFrontmatter';
3
- export * from './pageHead';
4
- export * from './pageHeadTitle';
5
- export * from './pageLang';
6
- export * from './pagesData';
7
- export * from './routeLocale';
8
- export * from './siteData';
9
- export * from './siteLocaleData';
10
- export * from './updateHead';
@@ -1,7 +0,0 @@
1
- import type { Ref } from 'vue';
2
- import type { PageData } from '@vuepress/shared';
3
- export type { PageData };
4
- export declare type PageDataRef<T extends Record<any, any> = Record<never, never>> = Ref<PageData<T>>;
5
- export declare const pageData: PageDataRef;
6
- export declare const usePageData: <T extends Record<any, any> = Record<never, never>>() => PageDataRef<T>;
7
- export declare const resolvePageData: (routePath: string) => Promise<PageData>;
@@ -1,31 +0,0 @@
1
- import { ref, readonly } from 'vue';
2
- import { pagesData } from './pagesData';
3
- const pageDataEmpty = readonly({
4
- key: '',
5
- path: '',
6
- title: '',
7
- lang: '',
8
- frontmatter: {},
9
- excerpt: '',
10
- headers: [],
11
- });
12
- export const pageData = ref(pageDataEmpty);
13
- export const usePageData = () => {
14
- return pageData;
15
- };
16
- export const resolvePageData = async (routePath) => {
17
- const pageDataResolver = pagesData.value[routePath];
18
- if (!pageDataResolver) {
19
- return pageDataEmpty;
20
- }
21
- const pageData = await pageDataResolver();
22
- return pageData !== null && pageData !== void 0 ? pageData : pageDataEmpty;
23
- };
24
- if (import.meta.webpackHot || import.meta.hot) {
25
- // reuse vue HMR runtime
26
- __VUE_HMR_RUNTIME__.updatePageData = (data) => {
27
- if (data.key === pageData.value.key) {
28
- pageData.value = data;
29
- }
30
- };
31
- }
@@ -1,7 +0,0 @@
1
- import type { ComputedRef, InjectionKey } from 'vue';
2
- import type { PageData, PageFrontmatter } from '@vuepress/shared';
3
- export type { PageFrontmatter };
4
- export declare type PageFrontmatterRef<T extends Record<any, any> = Record<string, unknown>> = ComputedRef<PageFrontmatter<T>>;
5
- export declare const pageFrontmatterSymbol: InjectionKey<PageFrontmatterRef>;
6
- export declare const usePageFrontmatter: <T extends Record<any, any> = Record<string, unknown>>() => PageFrontmatterRef<T>;
7
- export declare const resolvePageFrontmatter: (pageData: PageData) => PageFrontmatter;
@@ -1,10 +0,0 @@
1
- import { inject } from 'vue';
2
- export const pageFrontmatterSymbol = Symbol(__DEV__ ? 'pageFrontmatter' : '');
3
- export const usePageFrontmatter = () => {
4
- const pageFrontmatter = inject(pageFrontmatterSymbol);
5
- if (!pageFrontmatter) {
6
- throw new Error('usePageFrontmatter() is called without provider.');
7
- }
8
- return pageFrontmatter;
9
- };
10
- export const resolvePageFrontmatter = (pageData) => pageData.frontmatter;
@@ -1,15 +0,0 @@
1
- import type { ComputedRef, InjectionKey } from 'vue';
2
- import type { HeadConfig } from '@vuepress/shared';
3
- import type { PageFrontmatter } from './pageFrontmatter';
4
- import type { PageHeadTitle } from './pageHeadTitle';
5
- import type { SiteLocaleData } from './siteLocaleData';
6
- export declare type PageHead = HeadConfig[];
7
- export declare type PageHeadRef = ComputedRef<PageHead>;
8
- export declare const pageHeadSymbol: InjectionKey<PageHeadRef>;
9
- export declare const usePageHead: () => PageHeadRef;
10
- /**
11
- * Merge the head config in frontmatter and site locale
12
- *
13
- * Frontmatter should take priority over site locale
14
- */
15
- export declare const resolvePageHead: (headTitle: PageHeadTitle, frontmatter: PageFrontmatter, siteLocale: SiteLocaleData) => HeadConfig[];
@@ -1,33 +0,0 @@
1
- import { inject } from 'vue';
2
- import { dedupeHead, isArray, isString } from '@vuepress/shared';
3
- export const pageHeadSymbol = Symbol(__DEV__ ? 'pageHead' : '');
4
- export const usePageHead = () => {
5
- const pageHead = inject(pageHeadSymbol);
6
- if (!pageHead) {
7
- throw new Error('usePageHead() is called without provider.');
8
- }
9
- return pageHead;
10
- };
11
- /**
12
- * Merge the head config in frontmatter and site locale
13
- *
14
- * Frontmatter should take priority over site locale
15
- */
16
- export const resolvePageHead = (headTitle, frontmatter, siteLocale) => {
17
- const description = isString(frontmatter.description)
18
- ? frontmatter.description
19
- : siteLocale.description;
20
- const head = [
21
- ...(isArray(frontmatter.head) ? frontmatter.head : []),
22
- ...siteLocale.head,
23
- ['title', {}, headTitle],
24
- ['meta', { name: 'description', content: description }],
25
- ['meta', { charset: 'utf-8' }],
26
- [
27
- 'meta',
28
- { name: 'viewport', content: 'width=device-width,initial-scale=1' },
29
- ],
30
- ['meta', { name: 'generator', content: `VuePress ${__VERSION__}` }],
31
- ];
32
- return dedupeHead(head);
33
- };