vitepress 1.0.0-draft.2 → 1.0.0-draft.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/theme-default/components/VPHomeSponsors.vue +0 -4
- package/dist/node/cli.js +294 -37
- package/dist/node/index.js +37 -22
- package/package.json +1 -1
- 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
|
@@ -1,86 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../../src/node/markdown/plugins/component.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,41 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,25 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,53 +0,0 @@
|
|
|
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.highlight = void 0;
|
|
7
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
-
const escape_html_1 = __importDefault(require("escape-html"));
|
|
9
|
-
const prismjs_1 = __importDefault(require("prismjs"));
|
|
10
|
-
// prism is listed as actual dep so it's ok to require
|
|
11
|
-
const loadLanguages = require('prismjs/components/index');
|
|
12
|
-
// required to make embedded highlighting work...
|
|
13
|
-
loadLanguages(['markup', 'css', 'javascript']);
|
|
14
|
-
function wrap(code, lang) {
|
|
15
|
-
if (lang === 'text') {
|
|
16
|
-
code = (0, escape_html_1.default)(code);
|
|
17
|
-
}
|
|
18
|
-
return `<pre v-pre><code>${code}</code></pre>`;
|
|
19
|
-
}
|
|
20
|
-
const highlight = (str, lang) => {
|
|
21
|
-
if (!lang) {
|
|
22
|
-
return wrap(str, 'text');
|
|
23
|
-
}
|
|
24
|
-
lang = lang.toLowerCase();
|
|
25
|
-
const rawLang = lang;
|
|
26
|
-
if (lang === 'vue' || lang === 'html') {
|
|
27
|
-
lang = 'markup';
|
|
28
|
-
}
|
|
29
|
-
if (lang === 'md') {
|
|
30
|
-
lang = 'markdown';
|
|
31
|
-
}
|
|
32
|
-
if (lang === 'ts') {
|
|
33
|
-
lang = 'typescript';
|
|
34
|
-
}
|
|
35
|
-
if (lang === 'py') {
|
|
36
|
-
lang = 'python';
|
|
37
|
-
}
|
|
38
|
-
if (!prismjs_1.default.languages[lang]) {
|
|
39
|
-
try {
|
|
40
|
-
loadLanguages([lang]);
|
|
41
|
-
}
|
|
42
|
-
catch (e) {
|
|
43
|
-
console.warn(chalk_1.default.yellow(`[vitepress] Syntax highlight for language "${lang}" is not supported.`));
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
if (prismjs_1.default.languages[lang]) {
|
|
47
|
-
const code = prismjs_1.default.highlight(str, prismjs_1.default.languages[lang], lang);
|
|
48
|
-
return wrap(code, rawLang);
|
|
49
|
-
}
|
|
50
|
-
return wrap(str, 'text');
|
|
51
|
-
};
|
|
52
|
-
exports.highlight = highlight;
|
|
53
|
-
//# sourceMappingURL=highlight.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"highlight.js","sourceRoot":"","sources":["../../../../src/node/markdown/plugins/highlight.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAyB;AACzB,8DAAoC;AACpC,sDAA2B;AAE3B,sDAAsD;AACtD,MAAM,aAAa,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAA;AAEzD,iDAAiD;AACjD,aAAa,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAA;AAE9C,SAAS,IAAI,CAAC,IAAY,EAAE,IAAY;IACtC,IAAI,IAAI,KAAK,MAAM,EAAE;QACnB,IAAI,GAAG,IAAA,qBAAU,EAAC,IAAI,CAAC,CAAA;KACxB;IACD,OAAO,oBAAoB,IAAI,eAAe,CAAA;AAChD,CAAC;AAEM,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,IAAY,EAAE,EAAE;IACrD,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;KACzB;IACD,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;IACzB,MAAM,OAAO,GAAG,IAAI,CAAA;IACpB,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,MAAM,EAAE;QACrC,IAAI,GAAG,QAAQ,CAAA;KAChB;IACD,IAAI,IAAI,KAAK,IAAI,EAAE;QACjB,IAAI,GAAG,UAAU,CAAA;KAClB;IACD,IAAI,IAAI,KAAK,IAAI,EAAE;QACjB,IAAI,GAAG,YAAY,CAAA;KACpB;IACD,IAAI,IAAI,KAAK,IAAI,EAAE;QACjB,IAAI,GAAG,QAAQ,CAAA;KAChB;IACD,IAAI,CAAC,iBAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QAC1B,IAAI;YACF,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;SACtB;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,IAAI,CACV,eAAK,CAAC,MAAM,CACV,8CAA8C,IAAI,qBAAqB,CACxE,CACF,CAAA;SACF;KACF;IACD,IAAI,iBAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QACzB,MAAM,IAAI,GAAG,iBAAK,CAAC,SAAS,CAAC,GAAG,EAAE,iBAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;QAC9D,OAAO,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;KAC3B;IACD,OAAO,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;AAC1B,CAAC,CAAA;AAlCY,QAAA,SAAS,aAkCrB"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.highlightLinePlugin = void 0;
|
|
4
|
-
const wrapperRE = /^<pre .*?><code>/;
|
|
5
|
-
const highlightLinePlugin = (md) => {
|
|
6
|
-
const fence = md.renderer.rules.fence;
|
|
7
|
-
md.renderer.rules.fence = (...args) => {
|
|
8
|
-
const [tokens, idx, options] = args;
|
|
9
|
-
const token = tokens[idx];
|
|
10
|
-
// due to use of markdown-it-attrs, the {0} syntax would have been converted
|
|
11
|
-
// to attrs on the token
|
|
12
|
-
const attr = token.attrs && token.attrs[0];
|
|
13
|
-
if (!attr) {
|
|
14
|
-
return fence(...args);
|
|
15
|
-
}
|
|
16
|
-
const lines = attr[0];
|
|
17
|
-
if (!lines || !/[\d,-]+/.test(lines)) {
|
|
18
|
-
return fence(...args);
|
|
19
|
-
}
|
|
20
|
-
const lineNumbers = lines
|
|
21
|
-
.split(',')
|
|
22
|
-
.map((v) => v.split('-').map((v) => parseInt(v, 10)));
|
|
23
|
-
const code = options.highlight
|
|
24
|
-
? options.highlight(token.content, token.info, '')
|
|
25
|
-
: token.content;
|
|
26
|
-
const rawCode = code.replace(wrapperRE, '');
|
|
27
|
-
const highlightLinesCode = rawCode
|
|
28
|
-
.split('\n')
|
|
29
|
-
.map((split, index) => {
|
|
30
|
-
const lineNumber = index + 1;
|
|
31
|
-
const inRange = lineNumbers.some(([start, end]) => {
|
|
32
|
-
if (start && end) {
|
|
33
|
-
return lineNumber >= start && lineNumber <= end;
|
|
34
|
-
}
|
|
35
|
-
return lineNumber === start;
|
|
36
|
-
});
|
|
37
|
-
if (inRange) {
|
|
38
|
-
return `<div class="highlighted"> </div>`;
|
|
39
|
-
}
|
|
40
|
-
return '<br>';
|
|
41
|
-
})
|
|
42
|
-
.join('');
|
|
43
|
-
const highlightLinesWrapperCode = `<div class="highlight-lines">${highlightLinesCode}</div>`;
|
|
44
|
-
return highlightLinesWrapperCode + code;
|
|
45
|
-
};
|
|
46
|
-
};
|
|
47
|
-
exports.highlightLinePlugin = highlightLinePlugin;
|
|
48
|
-
//# sourceMappingURL=highlightLines.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"highlightLines.js","sourceRoot":"","sources":["../../../../src/node/markdown/plugins/highlightLines.ts"],"names":[],"mappings":";;;AAGA,MAAM,SAAS,GAAG,kBAAkB,CAAA;AAE7B,MAAM,mBAAmB,GAAG,CAAC,EAAc,EAAE,EAAE;IACpD,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAM,CAAA;IACtC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE;QACpC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;QACnC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;QAEzB,4EAA4E;QAC5E,wBAAwB;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAC1C,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA;SACtB;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACrB,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YACpC,OAAO,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA;SACtB;QAED,MAAM,WAAW,GAAG,KAAK;aACtB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;QAEvD,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS;YAC5B,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YAClD,CAAC,CAAC,KAAK,CAAC,OAAO,CAAA;QAEjB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;QAC3C,MAAM,kBAAkB,GAAG,OAAO;aAC/B,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACpB,MAAM,UAAU,GAAG,KAAK,GAAG,CAAC,CAAA;YAC5B,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE;gBAChD,IAAI,KAAK,IAAI,GAAG,EAAE;oBAChB,OAAO,UAAU,IAAI,KAAK,IAAI,UAAU,IAAI,GAAG,CAAA;iBAChD;gBACD,OAAO,UAAU,KAAK,KAAK,CAAA;YAC7B,CAAC,CAAC,CAAA;YACF,IAAI,OAAO,EAAE;gBACX,OAAO,uCAAuC,CAAA;aAC/C;YACD,OAAO,MAAM,CAAA;QACf,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAA;QAEX,MAAM,yBAAyB,GAAG,gCAAgC,kBAAkB,QAAQ,CAAA;QAE5F,OAAO,yBAAyB,GAAG,IAAI,CAAA;IACzC,CAAC,CAAA;AACH,CAAC,CAAA;AAhDY,QAAA,mBAAmB,uBAgD/B"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.hoistPlugin = void 0;
|
|
4
|
-
// hoist <script> and <style> tags out of the returned html
|
|
5
|
-
// so that they can be placed outside as SFC blocks.
|
|
6
|
-
const hoistPlugin = (md) => {
|
|
7
|
-
const RE = /^<(script|style)(?=(\s|>|$))/i;
|
|
8
|
-
md.renderer.rules.html_block = (tokens, idx) => {
|
|
9
|
-
const content = tokens[idx].content;
|
|
10
|
-
const data = md.__data;
|
|
11
|
-
const hoistedTags = data.hoistedTags || (data.hoistedTags = []);
|
|
12
|
-
if (RE.test(content.trim())) {
|
|
13
|
-
hoistedTags.push(content);
|
|
14
|
-
return '';
|
|
15
|
-
}
|
|
16
|
-
else {
|
|
17
|
-
return content;
|
|
18
|
-
}
|
|
19
|
-
};
|
|
20
|
-
};
|
|
21
|
-
exports.hoistPlugin = hoistPlugin;
|
|
22
|
-
//# sourceMappingURL=hoist.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hoist.js","sourceRoot":"","sources":["../../../../src/node/markdown/plugins/hoist.ts"],"names":[],"mappings":";;;AAGA,2DAA2D;AAC3D,oDAAoD;AAC7C,MAAM,WAAW,GAAG,CAAC,EAAc,EAAE,EAAE;IAC5C,MAAM,EAAE,GAAG,+BAA+B,CAAA;IAE1C,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAA;QACnC,MAAM,IAAI,GAAI,EAAuB,CAAC,MAAM,CAAA;QAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,CAAA;QAC/D,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE;YAC3B,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACzB,OAAO,EAAE,CAAA;SACV;aAAM;YACL,OAAO,OAAO,CAAA;SACf;IACH,CAAC,CAAA;AACH,CAAC,CAAA;AAdY,QAAA,WAAW,eAcvB"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// markdown-it plugin for normalizing image source
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.imagePlugin = void 0;
|
|
5
|
-
const shared_1 = require("../../shared");
|
|
6
|
-
const imagePlugin = (md) => {
|
|
7
|
-
md.renderer.rules.image = (tokens, idx, options, env, self) => {
|
|
8
|
-
const token = tokens[idx];
|
|
9
|
-
const url = token.attrGet('src');
|
|
10
|
-
if (url && !shared_1.EXTERNAL_URL_RE.test(url) && !/^\.?\//.test(url)) {
|
|
11
|
-
token.attrSet('src', './' + url);
|
|
12
|
-
}
|
|
13
|
-
return self.renderToken(tokens, idx, options);
|
|
14
|
-
};
|
|
15
|
-
};
|
|
16
|
-
exports.imagePlugin = imagePlugin;
|
|
17
|
-
//# sourceMappingURL=image.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../../../src/node/markdown/plugins/image.ts"],"names":[],"mappings":";AAAA,kDAAkD;;;AAGlD,yCAA8C;AAEvC,MAAM,WAAW,GAAG,CAAC,EAAc,EAAE,EAAE;IAC5C,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;QACzB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAChC,IAAI,GAAG,IAAI,CAAC,wBAAe,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAC5D,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,GAAG,GAAG,CAAC,CAAA;SACjC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;IAC/C,CAAC,CAAA;AACH,CAAC,CAAA;AATY,QAAA,WAAW,eASvB"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// markdown-it plugin for generating line numbers.
|
|
3
|
-
// It depends on preWrapper plugin.
|
|
4
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.lineNumberPlugin = void 0;
|
|
6
|
-
const lineNumberPlugin = (md) => {
|
|
7
|
-
const fence = md.renderer.rules.fence;
|
|
8
|
-
md.renderer.rules.fence = (...args) => {
|
|
9
|
-
const rawCode = fence(...args);
|
|
10
|
-
const code = rawCode.slice(rawCode.indexOf('<code>'), rawCode.indexOf('</code>'));
|
|
11
|
-
const lines = code.split('\n');
|
|
12
|
-
const lineNumbersCode = [...Array(lines.length - 1)]
|
|
13
|
-
.map((line, index) => `<span class="line-number">${index + 1}</span><br>`)
|
|
14
|
-
.join('');
|
|
15
|
-
const lineNumbersWrapperCode = `<div class="line-numbers-wrapper">${lineNumbersCode}</div>`;
|
|
16
|
-
const finalCode = rawCode
|
|
17
|
-
.replace(/<\/div>$/, `${lineNumbersWrapperCode}</div>`)
|
|
18
|
-
.replace(/"(language-\w+)"/, '"$1 line-numbers-mode"');
|
|
19
|
-
return finalCode;
|
|
20
|
-
};
|
|
21
|
-
};
|
|
22
|
-
exports.lineNumberPlugin = lineNumberPlugin;
|
|
23
|
-
//# sourceMappingURL=lineNumbers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lineNumbers.js","sourceRoot":"","sources":["../../../../src/node/markdown/plugins/lineNumbers.ts"],"names":[],"mappings":";AAAA,kDAAkD;AAClD,mCAAmC;;;AAI5B,MAAM,gBAAgB,GAAG,CAAC,EAAc,EAAE,EAAE;IACjD,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAM,CAAA;IACtC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE;QACpC,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA;QAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CACxB,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EACzB,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAC3B,CAAA;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC9B,MAAM,eAAe,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;aACjD,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,6BAA6B,KAAK,GAAG,CAAC,aAAa,CAAC;aACzE,IAAI,CAAC,EAAE,CAAC,CAAA;QAEX,MAAM,sBAAsB,GAAG,qCAAqC,eAAe,QAAQ,CAAA;QAE3F,MAAM,SAAS,GAAG,OAAO;aACtB,OAAO,CAAC,UAAU,EAAE,GAAG,sBAAsB,QAAQ,CAAC;aACtD,OAAO,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,CAAA;QAExD,OAAO,SAAS,CAAA;IAClB,CAAC,CAAA;AACH,CAAC,CAAA;AAtBY,QAAA,gBAAgB,oBAsB5B"}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// markdown-it plugin for:
|
|
3
|
-
// 1. adding target="_blank" to external links
|
|
4
|
-
// 2. normalize internal links to end with `.html`
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.linkPlugin = void 0;
|
|
7
|
-
const url_1 = require("url");
|
|
8
|
-
const shared_1 = require("../../shared");
|
|
9
|
-
const indexRE = /(^|.*\/)index.md(#?.*)$/i;
|
|
10
|
-
const linkPlugin = (md, externalAttrs, base) => {
|
|
11
|
-
md.renderer.rules.link_open = (tokens, idx, options, env, self) => {
|
|
12
|
-
const token = tokens[idx];
|
|
13
|
-
const hrefIndex = token.attrIndex('href');
|
|
14
|
-
if (hrefIndex >= 0) {
|
|
15
|
-
const hrefAttr = token.attrs[hrefIndex];
|
|
16
|
-
const url = hrefAttr[1];
|
|
17
|
-
const isExternal = shared_1.EXTERNAL_URL_RE.test(url);
|
|
18
|
-
if (isExternal) {
|
|
19
|
-
Object.entries(externalAttrs).forEach(([key, val]) => {
|
|
20
|
-
token.attrSet(key, val);
|
|
21
|
-
});
|
|
22
|
-
// catch localhost links as dead link
|
|
23
|
-
if (url.replace(shared_1.EXTERNAL_URL_RE, '').startsWith('//localhost:')) {
|
|
24
|
-
pushLink(url);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
else if (
|
|
28
|
-
// internal anchor links
|
|
29
|
-
!url.startsWith('#') &&
|
|
30
|
-
// mail links
|
|
31
|
-
!url.startsWith('mailto:') &&
|
|
32
|
-
// links to files (other than html/md)
|
|
33
|
-
!/\.(?!html|md)\w+($|\?)/i.test(url)) {
|
|
34
|
-
normalizeHref(hrefAttr);
|
|
35
|
-
}
|
|
36
|
-
// encode vite-specific replace strings in case they appear in URLs
|
|
37
|
-
// this also excludes them from build-time replacements (which injects
|
|
38
|
-
// <wbr/> and will break URLs)
|
|
39
|
-
hrefAttr[1] = hrefAttr[1]
|
|
40
|
-
.replace(/\bimport\.meta/g, 'import%2Emeta')
|
|
41
|
-
.replace(/\bprocess\.env/g, 'process%2Eenv');
|
|
42
|
-
}
|
|
43
|
-
return self.renderToken(tokens, idx, options);
|
|
44
|
-
};
|
|
45
|
-
function normalizeHref(hrefAttr) {
|
|
46
|
-
let url = hrefAttr[1];
|
|
47
|
-
const indexMatch = url.match(indexRE);
|
|
48
|
-
if (indexMatch) {
|
|
49
|
-
const [, path, hash] = indexMatch;
|
|
50
|
-
url = path + hash;
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
let cleanUrl = url.replace(/[?#].*$/, '');
|
|
54
|
-
// .md -> .html
|
|
55
|
-
if (cleanUrl.endsWith('.md')) {
|
|
56
|
-
cleanUrl = cleanUrl.replace(/\.md$/, '.html');
|
|
57
|
-
}
|
|
58
|
-
// ./foo -> ./foo.html
|
|
59
|
-
if (!cleanUrl.endsWith('.html') && !cleanUrl.endsWith('/')) {
|
|
60
|
-
cleanUrl += '.html';
|
|
61
|
-
}
|
|
62
|
-
const parsed = new url_1.URL(url, 'http://a.com');
|
|
63
|
-
url = cleanUrl + parsed.search + parsed.hash;
|
|
64
|
-
}
|
|
65
|
-
// ensure leading . for relative paths
|
|
66
|
-
if (!url.startsWith('/') && !/^\.\//.test(url)) {
|
|
67
|
-
url = './' + url;
|
|
68
|
-
}
|
|
69
|
-
// export it for existence check
|
|
70
|
-
pushLink(url.replace(/\.html$/, ''));
|
|
71
|
-
// append base to internal (non-relative) urls
|
|
72
|
-
if (url.startsWith('/')) {
|
|
73
|
-
url = `${base}${url}`.replace(/\/+/g, '/');
|
|
74
|
-
}
|
|
75
|
-
// markdown-it encodes the uri
|
|
76
|
-
hrefAttr[1] = decodeURI(url);
|
|
77
|
-
}
|
|
78
|
-
function pushLink(link) {
|
|
79
|
-
const data = md.__data;
|
|
80
|
-
const links = data.links || (data.links = []);
|
|
81
|
-
links.push(link);
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
exports.linkPlugin = linkPlugin;
|
|
85
|
-
//# sourceMappingURL=link.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"link.js","sourceRoot":"","sources":["../../../../src/node/markdown/plugins/link.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// markdown-it plugin for wrapping <pre> ... </pre>.
|
|
3
|
-
//
|
|
4
|
-
// If your plugin was chained before preWrapper, you can add additional element directly.
|
|
5
|
-
// If your plugin was chained after preWrapper, you can use these slots:
|
|
6
|
-
// 1. <!--beforebegin-->
|
|
7
|
-
// 2. <!--afterbegin-->
|
|
8
|
-
// 3. <!--beforeend-->
|
|
9
|
-
// 4. <!--afterend-->
|
|
10
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
-
exports.preWrapperPlugin = void 0;
|
|
12
|
-
const preWrapperPlugin = (md) => {
|
|
13
|
-
const fence = md.renderer.rules.fence;
|
|
14
|
-
md.renderer.rules.fence = (...args) => {
|
|
15
|
-
const [tokens, idx] = args;
|
|
16
|
-
const token = tokens[idx];
|
|
17
|
-
const rawCode = fence(...args);
|
|
18
|
-
return `<div class="language-${token.info.trim()}">${rawCode}</div>`;
|
|
19
|
-
};
|
|
20
|
-
};
|
|
21
|
-
exports.preWrapperPlugin = preWrapperPlugin;
|
|
22
|
-
//# sourceMappingURL=preWrapper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"preWrapper.js","sourceRoot":"","sources":["../../../../src/node/markdown/plugins/preWrapper.ts"],"names":[],"mappings":";AAAA,oDAAoD;AACpD,EAAE;AACF,yFAAyF;AACzF,wEAAwE;AACxE,0BAA0B;AAC1B,yBAAyB;AACzB,wBAAwB;AACxB,uBAAuB;;;AAIhB,MAAM,gBAAgB,GAAG,CAAC,EAAc,EAAE,EAAE;IACjD,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAM,CAAA;IACtC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE;QACpC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAA;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;QACzB,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA;QAC9B,OAAO,wBAAwB,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,OAAO,QAAQ,CAAA;IACtE,CAAC,CAAA;AACH,CAAC,CAAA;AARY,QAAA,gBAAgB,oBAQ5B"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.slugify = void 0;
|
|
4
|
-
// string.js slugify drops non ascii chars so we have to
|
|
5
|
-
// use a custom implementation here
|
|
6
|
-
const diacritics_1 = require("diacritics");
|
|
7
|
-
// eslint-disable-next-line no-control-regex
|
|
8
|
-
const rControl = /[\u0000-\u001f]/g;
|
|
9
|
-
const rSpecial = /[\s~`!@#$%^&*()\-_+=[\]{}|\\;:"'<>,.?/]+/g;
|
|
10
|
-
const slugify = (str) => {
|
|
11
|
-
return ((0, diacritics_1.remove)(str)
|
|
12
|
-
// Remove control characters
|
|
13
|
-
.replace(rControl, '')
|
|
14
|
-
// Replace special characters
|
|
15
|
-
.replace(rSpecial, '-')
|
|
16
|
-
// Remove continuous separators
|
|
17
|
-
.replace(/\-{2,}/g, '-')
|
|
18
|
-
// Remove prefixing and trailing separators
|
|
19
|
-
.replace(/^\-+|\-+$/g, '')
|
|
20
|
-
// ensure it doesn't start with a number (#121)
|
|
21
|
-
.replace(/^(\d)/, '_$1')
|
|
22
|
-
// lowercase
|
|
23
|
-
.toLowerCase());
|
|
24
|
-
};
|
|
25
|
-
exports.slugify = slugify;
|
|
26
|
-
//# sourceMappingURL=slugify.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"slugify.js","sourceRoot":"","sources":["../../../../src/node/markdown/plugins/slugify.ts"],"names":[],"mappings":";;;AAAA,wDAAwD;AACxD,mCAAmC;AACnC,2CAAuD;AACvD,4CAA4C;AAC5C,MAAM,QAAQ,GAAG,kBAAkB,CAAA;AACnC,MAAM,QAAQ,GAAG,2CAA2C,CAAA;AAErD,MAAM,OAAO,GAAG,CAAC,GAAW,EAAU,EAAE;IAC7C,OAAO,CACL,IAAA,mBAAgB,EAAC,GAAG,CAAC;QACnB,4BAA4B;SAC3B,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;QACtB,6BAA6B;SAC5B,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;QACvB,+BAA+B;SAC9B,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;QACxB,2CAA2C;SAC1C,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;QAC1B,+CAA+C;SAC9C,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC;QACxB,YAAY;SACX,WAAW,EAAE,CACjB,CAAA;AACH,CAAC,CAAA;AAhBY,QAAA,OAAO,WAgBnB"}
|