vitepress 0.22.4 → 1.0.0-draft.3

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 (149) hide show
  1. package/client.d.ts +2 -3
  2. package/dist/client/app/components/ClientOnly.js +1 -1
  3. package/dist/client/app/index.js +1 -1
  4. package/dist/client/index.d.ts +5 -0
  5. package/dist/client/shared.js +1 -0
  6. package/dist/client/theme-default/Layout.vue +39 -180
  7. package/dist/client/theme-default/NotFound.vue +9 -8
  8. package/dist/client/theme-default/components/VPAlgoliaSearchBox.vue +127 -0
  9. package/dist/client/theme-default/components/VPBackdrop.vue +39 -0
  10. package/dist/client/theme-default/components/VPBox.vue +59 -0
  11. package/dist/client/theme-default/components/VPButton.vue +123 -0
  12. package/dist/client/theme-default/components/VPContent.vue +74 -0
  13. package/dist/client/theme-default/components/VPDoc.vue +173 -0
  14. package/dist/client/theme-default/components/VPDocFooter.vue +141 -0
  15. package/dist/client/theme-default/components/VPDocOutline.vue +108 -0
  16. package/dist/client/theme-default/components/VPFlyout.vue +149 -0
  17. package/dist/client/theme-default/components/VPFooter.vue +53 -0
  18. package/dist/client/theme-default/components/VPHero.vue +144 -0
  19. package/dist/client/theme-default/components/VPHome.vue +33 -0
  20. package/dist/client/theme-default/components/VPHomeFeatures.vue +96 -0
  21. package/dist/client/theme-default/components/VPHomeHero.vue +17 -0
  22. package/dist/client/theme-default/components/VPHomeSponsors.vue +93 -0
  23. package/dist/client/theme-default/components/VPLink.vue +37 -0
  24. package/dist/client/theme-default/components/VPLocalNav.vue +106 -0
  25. package/dist/client/theme-default/components/VPMenu.vue +79 -0
  26. package/dist/client/theme-default/components/VPMenuGroup.vue +35 -0
  27. package/dist/client/theme-default/components/VPMenuLink.vue +30 -0
  28. package/dist/client/theme-default/components/VPNav.vue +33 -0
  29. package/dist/client/theme-default/components/VPNavBar.vue +110 -0
  30. package/dist/client/theme-default/components/VPNavBarAppearance.vue +25 -0
  31. package/dist/client/theme-default/components/VPNavBarExtra.vue +107 -0
  32. package/dist/client/theme-default/components/VPNavBarHamburger.vue +79 -0
  33. package/dist/client/theme-default/components/VPNavBarMenu.vue +29 -0
  34. package/dist/client/theme-default/components/VPNavBarMenuGroup.vue +18 -0
  35. package/dist/client/theme-default/components/VPNavBarMenuLink.vue +56 -0
  36. package/dist/client/theme-default/components/VPNavBarSearch.vue +269 -0
  37. package/dist/client/theme-default/components/VPNavBarSocialLinks.vue +27 -0
  38. package/dist/client/theme-default/components/VPNavBarTitle.vue +57 -0
  39. package/dist/client/theme-default/components/VPNavBarTranslations.vue +74 -0
  40. package/dist/client/theme-default/components/VPNavScreen.vue +100 -0
  41. package/dist/client/theme-default/components/VPNavScreenAppearance.vue +33 -0
  42. package/dist/client/theme-default/components/VPNavScreenMenu.vue +24 -0
  43. package/dist/client/theme-default/components/VPNavScreenMenuGroup.vue +118 -0
  44. package/dist/client/theme-default/components/VPNavScreenMenuGroupLink.vue +33 -0
  45. package/dist/client/theme-default/components/VPNavScreenMenuGroupSection.vue +35 -0
  46. package/dist/client/theme-default/components/VPNavScreenMenuLink.vue +34 -0
  47. package/dist/client/theme-default/components/VPNavScreenSocialLinks.vue +14 -0
  48. package/dist/client/theme-default/components/VPNavScreenTranslations.vue +73 -0
  49. package/dist/client/theme-default/components/VPPage.vue +5 -0
  50. package/dist/client/theme-default/components/VPSidebar.vue +118 -0
  51. package/dist/client/theme-default/components/VPSidebarGroup.vue +44 -0
  52. package/dist/client/theme-default/components/VPSidebarLink.vue +57 -0
  53. package/dist/client/theme-default/components/VPSkipLink.vue +72 -0
  54. package/dist/client/theme-default/components/VPSocialLink.vue +63 -0
  55. package/dist/client/theme-default/components/VPSocialLinks.vue +27 -0
  56. package/dist/client/theme-default/components/VPSponsors.vue +77 -0
  57. package/dist/client/theme-default/components/VPSponsorsGrid.vue +32 -0
  58. package/dist/client/theme-default/components/VPSwitch.vue +66 -0
  59. package/dist/client/theme-default/components/VPSwitchAppearance.vue +74 -0
  60. package/dist/client/theme-default/components/icons/VPIconAlignJustify.vue +8 -0
  61. package/dist/client/theme-default/components/icons/VPIconAlignLeft.vue +8 -0
  62. package/dist/client/theme-default/components/icons/VPIconAlignRight.vue +8 -0
  63. package/dist/client/theme-default/components/icons/{ArrowLeft.vue → VPIconArrowLeft.vue} +0 -0
  64. package/dist/client/theme-default/components/icons/{ArrowRight.vue → VPIconArrowRight.vue} +0 -0
  65. package/dist/client/theme-default/components/icons/VPIconChevronDown.vue +5 -0
  66. package/dist/client/theme-default/components/icons/VPIconChevronLeft.vue +5 -0
  67. package/dist/client/theme-default/components/icons/VPIconChevronRight.vue +5 -0
  68. package/dist/client/theme-default/components/icons/VPIconChevronUp.vue +5 -0
  69. package/dist/client/theme-default/components/icons/VPIconDiscord.vue +5 -0
  70. package/dist/client/theme-default/components/icons/VPIconEdit.vue +6 -0
  71. package/dist/client/theme-default/components/icons/VPIconExternalLink.vue +13 -0
  72. package/dist/client/theme-default/components/icons/VPIconFacebook.vue +5 -0
  73. package/dist/client/theme-default/components/icons/VPIconGitHub.vue +5 -0
  74. package/dist/client/theme-default/components/icons/VPIconHeart.vue +5 -0
  75. package/dist/client/theme-default/components/icons/VPIconInstagram.vue +5 -0
  76. package/dist/client/theme-default/components/icons/VPIconLanguages.vue +9 -0
  77. package/dist/client/theme-default/components/icons/VPIconLinkedIn.vue +5 -0
  78. package/dist/client/theme-default/components/icons/VPIconMoon.vue +5 -0
  79. package/dist/client/theme-default/components/icons/VPIconMoreHorizontal.vue +7 -0
  80. package/dist/client/theme-default/components/icons/VPIconPlus.vue +5 -0
  81. package/dist/client/theme-default/components/icons/VPIconSlack.vue +5 -0
  82. package/dist/client/theme-default/components/icons/VPIconSun.vue +13 -0
  83. package/dist/client/theme-default/components/icons/VPIconTwitter.vue +5 -0
  84. package/dist/client/theme-default/components/icons/VPIconYouTube.vue +5 -0
  85. package/dist/client/theme-default/composables/edit-link.js +22 -0
  86. package/dist/client/theme-default/composables/flyout.js +40 -0
  87. package/dist/client/theme-default/composables/nav.js +27 -1
  88. package/dist/client/theme-default/composables/outline.js +112 -0
  89. package/dist/client/theme-default/composables/prev-next.js +18 -0
  90. package/dist/client/theme-default/composables/sidebar.js +57 -0
  91. package/dist/client/theme-default/composables/sponsor-grid.js +92 -0
  92. package/dist/client/theme-default/fonts/inter-cyrillic-ext.woff2 +0 -0
  93. package/dist/client/theme-default/fonts/inter-cyrillic.woff2 +0 -0
  94. package/dist/client/theme-default/fonts/inter-greek-ext.woff2 +0 -0
  95. package/dist/client/theme-default/fonts/inter-greek.woff2 +0 -0
  96. package/dist/client/theme-default/fonts/inter-latin-ext.woff2 +0 -0
  97. package/dist/client/theme-default/fonts/inter-latin.woff2 +0 -0
  98. package/dist/client/theme-default/fonts/inter-vietnamese.woff2 +0 -0
  99. package/dist/client/theme-default/index.js +8 -4
  100. package/dist/client/theme-default/styles/base.css +203 -0
  101. package/dist/client/theme-default/styles/fonts.css +67 -0
  102. package/dist/client/theme-default/styles/utils.css +9 -0
  103. package/dist/client/theme-default/styles/vars.css +291 -66
  104. package/dist/client/theme-default/styles/vp-doc.css +425 -0
  105. package/dist/client/theme-default/styles/vp-sponsor.css +86 -0
  106. package/dist/client/theme-default/support/sidebar.js +29 -0
  107. package/dist/client/theme-default/support/utils.js +62 -0
  108. package/dist/node/cli.js +3 -8
  109. package/dist/node/index.d.ts +121 -78
  110. package/dist/node/index.js +1 -1
  111. package/dist/node/{serve-3035f99b.js → serve-b5dc02b2.js} +11444 -1417
  112. package/package.json +24 -18
  113. package/types/default-theme.d.ts +114 -77
  114. package/types/shared.d.ts +11 -6
  115. package/dist/client/theme-default/components/AlgoliaSearchBox.vue +0 -188
  116. package/dist/client/theme-default/components/BuySellAds.vue +0 -152
  117. package/dist/client/theme-default/components/CarbonAds.vue +0 -99
  118. package/dist/client/theme-default/components/EditLink.vue +0 -38
  119. package/dist/client/theme-default/components/Home.vue +0 -31
  120. package/dist/client/theme-default/components/HomeFeatures.vue +0 -143
  121. package/dist/client/theme-default/components/HomeFooter.vue +0 -50
  122. package/dist/client/theme-default/components/HomeHero.vue +0 -161
  123. package/dist/client/theme-default/components/LastUpdated.vue +0 -60
  124. package/dist/client/theme-default/components/NavBar.vue +0 -60
  125. package/dist/client/theme-default/components/NavBarTitle.vue +0 -41
  126. package/dist/client/theme-default/components/NavDropdownLink.vue +0 -135
  127. package/dist/client/theme-default/components/NavDropdownLinkItem.vue +0 -76
  128. package/dist/client/theme-default/components/NavLink.vue +0 -61
  129. package/dist/client/theme-default/components/NavLinks.vue +0 -52
  130. package/dist/client/theme-default/components/NextAndPrevLinks.vue +0 -88
  131. package/dist/client/theme-default/components/Page.vue +0 -53
  132. package/dist/client/theme-default/components/PageFooter.vue +0 -44
  133. package/dist/client/theme-default/components/SideBar.vue +0 -60
  134. package/dist/client/theme-default/components/SideBarLink.js +0 -68
  135. package/dist/client/theme-default/components/SideBarLinks.vue +0 -12
  136. package/dist/client/theme-default/components/ToggleSideBarButton.vue +0 -46
  137. package/dist/client/theme-default/components/icons/OutboundLink.vue +0 -31
  138. package/dist/client/theme-default/composables/activeSidebarLink.js +0 -99
  139. package/dist/client/theme-default/composables/editLink.js +0 -49
  140. package/dist/client/theme-default/composables/navLink.js +0 -42
  141. package/dist/client/theme-default/composables/nextAndPrevLinks.js +0 -37
  142. package/dist/client/theme-default/composables/repo.js +0 -38
  143. package/dist/client/theme-default/composables/sideBar.js +0 -57
  144. package/dist/client/theme-default/styles/code.css +0 -299
  145. package/dist/client/theme-default/styles/custom-blocks.css +0 -76
  146. package/dist/client/theme-default/styles/layout.css +0 -236
  147. package/dist/client/theme-default/styles/sidebar-links.css +0 -107
  148. package/dist/client/theme-default/support/sideBar.js +0 -46
  149. package/dist/client/theme-default/utils.js +0 -63
@@ -17,126 +17,169 @@ export declare function createServer(root?: string, serverOptions?: ServerOption
17
17
 
18
18
  export declare namespace DefaultTheme {
19
19
  export interface Config {
20
- logo?: string
21
- nav?: NavItem[] | false
22
- sidebar?: SideBarConfig | MultiSideBarConfig
23
-
24
20
  /**
25
- * GitHub repository following the format <user>/<project>.
21
+ * The logo file of the site.
26
22
  *
27
- * @example `"vuejs/vue-next"`
23
+ * @example '/logo.svg'
28
24
  */
29
- repo?: string
25
+ logo?: string
30
26
 
31
27
  /**
32
- * Customize the header label. Defaults to GitHub/Gitlab/Bitbucket
33
- * depending on the provided repo.
34
- *
35
- * @example `"Contribute!"`
28
+ * The nav items.
36
29
  */
37
- repoLabel?: string
30
+ nav?: NavItem[]
38
31
 
39
32
  /**
40
- * If your docs are in a different repository from your main project.
41
- *
42
- * @example `"vuejs/docs-next"`
33
+ * The sidebar items.
43
34
  */
44
- docsRepo?: string
35
+ sidebar?: Sidebar
45
36
 
46
37
  /**
47
- * If your docs are not at the root of the repo.
48
- *
49
- * @example `"docs"`
38
+ * Info for the edit link. If it's undefined, the edit link feature will
39
+ * be disabled.
50
40
  */
51
- docsDir?: string
41
+ editLink?: EditLink
52
42
 
53
43
  /**
54
- * If your docs are in a different branch. Defaults to `master`.
55
- *
56
- * @example `"next"`
44
+ * The social links to be displayed at the end of the nav bar. Perfect for
45
+ * placing links to social services such as GitHub, Twitter, Facebook, etc.
57
46
  */
58
- docsBranch?: string
47
+ socialLinks?: SocialLink[]
59
48
 
60
49
  /**
61
- * Enable links to edit pages at the bottom of the page.
50
+ * The footer configuration.
62
51
  */
63
- editLinks?: boolean
52
+ footer?: Footer
64
53
 
65
54
  /**
66
- * Custom text for edit link. Defaults to "Edit this page".
55
+ * Adds locale menu to the nav. This option should be used when you have
56
+ * your translated sites outside of the project.
67
57
  */
68
- editLinkText?: string
58
+ localeLinks?: LocaleLinks
69
59
 
70
60
  /**
71
- * Show last updated time at the bottom of the page. Defaults to `false`.
72
- * If given a string, it will be displayed as a prefix (default value:
73
- * "Last Updated").
61
+ * The algolia options. Leave it undefined to disable the search feature.
74
62
  */
75
- lastUpdated?: string | boolean
76
-
77
- prevLinks?: boolean
78
- nextLinks?: boolean
79
-
80
- locales?: Record<string, LocaleConfig & Omit<Config, 'locales'>>
81
-
82
63
  algolia?: AlgoliaSearchOptions
83
64
 
84
- carbonAds?: {
85
- carbon: string
86
- custom?: string
87
- placement: string
88
- }
65
+ /**
66
+ * The carbon ads options. Leave it undefined to disable the ads feature.
67
+ */
68
+ carbonAds?: CarbonAdsOptions
89
69
  }
90
70
 
91
- // navbar --------------------------------------------------------------------
71
+ // nav -----------------------------------------------------------------------
92
72
 
93
73
  export type NavItem = NavItemWithLink | NavItemWithChildren
94
74
 
95
- export interface NavItemBase {
75
+ export type NavItemWithLink = {
96
76
  text: string
97
- target?: string
98
- rel?: string
99
- ariaLabel?: string
100
- activeMatch?: string
101
- }
102
-
103
- export interface NavItemWithLink extends NavItemBase {
104
77
  link: string
78
+
79
+ /**
80
+ * `activeMatch` is expected to be a regex string. We can't use actual
81
+ * RegExp object here because it isn't serializable
82
+ */
83
+ activeMatch?: string
105
84
  }
106
85
 
107
- export interface NavItemWithChildren extends NavItemBase {
86
+ export interface NavItemWithChildren {
87
+ text?: string
108
88
  items: NavItemWithLink[]
109
89
  }
110
90
 
111
91
  // sidebar -------------------------------------------------------------------
112
92
 
113
- export type SideBarConfig = SideBarItem[] | 'auto' | false
93
+ export type Sidebar = SidebarGroup[] | SidebarMulti
114
94
 
115
- export interface MultiSideBarConfig {
116
- [path: string]: SideBarConfig
95
+ export interface SidebarMulti {
96
+ [path: string]: SidebarGroup[]
117
97
  }
118
98
 
119
- export type SideBarItem = SideBarLink | SideBarGroup
99
+ export interface SidebarGroup {
100
+ text: string
101
+ items: SidebarItem[]
102
+ }
120
103
 
121
- export interface SideBarLink {
104
+ export interface SidebarItem {
122
105
  text: string
123
106
  link: string
124
107
  }
125
108
 
126
- export interface SideBarGroup {
127
- text: string
128
- link?: string
109
+ // edit link -----------------------------------------------------------------
110
+
111
+ export interface EditLink {
112
+ /**
113
+ * Repo of the site.
114
+ *
115
+ * @example 'vuejs/docs'
116
+ */
117
+ repo: string
118
+
119
+ /**
120
+ * Branch of the repo.
121
+ *
122
+ * @default 'main'
123
+ */
124
+ branch?: string
129
125
 
130
126
  /**
131
- * @default false
127
+ * If your docs are not at the root of the repo.
128
+ *
129
+ * @example 'docs'
132
130
  */
133
- collapsable?: boolean
131
+ dir?: string
134
132
 
135
- children: SideBarItem[]
133
+ /**
134
+ * Custom text for edit link.
135
+ *
136
+ * @default 'Edit this page'
137
+ */
138
+ text?: string
139
+ }
140
+
141
+ // social link ---------------------------------------------------------------
142
+
143
+ export interface SocialLink {
144
+ icon: SocialLinkIcon
145
+ link: string
146
+ }
147
+
148
+ export type SocialLinkIcon =
149
+ | 'discord'
150
+ | 'facebook'
151
+ | 'github'
152
+ | 'instagram'
153
+ | 'linkedin'
154
+ | 'slack'
155
+ | 'twitter'
156
+ | 'youtube'
157
+
158
+ // footer --------------------------------------------------------------------
159
+
160
+ export interface Footer {
161
+ message?: string
162
+ copyright?: string
163
+ }
164
+
165
+ // locales -------------------------------------------------------------------
166
+
167
+ export interface LocaleLinks {
168
+ text: string
169
+ items: LocaleLink[]
170
+ }
171
+
172
+ export interface LocaleLink {
173
+ text: string
174
+ link: string
136
175
  }
137
176
 
138
- // algolia ------------------------------------------------------------------
139
- // partially copied from @docsearch/react/dist/esm/DocSearch.d.ts
177
+ // algolia ------------------------------------------------------------------
178
+
179
+ /**
180
+ * The Algolia search options. Partially copied from
181
+ * `@docsearch/react/dist/esm/DocSearch.d.ts`
182
+ */
140
183
  export interface AlgoliaSearchOptions {
141
184
  appId: string
142
185
  apiKey: string
@@ -147,18 +190,12 @@ export declare namespace DefaultTheme {
147
190
  initialQuery?: string
148
191
  }
149
192
 
150
- // locales -------------------------------------------------------------------
151
-
152
- export interface LocaleConfig {
153
- /**
154
- * Text for the language dropdown.
155
- */
156
- selectText?: string
193
+ // carbon ads ----------------------------------------------------------------
157
194
 
158
- /**
159
- * Label for this locale in the language dropdown.
160
- */
161
- label?: string
195
+ export interface CarbonAdsOptions {
196
+ carbon: string
197
+ custom?: string
198
+ placement: string
162
199
  }
163
200
  }
164
201
 
@@ -247,17 +284,22 @@ export declare interface SiteConfig<ThemeConfig = any> extends Pick<UserConfig,
247
284
 
248
285
  export declare interface SiteData<ThemeConfig = any> {
249
286
  base: string
287
+
250
288
  /**
251
289
  * Language of the site as it should be set on the `html` element.
290
+ *
252
291
  * @example `en-US`, `zh-CN`
253
292
  */
254
293
  lang: string
294
+
255
295
  title: string
256
296
  description: string
257
297
  head: HeadConfig[]
298
+ appearance: boolean
258
299
  themeConfig: ThemeConfig
259
300
  scrollOffset: number | string
260
301
  locales: Record<string, LocaleConfig>
302
+
261
303
  /**
262
304
  * Available locales for the site when it has defined `locales` in its
263
305
  * `themeConfig`. This object is otherwise empty. Keys are paths like `/` or
@@ -282,11 +324,12 @@ export declare interface SiteData<ThemeConfig = any> {
282
324
 
283
325
  export declare interface UserConfig<ThemeConfig = any> {
284
326
  extends?: RawConfigExports<ThemeConfig>;
285
- lang?: string;
286
327
  base?: string;
328
+ lang?: string;
287
329
  title?: string;
288
330
  description?: string;
289
331
  head?: HeadConfig[];
332
+ appearance?: boolean;
290
333
  themeConfig?: ThemeConfig;
291
334
  locales?: Record<string, LocaleConfig>;
292
335
  markdown?: MarkdownOptions;
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var serve = require('./serve-3035f99b.js');
5
+ var serve = require('./serve-b5dc02b2.js');
6
6
  require('vite');
7
7
  require('readline');
8
8
  require('assert');