@cnblogs/markdown-it-presets 1.7.3 → 1.8.0-beta1
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/lib-esm/markdown-it-factory.js +3 -1
- package/lib-esm/markdown-it-factory.js.map +1 -1
- package/lib-esm/plugins/highlight-code-lines.plugin.js +10 -6
- package/lib-esm/plugins/highlight-code-lines.plugin.js.map +1 -1
- package/lib-esm/tsconfig.tsbuildinfo +1 -1
- package/markdown-it-factory.js +2 -0
- package/markdown-it-factory.js.map +1 -1
- package/package.json +4 -3
- package/plugins/highlight-code-lines.plugin.d.ts +1 -0
- package/plugins/highlight-code-lines.plugin.js +11 -7
- package/plugins/highlight-code-lines.plugin.js.map +1 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/umd/markdownItPresets.js +1 -1
package/markdown-it-factory.js
CHANGED
|
@@ -19,6 +19,7 @@ const markdown_it_anchor_1 = __importDefault(require("markdown-it-anchor"));
|
|
|
19
19
|
const markdown_it_lazy_headers_1 = __importDefault(require("markdown-it-lazy-headers"));
|
|
20
20
|
const markdown_it_for_inline_1 = __importDefault(require("markdown-it-for-inline"));
|
|
21
21
|
const markdown_it_task_lists_1 = __importDefault(require("markdown-it-task-lists"));
|
|
22
|
+
const markdown_it_attrs_1 = __importDefault(require("markdown-it-attrs"));
|
|
22
23
|
const simple_math_plugin_1 = require("./plugins/simple-math.plugin");
|
|
23
24
|
const simple_mermaid_plugin_1 = require("./plugins/simple-mermaid.plugin");
|
|
24
25
|
const html_filter_plugin_1 = require("./plugins/html-filter.plugin");
|
|
@@ -70,6 +71,7 @@ const markdownItFactory = ({ html, codeHighlight, taskListsOption, math, disable
|
|
|
70
71
|
const md = new markdown_it_1.default(mdOpt)
|
|
71
72
|
.use(markdown_it_container_1.default)
|
|
72
73
|
.use(simple_mermaid_plugin_1.diagramPlugin)
|
|
74
|
+
.use(markdown_it_attrs_1.default, { allowedAttributes: ['id', 'class', highlight_code_lines_plugin_1.LineNumberAttrRegex] })
|
|
73
75
|
.use(markdown_it_anchor_1.default, option_1.anchorOption)
|
|
74
76
|
.use(toc_1.TocPlugin)
|
|
75
77
|
.use(markdown_it_abbr_1.default)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-it-factory.js","sourceRoot":"","sources":["../src/markdown-it-factory.ts"],"names":[],"mappings":";;;;;;AAAA,8DAA2D;
|
|
1
|
+
{"version":3,"file":"markdown-it-factory.js","sourceRoot":"","sources":["../src/markdown-it-factory.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cnblogs/markdown-it-presets",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.0-beta1",
|
|
4
4
|
"description": "Markdown-it configuration for cnblogs.com",
|
|
5
5
|
"repository": "git@github.com:cnblogs/packages.git",
|
|
6
6
|
"main": "index.js",
|
|
@@ -22,12 +22,13 @@
|
|
|
22
22
|
"format": "prettier --write ."
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@cnblogs/load-script-css": "
|
|
25
|
+
"@cnblogs/load-script-css": "^1.5.1",
|
|
26
26
|
"github-slugger": "^1.3.0",
|
|
27
27
|
"lodash-es": "^4.17.21",
|
|
28
28
|
"markdown-it": "npm:@cnblogs-gitlab/markdown-it@^12.3.2",
|
|
29
29
|
"markdown-it-abbr": "^1.0.4",
|
|
30
30
|
"markdown-it-anchor": "^6.0.1",
|
|
31
|
+
"markdown-it-attrs": "^4.1.6",
|
|
31
32
|
"markdown-it-container": "^3.0.0",
|
|
32
33
|
"markdown-it-deflist": "^2.1.0",
|
|
33
34
|
"markdown-it-emoji": "^2.0.0",
|
|
@@ -43,7 +44,7 @@
|
|
|
43
44
|
"@babel/core": "^7.12.9",
|
|
44
45
|
"@babel/preset-env": "^7.12.7",
|
|
45
46
|
"@babel/preset-typescript": "^7.12.7",
|
|
46
|
-
"@cnblogs
|
|
47
|
+
"@cnblogs/prettier-config": "^2.0.3",
|
|
47
48
|
"@types/babel__core": "^7.1.12",
|
|
48
49
|
"@types/jest": "^26.0.17",
|
|
49
50
|
"@types/katex": "^0.11.0",
|
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.HighlightCodeLinesPlugin = void 0;
|
|
4
|
-
const
|
|
3
|
+
exports.HighlightCodeLinesPlugin = exports.LineNumberAttrRegex = void 0;
|
|
4
|
+
const LineNumbersRegex = /{([\d,\s-]+)}/;
|
|
5
|
+
exports.LineNumberAttrRegex = /^([\d,\s-]+)/;
|
|
5
6
|
const highlightCodeLines = (md, { enable } = {}) => {
|
|
6
7
|
const fence = md.renderer.rules.fence;
|
|
7
8
|
md.renderer.rules.fence = (tokens, idx, options, env, self) => {
|
|
8
9
|
const token = tokens[idx];
|
|
9
|
-
if ((enable != null && !enable(md)) ||
|
|
10
|
+
if ((enable != null && !enable(md)) ||
|
|
11
|
+
token.attrs == null ||
|
|
12
|
+
token.attrs.some(([attr]) => exports.LineNumberAttrRegex.test(attr)) === false) {
|
|
10
13
|
return fence(tokens, idx, options, env, self);
|
|
11
14
|
}
|
|
12
15
|
let highlightedLines = [];
|
|
13
16
|
try {
|
|
14
|
-
highlightedLines = Array.from(new Set(
|
|
15
|
-
.
|
|
16
|
-
.
|
|
17
|
+
highlightedLines = Array.from(new Set(token.attrs
|
|
18
|
+
.map(([attr]) => attr.split(',').map(x => x.trim()))
|
|
19
|
+
.flat()
|
|
20
|
+
.filter(attr => attr != null && attr.length > 0 && exports.LineNumberAttrRegex.test(attr))
|
|
17
21
|
.map(v => {
|
|
18
22
|
let [start, end] = v.split(/\s*?-\s*?/).map(v => parseInt(v.trim(), 10));
|
|
19
23
|
start = start > 0 ? start : 1;
|
|
@@ -29,7 +33,7 @@ const highlightCodeLines = (md, { enable } = {}) => {
|
|
|
29
33
|
catch (ex) {
|
|
30
34
|
console.warn(ex);
|
|
31
35
|
}
|
|
32
|
-
const langName = token.info.replace(
|
|
36
|
+
const langName = token.info.replace(LineNumbersRegex, '').trim();
|
|
33
37
|
let code = md.utils.escapeHtml(token.content);
|
|
34
38
|
code = options.highlight ? options.highlight(code, langName, '') : code;
|
|
35
39
|
const tmpToken = Object.assign(token, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"highlight-code-lines.plugin.js","sourceRoot":"","sources":["../../src/plugins/highlight-code-lines.plugin.ts"],"names":[],"mappings":";;;AAGA,MAAM,gBAAgB,GAAG,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"highlight-code-lines.plugin.js","sourceRoot":"","sources":["../../src/plugins/highlight-code-lines.plugin.ts"],"names":[],"mappings":"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"}
|