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.
- package/client.d.ts +2 -3
- package/dist/client/app/components/ClientOnly.js +1 -1
- package/dist/client/app/index.js +5 -7
- package/dist/client/index.d.ts +5 -0
- package/dist/client/shared.js +1 -0
- package/dist/client/theme-default/Layout.vue +39 -180
- package/dist/client/theme-default/NotFound.vue +9 -8
- package/dist/client/theme-default/components/VPAlgoliaSearchBox.vue +127 -0
- package/dist/client/theme-default/components/VPBackdrop.vue +39 -0
- package/dist/client/theme-default/components/VPBox.vue +59 -0
- package/dist/client/theme-default/components/VPButton.vue +123 -0
- package/dist/client/theme-default/components/VPContent.vue +74 -0
- package/dist/client/theme-default/components/VPDoc.vue +173 -0
- package/dist/client/theme-default/components/VPDocFooter.vue +141 -0
- package/dist/client/theme-default/components/VPDocOutline.vue +108 -0
- package/dist/client/theme-default/components/VPFlyout.vue +149 -0
- package/dist/client/theme-default/components/VPFooter.vue +53 -0
- package/dist/client/theme-default/components/VPHero.vue +144 -0
- package/dist/client/theme-default/components/VPHome.vue +33 -0
- package/dist/client/theme-default/components/VPHomeFeatures.vue +96 -0
- package/dist/client/theme-default/components/VPHomeHero.vue +17 -0
- package/dist/client/theme-default/components/VPHomeSponsors.vue +97 -0
- package/dist/client/theme-default/components/VPLink.vue +37 -0
- package/dist/client/theme-default/components/VPLocalNav.vue +106 -0
- package/dist/client/theme-default/components/VPMenu.vue +79 -0
- package/dist/client/theme-default/components/VPMenuGroup.vue +35 -0
- package/dist/client/theme-default/components/VPMenuLink.vue +30 -0
- package/dist/client/theme-default/components/VPNav.vue +33 -0
- package/dist/client/theme-default/components/VPNavBar.vue +110 -0
- package/dist/client/theme-default/components/VPNavBarAppearance.vue +25 -0
- package/dist/client/theme-default/components/VPNavBarExtra.vue +107 -0
- package/dist/client/theme-default/components/VPNavBarHamburger.vue +79 -0
- package/dist/client/theme-default/components/VPNavBarMenu.vue +29 -0
- package/dist/client/theme-default/components/VPNavBarMenuGroup.vue +18 -0
- package/dist/client/theme-default/components/VPNavBarMenuLink.vue +56 -0
- package/dist/client/theme-default/components/VPNavBarSearch.vue +269 -0
- package/dist/client/theme-default/components/VPNavBarSocialLinks.vue +27 -0
- package/dist/client/theme-default/components/VPNavBarTitle.vue +57 -0
- package/dist/client/theme-default/components/VPNavBarTranslations.vue +74 -0
- package/dist/client/theme-default/components/VPNavScreen.vue +100 -0
- package/dist/client/theme-default/components/VPNavScreenAppearance.vue +33 -0
- package/dist/client/theme-default/components/VPNavScreenMenu.vue +24 -0
- package/dist/client/theme-default/components/VPNavScreenMenuGroup.vue +118 -0
- package/dist/client/theme-default/components/VPNavScreenMenuGroupLink.vue +33 -0
- package/dist/client/theme-default/components/VPNavScreenMenuGroupSection.vue +35 -0
- package/dist/client/theme-default/components/VPNavScreenMenuLink.vue +34 -0
- package/dist/client/theme-default/components/VPNavScreenSocialLinks.vue +14 -0
- package/dist/client/theme-default/components/VPNavScreenTranslations.vue +73 -0
- package/dist/client/theme-default/components/VPPage.vue +5 -0
- package/dist/client/theme-default/components/VPSidebar.vue +118 -0
- package/dist/client/theme-default/components/VPSidebarGroup.vue +44 -0
- package/dist/client/theme-default/components/VPSidebarLink.vue +57 -0
- package/dist/client/theme-default/components/VPSkipLink.vue +72 -0
- package/dist/client/theme-default/components/VPSocialLink.vue +63 -0
- package/dist/client/theme-default/components/VPSocialLinks.vue +27 -0
- package/dist/client/theme-default/components/VPSponsors.vue +77 -0
- package/dist/client/theme-default/components/VPSponsorsGrid.vue +32 -0
- package/dist/client/theme-default/components/VPSwitch.vue +66 -0
- package/dist/client/theme-default/components/VPSwitchAppearance.vue +74 -0
- package/dist/client/theme-default/components/icons/VPIconAlignJustify.vue +8 -0
- package/dist/client/theme-default/components/icons/VPIconAlignLeft.vue +8 -0
- package/dist/client/theme-default/components/icons/VPIconAlignRight.vue +8 -0
- package/dist/client/theme-default/components/icons/{ArrowLeft.vue → VPIconArrowLeft.vue} +0 -0
- package/dist/client/theme-default/components/icons/{ArrowRight.vue → VPIconArrowRight.vue} +0 -0
- package/dist/client/theme-default/components/icons/VPIconChevronDown.vue +5 -0
- package/dist/client/theme-default/components/icons/VPIconChevronLeft.vue +5 -0
- package/dist/client/theme-default/components/icons/VPIconChevronRight.vue +5 -0
- package/dist/client/theme-default/components/icons/VPIconChevronUp.vue +5 -0
- package/dist/client/theme-default/components/icons/VPIconDiscord.vue +5 -0
- package/dist/client/theme-default/components/icons/VPIconEdit.vue +6 -0
- package/dist/client/theme-default/components/icons/VPIconExternalLink.vue +13 -0
- package/dist/client/theme-default/components/icons/VPIconFacebook.vue +5 -0
- package/dist/client/theme-default/components/icons/VPIconGitHub.vue +5 -0
- package/dist/client/theme-default/components/icons/VPIconHeart.vue +5 -0
- package/dist/client/theme-default/components/icons/VPIconInstagram.vue +5 -0
- package/dist/client/theme-default/components/icons/VPIconLanguages.vue +9 -0
- package/dist/client/theme-default/components/icons/VPIconLinkedIn.vue +5 -0
- package/dist/client/theme-default/components/icons/VPIconMoon.vue +5 -0
- package/dist/client/theme-default/components/icons/VPIconMoreHorizontal.vue +7 -0
- package/dist/client/theme-default/components/icons/VPIconPlus.vue +5 -0
- package/dist/client/theme-default/components/icons/VPIconSlack.vue +5 -0
- package/dist/client/theme-default/components/icons/VPIconSun.vue +13 -0
- package/dist/client/theme-default/components/icons/VPIconTwitter.vue +5 -0
- package/dist/client/theme-default/components/icons/VPIconYouTube.vue +5 -0
- package/dist/client/theme-default/composables/edit-link.js +22 -0
- package/dist/client/theme-default/composables/flyout.js +40 -0
- package/dist/client/theme-default/composables/nav.js +27 -1
- package/dist/client/theme-default/composables/outline.js +112 -0
- package/dist/client/theme-default/composables/prev-next.js +18 -0
- package/dist/client/theme-default/composables/sidebar.js +57 -0
- package/dist/client/theme-default/composables/sponsor-grid.js +92 -0
- package/dist/client/theme-default/composables/sponsor.js +87 -0
- package/dist/client/theme-default/fonts/inter-cyrillic-ext.woff2 +0 -0
- package/dist/client/theme-default/fonts/inter-cyrillic.woff2 +0 -0
- package/dist/client/theme-default/fonts/inter-greek-ext.woff2 +0 -0
- package/dist/client/theme-default/fonts/inter-greek.woff2 +0 -0
- package/dist/client/theme-default/fonts/inter-latin-ext.woff2 +0 -0
- package/dist/client/theme-default/fonts/inter-latin.woff2 +0 -0
- package/dist/client/theme-default/fonts/inter-vietnamese.woff2 +0 -0
- package/dist/client/theme-default/index.js +8 -4
- package/dist/client/theme-default/styles/base.css +203 -0
- package/dist/client/theme-default/styles/fonts.css +67 -0
- package/dist/client/theme-default/styles/utils.css +9 -0
- package/dist/client/theme-default/styles/vars.css +291 -66
- package/dist/client/theme-default/styles/vp-doc.css +425 -0
- package/dist/client/theme-default/styles/vp-sponsor.css +86 -0
- package/dist/client/theme-default/support/sidebar.js +29 -0
- package/dist/client/theme-default/support/utils.js +62 -0
- package/dist/node/alias.js +60 -0
- package/dist/node/alias.js.map +1 -0
- package/dist/node/build/build.js +57 -0
- package/dist/node/build/build.js.map +1 -0
- package/dist/node/build/buildMPAClient.js +44 -0
- package/dist/node/build/buildMPAClient.js.map +1 -0
- package/dist/node/build/bundle.js +163 -0
- package/dist/node/build/bundle.js.map +1 -0
- package/dist/node/build/render.js +185 -0
- package/dist/node/build/render.js.map +1 -0
- package/dist/node/cli.js +37 -294
- package/dist/node/cli.js.map +1 -0
- package/dist/node/config.js +176 -0
- package/dist/node/config.js.map +1 -0
- package/dist/node/index.d.ts +122 -79
- package/dist/node/index.js +22 -37
- package/dist/node/index.js.map +1 -0
- package/dist/node/markdown/markdown.js +75 -0
- package/dist/node/markdown/markdown.js.map +1 -0
- package/dist/node/markdown/plugins/component.js +86 -0
- package/dist/node/markdown/plugins/component.js.map +1 -0
- package/dist/node/markdown/plugins/containers.js +41 -0
- package/dist/node/markdown/plugins/containers.js.map +1 -0
- package/dist/node/markdown/plugins/headings.js +25 -0
- package/dist/node/markdown/plugins/headings.js.map +1 -0
- package/dist/node/markdown/plugins/highlight.js +53 -0
- package/dist/node/markdown/plugins/highlight.js.map +1 -0
- package/dist/node/markdown/plugins/highlightLines.js +48 -0
- package/dist/node/markdown/plugins/highlightLines.js.map +1 -0
- package/dist/node/markdown/plugins/hoist.js +22 -0
- package/dist/node/markdown/plugins/hoist.js.map +1 -0
- package/dist/node/markdown/plugins/image.js +17 -0
- package/dist/node/markdown/plugins/image.js.map +1 -0
- package/dist/node/markdown/plugins/lineNumbers.js +23 -0
- package/dist/node/markdown/plugins/lineNumbers.js.map +1 -0
- package/dist/node/markdown/plugins/link.js +85 -0
- package/dist/node/markdown/plugins/link.js.map +1 -0
- package/dist/node/markdown/plugins/preWrapper.js +22 -0
- package/dist/node/markdown/plugins/preWrapper.js.map +1 -0
- package/dist/node/markdown/plugins/slugify.js +26 -0
- package/dist/node/markdown/plugins/slugify.js.map +1 -0
- package/dist/node/markdown/plugins/snippet.js +146 -0
- package/dist/node/markdown/plugins/snippet.js.map +1 -0
- package/dist/node/markdownToVue.js +166 -0
- package/dist/node/markdownToVue.js.map +1 -0
- package/dist/node/plugin.js +227 -0
- package/dist/node/plugin.js.map +1 -0
- package/dist/node/serve/serve.js +59 -0
- package/dist/node/serve/serve.js.map +1 -0
- package/dist/node/{serve-777539c0.js → serve-b5dc02b2.js} +27 -2
- package/dist/node/server.js +18 -0
- package/dist/node/server.js.map +1 -0
- package/dist/node/shared.js +72 -0
- package/dist/node/shared.js.map +1 -0
- package/dist/node/staticDataPlugin.js +99 -0
- package/dist/node/staticDataPlugin.js.map +1 -0
- package/dist/node/utils/getGitTimestamp.js +17 -0
- package/dist/node/utils/getGitTimestamp.js.map +1 -0
- package/dist/node/utils/parseHeader.js +57 -0
- package/dist/node/utils/parseHeader.js.map +1 -0
- package/dist/node/utils/slash.js +8 -0
- package/dist/node/utils/slash.js.map +1 -0
- package/package.json +31 -25
- package/types/default-theme.d.ts +115 -78
- package/types/shared.d.ts +11 -6
- package/dist/client/theme-default/components/AlgoliaSearchBox.vue +0 -188
- package/dist/client/theme-default/components/BuySellAds.vue +0 -152
- package/dist/client/theme-default/components/CarbonAds.vue +0 -99
- package/dist/client/theme-default/components/EditLink.vue +0 -38
- package/dist/client/theme-default/components/Home.vue +0 -31
- package/dist/client/theme-default/components/HomeFeatures.vue +0 -143
- package/dist/client/theme-default/components/HomeFooter.vue +0 -50
- package/dist/client/theme-default/components/HomeHero.vue +0 -161
- package/dist/client/theme-default/components/LastUpdated.vue +0 -60
- package/dist/client/theme-default/components/NavBar.vue +0 -60
- package/dist/client/theme-default/components/NavBarTitle.vue +0 -41
- package/dist/client/theme-default/components/NavDropdownLink.vue +0 -135
- package/dist/client/theme-default/components/NavDropdownLinkItem.vue +0 -76
- package/dist/client/theme-default/components/NavLink.vue +0 -61
- package/dist/client/theme-default/components/NavLinks.vue +0 -52
- package/dist/client/theme-default/components/NextAndPrevLinks.vue +0 -88
- package/dist/client/theme-default/components/Page.vue +0 -53
- package/dist/client/theme-default/components/PageFooter.vue +0 -44
- package/dist/client/theme-default/components/SideBar.vue +0 -60
- package/dist/client/theme-default/components/SideBarLink.js +0 -68
- package/dist/client/theme-default/components/SideBarLinks.vue +0 -12
- package/dist/client/theme-default/components/ToggleSideBarButton.vue +0 -46
- package/dist/client/theme-default/components/icons/OutboundLink.vue +0 -31
- package/dist/client/theme-default/composables/activeSidebarLink.js +0 -99
- package/dist/client/theme-default/composables/editLink.js +0 -49
- package/dist/client/theme-default/composables/navLink.js +0 -42
- package/dist/client/theme-default/composables/nextAndPrevLinks.js +0 -37
- package/dist/client/theme-default/composables/repo.js +0 -38
- package/dist/client/theme-default/composables/sideBar.js +0 -57
- package/dist/client/theme-default/styles/code.css +0 -299
- package/dist/client/theme-default/styles/custom-blocks.css +0 -76
- package/dist/client/theme-default/styles/layout.css +0 -236
- package/dist/client/theme-default/styles/sidebar-links.css +0 -107
- package/dist/client/theme-default/support/sideBar.js +0 -46
- package/dist/client/theme-default/utils.js +0 -63
package/dist/node/index.d.ts
CHANGED
|
@@ -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
|
-
*
|
|
21
|
+
* The logo file of the site.
|
|
26
22
|
*
|
|
27
|
-
* @example
|
|
23
|
+
* @example '/logo.svg'
|
|
28
24
|
*/
|
|
29
|
-
|
|
25
|
+
logo?: string
|
|
30
26
|
|
|
31
27
|
/**
|
|
32
|
-
*
|
|
33
|
-
* depending on the provided repo.
|
|
34
|
-
*
|
|
35
|
-
* @example `"Contribute!"`
|
|
28
|
+
* The nav items.
|
|
36
29
|
*/
|
|
37
|
-
|
|
30
|
+
nav?: NavItem[]
|
|
38
31
|
|
|
39
32
|
/**
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
* @example `"vuejs/docs-next"`
|
|
33
|
+
* The sidebar items.
|
|
43
34
|
*/
|
|
44
|
-
|
|
35
|
+
sidebar?: Sidebar
|
|
45
36
|
|
|
46
37
|
/**
|
|
47
|
-
*
|
|
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
|
-
|
|
41
|
+
editLink?: EditLink
|
|
52
42
|
|
|
53
43
|
/**
|
|
54
|
-
*
|
|
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
|
-
|
|
47
|
+
socialLinks?: SocialLink[]
|
|
59
48
|
|
|
60
49
|
/**
|
|
61
|
-
*
|
|
50
|
+
* The footer configuration.
|
|
62
51
|
*/
|
|
63
|
-
|
|
52
|
+
footer?: Footer
|
|
64
53
|
|
|
65
54
|
/**
|
|
66
|
-
*
|
|
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
|
-
|
|
58
|
+
localeLinks?: LocaleLinks
|
|
69
59
|
|
|
70
60
|
/**
|
|
71
|
-
*
|
|
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
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
}
|
|
65
|
+
/**
|
|
66
|
+
* The carbon ads options. Leave it undefined to disable the ads feature.
|
|
67
|
+
*/
|
|
68
|
+
carbonAds?: CarbonAdsOptions
|
|
89
69
|
}
|
|
90
70
|
|
|
91
|
-
//
|
|
71
|
+
// nav -----------------------------------------------------------------------
|
|
92
72
|
|
|
93
73
|
export type NavItem = NavItemWithLink | NavItemWithChildren
|
|
94
74
|
|
|
95
|
-
export
|
|
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
|
|
86
|
+
export interface NavItemWithChildren {
|
|
87
|
+
text?: string
|
|
108
88
|
items: NavItemWithLink[]
|
|
109
89
|
}
|
|
110
90
|
|
|
111
91
|
// sidebar -------------------------------------------------------------------
|
|
112
92
|
|
|
113
|
-
export type
|
|
93
|
+
export type Sidebar = SidebarGroup[] | SidebarMulti
|
|
114
94
|
|
|
115
|
-
export interface
|
|
116
|
-
[path: string]:
|
|
95
|
+
export interface SidebarMulti {
|
|
96
|
+
[path: string]: SidebarGroup[]
|
|
117
97
|
}
|
|
118
98
|
|
|
119
|
-
export
|
|
99
|
+
export interface SidebarGroup {
|
|
100
|
+
text: string
|
|
101
|
+
items: SidebarItem[]
|
|
102
|
+
}
|
|
120
103
|
|
|
121
|
-
export interface
|
|
104
|
+
export interface SidebarItem {
|
|
122
105
|
text: string
|
|
123
106
|
link: string
|
|
124
107
|
}
|
|
125
108
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
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
|
-
*
|
|
127
|
+
* If your docs are not at the root of the repo.
|
|
128
|
+
*
|
|
129
|
+
* @example 'docs'
|
|
132
130
|
*/
|
|
133
|
-
|
|
131
|
+
dir?: string
|
|
134
132
|
|
|
135
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
//
|
|
151
|
-
|
|
152
|
-
export interface LocaleConfig {
|
|
153
|
-
/**
|
|
154
|
-
* Text for the language dropdown.
|
|
155
|
-
*/
|
|
156
|
-
selectText?: string
|
|
193
|
+
// carbon ads ----------------------------------------------------------------
|
|
157
194
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
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;
|
package/dist/node/index.js
CHANGED
|
@@ -1,37 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
require(
|
|
18
|
-
require(
|
|
19
|
-
require(
|
|
20
|
-
require(
|
|
21
|
-
require(
|
|
22
|
-
|
|
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":";;;;;;AAEA,qFAA2D;AAC3D,4DAAuE;AAEvE,2EAA2E;AAC3E,aAAa;AAEb,yEAAyE;AACzE,oEAAoE;AACpE,MAAM,cAAc,GAAgC;IAClD,CAAC,mCAAmC,EAAE,yBAAyB,EAAE,IAAI,CAAC;IACtE,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC;IACtB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACrB,CAAC,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC;IACvB,CAAC,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC;IAC/B,wBAAwB;IACxB,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC;IACtB,+BAA+B;IAC/B,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC;IACtB;QACE,IAAI,MAAM,CAAC,OAAO,GAAG,qBAAU,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,kBAAkB,EAAE,GAAG,CAAC;QACpE,IAAI;QACJ,IAAI;KACL;IACD,CAAC,IAAI,MAAM,CAAC,gCAAsB,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC;CACnE,CAAA;AAEM,MAAM,eAAe,GAAG,CAAC,EAAc,EAAE,EAAE;IAChD,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;AAC5C,CAAC,CAAA;AAFY,QAAA,eAAe,mBAE3B;AAED,MAAM,SAAS,GAAc,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAW,EAAE;IAC1E,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAA;IACzB,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IAC3D,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IAEjC,iEAAiE;IACjE,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,SAAS,IAAI,CAAC,EAAE;QAClD,OAAO,KAAK,CAAA;KACb;IAED,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE;QAC1B,OAAO,KAAK,CAAA;KACb;IAED,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE;QAC9C,OAAO,KAAK,CAAA;KACb;IAED,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAEpC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC1C,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACvC,MAAK;SACN;KACF;IAED,IAAI,CAAC,KAAK,cAAc,CAAC,MAAM,EAAE;QAC/B,OAAO,KAAK,CAAA;KACb;IAED,IAAI,MAAM,EAAE;QACV,6DAA6D;QAC7D,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAC5B;IAED,QAAQ,GAAG,SAAS,GAAG,CAAC,CAAA;IAExB,2CAA2C;IAC3C,kCAAkC;IAClC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;QACxC,OAAO,QAAQ,GAAG,OAAO,EAAE,QAAQ,EAAE,EAAE;YACrC,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,SAAS,EAAE;gBAC5C,MAAK;aACN;YAED,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YACrD,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAC5B,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;YAEpC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBACvC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;oBACzB,QAAQ,EAAE,CAAA;iBACX;gBACD,MAAK;aACN;SACF;KACF;IAED,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAA;IAErB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;IAC7C,KAAK,CAAC,GAAG,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IACjC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;IAE1E,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
|
|
@@ -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"}
|