vitepress 0.22.3 → 1.0.0-draft.2

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 (208) 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 +5 -7
  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 +97 -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/composables/sponsor.js +87 -0
  93. package/dist/client/theme-default/fonts/inter-cyrillic-ext.woff2 +0 -0
  94. package/dist/client/theme-default/fonts/inter-cyrillic.woff2 +0 -0
  95. package/dist/client/theme-default/fonts/inter-greek-ext.woff2 +0 -0
  96. package/dist/client/theme-default/fonts/inter-greek.woff2 +0 -0
  97. package/dist/client/theme-default/fonts/inter-latin-ext.woff2 +0 -0
  98. package/dist/client/theme-default/fonts/inter-latin.woff2 +0 -0
  99. package/dist/client/theme-default/fonts/inter-vietnamese.woff2 +0 -0
  100. package/dist/client/theme-default/index.js +8 -4
  101. package/dist/client/theme-default/styles/base.css +203 -0
  102. package/dist/client/theme-default/styles/fonts.css +67 -0
  103. package/dist/client/theme-default/styles/utils.css +9 -0
  104. package/dist/client/theme-default/styles/vars.css +291 -66
  105. package/dist/client/theme-default/styles/vp-doc.css +425 -0
  106. package/dist/client/theme-default/styles/vp-sponsor.css +86 -0
  107. package/dist/client/theme-default/support/sidebar.js +29 -0
  108. package/dist/client/theme-default/support/utils.js +62 -0
  109. package/dist/node/alias.js +60 -0
  110. package/dist/node/alias.js.map +1 -0
  111. package/dist/node/build/build.js +57 -0
  112. package/dist/node/build/build.js.map +1 -0
  113. package/dist/node/build/buildMPAClient.js +44 -0
  114. package/dist/node/build/buildMPAClient.js.map +1 -0
  115. package/dist/node/build/bundle.js +163 -0
  116. package/dist/node/build/bundle.js.map +1 -0
  117. package/dist/node/build/render.js +185 -0
  118. package/dist/node/build/render.js.map +1 -0
  119. package/dist/node/cli.js +37 -294
  120. package/dist/node/cli.js.map +1 -0
  121. package/dist/node/config.js +176 -0
  122. package/dist/node/config.js.map +1 -0
  123. package/dist/node/index.d.ts +122 -79
  124. package/dist/node/index.js +22 -37
  125. package/dist/node/index.js.map +1 -0
  126. package/dist/node/markdown/markdown.js +75 -0
  127. package/dist/node/markdown/markdown.js.map +1 -0
  128. package/dist/node/markdown/plugins/component.js +86 -0
  129. package/dist/node/markdown/plugins/component.js.map +1 -0
  130. package/dist/node/markdown/plugins/containers.js +41 -0
  131. package/dist/node/markdown/plugins/containers.js.map +1 -0
  132. package/dist/node/markdown/plugins/headings.js +25 -0
  133. package/dist/node/markdown/plugins/headings.js.map +1 -0
  134. package/dist/node/markdown/plugins/highlight.js +53 -0
  135. package/dist/node/markdown/plugins/highlight.js.map +1 -0
  136. package/dist/node/markdown/plugins/highlightLines.js +48 -0
  137. package/dist/node/markdown/plugins/highlightLines.js.map +1 -0
  138. package/dist/node/markdown/plugins/hoist.js +22 -0
  139. package/dist/node/markdown/plugins/hoist.js.map +1 -0
  140. package/dist/node/markdown/plugins/image.js +17 -0
  141. package/dist/node/markdown/plugins/image.js.map +1 -0
  142. package/dist/node/markdown/plugins/lineNumbers.js +23 -0
  143. package/dist/node/markdown/plugins/lineNumbers.js.map +1 -0
  144. package/dist/node/markdown/plugins/link.js +85 -0
  145. package/dist/node/markdown/plugins/link.js.map +1 -0
  146. package/dist/node/markdown/plugins/preWrapper.js +22 -0
  147. package/dist/node/markdown/plugins/preWrapper.js.map +1 -0
  148. package/dist/node/markdown/plugins/slugify.js +26 -0
  149. package/dist/node/markdown/plugins/slugify.js.map +1 -0
  150. package/dist/node/markdown/plugins/snippet.js +146 -0
  151. package/dist/node/markdown/plugins/snippet.js.map +1 -0
  152. package/dist/node/markdownToVue.js +166 -0
  153. package/dist/node/markdownToVue.js.map +1 -0
  154. package/dist/node/plugin.js +227 -0
  155. package/dist/node/plugin.js.map +1 -0
  156. package/dist/node/serve/serve.js +59 -0
  157. package/dist/node/serve/serve.js.map +1 -0
  158. package/dist/node/{serve-777539c0.js → serve-b5dc02b2.js} +27 -2
  159. package/dist/node/server.js +18 -0
  160. package/dist/node/server.js.map +1 -0
  161. package/dist/node/shared.js +72 -0
  162. package/dist/node/shared.js.map +1 -0
  163. package/dist/node/staticDataPlugin.js +99 -0
  164. package/dist/node/staticDataPlugin.js.map +1 -0
  165. package/dist/node/utils/getGitTimestamp.js +17 -0
  166. package/dist/node/utils/getGitTimestamp.js.map +1 -0
  167. package/dist/node/utils/parseHeader.js +57 -0
  168. package/dist/node/utils/parseHeader.js.map +1 -0
  169. package/dist/node/utils/slash.js +8 -0
  170. package/dist/node/utils/slash.js.map +1 -0
  171. package/package.json +31 -25
  172. package/types/default-theme.d.ts +115 -78
  173. package/types/shared.d.ts +11 -6
  174. package/dist/client/theme-default/components/AlgoliaSearchBox.vue +0 -188
  175. package/dist/client/theme-default/components/BuySellAds.vue +0 -152
  176. package/dist/client/theme-default/components/CarbonAds.vue +0 -99
  177. package/dist/client/theme-default/components/EditLink.vue +0 -38
  178. package/dist/client/theme-default/components/Home.vue +0 -31
  179. package/dist/client/theme-default/components/HomeFeatures.vue +0 -143
  180. package/dist/client/theme-default/components/HomeFooter.vue +0 -50
  181. package/dist/client/theme-default/components/HomeHero.vue +0 -161
  182. package/dist/client/theme-default/components/LastUpdated.vue +0 -60
  183. package/dist/client/theme-default/components/NavBar.vue +0 -60
  184. package/dist/client/theme-default/components/NavBarTitle.vue +0 -41
  185. package/dist/client/theme-default/components/NavDropdownLink.vue +0 -135
  186. package/dist/client/theme-default/components/NavDropdownLinkItem.vue +0 -76
  187. package/dist/client/theme-default/components/NavLink.vue +0 -61
  188. package/dist/client/theme-default/components/NavLinks.vue +0 -52
  189. package/dist/client/theme-default/components/NextAndPrevLinks.vue +0 -88
  190. package/dist/client/theme-default/components/Page.vue +0 -53
  191. package/dist/client/theme-default/components/PageFooter.vue +0 -44
  192. package/dist/client/theme-default/components/SideBar.vue +0 -60
  193. package/dist/client/theme-default/components/SideBarLink.js +0 -68
  194. package/dist/client/theme-default/components/SideBarLinks.vue +0 -12
  195. package/dist/client/theme-default/components/ToggleSideBarButton.vue +0 -46
  196. package/dist/client/theme-default/components/icons/OutboundLink.vue +0 -31
  197. package/dist/client/theme-default/composables/activeSidebarLink.js +0 -99
  198. package/dist/client/theme-default/composables/editLink.js +0 -49
  199. package/dist/client/theme-default/composables/navLink.js +0 -42
  200. package/dist/client/theme-default/composables/nextAndPrevLinks.js +0 -37
  201. package/dist/client/theme-default/composables/repo.js +0 -38
  202. package/dist/client/theme-default/composables/sideBar.js +0 -57
  203. package/dist/client/theme-default/styles/code.css +0 -299
  204. package/dist/client/theme-default/styles/custom-blocks.css +0 -76
  205. package/dist/client/theme-default/styles/layout.css +0 -236
  206. package/dist/client/theme-default/styles/sidebar-links.css +0 -107
  207. package/dist/client/theme-default/support/sideBar.js +0 -46
  208. package/dist/client/theme-default/utils.js +0 -63
@@ -17,128 +17,171 @@ 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
- appId?: string
184
+ appId: string
142
185
  apiKey: string
143
186
  indexName: string
144
187
  placeholder?: 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;
@@ -1,37 +1,22 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var serve = require('./serve-777539c0.js');
6
- require('vite');
7
- require('readline');
8
- require('assert');
9
- require('events');
10
- require('stream');
11
- require('util');
12
- require('buffer');
13
- require('path');
14
- require('fs');
15
- require('punycode');
16
- require('prismjs');
17
- require('url');
18
- require('child_process');
19
- require('querystring');
20
- require('tty');
21
- require('net');
22
- require('zlib');
23
- require('constants');
24
- require('os');
25
- require('http');
26
-
27
-
28
-
29
- exports.build = serve.build;
30
- exports.createMarkdownRenderer = serve.createMarkdownRenderer;
31
- exports.createServer = serve.createServer;
32
- exports.defineConfig = serve.defineConfig;
33
- exports.defineConfigWithTheme = serve.defineConfigWithTheme;
34
- exports.resolveConfig = serve.resolveConfig;
35
- exports.resolveSiteData = serve.resolveSiteData;
36
- exports.resolveSiteDataByRoute = serve.resolveSiteDataByRoute;
37
- exports.serve = serve.serve;
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./server"), exports);
18
+ __exportStar(require("./build/build"), exports);
19
+ __exportStar(require("./serve/serve"), exports);
20
+ __exportStar(require("./config"), exports);
21
+ __exportStar(require("./markdown/markdown"), exports);
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,gDAA6B;AAC7B,gDAA6B;AAC7B,2CAAwB;AACxB,sDAAmC"}
@@ -0,0 +1,75 @@
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.createMarkdownRenderer = void 0;
7
+ const markdown_it_1 = __importDefault(require("markdown-it"));
8
+ const parseHeader_1 = require("../utils/parseHeader");
9
+ const highlight_1 = require("./plugins/highlight");
10
+ const slugify_1 = require("./plugins/slugify");
11
+ const highlightLines_1 = require("./plugins/highlightLines");
12
+ const lineNumbers_1 = require("./plugins/lineNumbers");
13
+ const component_1 = require("./plugins/component");
14
+ const containers_1 = require("./plugins/containers");
15
+ const snippet_1 = require("./plugins/snippet");
16
+ const hoist_1 = require("./plugins/hoist");
17
+ const preWrapper_1 = require("./plugins/preWrapper");
18
+ const link_1 = require("./plugins/link");
19
+ const headings_1 = require("./plugins/headings");
20
+ const image_1 = require("./plugins/image");
21
+ const markdown_it_anchor_1 = __importDefault(require("markdown-it-anchor"));
22
+ const markdown_it_attrs_1 = __importDefault(require("markdown-it-attrs"));
23
+ const markdown_it_emoji_1 = __importDefault(require("markdown-it-emoji"));
24
+ const markdown_it_table_of_contents_1 = __importDefault(require("markdown-it-table-of-contents"));
25
+ const createMarkdownRenderer = (srcDir, options = {}, base) => {
26
+ const md = (0, markdown_it_1.default)({
27
+ html: true,
28
+ linkify: true,
29
+ highlight: highlight_1.highlight,
30
+ ...options
31
+ });
32
+ // custom plugins
33
+ md.use(component_1.componentPlugin)
34
+ .use(highlightLines_1.highlightLinePlugin)
35
+ .use(preWrapper_1.preWrapperPlugin)
36
+ .use(snippet_1.snippetPlugin, srcDir)
37
+ .use(hoist_1.hoistPlugin)
38
+ .use(containers_1.containerPlugin)
39
+ .use(headings_1.headingPlugin)
40
+ .use(image_1.imagePlugin)
41
+ .use(link_1.linkPlugin, {
42
+ target: '_blank',
43
+ rel: 'noopener noreferrer',
44
+ ...options.externalLinks
45
+ }, base)
46
+ // 3rd party plugins
47
+ .use(markdown_it_attrs_1.default, options.attrs)
48
+ .use(markdown_it_anchor_1.default, {
49
+ slugify: slugify_1.slugify,
50
+ permalink: markdown_it_anchor_1.default.permalink.ariaHidden({}),
51
+ ...options.anchor
52
+ })
53
+ .use(markdown_it_table_of_contents_1.default, {
54
+ slugify: slugify_1.slugify,
55
+ includeLevel: [2, 3],
56
+ format: parseHeader_1.parseHeader,
57
+ ...options.toc
58
+ })
59
+ .use(markdown_it_emoji_1.default);
60
+ // apply user config
61
+ if (options.config) {
62
+ options.config(md);
63
+ }
64
+ if (options.lineNumbers) {
65
+ md.use(lineNumbers_1.lineNumberPlugin);
66
+ }
67
+ const originalRender = md.render;
68
+ md.render = (...args) => {
69
+ md.__data = {};
70
+ return originalRender.call(md, ...args);
71
+ };
72
+ return md;
73
+ };
74
+ exports.createMarkdownRenderer = createMarkdownRenderer;
75
+ //# sourceMappingURL=markdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../../src/node/markdown/markdown.ts"],"names":[],"mappings":";;;;;;AAAA,8DAAoC;AACpC,sDAAkD;AAClD,mDAA+C;AAC/C,+CAA2C;AAC3C,6DAA8D;AAC9D,uDAAwD;AACxD,mDAAqD;AACrD,qDAAsD;AACtD,+CAAiD;AACjD,2CAA6C;AAC7C,qDAAuD;AACvD,yCAA2C;AAC3C,iDAAkD;AAClD,2CAA6C;AAE7C,4EAAuC;AACvC,0EAAqC;AACrC,0EAAqC;AACrC,kGAA+C;AAgCxC,MAAM,sBAAsB,GAAG,CACpC,MAAc,EACd,UAA2B,EAAE,EAC7B,IAAY,EACM,EAAE;IACpB,MAAM,EAAE,GAAG,IAAA,qBAAU,EAAC;QACpB,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI;QACb,SAAS,EAAT,qBAAS;QACT,GAAG,OAAO;KACX,CAAqB,CAAA;IAEtB,iBAAiB;IACjB,EAAE,CAAC,GAAG,CAAC,2BAAe,CAAC;SACpB,GAAG,CAAC,oCAAmB,CAAC;SACxB,GAAG,CAAC,6BAAgB,CAAC;SACrB,GAAG,CAAC,uBAAa,EAAE,MAAM,CAAC;SAC1B,GAAG,CAAC,mBAAW,CAAC;SAChB,GAAG,CAAC,4BAAe,CAAC;SACpB,GAAG,CAAC,wBAAa,CAAC;SAClB,GAAG,CAAC,mBAAW,CAAC;SAChB,GAAG,CACF,iBAAU,EACV;QACE,MAAM,EAAE,QAAQ;QAChB,GAAG,EAAE,qBAAqB;QAC1B,GAAG,OAAO,CAAC,aAAa;KACzB,EACD,IAAI,CACL;QACD,oBAAoB;SACnB,GAAG,CAAC,2BAAK,EAAE,OAAO,CAAC,KAAK,CAAC;SACzB,GAAG,CAAC,4BAAM,EAAE;QACX,OAAO,EAAP,iBAAO;QACP,SAAS,EAAE,4BAAM,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,GAAG,OAAO,CAAC,MAAM;KAClB,CAAC;SACD,GAAG,CAAC,uCAAG,EAAE;QACR,OAAO,EAAP,iBAAO;QACP,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACpB,MAAM,EAAE,yBAAW;QACnB,GAAG,OAAO,CAAC,GAAG;KACf,CAAC;SACD,GAAG,CAAC,2BAAK,CAAC,CAAA;IAEb,oBAAoB;IACpB,IAAI,OAAO,CAAC,MAAM,EAAE;QAClB,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;KACnB;IAED,IAAI,OAAO,CAAC,WAAW,EAAE;QACvB,EAAE,CAAC,GAAG,CAAC,8BAAgB,CAAC,CAAA;KACzB;IAED,MAAM,cAAc,GAAG,EAAE,CAAC,MAAM,CAAA;IAChC,EAAE,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE;QACtB,EAAE,CAAC,MAAM,GAAG,EAAE,CAAA;QACd,OAAO,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAA;IACzC,CAAC,CAAA;IAED,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AA7DY,QAAA,sBAAsB,0BA6DlC"}
@@ -0,0 +1,86 @@
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.componentPlugin = void 0;
7
+ const html_blocks_1 = __importDefault(require("markdown-it/lib/common/html_blocks"));
8
+ const html_re_1 = require("markdown-it/lib/common/html_re");
9
+ // Replacing the default htmlBlock rule to allow using custom components at
10
+ // root level
11
+ // An array of opening and corresponding closing sequences for html tags,
12
+ // last argument defines whether it can terminate a paragraph or not
13
+ const HTML_SEQUENCES = [
14
+ [/^<(script|pre|style)(?=(\s|>|$))/i, /<\/(script|pre|style)>/i, true],
15
+ [/^<!--/, /-->/, true],
16
+ [/^<\?/, /\?>/, true],
17
+ [/^<![A-Z]/, />/, true],
18
+ [/^<!\[CDATA\[/, /\]\]>/, true],
19
+ // PascalCase Components
20
+ [/^<[A-Z]/, />/, true],
21
+ // custom elements with hyphens
22
+ [/^<\w+\-/, />/, true],
23
+ [
24
+ new RegExp('^</?(' + html_blocks_1.default.join('|') + ')(?=(\\s|/?>|$))', 'i'),
25
+ /^$/,
26
+ true
27
+ ],
28
+ [new RegExp(html_re_1.HTML_OPEN_CLOSE_TAG_RE.source + '\\s*$'), /^$/, false]
29
+ ];
30
+ const componentPlugin = (md) => {
31
+ md.block.ruler.at('html_block', htmlBlock);
32
+ };
33
+ exports.componentPlugin = componentPlugin;
34
+ const htmlBlock = (state, startLine, endLine, silent) => {
35
+ let i, nextLine, lineText;
36
+ let pos = state.bMarks[startLine] + state.tShift[startLine];
37
+ let max = state.eMarks[startLine];
38
+ // if it's indented more than 3 spaces, it should be a code block
39
+ if (state.sCount[startLine] - state.blkIndent >= 4) {
40
+ return false;
41
+ }
42
+ if (!state.md.options.html) {
43
+ return false;
44
+ }
45
+ if (state.src.charCodeAt(pos) !== 0x3c /* < */) {
46
+ return false;
47
+ }
48
+ lineText = state.src.slice(pos, max);
49
+ for (i = 0; i < HTML_SEQUENCES.length; i++) {
50
+ if (HTML_SEQUENCES[i][0].test(lineText)) {
51
+ break;
52
+ }
53
+ }
54
+ if (i === HTML_SEQUENCES.length) {
55
+ return false;
56
+ }
57
+ if (silent) {
58
+ // true if this sequence can be a terminator, false otherwise
59
+ return HTML_SEQUENCES[i][2];
60
+ }
61
+ nextLine = startLine + 1;
62
+ // If we are here - we detected HTML block.
63
+ // Let's roll down till block end.
64
+ if (!HTML_SEQUENCES[i][1].test(lineText)) {
65
+ for (; nextLine < endLine; nextLine++) {
66
+ if (state.sCount[nextLine] < state.blkIndent) {
67
+ break;
68
+ }
69
+ pos = state.bMarks[nextLine] + state.tShift[nextLine];
70
+ max = state.eMarks[nextLine];
71
+ lineText = state.src.slice(pos, max);
72
+ if (HTML_SEQUENCES[i][1].test(lineText)) {
73
+ if (lineText.length !== 0) {
74
+ nextLine++;
75
+ }
76
+ break;
77
+ }
78
+ }
79
+ }
80
+ state.line = nextLine;
81
+ const token = state.push('html_block', '', 0);
82
+ token.map = [startLine, nextLine];
83
+ token.content = state.getLines(startLine, nextLine, state.blkIndent, true);
84
+ return true;
85
+ };
86
+ //# sourceMappingURL=component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.js","sourceRoot":"","sources":["../../../../src/node/markdown/plugins/component.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
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.containerPlugin = void 0;
7
+ const markdown_it_container_1 = __importDefault(require("markdown-it-container"));
8
+ const containerPlugin = (md) => {
9
+ md.use(...createContainer('tip', 'TIP'))
10
+ .use(...createContainer('info', 'INFO'))
11
+ .use(...createContainer('warning', 'WARNING'))
12
+ .use(...createContainer('danger', 'WARNING'))
13
+ .use(...createContainer('details', 'Details'))
14
+ // explicitly escape Vue syntax
15
+ .use(markdown_it_container_1.default, 'v-pre', {
16
+ render: (tokens, idx) => tokens[idx].nesting === 1 ? `<div v-pre>\n` : `</div>\n`
17
+ });
18
+ };
19
+ exports.containerPlugin = containerPlugin;
20
+ function createContainer(klass, defaultTitle) {
21
+ return [
22
+ markdown_it_container_1.default,
23
+ klass,
24
+ {
25
+ render(tokens, idx) {
26
+ const token = tokens[idx];
27
+ const info = token.info.trim().slice(klass.length).trim();
28
+ if (token.nesting === 1) {
29
+ if (klass === 'details') {
30
+ return `<details class="${klass} custom-block">${info ? `<summary>${info}</summary>` : ''}\n`;
31
+ }
32
+ return `<div class="${klass} custom-block"><p class="custom-block-title">${info || defaultTitle}</p>\n`;
33
+ }
34
+ else {
35
+ return klass === 'details' ? `</details>\n` : `</div>\n`;
36
+ }
37
+ }
38
+ }
39
+ ];
40
+ }
41
+ //# sourceMappingURL=containers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"containers.js","sourceRoot":"","sources":["../../../../src/node/markdown/plugins/containers.ts"],"names":[],"mappings":";;;;;;AAEA,kFAA6C;AAEtC,MAAM,eAAe,GAAG,CAAC,EAAc,EAAE,EAAE;IAChD,EAAE,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;SACrC,GAAG,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SACvC,GAAG,CAAC,GAAG,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;SAC7C,GAAG,CAAC,GAAG,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;SAC5C,GAAG,CAAC,GAAG,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC9C,+BAA+B;SAC9B,GAAG,CAAC,+BAAS,EAAE,OAAO,EAAE;QACvB,MAAM,EAAE,CAAC,MAAe,EAAE,GAAW,EAAE,EAAE,CACvC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU;KAC3D,CAAC,CAAA;AACN,CAAC,CAAA;AAXY,QAAA,eAAe,mBAW3B;AAUD,SAAS,eAAe,CAAC,KAAa,EAAE,YAAoB;IAC1D,OAAO;QACL,+BAAS;QACT,KAAK;QACL;YACE,MAAM,CAAC,MAAM,EAAE,GAAG;gBAChB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;gBACzB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;gBACzD,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC,EAAE;oBACvB,IAAI,KAAK,KAAK,SAAS,EAAE;wBACvB,OAAO,mBAAmB,KAAK,kBAC7B,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,YAAY,CAAC,CAAC,CAAC,EACxC,IAAI,CAAA;qBACL;oBACD,OAAO,eAAe,KAAK,gDACzB,IAAI,IAAI,YACV,QAAQ,CAAA;iBACT;qBAAM;oBACL,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAA;iBACzD;YACH,CAAC;SACF;KACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.headingPlugin = void 0;
4
+ const parseHeader_1 = require("../../utils/parseHeader");
5
+ const slugify_1 = require("./slugify");
6
+ const headingPlugin = (md, include = ['h2', 'h3']) => {
7
+ md.renderer.rules.heading_open = (tokens, i, options, env, self) => {
8
+ const token = tokens[i];
9
+ if (include.includes(token.tag)) {
10
+ const title = tokens[i + 1].content;
11
+ const idAttr = token.attrs.find(([name]) => name === 'id');
12
+ const slug = idAttr && idAttr[1];
13
+ const data = md.__data;
14
+ const headers = data.headers || (data.headers = []);
15
+ headers.push({
16
+ level: parseInt(token.tag.slice(1), 10),
17
+ title: (0, parseHeader_1.deeplyParseHeader)(title),
18
+ slug: slug || (0, slugify_1.slugify)(title)
19
+ });
20
+ }
21
+ return self.renderToken(tokens, i, options);
22
+ };
23
+ };
24
+ exports.headingPlugin = headingPlugin;
25
+ //# sourceMappingURL=headings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headings.js","sourceRoot":"","sources":["../../../../src/node/markdown/plugins/headings.ts"],"names":[],"mappings":";;;AACA,yDAA2D;AAC3D,uCAAmC;AAG5B,MAAM,aAAa,GAAG,CAAC,EAAc,EAAE,OAAO,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;IACtE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACjE,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QACvB,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAA;YACnC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;YAC3D,MAAM,IAAI,GAAG,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAA;YAChC,MAAM,IAAI,GAAI,EAAuB,CAAC,MAAM,CAAA;YAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,CAAA;YACnD,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACvC,KAAK,EAAE,IAAA,+BAAiB,EAAC,KAAK,CAAC;gBAC/B,IAAI,EAAE,IAAI,IAAI,IAAA,iBAAO,EAAC,KAAK,CAAC;aAC7B,CAAC,CAAA;SACH;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;IAC7C,CAAC,CAAA;AACH,CAAC,CAAA;AAjBY,QAAA,aAAa,iBAiBzB"}