zenn-markdown-html 0.1.135 → 0.1.136-alpha.0
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/index.js +6 -25
- package/lib/markdown-to-simple-html.js +7 -14
- package/lib/prism-plugins/prism-diff-highlight.js +35 -309
- package/lib/sanitizer.js +0 -5
- package/lib/utils/embed-helper.d.ts +3 -3
- package/lib/utils/embed-helper.js +15 -55
- package/lib/utils/highlight.js +23 -288
- package/lib/utils/md-br.js +8 -14
- package/lib/utils/md-container.js +3 -6
- package/lib/utils/md-custom-block.js +10 -19
- package/lib/utils/md-katex.js +13 -27
- package/lib/utils/md-link-attributes.js +4 -6
- package/lib/utils/md-linkify-to-card.js +25 -29
- package/lib/utils/md-renderer-fence.js +3 -16
- package/lib/utils/url-matcher.js +4 -16
- package/package.json +7 -6
package/lib/index.js
CHANGED
|
@@ -10,44 +10,26 @@ Object.defineProperty(exports, "markdownToSimpleHtml", {
|
|
|
10
10
|
return _markdownToSimpleHtml.markdownToSimpleHtml;
|
|
11
11
|
}
|
|
12
12
|
});
|
|
13
|
-
|
|
14
13
|
var _crypto = _interopRequireDefault(require("crypto"));
|
|
15
|
-
|
|
16
14
|
var _markdownIt = _interopRequireDefault(require("markdown-it"));
|
|
17
|
-
|
|
18
15
|
var _sanitizer = require("./sanitizer");
|
|
19
|
-
|
|
20
16
|
var _markdownItImsize = _interopRequireDefault(require("@steelydylan/markdown-it-imsize"));
|
|
21
|
-
|
|
22
17
|
var _markdownItAnchor = _interopRequireDefault(require("markdown-it-anchor"));
|
|
23
|
-
|
|
24
18
|
var _mdBr = require("./utils/md-br");
|
|
25
|
-
|
|
26
19
|
var _mdContainer = require("./utils/md-container");
|
|
27
|
-
|
|
28
20
|
var _mdCustomBlock = require("./utils/md-custom-block");
|
|
29
|
-
|
|
30
21
|
var _mdKatex = require("./utils/md-katex");
|
|
31
|
-
|
|
32
22
|
var _mdLinkAttributes = require("./utils/md-link-attributes");
|
|
33
|
-
|
|
34
23
|
var _mdLinkifyToCard = require("./utils/md-linkify-to-card");
|
|
35
|
-
|
|
36
24
|
var _mdRendererFence = require("./utils/md-renderer-fence");
|
|
37
|
-
|
|
38
25
|
var _markdownToSimpleHtml = require("./markdown-to-simple-html");
|
|
39
|
-
|
|
40
26
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
41
|
-
|
|
42
27
|
// plugis
|
|
43
|
-
const mdContainer = require('markdown-it-container');
|
|
44
28
|
|
|
29
|
+
const mdContainer = require('markdown-it-container');
|
|
45
30
|
const mdFootnote = require('markdown-it-footnote');
|
|
46
|
-
|
|
47
31
|
const mdTaskLists = require('markdown-it-task-lists');
|
|
48
|
-
|
|
49
32
|
const mdInlineComments = require('markdown-it-inline-comments');
|
|
50
|
-
|
|
51
33
|
const md = (0, _markdownIt.default)({
|
|
52
34
|
breaks: true,
|
|
53
35
|
linkify: true
|
|
@@ -65,22 +47,21 @@ md.use(_mdBr.mdBr).use(_mdRendererFence.mdRendererFence).use(_markdownItImsize.d
|
|
|
65
47
|
symbol: ''
|
|
66
48
|
}),
|
|
67
49
|
tabIndex: false
|
|
68
|
-
}).use(_mdKatex.mdKatex).use(_mdLinkifyToCard.mdLinkifyToCard);
|
|
50
|
+
}).use(_mdKatex.mdKatex).use(_mdLinkifyToCard.mdLinkifyToCard);
|
|
69
51
|
|
|
52
|
+
// custom footnote
|
|
70
53
|
md.renderer.rules.footnote_block_open = () => '<section class="footnotes">\n' + '<span class="footnotes-title">脚注</span>\n' + '<ol class="footnotes-list">\n';
|
|
71
|
-
|
|
72
54
|
const markdownToHtml = text => {
|
|
73
|
-
if (!(text && text.length)) return '';
|
|
55
|
+
if (!(text && text.length)) return '';
|
|
56
|
+
|
|
57
|
+
// docIdは複数のコメントが1ページに指定されたときに脚注のリンク先が重複しないように指定する
|
|
74
58
|
// 1ページの中で重複しなければ問題ないため、ごく短いランダムな文字列とする
|
|
75
59
|
// - https://github.com/zenn-dev/zenn-community/issues/356
|
|
76
60
|
// - https://github.com/markdown-it/markdown-it-footnote/pull/8
|
|
77
|
-
|
|
78
61
|
const docId = _crypto.default.randomBytes(2).toString('hex');
|
|
79
|
-
|
|
80
62
|
return (0, _sanitizer.sanitize)(md.render(text, {
|
|
81
63
|
docId
|
|
82
64
|
}));
|
|
83
65
|
};
|
|
84
|
-
|
|
85
66
|
var _default = markdownToHtml;
|
|
86
67
|
exports.default = _default;
|
|
@@ -4,45 +4,38 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.markdownToSimpleHtml = void 0;
|
|
7
|
-
|
|
8
7
|
var _markdownIt = _interopRequireDefault(require("markdown-it"));
|
|
9
|
-
|
|
10
8
|
var _mdLinkAttributes = require("./utils/md-link-attributes");
|
|
11
|
-
|
|
12
9
|
var _sanitizer = require("./sanitizer");
|
|
13
|
-
|
|
14
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
-
|
|
16
11
|
// preset 'zero' はデフォルトで全ての変換を無効化したプリセットです。
|
|
17
12
|
// Ref: https://github.com/markdown-it/markdown-it/blob/master/lib/presets/zero.js
|
|
18
13
|
const md = (0, _markdownIt.default)('zero', {
|
|
19
14
|
breaks: true,
|
|
20
15
|
// 改行を<br>に変換する
|
|
21
16
|
linkify: true // URLをリンクに変換する
|
|
22
|
-
|
|
23
17
|
});
|
|
24
|
-
md.enable('emphasis'); // 太字と斜体を有効化
|
|
25
18
|
|
|
19
|
+
md.enable('emphasis'); // 太字と斜体を有効化
|
|
26
20
|
md.enable('link'); // リンクを有効化
|
|
27
|
-
|
|
28
21
|
md.enable('list'); // リストを有効化
|
|
29
22
|
// 改行コードを<br>に変換する('zero'presetの場合、newlineを有効化する必要がある)
|
|
30
23
|
// Ref: https://github.com/markdown-it/markdown-it/issues/491
|
|
31
|
-
|
|
32
|
-
|
|
24
|
+
md.enable('newline');
|
|
25
|
+
// linkify を有効化('zero'presetの場合、linkifyを有効化する必要がある)
|
|
33
26
|
// Ref: https://github.com/markdown-it/markdown-it/issues/396
|
|
27
|
+
md.enable('linkify');
|
|
34
28
|
|
|
35
|
-
|
|
29
|
+
// fuzzyLink - recognize URL-s without http(s):// head. Default true.
|
|
36
30
|
// Ref: http://markdown-it.github.io/linkify-it/doc/#LinkifyIt.prototype.set
|
|
37
|
-
|
|
38
31
|
md.linkify.set({
|
|
39
32
|
fuzzyLink: false
|
|
40
33
|
});
|
|
41
|
-
md.use(_mdLinkAttributes.mdLinkAttributes);
|
|
34
|
+
md.use(_mdLinkAttributes.mdLinkAttributes);
|
|
42
35
|
|
|
36
|
+
// 限られた記法のみをHTMLに変換するパーサー
|
|
43
37
|
const markdownToSimpleHtml = text => {
|
|
44
38
|
if (!(text && text.length)) return '';
|
|
45
39
|
return (0, _sanitizer.sanitize)(md.render(text));
|
|
46
40
|
};
|
|
47
|
-
|
|
48
41
|
exports.markdownToSimpleHtml = markdownToSimpleHtml;
|