vitepress 1.0.0-draft.2 → 1.0.0-draft.5
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/README.md +3 -1
- package/bin/vitepress.js +1 -1
- package/dist/client/app/composables/head.js +2 -2
- package/dist/client/app/data.js +2 -4
- package/dist/client/app/index.js +1 -5
- package/dist/client/index.d.ts +123 -134
- package/dist/client/index.js +1 -2
- package/dist/client/shared.js +21 -0
- package/dist/client/theme-default/Layout.vue +7 -0
- package/dist/client/theme-default/NotFound.vue +74 -14
- package/dist/client/theme-default/components/VPBox.vue +1 -5
- package/dist/client/theme-default/components/VPCarbonAds.vue +90 -0
- package/dist/client/theme-default/components/VPContent.vue +14 -10
- package/dist/client/theme-default/components/VPDoc.vue +73 -58
- package/dist/client/theme-default/components/VPDocAside.vue +34 -0
- package/dist/client/theme-default/components/VPDocAsideCarbonAds.vue +13 -0
- package/dist/client/theme-default/components/{VPDocOutline.vue → VPDocAsideOutline.vue} +14 -3
- package/dist/client/theme-default/components/VPDocAsideSponsors.vue +32 -0
- package/dist/client/theme-default/components/VPDocFooter.vue +1 -1
- package/dist/client/theme-default/components/VPFlyout.vue +2 -3
- package/dist/client/theme-default/components/VPFooter.vue +1 -1
- package/dist/client/theme-default/components/VPHero.vue +3 -3
- package/dist/client/theme-default/components/VPHomeSponsors.vue +3 -7
- package/dist/client/theme-default/components/VPLink.vue +2 -1
- package/dist/client/theme-default/components/VPLocalNav.vue +1 -1
- package/dist/client/theme-default/components/VPMenu.vue +8 -13
- package/dist/client/theme-default/components/VPMenuLink.vue +10 -4
- package/dist/client/theme-default/components/VPNav.vue +18 -1
- package/dist/client/theme-default/components/VPNavBar.vue +20 -8
- package/dist/client/theme-default/components/VPNavBarExtra.vue +20 -41
- package/dist/client/theme-default/components/VPNavBarMenuGroup.vue +2 -8
- package/dist/client/theme-default/components/VPNavBarMenuLink.vue +3 -3
- package/dist/client/theme-default/components/VPNavBarSearch.vue +6 -6
- package/dist/client/theme-default/components/VPNavBarTitle.vue +4 -2
- package/dist/client/theme-default/components/VPNavBarTranslations.vue +10 -39
- package/dist/client/theme-default/components/VPNavScreenMenuGroup.vue +1 -2
- package/dist/client/theme-default/components/VPNavScreenMenuGroupSection.vue +1 -1
- package/dist/client/theme-default/components/VPSidebar.vue +12 -6
- package/dist/client/theme-default/components/VPSidebarGroup.vue +80 -17
- package/dist/client/theme-default/components/VPSidebarLink.vue +2 -9
- package/dist/client/theme-default/components/VPSocialLink.vue +2 -2
- package/dist/client/theme-default/components/VPSocialLinks.vue +1 -1
- package/dist/client/theme-default/components/VPSponsors.vue +15 -40
- package/dist/client/theme-default/components/VPSponsorsGrid.vue +2 -2
- package/dist/client/theme-default/components/icons/VPIconMinus.vue +5 -0
- package/dist/client/theme-default/components/icons/VPIconMinusSquare.vue +6 -0
- package/dist/client/theme-default/components/icons/VPIconPlusSquare.vue +6 -0
- package/dist/client/theme-default/composables/aside.js +17 -0
- package/dist/client/theme-default/composables/copy-code.js +33 -0
- package/dist/client/theme-default/composables/outline.js +14 -4
- package/dist/client/theme-default/composables/sponsor-grid.js +8 -6
- package/dist/client/theme-default/index.js +4 -2
- package/dist/client/theme-default/styles/base.css +9 -1
- package/dist/client/theme-default/styles/components/custom-block.css +90 -0
- package/dist/client/theme-default/styles/{vp-doc.css → components/vp-doc.css} +152 -115
- package/dist/client/theme-default/styles/{vp-sponsor.css → components/vp-sponsor.css} +51 -7
- package/dist/client/theme-default/styles/vars.css +109 -58
- package/dist/node/cli.js +295 -37
- package/dist/node/index.d.ts +371 -361
- package/dist/node/index.js +22 -22
- package/dist/node/serve-f7c10936.js +64795 -0
- package/dist/node-cjs/cli.cjs +304 -0
- package/dist/node-cjs/index.cjs +38 -0
- package/dist/{node/serve-b5dc02b2.js → node-cjs/serve-c220f0a8.cjs} +27511 -28708
- package/package.json +47 -40
- package/theme.d.ts +7 -2
- package/types/default-theme.d.ts +15 -2
- package/types/shared.d.ts +3 -0
- package/dist/client/theme-default/composables/sponsor.js +0 -87
- package/dist/node/alias.js +0 -60
- package/dist/node/alias.js.map +0 -1
- package/dist/node/build/build.js +0 -57
- package/dist/node/build/build.js.map +0 -1
- package/dist/node/build/buildMPAClient.js +0 -44
- package/dist/node/build/buildMPAClient.js.map +0 -1
- package/dist/node/build/bundle.js +0 -163
- package/dist/node/build/bundle.js.map +0 -1
- package/dist/node/build/render.js +0 -185
- package/dist/node/build/render.js.map +0 -1
- package/dist/node/cli.js.map +0 -1
- package/dist/node/config.js +0 -176
- package/dist/node/config.js.map +0 -1
- package/dist/node/index.js.map +0 -1
- package/dist/node/markdown/markdown.js +0 -75
- package/dist/node/markdown/markdown.js.map +0 -1
- package/dist/node/markdown/plugins/component.js +0 -86
- package/dist/node/markdown/plugins/component.js.map +0 -1
- package/dist/node/markdown/plugins/containers.js +0 -41
- package/dist/node/markdown/plugins/containers.js.map +0 -1
- package/dist/node/markdown/plugins/headings.js +0 -25
- package/dist/node/markdown/plugins/headings.js.map +0 -1
- package/dist/node/markdown/plugins/highlight.js +0 -53
- package/dist/node/markdown/plugins/highlight.js.map +0 -1
- package/dist/node/markdown/plugins/highlightLines.js +0 -48
- package/dist/node/markdown/plugins/highlightLines.js.map +0 -1
- package/dist/node/markdown/plugins/hoist.js +0 -22
- package/dist/node/markdown/plugins/hoist.js.map +0 -1
- package/dist/node/markdown/plugins/image.js +0 -17
- package/dist/node/markdown/plugins/image.js.map +0 -1
- package/dist/node/markdown/plugins/lineNumbers.js +0 -23
- package/dist/node/markdown/plugins/lineNumbers.js.map +0 -1
- package/dist/node/markdown/plugins/link.js +0 -85
- package/dist/node/markdown/plugins/link.js.map +0 -1
- package/dist/node/markdown/plugins/preWrapper.js +0 -22
- package/dist/node/markdown/plugins/preWrapper.js.map +0 -1
- package/dist/node/markdown/plugins/slugify.js +0 -26
- package/dist/node/markdown/plugins/slugify.js.map +0 -1
- package/dist/node/markdown/plugins/snippet.js +0 -146
- package/dist/node/markdown/plugins/snippet.js.map +0 -1
- package/dist/node/markdownToVue.js +0 -166
- package/dist/node/markdownToVue.js.map +0 -1
- package/dist/node/plugin.js +0 -227
- package/dist/node/plugin.js.map +0 -1
- package/dist/node/serve/serve.js +0 -59
- package/dist/node/serve/serve.js.map +0 -1
- package/dist/node/server.js +0 -18
- package/dist/node/server.js.map +0 -1
- package/dist/node/shared.js +0 -72
- package/dist/node/shared.js.map +0 -1
- package/dist/node/staticDataPlugin.js +0 -99
- package/dist/node/staticDataPlugin.js.map +0 -1
- package/dist/node/utils/getGitTimestamp.js +0 -17
- package/dist/node/utils/getGitTimestamp.js.map +0 -1
- package/dist/node/utils/parseHeader.js +0 -57
- package/dist/node/utils/parseHeader.js.map +0 -1
- package/dist/node/utils/slash.js +0 -8
- package/dist/node/utils/slash.js.map +0 -1
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { nextTick, watch } from 'vue';
|
|
2
|
+
import { inBrowser, useData } from 'vitepress';
|
|
3
|
+
export function useCopyCode() {
|
|
4
|
+
const { page } = useData();
|
|
5
|
+
if (inBrowser)
|
|
6
|
+
watch(() => page.value.relativePath, () => {
|
|
7
|
+
nextTick(() => {
|
|
8
|
+
document
|
|
9
|
+
.querySelectorAll('.vp-doc div[class*="language-"]>span.copy')
|
|
10
|
+
.forEach(handleElement);
|
|
11
|
+
});
|
|
12
|
+
}, { immediate: true, flush: 'post' });
|
|
13
|
+
}
|
|
14
|
+
function handleElement(el) {
|
|
15
|
+
el.onclick = () => {
|
|
16
|
+
const parent = el.parentElement;
|
|
17
|
+
if (!parent) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const isShell = parent.classList.contains('language-sh') ||
|
|
21
|
+
parent.classList.contains('language-bash');
|
|
22
|
+
let { innerText: text = '' } = parent;
|
|
23
|
+
if (isShell) {
|
|
24
|
+
text = text.replace(/^ *\$ /gm, '');
|
|
25
|
+
}
|
|
26
|
+
navigator.clipboard.writeText(text).then(() => {
|
|
27
|
+
el.classList.add('copied');
|
|
28
|
+
setTimeout(() => {
|
|
29
|
+
el.classList.remove('copied');
|
|
30
|
+
}, 3000);
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
}
|
|
@@ -1,8 +1,18 @@
|
|
|
1
|
-
import { onMounted, onUpdated, onUnmounted } from 'vue';
|
|
2
|
-
import {
|
|
1
|
+
import { computed, onMounted, onUpdated, onUnmounted } from 'vue';
|
|
2
|
+
import { useData } from 'vitepress';
|
|
3
|
+
import { useAside } from '../composables/aside';
|
|
3
4
|
import { throttleAndDebounce } from '../support/utils';
|
|
4
5
|
// magic number to avoid repeated retrieval
|
|
5
6
|
const PAGE_OFFSET = 56;
|
|
7
|
+
export function useOutline() {
|
|
8
|
+
const { page } = useData();
|
|
9
|
+
const hasOutline = computed(() => {
|
|
10
|
+
return page.value.headers.length > 0;
|
|
11
|
+
});
|
|
12
|
+
return {
|
|
13
|
+
hasOutline
|
|
14
|
+
};
|
|
15
|
+
}
|
|
6
16
|
export function resolveHeaders(headers) {
|
|
7
17
|
return mapHeaders(groupHeaders(headers));
|
|
8
18
|
}
|
|
@@ -29,7 +39,7 @@ function mapHeaders(headers) {
|
|
|
29
39
|
}));
|
|
30
40
|
}
|
|
31
41
|
export function useActiveAnchor(container, marker) {
|
|
32
|
-
const
|
|
42
|
+
const { isAsideEnabled } = useAside();
|
|
33
43
|
const onScroll = throttleAndDebounce(setActiveLink, 100);
|
|
34
44
|
let prevActiveLink = null;
|
|
35
45
|
onMounted(() => {
|
|
@@ -44,7 +54,7 @@ export function useActiveAnchor(container, marker) {
|
|
|
44
54
|
window.removeEventListener('scroll', onScroll);
|
|
45
55
|
});
|
|
46
56
|
function setActiveLink() {
|
|
47
|
-
if (!
|
|
57
|
+
if (!isAsideEnabled.value) {
|
|
48
58
|
return;
|
|
49
59
|
}
|
|
50
60
|
const links = [].slice.call(container.value.querySelectorAll('.outline-link'));
|
|
@@ -5,14 +5,16 @@ import { throttleAndDebounce } from '../support/utils';
|
|
|
5
5
|
*
|
|
6
6
|
* [Screen widh, Column size]
|
|
7
7
|
*
|
|
8
|
-
* It sets grid size on matching screen size. For example, `[768, 5]` will
|
|
9
|
-
* 5 columns when screen size is bigger or equal to 768px.
|
|
8
|
+
* It sets grid size on matching screen size. For example, `[768, 5]` will
|
|
9
|
+
* set 5 columns when screen size is bigger or equal to 768px.
|
|
10
10
|
*
|
|
11
11
|
* Column will set only when item size is bigger than the column size. For
|
|
12
|
-
* example, even we
|
|
13
|
-
* like to show it in 1 column.
|
|
12
|
+
* example, even we define 5 columns, if we only have 1 sponsor yet, we would
|
|
13
|
+
* like to show it in 1 column to make it stand out.
|
|
14
14
|
*/
|
|
15
15
|
const GridSettings = {
|
|
16
|
+
xmini: [[0, 2]],
|
|
17
|
+
mini: [],
|
|
16
18
|
small: [
|
|
17
19
|
[920, 6],
|
|
18
20
|
[768, 5],
|
|
@@ -31,7 +33,7 @@ const GridSettings = {
|
|
|
31
33
|
[640, 2]
|
|
32
34
|
]
|
|
33
35
|
};
|
|
34
|
-
export function useSponsorsGrid(
|
|
36
|
+
export function useSponsorsGrid({ el, size = 'medium' }) {
|
|
35
37
|
const onResize = throttleAndDebounce(manage, 100);
|
|
36
38
|
onMounted(() => {
|
|
37
39
|
manage();
|
|
@@ -41,7 +43,7 @@ export function useSponsorsGrid(options) {
|
|
|
41
43
|
window.removeEventListener('resize', onResize);
|
|
42
44
|
});
|
|
43
45
|
function manage() {
|
|
44
|
-
adjustSlots(
|
|
46
|
+
adjustSlots(el.value, size);
|
|
45
47
|
}
|
|
46
48
|
}
|
|
47
49
|
function adjustSlots(el, size) {
|
|
@@ -2,13 +2,15 @@ import './styles/fonts.css';
|
|
|
2
2
|
import './styles/vars.css';
|
|
3
3
|
import './styles/base.css';
|
|
4
4
|
import './styles/utils.css';
|
|
5
|
-
import './styles/
|
|
6
|
-
import './styles/vp-
|
|
5
|
+
import './styles/components/custom-block.css';
|
|
6
|
+
import './styles/components/vp-doc.css';
|
|
7
|
+
import './styles/components/vp-sponsor.css';
|
|
7
8
|
import Layout from './Layout.vue';
|
|
8
9
|
import NotFound from './NotFound.vue';
|
|
9
10
|
export { default as VPHomeHero } from './components/VPHomeHero.vue';
|
|
10
11
|
export { default as VPHomeFeatures } from './components/VPHomeFeatures.vue';
|
|
11
12
|
export { default as VPHomeSponsors } from './components/VPHomeSponsors.vue';
|
|
13
|
+
export { default as VPDocAsideSponsors } from './components/VPDocAsideSponsors.vue';
|
|
12
14
|
const theme = {
|
|
13
15
|
Layout,
|
|
14
16
|
NotFound
|
|
@@ -10,6 +10,10 @@ html {
|
|
|
10
10
|
-webkit-text-size-adjust: 100%;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
+
html.dark {
|
|
14
|
+
color-scheme: dark;
|
|
15
|
+
}
|
|
16
|
+
|
|
13
17
|
body {
|
|
14
18
|
margin: 0;
|
|
15
19
|
width: 100%;
|
|
@@ -20,7 +24,7 @@ body {
|
|
|
20
24
|
font-size: 16px;
|
|
21
25
|
font-weight: 400;
|
|
22
26
|
color: var(--vp-c-text-1);
|
|
23
|
-
background-color: var(--vp-c-bg
|
|
27
|
+
background-color: var(--vp-c-bg);
|
|
24
28
|
direction: ltr;
|
|
25
29
|
font-synthesis: none;
|
|
26
30
|
text-rendering: optimizeLegibility;
|
|
@@ -92,6 +96,10 @@ ul {
|
|
|
92
96
|
padding: 0;
|
|
93
97
|
}
|
|
94
98
|
|
|
99
|
+
blockquote {
|
|
100
|
+
margin: 0;
|
|
101
|
+
}
|
|
102
|
+
|
|
95
103
|
pre,
|
|
96
104
|
code,
|
|
97
105
|
kbd,
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
.custom-block {
|
|
2
|
+
border: 1px solid transparent;
|
|
3
|
+
border-radius: 8px;
|
|
4
|
+
padding: 16px 16px 8px;
|
|
5
|
+
line-height: 24px;
|
|
6
|
+
font-size: 14px;
|
|
7
|
+
color: var(--vp-c-text-2);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.custom-block.info {
|
|
11
|
+
border-color: var(--vp-custom-block-info-border);
|
|
12
|
+
color: var(--vp-custom-block-info-text);
|
|
13
|
+
background-color: var(--vp-custom-block-info-bg);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.custom-block.info code {
|
|
17
|
+
background-color: var(--vp-custom-block-info-code-bg);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.custom-block.tip {
|
|
21
|
+
border-color: var(--vp-custom-block-tip-border);
|
|
22
|
+
color: var(--vp-custom-block-tip-text);
|
|
23
|
+
background-color: var(--vp-custom-block-tip-bg);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.custom-block.tip code {
|
|
27
|
+
background-color: var(--vp-custom-block-tip-code-bg);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.custom-block.warning {
|
|
31
|
+
border-color: var(--vp-custom-block-warning-border);
|
|
32
|
+
color: var(--vp-custom-block-warning-text);
|
|
33
|
+
background-color: var(--vp-custom-block-warning-bg);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.custom-block.warning code {
|
|
37
|
+
background-color: var(--vp-custom-block-warning-code-bg);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.custom-block.danger {
|
|
41
|
+
border-color: var(--vp-custom-block-danger-border);
|
|
42
|
+
color: var(--vp-custom-block-danger-text);
|
|
43
|
+
background-color: var(--vp-custom-block-danger-bg);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.custom-block.danger code {
|
|
47
|
+
background-color: var(--vp-custom-block-danger-code-bg);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.custom-block.details {
|
|
51
|
+
border-color: var(--vp-custom-block-details-border);
|
|
52
|
+
color: var(--vp-custom-block-details-text);
|
|
53
|
+
background-color: var(--vp-custom-block-details-bg);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.custom-block.details code {
|
|
57
|
+
background-color: var(--vp-custom-block-details-code-bg);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.custom-block-title {
|
|
61
|
+
font-weight: 700;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.custom-block p + p {
|
|
65
|
+
margin: 8px 0;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.custom-block.details summary {
|
|
69
|
+
margin: 0 0 8px;
|
|
70
|
+
font-weight: 700;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.custom-block.details summary + p {
|
|
74
|
+
margin: 8px 0;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.custom-block a {
|
|
78
|
+
color: inherit;
|
|
79
|
+
font-weight: 600;
|
|
80
|
+
text-decoration: underline;
|
|
81
|
+
transition: opacity 0.25s;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.custom-block a:hover {
|
|
85
|
+
opacity: 0.6;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.custom-block code {
|
|
89
|
+
font-size: var(--vp-custom-block-code-font-size);
|
|
90
|
+
}
|
|
@@ -115,18 +115,27 @@
|
|
|
115
115
|
|
|
116
116
|
.vp-doc ul,
|
|
117
117
|
.vp-doc ol {
|
|
118
|
+
padding-left: 1.25rem;
|
|
118
119
|
margin: 16px 0;
|
|
119
120
|
}
|
|
120
121
|
|
|
121
122
|
.vp-doc ul {
|
|
122
|
-
padding-left: 1.25rem;
|
|
123
123
|
list-style: disc;
|
|
124
124
|
}
|
|
125
125
|
|
|
126
|
+
.vp-doc ol {
|
|
127
|
+
list-style: decimal;
|
|
128
|
+
}
|
|
129
|
+
|
|
126
130
|
.vp-doc li + li {
|
|
127
131
|
margin-top: 8px;
|
|
128
132
|
}
|
|
129
133
|
|
|
134
|
+
.vp-doc li > ol,
|
|
135
|
+
.vp-doc li > ul {
|
|
136
|
+
margin: 8px 0 0;
|
|
137
|
+
}
|
|
138
|
+
|
|
130
139
|
/**
|
|
131
140
|
* Table
|
|
132
141
|
* -------------------------------------------------------------------------- */
|
|
@@ -147,10 +156,6 @@
|
|
|
147
156
|
background-color: var(--vp-c-bg-soft);
|
|
148
157
|
}
|
|
149
158
|
|
|
150
|
-
.dark .vp-doc tr:nth-child(2n) {
|
|
151
|
-
background-color: var(--vp-c-bg-mute);
|
|
152
|
-
}
|
|
153
|
-
|
|
154
159
|
.vp-doc th,
|
|
155
160
|
.vp-doc td {
|
|
156
161
|
border: 1px solid var(--vp-c-divider);
|
|
@@ -177,6 +182,49 @@
|
|
|
177
182
|
border-top: 1px solid var(--vp-c-divider-light);
|
|
178
183
|
}
|
|
179
184
|
|
|
185
|
+
/**
|
|
186
|
+
* Custom Block
|
|
187
|
+
* -------------------------------------------------------------------------- */
|
|
188
|
+
|
|
189
|
+
.vp-doc .custom-block {
|
|
190
|
+
margin: 16px 0;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
.vp-doc .custom-block p {
|
|
194
|
+
margin: 8px 0;
|
|
195
|
+
line-height: 24px;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
.vp-doc .custom-block p:first-child {
|
|
199
|
+
margin: 0;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
.vp-doc .custom-block a {
|
|
203
|
+
color: inherit;
|
|
204
|
+
font-weight: 600;
|
|
205
|
+
text-decoration: underline;
|
|
206
|
+
transition: opacity .25s;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
.vp-doc .custom-block a:hover {
|
|
210
|
+
opacity: 0.6;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
.vp-doc .custom-block code {
|
|
214
|
+
font-size: var(--vp-custom-block-code-font-size);
|
|
215
|
+
font-weight: 700;
|
|
216
|
+
color: inherit;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
.vp-doc .custom-block div[class*='language-'] {
|
|
220
|
+
margin: 8px 0;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
.vp-doc .custom-block div[class*='language-'] code {
|
|
224
|
+
font-weight: 400;
|
|
225
|
+
background-color: var(--vp-code-block-bg);
|
|
226
|
+
}
|
|
227
|
+
|
|
180
228
|
/**
|
|
181
229
|
* Code
|
|
182
230
|
* -------------------------------------------------------------------------- */
|
|
@@ -200,19 +248,18 @@
|
|
|
200
248
|
font-size: 0.9em;
|
|
201
249
|
}
|
|
202
250
|
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
}
|
|
251
|
+
.vp-doc a > code {
|
|
252
|
+
color: var(--vp-c-brand);
|
|
253
|
+
transition: color 0.25s;
|
|
207
254
|
}
|
|
208
255
|
|
|
209
|
-
.vp-doc a > code {
|
|
256
|
+
.vp-doc a:hover > code {
|
|
210
257
|
color: var(--vp-c-brand-dark);
|
|
211
258
|
}
|
|
212
259
|
|
|
213
260
|
.vp-doc div[class*='language-'] {
|
|
214
261
|
position: relative;
|
|
215
|
-
margin:
|
|
262
|
+
margin: 16px -24px;
|
|
216
263
|
background-color: var(--vp-code-block-bg);
|
|
217
264
|
overflow-x: auto;
|
|
218
265
|
transition: background-color 0.5s;
|
|
@@ -221,7 +268,7 @@
|
|
|
221
268
|
@media (min-width: 640px) {
|
|
222
269
|
.vp-doc div[class*='language-'] {
|
|
223
270
|
border-radius: 8px;
|
|
224
|
-
margin:
|
|
271
|
+
margin: 16px 0;
|
|
225
272
|
}
|
|
226
273
|
}
|
|
227
274
|
|
|
@@ -234,7 +281,7 @@
|
|
|
234
281
|
.vp-doc div[class*='language-'] + div[class*='language-'],
|
|
235
282
|
.vp-doc div[class$='-api'] + div[class*='language-'],
|
|
236
283
|
.vp-doc div[class*='language-'] + div[class$='-api'] > div[class*='language-'] {
|
|
237
|
-
margin-top: -
|
|
284
|
+
margin-top: -8px;
|
|
238
285
|
}
|
|
239
286
|
|
|
240
287
|
.vp-doc [class*='language-'] pre,
|
|
@@ -276,150 +323,140 @@
|
|
|
276
323
|
top: 0;
|
|
277
324
|
bottom: 0;
|
|
278
325
|
left: 0;
|
|
279
|
-
padding:
|
|
326
|
+
padding-top: 16px;
|
|
280
327
|
width: 100%;
|
|
281
|
-
font-family: var(--vp-font-family-mono);
|
|
282
328
|
line-height: var(--vp-code-line-height);
|
|
329
|
+
font-family: var(--vp-font-family-mono);
|
|
283
330
|
font-size: var(--vp-code-font-size);
|
|
284
331
|
user-select: none;
|
|
285
332
|
overflow: hidden;
|
|
286
333
|
}
|
|
287
334
|
|
|
288
335
|
.vp-doc .highlight-lines .highlighted {
|
|
289
|
-
background-color:
|
|
336
|
+
background-color: var(--vp-code-line-highlight-color);
|
|
290
337
|
transition: background-color 0.5s;
|
|
291
338
|
}
|
|
292
339
|
|
|
293
|
-
.dark .vp-doc .highlight-lines .highlighted {
|
|
294
|
-
background-color: rgba(255, 255, 255, 0.05);
|
|
295
|
-
}
|
|
296
|
-
|
|
297
340
|
.vp-doc div[class*='language-'].line-numbers-mode {
|
|
298
341
|
padding-left: 32px;
|
|
299
342
|
}
|
|
300
343
|
|
|
344
|
+
.vp-doc div[class*='language-'].line-numbers-mode pre {
|
|
345
|
+
padding-left: 16px;
|
|
346
|
+
}
|
|
347
|
+
|
|
301
348
|
.vp-doc .line-numbers-wrapper {
|
|
302
349
|
position: absolute;
|
|
303
350
|
top: 0;
|
|
304
351
|
bottom: 0;
|
|
305
352
|
left: 0;
|
|
306
353
|
z-index: 3;
|
|
307
|
-
border-right: 1px solid var(--vp-c-divider-
|
|
308
|
-
padding:
|
|
354
|
+
border-right: 1px solid var(--vp-c-divider-dark-2);
|
|
355
|
+
padding-top: 16px;
|
|
309
356
|
width: 32px;
|
|
310
357
|
text-align: center;
|
|
311
358
|
font-family: var(--vp-font-family-mono);
|
|
312
359
|
line-height: var(--vp-code-line-height);
|
|
313
360
|
font-size: var(--vp-code-font-size);
|
|
314
|
-
color: var(--vp-
|
|
361
|
+
color: var(--vp-code-line-number-color);
|
|
315
362
|
transition: border-color 0.5s, color 0.5s;
|
|
316
363
|
}
|
|
317
364
|
|
|
318
|
-
.vp-doc [class*='language-']
|
|
365
|
+
.vp-doc [class*='language-'] > span.copy {
|
|
319
366
|
position: absolute;
|
|
320
|
-
top:
|
|
321
|
-
right:
|
|
367
|
+
top: 8px;
|
|
368
|
+
right: 8px;
|
|
322
369
|
z-index: 2;
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
.
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
.vp-doc [class~='language-json']:before { content: 'json'; }
|
|
338
|
-
.vp-doc [class~='language-yaml']:before { content: 'yaml'; }
|
|
339
|
-
.vp-doc [class~='language-yml']:before { content: 'yaml'; }
|
|
340
|
-
.vp-doc [class~='language-sh']:before { content: 'sh'; }
|
|
341
|
-
.vp-doc [class~='language-bash']:before { content: 'sh'; }
|
|
342
|
-
|
|
343
|
-
/**
|
|
344
|
-
* Code: Highlight
|
|
345
|
-
*
|
|
346
|
-
* prism.js tomorrow night eighties theme.
|
|
347
|
-
* https://github.com/chriskempson/tomorrow-theme
|
|
348
|
-
*
|
|
349
|
-
* @author Rose Pritchard
|
|
350
|
-
* -------------------------------------------------------------------------- */
|
|
351
|
-
|
|
352
|
-
.token.comment,
|
|
353
|
-
.token.block-comment,
|
|
354
|
-
.token.prolog,
|
|
355
|
-
.token.doctype,
|
|
356
|
-
.token.cdata {
|
|
357
|
-
color: #999;
|
|
358
|
-
}
|
|
359
|
-
|
|
360
|
-
.token.punctuation {
|
|
361
|
-
color: #ccc;
|
|
362
|
-
}
|
|
363
|
-
|
|
364
|
-
.token.tag,
|
|
365
|
-
.token.attr-name,
|
|
366
|
-
.token.namespace,
|
|
367
|
-
.token.deleted {
|
|
368
|
-
color: #e2777a;
|
|
369
|
-
}
|
|
370
|
-
|
|
371
|
-
.token.function-name {
|
|
372
|
-
color: #6196cc;
|
|
373
|
-
}
|
|
374
|
-
|
|
375
|
-
.token.boolean,
|
|
376
|
-
.token.number,
|
|
377
|
-
.token.function {
|
|
378
|
-
color: #f08d49;
|
|
379
|
-
}
|
|
380
|
-
|
|
381
|
-
.token.property,
|
|
382
|
-
.token.class-name,
|
|
383
|
-
.token.constant,
|
|
384
|
-
.token.symbol {
|
|
385
|
-
color: #f8c555;
|
|
370
|
+
display: block;
|
|
371
|
+
justify-content: center;
|
|
372
|
+
align-items: center;
|
|
373
|
+
border-radius: 4px;
|
|
374
|
+
width: 40px;
|
|
375
|
+
height: 40px;
|
|
376
|
+
background-color: var(--vp-code-block-bg);
|
|
377
|
+
opacity: 0;
|
|
378
|
+
cursor: pointer;
|
|
379
|
+
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(235,235,235,0.38)' stroke-width='2' class='h-6 w-6' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2'/%3E%3C/svg%3E");
|
|
380
|
+
background-position: 50%;
|
|
381
|
+
background-size: 20px;
|
|
382
|
+
background-repeat: no-repeat;
|
|
383
|
+
transition: opacity 0.25s;
|
|
386
384
|
}
|
|
387
385
|
|
|
388
|
-
.
|
|
389
|
-
|
|
390
|
-
.token.atrule,
|
|
391
|
-
.token.keyword,
|
|
392
|
-
.token.builtin {
|
|
393
|
-
color: #cc99cd;
|
|
386
|
+
.vp-doc [class*='language-']:hover > span.copy {
|
|
387
|
+
opacity: 1;
|
|
394
388
|
}
|
|
395
389
|
|
|
396
|
-
.
|
|
397
|
-
|
|
398
|
-
.token.attr-value,
|
|
399
|
-
.token.regex,
|
|
400
|
-
.token.variable {
|
|
401
|
-
color: #7ec699;
|
|
390
|
+
.vp-doc [class*='language-'] > span.copy:hover {
|
|
391
|
+
background-color: var(--vp-code-copy-code-hover-bg);
|
|
402
392
|
}
|
|
403
393
|
|
|
404
|
-
.
|
|
405
|
-
.
|
|
406
|
-
|
|
407
|
-
color:
|
|
394
|
+
.vp-doc [class*='language-'] > span.copy.copied,
|
|
395
|
+
.vp-doc [class*='language-'] > span.copy:hover.copied {
|
|
396
|
+
border-radius: 0 4px 4px 0;
|
|
397
|
+
background-color: var(--vp-code-copy-code-hover-bg);
|
|
398
|
+
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(235,235,235,0.5)' stroke-width='2' class='h-6 w-6' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4'/%3E%3C/svg%3E");
|
|
408
399
|
}
|
|
409
400
|
|
|
410
|
-
.
|
|
411
|
-
.
|
|
412
|
-
|
|
401
|
+
.vp-doc [class*='language-'] > span.copy.copied::before,
|
|
402
|
+
.vp-doc [class*='language-'] > span.copy:hover.copied::before {
|
|
403
|
+
position: relative;
|
|
404
|
+
left: -65px;
|
|
405
|
+
display: block;
|
|
406
|
+
border-radius: 4px 0 0 4px;
|
|
407
|
+
padding-top: 8px;
|
|
408
|
+
width: 64px;
|
|
409
|
+
height: 40px;
|
|
410
|
+
text-align: center;
|
|
411
|
+
font-size: 12px;
|
|
412
|
+
font-weight: 500;
|
|
413
|
+
color: var(--vp-c-text-dark-2);
|
|
414
|
+
background-color: var(--vp-code-copy-code-hover-bg);
|
|
415
|
+
white-space: nowrap;
|
|
416
|
+
content: "Copied";
|
|
413
417
|
}
|
|
414
418
|
|
|
415
|
-
.
|
|
416
|
-
|
|
419
|
+
.vp-doc [class*='language-']:before {
|
|
420
|
+
position: absolute;
|
|
421
|
+
top: 6px;
|
|
422
|
+
right: 12px;
|
|
423
|
+
z-index: 2;
|
|
424
|
+
font-size: 12px;
|
|
425
|
+
font-weight: 500;
|
|
426
|
+
color: var(--vp-c-text-dark-3);
|
|
427
|
+
transition: color 0.5s, opacity 0.5s;
|
|
417
428
|
}
|
|
418
429
|
|
|
419
|
-
.
|
|
420
|
-
|
|
430
|
+
.vp-doc [class*='language-']:hover:before {
|
|
431
|
+
opacity: 0;
|
|
421
432
|
}
|
|
422
433
|
|
|
423
|
-
.
|
|
424
|
-
|
|
425
|
-
}
|
|
434
|
+
.vp-doc [class~='language-c']:before { content: 'c'; }
|
|
435
|
+
.vp-doc [class~='language-css']:before { content: 'css'; }
|
|
436
|
+
.vp-doc [class~='language-go']:before { content: 'go'; }
|
|
437
|
+
.vp-doc [class~='language-html']:before { content: 'html'; }
|
|
438
|
+
.vp-doc [class~='language-java']:before { content: 'java'; }
|
|
439
|
+
.vp-doc [class~='language-javascript']:before { content: 'js'; }
|
|
440
|
+
.vp-doc [class~='language-js']:before { content: 'js'; }
|
|
441
|
+
.vp-doc [class~='language-json']:before { content: 'json'; }
|
|
442
|
+
.vp-doc [class~='language-jsx']:before { content: 'jsx'; }
|
|
443
|
+
.vp-doc [class~='language-less']:before { content: 'less'; }
|
|
444
|
+
.vp-doc [class~='language-markdown']:before { content: 'md'; }
|
|
445
|
+
.vp-doc [class~='language-md']:before { content: 'md' }
|
|
446
|
+
.vp-doc [class~='language-php']:before { content: 'php'; }
|
|
447
|
+
.vp-doc [class~='language-python']:before { content: 'py'; }
|
|
448
|
+
.vp-doc [class~='language-py']:before { content: 'py'; }
|
|
449
|
+
.vp-doc [class~='language-rb']:before { content: 'rb'; }
|
|
450
|
+
.vp-doc [class~='language-ruby']:before { content: 'rb'; }
|
|
451
|
+
.vp-doc [class~='language-rust']:before { content: 'rust'; }
|
|
452
|
+
.vp-doc [class~='language-sass']:before { content: 'sass'; }
|
|
453
|
+
.vp-doc [class~='language-scss']:before { content: 'scss'; }
|
|
454
|
+
.vp-doc [class~='language-sh']:before { content: 'sh'; }
|
|
455
|
+
.vp-doc [class~='language-bash']:before { content: 'sh'; }
|
|
456
|
+
.vp-doc [class~='language-stylus']:before { content: 'styl'; }
|
|
457
|
+
.vp-doc [class~='language-vue-html']:before { content: 'template'; }
|
|
458
|
+
.vp-doc [class~='language-typescript']:before { content: 'ts'; }
|
|
459
|
+
.vp-doc [class~='language-ts']:before { content: 'ts'; }
|
|
460
|
+
.vp-doc [class~='language-tsx']:before { content: 'tsx'; }
|
|
461
|
+
.vp-doc [class~='language-vue']:before { content: 'vue'; }
|
|
462
|
+
.vp-doc [class~='language-yaml']:before { content: 'yaml'; }
|