@vuepress/client 2.0.0-beta.4 → 2.0.0-beta.42

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 (73) hide show
  1. package/dist/app.d.ts +7 -0
  2. package/dist/app.js +259 -0
  3. package/dist/chunk-RTLFYRTT.js +250 -0
  4. package/dist/createVueAppFunction-c8e67ca1.d.ts +9 -0
  5. package/dist/index.d.ts +220 -0
  6. package/dist/index.js +70 -0
  7. package/package.json +53 -16
  8. package/templates/{index.ssr.html → build.html} +3 -0
  9. package/templates/{index.dev.html → dev.html} +2 -0
  10. package/types.d.ts +6 -0
  11. package/CHANGELOG.md +0 -171
  12. package/lib/app.d.ts +0 -18
  13. package/lib/app.js +0 -133
  14. package/lib/client.d.ts +0 -1
  15. package/lib/client.js +0 -14
  16. package/lib/components/Content.d.ts +0 -7
  17. package/lib/components/Content.js +0 -34
  18. package/lib/components/OutboundLink.css +0 -7
  19. package/lib/components/OutboundLink.d.ts +0 -3
  20. package/lib/components/OutboundLink.js +0 -24
  21. package/lib/components/Vuepress.d.ts +0 -5
  22. package/lib/components/Vuepress.js +0 -33
  23. package/lib/components/index.d.ts +0 -3
  24. package/lib/components/index.js +0 -3
  25. package/lib/constants.d.ts +0 -4
  26. package/lib/index.d.ts +0 -7
  27. package/lib/index.js +0 -5
  28. package/lib/injections/index.d.ts +0 -10
  29. package/lib/injections/index.js +0 -10
  30. package/lib/injections/pageData.d.ts +0 -7
  31. package/lib/injections/pageData.js +0 -31
  32. package/lib/injections/pageFrontmatter.d.ts +0 -7
  33. package/lib/injections/pageFrontmatter.js +0 -10
  34. package/lib/injections/pageHead.d.ts +0 -15
  35. package/lib/injections/pageHead.js +0 -33
  36. package/lib/injections/pageHeadTitle.d.ts +0 -11
  37. package/lib/injections/pageHeadTitle.js +0 -13
  38. package/lib/injections/pageLang.d.ts +0 -13
  39. package/lib/injections/pageLang.js +0 -16
  40. package/lib/injections/pagesData.d.ts +0 -6
  41. package/lib/injections/pagesData.js +0 -16
  42. package/lib/injections/routeLocale.d.ts +0 -10
  43. package/lib/injections/routeLocale.js +0 -14
  44. package/lib/injections/siteData.d.ts +0 -6
  45. package/lib/injections/siteData.js +0 -14
  46. package/lib/injections/siteLocaleData.d.ts +0 -12
  47. package/lib/injections/siteLocaleData.js +0 -17
  48. package/lib/injections/updateHead.d.ts +0 -15
  49. package/lib/injections/updateHead.js +0 -100
  50. package/lib/server.d.ts +0 -8
  51. package/lib/server.js +0 -10
  52. package/lib/types/clientAppEnhance.d.ts +0 -8
  53. package/lib/types/clientAppEnhance.js +0 -1
  54. package/lib/types/clientAppSetup.d.ts +0 -1
  55. package/lib/types/clientAppSetup.js +0 -1
  56. package/lib/types/index.d.ts +0 -7
  57. package/lib/types/index.js +0 -2
  58. package/lib/types/internal/clientAppEnhances.d.ts +0 -5
  59. package/lib/types/internal/clientAppRootComponents.d.ts +0 -5
  60. package/lib/types/internal/clientAppSetups.d.ts +0 -5
  61. package/lib/types/internal/layoutComponents.d.ts +0 -5
  62. package/lib/types/internal/pagesComponent.d.ts +0 -5
  63. package/lib/types/internal/pagesData.d.ts +0 -5
  64. package/lib/types/internal/pagesRoutes.d.ts +0 -5
  65. package/lib/types/internal/siteData.d.ts +0 -5
  66. package/lib/utils/defineClientAppEnhance.d.ts +0 -2
  67. package/lib/utils/defineClientAppEnhance.js +0 -1
  68. package/lib/utils/defineClientAppSetup.d.ts +0 -2
  69. package/lib/utils/defineClientAppSetup.js +0 -1
  70. package/lib/utils/index.d.ts +0 -3
  71. package/lib/utils/index.js +0 -3
  72. package/lib/utils/withBase.d.ts +0 -4
  73. package/lib/utils/withBase.js +0 -11
@@ -1,100 +0,0 @@
1
- import { onMounted, ref, useSSRContext, watch } from 'vue';
2
- import { useRoute } from 'vue-router';
3
- import { isPlainObject, isString } from '@vuepress/shared';
4
- import { usePageHead } from './pageHead';
5
- import { usePageLang } from './pageLang';
6
- /**
7
- * Query the matched head tag of head config
8
- */
9
- export const queryHeadTag = ([tagName, attrs, content = '',]) => {
10
- const attrsSelector = Object.entries(attrs).map(([key, value]) => {
11
- if (isString(value)) {
12
- return `[${key}="${value}"]`;
13
- }
14
- if (value === true) {
15
- return `[${key}]`;
16
- }
17
- return '';
18
- });
19
- const selector = `head > ${tagName}${attrsSelector}`;
20
- const tags = Array.from(document.querySelectorAll(selector));
21
- const matchedTag = tags.find((item) => item.innerText === content);
22
- return matchedTag || null;
23
- };
24
- /**
25
- * Create head tag from head config
26
- */
27
- export const createHeadTag = ([tagName, attrs, content,]) => {
28
- if (!isString(tagName)) {
29
- return null;
30
- }
31
- // create element
32
- const tag = document.createElement(tagName);
33
- // set attributes
34
- if (isPlainObject(attrs)) {
35
- Object.entries(attrs).forEach(([key, value]) => {
36
- if (isString(value)) {
37
- tag.setAttribute(key, value);
38
- }
39
- else if (value === true) {
40
- tag.setAttribute(key, '');
41
- }
42
- });
43
- }
44
- // set content
45
- if (isString(content)) {
46
- tag.appendChild(document.createTextNode(content));
47
- }
48
- return tag;
49
- };
50
- /**
51
- * Auto update head
52
- *
53
- * This composable function should be used only once in the root app
54
- */
55
- export const useUpdateHead = () => {
56
- const route = useRoute();
57
- const head = usePageHead();
58
- const lang = usePageLang();
59
- // ssr-only, extract page meta info to ssrContext
60
- if (__SSR__) {
61
- const ssrContext = useSSRContext();
62
- if (ssrContext) {
63
- ssrContext.head = head.value;
64
- ssrContext.lang = lang.value;
65
- }
66
- return;
67
- }
68
- const headTags = ref([]);
69
- // load current head tags from DOM
70
- const loadHead = () => {
71
- head.value.forEach((item) => {
72
- const tag = queryHeadTag(item);
73
- if (tag) {
74
- headTags.value.push(tag);
75
- }
76
- });
77
- };
78
- // update html lang attribute and head tags to DOM
79
- const updateHead = () => {
80
- document.documentElement.lang = lang.value;
81
- headTags.value.forEach((item) => {
82
- if (item.parentNode === document.head) {
83
- document.head.removeChild(item);
84
- }
85
- });
86
- headTags.value.splice(0, headTags.value.length);
87
- head.value.forEach((item) => {
88
- const tag = createHeadTag(item);
89
- if (tag !== null) {
90
- document.head.appendChild(tag);
91
- headTags.value.push(tag);
92
- }
93
- });
94
- };
95
- onMounted(() => {
96
- loadHead();
97
- updateHead();
98
- watch(() => route.path, () => updateHead());
99
- });
100
- };
package/lib/server.d.ts DELETED
@@ -1,8 +0,0 @@
1
- import type { CreateVueAppResult } from './app';
2
- export interface ServerEntry {
3
- createServerApp: () => Promise<CreateVueAppResult>;
4
- }
5
- /**
6
- * Server entry point, used for SSR
7
- */
8
- export declare const createServerApp: () => Promise<CreateVueAppResult>;
package/lib/server.js DELETED
@@ -1,10 +0,0 @@
1
- import { createSSRApp } from 'vue';
2
- import { createMemoryHistory } from 'vue-router';
3
- import { createVueApp } from './app';
4
- /**
5
- * Server entry point, used for SSR
6
- */
7
- export const createServerApp = async () => createVueApp({
8
- appCreator: createSSRApp,
9
- historyCreator: createMemoryHistory,
10
- });
@@ -1,8 +0,0 @@
1
- import type { App } from 'vue';
2
- import type { Router } from 'vue-router';
3
- import type { SiteDataRef } from '../injections';
4
- export declare type ClientAppEnhance = (context: {
5
- app: App;
6
- router: Router;
7
- siteData: SiteDataRef;
8
- }) => void | Promise<void>;
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export declare type ClientAppSetup = () => void;
@@ -1 +0,0 @@
1
- export {};
@@ -1,7 +0,0 @@
1
- export * from './clientAppEnhance';
2
- export * from './clientAppSetup';
3
- declare module 'vue-router' {
4
- interface RouteMeta {
5
- title?: string;
6
- }
7
- }
@@ -1,2 +0,0 @@
1
- export * from './clientAppEnhance';
2
- export * from './clientAppSetup';
@@ -1,5 +0,0 @@
1
- import type { ClientAppEnhance } from '../clientAppEnhance'
2
-
3
- declare module '@internal/clientAppEnhances' {
4
- export const clientAppEnhances: ClientAppEnhance[]
5
- }
@@ -1,5 +0,0 @@
1
- import type { ComponentOptions } from 'vue'
2
-
3
- declare module '@internal/clientAppRootComponents' {
4
- export const clientAppRootComponents: ComponentOptions[]
5
- }
@@ -1,5 +0,0 @@
1
- import type { ClientAppSetup } from '../clientAppSetup'
2
-
3
- declare module '@internal/clientAppSetups' {
4
- export const clientAppSetups: ClientAppSetup[]
5
- }
@@ -1,5 +0,0 @@
1
- import type { AsyncComponentLoader } from 'vue'
2
-
3
- declare module '@internal/layoutComponents' {
4
- export const layoutComponents: Record<string, AsyncComponentLoader>
5
- }
@@ -1,5 +0,0 @@
1
- import type { AsyncComponentLoader } from 'vue'
2
-
3
- declare module '@internal/pagesComponent' {
4
- export const pagesComponent: Record<string, AsyncComponentLoader>
5
- }
@@ -1,5 +0,0 @@
1
- import type { PageData } from '@vuepress/shared'
2
-
3
- declare module '@internal/pagesData' {
4
- export const pagesData: Record<string, () => Promise<PageData>>
5
- }
@@ -1,5 +0,0 @@
1
- import type { RouteRecordRaw } from 'vue-router'
2
-
3
- declare module '@internal/pagesRoutes' {
4
- export const pagesRoutes: RouteRecordRaw[]
5
- }
@@ -1,5 +0,0 @@
1
- import type { SiteData } from '@vuepress/shared'
2
-
3
- declare module '@internal/siteData' {
4
- export const siteData: SiteData
5
- }
@@ -1,2 +0,0 @@
1
- import type { ClientAppEnhance } from '../types';
2
- export declare const defineClientAppEnhance: (clientAppEnhance: ClientAppEnhance) => ClientAppEnhance;
@@ -1 +0,0 @@
1
- export const defineClientAppEnhance = (clientAppEnhance) => clientAppEnhance;
@@ -1,2 +0,0 @@
1
- import type { ClientAppSetup } from '../types';
2
- export declare const defineClientAppSetup: (clientAppSetup: ClientAppSetup) => ClientAppSetup;
@@ -1 +0,0 @@
1
- export const defineClientAppSetup = (clientAppSetup) => clientAppSetup;
@@ -1,3 +0,0 @@
1
- export * from './defineClientAppEnhance';
2
- export * from './defineClientAppSetup';
3
- export * from './withBase';
@@ -1,3 +0,0 @@
1
- export * from './defineClientAppEnhance';
2
- export * from './defineClientAppSetup';
3
- export * from './withBase';
@@ -1,4 +0,0 @@
1
- /**
2
- * Prefix url with site base
3
- */
4
- export declare const withBase: (url: string) => string;
@@ -1,11 +0,0 @@
1
- import { isLinkHttp } from '@vuepress/shared';
2
- import { useSiteData } from '../injections';
3
- /**
4
- * Prefix url with site base
5
- */
6
- export const withBase = (url) => {
7
- if (isLinkHttp(url))
8
- return url;
9
- const base = useSiteData().value.base;
10
- return `${base}${url}`.replace(/\/+/, '/');
11
- };