zenn-markdown-html 0.1.102-alpha.0 → 0.1.103
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 +1 -1
- package/lib/utils/helper.js +6 -6
- package/lib/utils/highlight.js +4 -4
- package/lib/utils/md-container.js +2 -2
- package/lib/utils/md-custom-block.js +18 -18
- package/lib/utils/md-katex.js +4 -4
- package/lib/utils/md-linkify-to-card.js +5 -5
- package/lib/utils/md-renderer-fence.js +9 -9
- package/lib/utils/url-matcher.js +1 -1
- package/package.json +9 -9
package/lib/index.js
CHANGED
|
@@ -19,7 +19,7 @@ var mdFootnote = require('markdown-it-footnote');
|
|
|
19
19
|
var mdTaskLists = require('markdown-it-task-lists');
|
|
20
20
|
var mdInlineComments = require('markdown-it-inline-comments');
|
|
21
21
|
var mdLinkAttributes = require('markdown-it-link-attributes');
|
|
22
|
-
var md = markdown_it_1.default({
|
|
22
|
+
var md = (0, markdown_it_1.default)({
|
|
23
23
|
breaks: true,
|
|
24
24
|
linkify: true,
|
|
25
25
|
});
|
package/lib/utils/helper.js
CHANGED
|
@@ -4,22 +4,22 @@ exports.isValidHttpUrl = exports.generateYoutubeHtmlFromVideoId = exports.genera
|
|
|
4
4
|
var utils_1 = require("markdown-it/lib/common/utils");
|
|
5
5
|
var url_matcher_1 = require("./url-matcher");
|
|
6
6
|
function generateTweetHtml(url) {
|
|
7
|
-
return "<div class=\"embed-tweet\"><embed-tweet src=\""
|
|
7
|
+
return "<div class=\"embed-tweet\"><embed-tweet src=\"".concat(url, "\"></embed-tweet></div>");
|
|
8
8
|
}
|
|
9
9
|
exports.generateTweetHtml = generateTweetHtml;
|
|
10
10
|
function generateCardHtml(url) {
|
|
11
|
-
return "<div class=\"embed-zenn-link\"><iframe src=\"https://card.zenn.dev/?url="
|
|
11
|
+
return "<div class=\"embed-zenn-link\"><iframe src=\"https://card.zenn.dev/?url=".concat(encodeURIComponent(url), "\" frameborder=\"0\" scrolling=\"no\" loading=\"lazy\"></iframe></div>");
|
|
12
12
|
}
|
|
13
13
|
exports.generateCardHtml = generateCardHtml;
|
|
14
14
|
function generateYoutubeHtml(videoId, start) {
|
|
15
|
-
var escapedVideoId = utils_1.escapeHtml(videoId);
|
|
15
|
+
var escapedVideoId = (0, utils_1.escapeHtml)(videoId);
|
|
16
16
|
// 48時間以内
|
|
17
17
|
var time = Math.min(Number(start || 0), 48 * 60 * 60);
|
|
18
|
-
var startQuery = time ? "&start="
|
|
19
|
-
return "<div class=\"embed-youtube\"><iframe src=\"https://www.youtube.com/embed/"
|
|
18
|
+
var startQuery = time ? "&start=".concat(time) : '';
|
|
19
|
+
return "<div class=\"embed-youtube\"><iframe src=\"https://www.youtube.com/embed/".concat(escapedVideoId, "?loop=1&playlist=").concat(escapedVideoId).concat(startQuery, "\" allowfullscreen loading=\"lazy\"></iframe></div>");
|
|
20
20
|
}
|
|
21
21
|
function generateYoutubeHtmlFromUrl(url) {
|
|
22
|
-
var params = url_matcher_1.extractYoutubeVideoParameters(url);
|
|
22
|
+
var params = (0, url_matcher_1.extractYoutubeVideoParameters)(url);
|
|
23
23
|
if (!params) {
|
|
24
24
|
return generateCardHtml(url);
|
|
25
25
|
}
|
package/lib/utils/highlight.js
CHANGED
|
@@ -9,13 +9,13 @@ var utils_1 = require("markdown-it/lib/common/utils");
|
|
|
9
9
|
var components_1 = __importDefault(require("prismjs/components/"));
|
|
10
10
|
var prism_diff_highlight_1 = __importDefault(require("@steelydylan/prism-diff-highlight"));
|
|
11
11
|
// diffプラグインを有効化
|
|
12
|
-
prism_diff_highlight_1.default();
|
|
12
|
+
(0, prism_diff_highlight_1.default)();
|
|
13
13
|
function loadPrismGrammer(lang) {
|
|
14
14
|
if (!lang)
|
|
15
15
|
return undefined;
|
|
16
16
|
var langObject = prismjs_1.default.languages[lang];
|
|
17
17
|
if (langObject === undefined) {
|
|
18
|
-
components_1.default([lang]);
|
|
18
|
+
(0, components_1.default)([lang]);
|
|
19
19
|
langObject = prismjs_1.default.languages[lang];
|
|
20
20
|
}
|
|
21
21
|
return langObject;
|
|
@@ -24,12 +24,12 @@ function highlightContent(_a) {
|
|
|
24
24
|
var text = _a.text, prismGrammer = _a.prismGrammer, langName = _a.langName, hasDiff = _a.hasDiff;
|
|
25
25
|
if (prismGrammer && langName) {
|
|
26
26
|
if (hasDiff)
|
|
27
|
-
return prismjs_1.default.highlight(text, prismjs_1.default.languages.diff, "diff-"
|
|
27
|
+
return prismjs_1.default.highlight(text, prismjs_1.default.languages.diff, "diff-".concat(langName));
|
|
28
28
|
return prismjs_1.default.highlight(text, prismGrammer, langName);
|
|
29
29
|
}
|
|
30
30
|
if (hasDiff)
|
|
31
31
|
return prismjs_1.default.highlight(text, prismjs_1.default.languages.diff, 'diff');
|
|
32
|
-
return utils_1.escapeHtml(text);
|
|
32
|
+
return (0, utils_1.escapeHtml)(text);
|
|
33
33
|
}
|
|
34
34
|
function highlight(text, langName, hasDiff) {
|
|
35
35
|
var prismGrammer = loadPrismGrammer(langName);
|
|
@@ -17,7 +17,7 @@ exports.containerDetailsOptions = {
|
|
|
17
17
|
if (tokens[idx].nesting === 1) {
|
|
18
18
|
// opening tag
|
|
19
19
|
return ('<details><summary>' +
|
|
20
|
-
utils_1.escapeHtml(summary) +
|
|
20
|
+
(0, utils_1.escapeHtml)(summary) +
|
|
21
21
|
'</summary><div class="details-content">');
|
|
22
22
|
}
|
|
23
23
|
else {
|
|
@@ -39,7 +39,7 @@ exports.containerMessageOptions = {
|
|
|
39
39
|
var msgClassName = (m === null || m === void 0 ? void 0 : m[1]) || '';
|
|
40
40
|
if (tokens[idx].nesting === 1) {
|
|
41
41
|
// opening tag
|
|
42
|
-
return '<div class="msg ' + utils_1.escapeHtml(msgClassName) + '">';
|
|
42
|
+
return '<div class="msg ' + (0, utils_1.escapeHtml)(msgClassName) + '">';
|
|
43
43
|
}
|
|
44
44
|
else {
|
|
45
45
|
// closing tag
|
|
@@ -10,65 +10,65 @@ var blockOptions = {
|
|
|
10
10
|
if (!(videoId === null || videoId === void 0 ? void 0 : videoId.match(/^[a-zA-Z0-9_-]+$/))) {
|
|
11
11
|
return 'YouTubeのvideoIDが不正です';
|
|
12
12
|
}
|
|
13
|
-
return helper_1.generateYoutubeHtmlFromVideoId(videoId);
|
|
13
|
+
return (0, helper_1.generateYoutubeHtmlFromVideoId)(videoId);
|
|
14
14
|
},
|
|
15
15
|
slideshare: function (key) {
|
|
16
16
|
if (!(key === null || key === void 0 ? void 0 : key.match(/^[a-zA-Z0-9_-]+$/))) {
|
|
17
17
|
return 'Slide Shareのkeyが不正です';
|
|
18
18
|
}
|
|
19
|
-
return "<div class=\"embed-slideshare\"><iframe src=\"https://www.slideshare.net/slideshow/embed_code/key/"
|
|
19
|
+
return "<div class=\"embed-slideshare\"><iframe src=\"https://www.slideshare.net/slideshow/embed_code/key/".concat((0, utils_1.escapeHtml)(key), "\" scrolling=\"no\" allowfullscreen loading=\"lazy\"></iframe></div>");
|
|
20
20
|
},
|
|
21
21
|
speakerdeck: function (key) {
|
|
22
22
|
if (!(key === null || key === void 0 ? void 0 : key.match(/^[a-zA-Z0-9_-]+$/))) {
|
|
23
23
|
return 'Speaker Deckのkeyが不正です';
|
|
24
24
|
}
|
|
25
|
-
return "<div class=\"embed-speakerdeck\"><iframe src=\"https://speakerdeck.com/player/"
|
|
25
|
+
return "<div class=\"embed-speakerdeck\"><iframe src=\"https://speakerdeck.com/player/".concat((0, utils_1.escapeHtml)(key), "\" scrolling=\"no\" allowfullscreen allow=\"encrypted-media\" loading=\"lazy\"></iframe></div>");
|
|
26
26
|
},
|
|
27
27
|
jsfiddle: function (str) {
|
|
28
|
-
if (!url_matcher_1.isJsfiddleUrl(str)) {
|
|
28
|
+
if (!(0, url_matcher_1.isJsfiddleUrl)(str)) {
|
|
29
29
|
return 'jsfiddleのURLが不正です';
|
|
30
30
|
}
|
|
31
31
|
// URLを~/embedded/とする
|
|
32
32
|
// ※ すでにembeddedもしくはembedが含まれるURLが入力されている場合は、そのままURLを使用する。
|
|
33
33
|
var url = str;
|
|
34
34
|
if (!url.includes('embed')) {
|
|
35
|
-
url = url.endsWith('/') ? url
|
|
35
|
+
url = url.endsWith('/') ? "".concat(url, "embedded/") : "".concat(url, "/embedded/");
|
|
36
36
|
}
|
|
37
|
-
return "<div class=\"embed-jsfiddle\"><iframe src=\""
|
|
37
|
+
return "<div class=\"embed-jsfiddle\"><iframe src=\"".concat(url, "\" scrolling=\"no\" frameborder=\"no\" allowfullscreen allowtransparency=\"true\" loading=\"lazy\"></iframe></div>");
|
|
38
38
|
},
|
|
39
39
|
codepen: function (str) {
|
|
40
|
-
if (!url_matcher_1.isCodepenUrl(str)) {
|
|
40
|
+
if (!(0, url_matcher_1.isCodepenUrl)(str)) {
|
|
41
41
|
return 'CodePenのURLが不正です';
|
|
42
42
|
}
|
|
43
43
|
var url = new URL(str.replace('/pen/', '/embed/'));
|
|
44
44
|
url.searchParams.set('embed-version', '2');
|
|
45
|
-
return "<div class=\"embed-codepen\"><iframe src=\""
|
|
45
|
+
return "<div class=\"embed-codepen\"><iframe src=\"".concat(url, "\" scrolling=\"no\" scrolling=\"no\" frameborder=\"no\" allowtransparency=\"true\" loading=\"lazy\"></iframe></div>");
|
|
46
46
|
},
|
|
47
47
|
codesandbox: function (str) {
|
|
48
|
-
if (!url_matcher_1.isCodesandboxUrl(str)) {
|
|
48
|
+
if (!(0, url_matcher_1.isCodesandboxUrl)(str)) {
|
|
49
49
|
return '「https://codesandbox.io/embed/」から始まる正しいURLを入力してください';
|
|
50
50
|
}
|
|
51
|
-
return "<div class=\"embed-codesandbox\"><iframe src=\""
|
|
51
|
+
return "<div class=\"embed-codesandbox\"><iframe src=\"".concat(str, "\" style=\"width:100%;height:500px;border:none;overflow:hidden;\" allow=\"accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; hid; microphone; midi; payment; usb; vr; xr-spatial-tracking\" loading=\"lazy\" sandbox=\"allow-modals allow-forms allow-popups allow-scripts allow-same-origin\"></iframe></div>");
|
|
52
52
|
},
|
|
53
53
|
stackblitz: function (str) {
|
|
54
|
-
if (!url_matcher_1.isStackblitzUrl(str)) {
|
|
54
|
+
if (!(0, url_matcher_1.isStackblitzUrl)(str)) {
|
|
55
55
|
return 'StackBlitzのembed用のURLを指定してください';
|
|
56
56
|
}
|
|
57
|
-
return "<div class=\"embed-stackblitz\"><iframe src=\""
|
|
57
|
+
return "<div class=\"embed-stackblitz\"><iframe src=\"".concat(str, "\" scrolling=\"no\" frameborder=\"no\" allowtransparency=\"true\" loading=\"lazy\" allowfullscreen></iframe></div>");
|
|
58
58
|
},
|
|
59
59
|
tweet: function (str) {
|
|
60
|
-
if (!url_matcher_1.isTweetUrl(str))
|
|
60
|
+
if (!(0, url_matcher_1.isTweetUrl)(str))
|
|
61
61
|
return 'ツイートページのURLを指定してください';
|
|
62
|
-
return helper_1.generateTweetHtml(str);
|
|
62
|
+
return (0, helper_1.generateTweetHtml)(str);
|
|
63
63
|
},
|
|
64
64
|
card: function (str) {
|
|
65
65
|
// generateCardHtml内でURLはエンコードされるためここでのバリデーションは軽めでOK
|
|
66
|
-
if (!helper_1.isValidHttpUrl(str))
|
|
66
|
+
if (!(0, helper_1.isValidHttpUrl)(str))
|
|
67
67
|
return 'URLが不正です';
|
|
68
|
-
return helper_1.generateCardHtml(str);
|
|
68
|
+
return (0, helper_1.generateCardHtml)(str);
|
|
69
69
|
},
|
|
70
70
|
gist: function (str) {
|
|
71
|
-
if (!url_matcher_1.isGistUrl(str))
|
|
71
|
+
if (!(0, url_matcher_1.isGistUrl)(str))
|
|
72
72
|
return 'GitHub GistのページURLを指定してください';
|
|
73
73
|
/**
|
|
74
74
|
* gistのURL は
|
|
@@ -77,7 +77,7 @@ var blockOptions = {
|
|
|
77
77
|
* のような形式
|
|
78
78
|
*/
|
|
79
79
|
var _a = str.split('?file='), pageUrl = _a[0], file = _a[1];
|
|
80
|
-
return "<div class=\"embed-gist\"><embed-gist page-url=\""
|
|
80
|
+
return "<div class=\"embed-gist\"><embed-gist page-url=\"".concat(pageUrl, "\" encoded-filename=\"").concat(file ? encodeURIComponent(file) : '', "\" /></div>");
|
|
81
81
|
},
|
|
82
82
|
};
|
|
83
83
|
// Forked from: https://github.com/posva/markdown-it-custom-block
|
package/lib/utils/md-katex.js
CHANGED
|
@@ -19,7 +19,7 @@ var inlineRules = [
|
|
|
19
19
|
{
|
|
20
20
|
name: 'math_inline_double',
|
|
21
21
|
rex: /\${2}((?:\S)|(?:\S(?!.*\]\(http).*?\S))\${2}/gy,
|
|
22
|
-
tmpl: "<section class=\""
|
|
22
|
+
tmpl: "<section class=\"".concat(katexClassName, "\"><embed-katex display-mode=\"1\"><eqn>$1</eqn></embed-katex></section>"),
|
|
23
23
|
tag: '$$',
|
|
24
24
|
pre: preHandler,
|
|
25
25
|
post: postHandler,
|
|
@@ -27,7 +27,7 @@ var inlineRules = [
|
|
|
27
27
|
{
|
|
28
28
|
name: 'math_inline',
|
|
29
29
|
rex: /\$((?:\S)|(?:\S(?!.*\]\(http.*\$.*\)).*?\S))\$/gy,
|
|
30
|
-
tmpl: "<embed-katex><eq class=\""
|
|
30
|
+
tmpl: "<embed-katex><eq class=\"".concat(katexClassName, "\">$1</eq></embed-katex>"),
|
|
31
31
|
tag: '$',
|
|
32
32
|
pre: preHandler,
|
|
33
33
|
post: postHandler,
|
|
@@ -37,13 +37,13 @@ var blockRules = [
|
|
|
37
37
|
{
|
|
38
38
|
name: 'math_block_eqno',
|
|
39
39
|
rex: /\${2}([^$]+?)\${2}\s*?\(([^)\s]+?)\)/gmy,
|
|
40
|
-
tmpl: "<section class=\""
|
|
40
|
+
tmpl: "<section class=\"".concat(katexClassName, " eqno\"><eqn><embed-katex display-mode=\"1\">$1</embed-katex></eqn><span>($2)</span></section>"),
|
|
41
41
|
tag: '$$',
|
|
42
42
|
},
|
|
43
43
|
{
|
|
44
44
|
name: 'math_block',
|
|
45
45
|
rex: /\${2}([^$]+?)\${2}/gmy,
|
|
46
|
-
tmpl: "<section class=\""
|
|
46
|
+
tmpl: "<section class=\"".concat(katexClassName, "\"><eqn><embed-katex display-mode=\"1\">$1</embed-katex></eqn></section>"),
|
|
47
47
|
tag: '$$',
|
|
48
48
|
},
|
|
49
49
|
];
|
|
@@ -38,14 +38,14 @@ function convertAutolinkToEmbed(inlineChildTokens) {
|
|
|
38
38
|
}
|
|
39
39
|
// 埋め込み用のHTMLを生成
|
|
40
40
|
var embedToken = new token_1.default('html_inline', '', 0);
|
|
41
|
-
if (url_matcher_1.isTweetUrl(url)) {
|
|
42
|
-
embedToken.content = helper_1.generateTweetHtml(url);
|
|
41
|
+
if ((0, url_matcher_1.isTweetUrl)(url)) {
|
|
42
|
+
embedToken.content = (0, helper_1.generateTweetHtml)(url);
|
|
43
43
|
}
|
|
44
|
-
else if (url_matcher_1.isYoutubeUrl(url)) {
|
|
45
|
-
embedToken.content = helper_1.generateYoutubeHtmlFromUrl(url);
|
|
44
|
+
else if ((0, url_matcher_1.isYoutubeUrl)(url)) {
|
|
45
|
+
embedToken.content = (0, helper_1.generateYoutubeHtmlFromUrl)(url);
|
|
46
46
|
}
|
|
47
47
|
else {
|
|
48
|
-
embedToken.content = helper_1.generateCardHtml(url);
|
|
48
|
+
embedToken.content = (0, helper_1.generateCardHtml)(url);
|
|
49
49
|
}
|
|
50
50
|
// a要素自体はカードにより不要になるため非表示に
|
|
51
51
|
linkOpenToken.attrJoin('style', 'display: none');
|
|
@@ -5,10 +5,10 @@ var utils_1 = require("markdown-it/lib/common/utils");
|
|
|
5
5
|
var highlight_1 = require("./highlight");
|
|
6
6
|
function getHtml(_a) {
|
|
7
7
|
var content = _a.content, className = _a.className, fileName = _a.fileName;
|
|
8
|
-
var escapedClass = utils_1.escapeHtml(className);
|
|
9
|
-
return "<div class=\"code-block-container\">"
|
|
10
|
-
? "<div class=\"code-block-filename-container\"><span class=\"code-block-filename\">"
|
|
11
|
-
: ''
|
|
8
|
+
var escapedClass = (0, utils_1.escapeHtml)(className);
|
|
9
|
+
return "<div class=\"code-block-container\">".concat(fileName
|
|
10
|
+
? "<div class=\"code-block-filename-container\"><span class=\"code-block-filename\">".concat((0, utils_1.escapeHtml)(fileName), "</span></div>")
|
|
11
|
+
: '', "<pre class=\"").concat(escapedClass, "\"><code class=\"").concat(escapedClass, "\">").concat(content, "</code></pre></div>");
|
|
12
12
|
}
|
|
13
13
|
function getClassName(_a) {
|
|
14
14
|
var _b = _a.langName, langName = _b === void 0 ? '' : _b, hasDiff = _a.hasDiff;
|
|
@@ -16,9 +16,9 @@ function getClassName(_a) {
|
|
|
16
16
|
if (!isSafe)
|
|
17
17
|
return '';
|
|
18
18
|
if (hasDiff) {
|
|
19
|
-
return "diff-highlight "
|
|
19
|
+
return "diff-highlight ".concat(langName.length ? "language-diff-".concat(langName) : '');
|
|
20
20
|
}
|
|
21
|
-
return langName ? "language-"
|
|
21
|
+
return langName ? "language-".concat(langName) : '';
|
|
22
22
|
}
|
|
23
23
|
var fallbackLanguages = {
|
|
24
24
|
vue: 'html',
|
|
@@ -26,7 +26,7 @@ var fallbackLanguages = {
|
|
|
26
26
|
fish: 'shell',
|
|
27
27
|
sh: 'shell',
|
|
28
28
|
cwl: 'yaml',
|
|
29
|
-
tf: 'hcl',
|
|
29
|
+
tf: 'hcl', // ref: https://github.com/PrismJS/prism/issues/1252
|
|
30
30
|
};
|
|
31
31
|
function normalizeLangName(str) {
|
|
32
32
|
var _a;
|
|
@@ -69,13 +69,13 @@ function mdRendererFence(md) {
|
|
|
69
69
|
var _a = tokens[idx], info = _a.info, content = _a.content;
|
|
70
70
|
var _b = parseInfo(info), langName = _b.langName, fileName = _b.fileName, hasDiff = _b.hasDiff;
|
|
71
71
|
if (langName === 'mermaid') {
|
|
72
|
-
return "<div class=\"embed-mermaid\"><embed-mermaid><pre class=\"zenn-mermaid\">"
|
|
72
|
+
return "<div class=\"embed-mermaid\"><embed-mermaid><pre class=\"zenn-mermaid\">".concat((0, utils_1.escapeHtml)(content.trim()), "</pre></embed-mermaid></div>");
|
|
73
73
|
}
|
|
74
74
|
var className = getClassName({
|
|
75
75
|
langName: langName,
|
|
76
76
|
hasDiff: hasDiff,
|
|
77
77
|
});
|
|
78
|
-
var highlightedContent = highlight_1.highlight(content, langName, hasDiff);
|
|
78
|
+
var highlightedContent = (0, highlight_1.highlight)(content, langName, hasDiff);
|
|
79
79
|
return getHtml({
|
|
80
80
|
content: highlightedContent,
|
|
81
81
|
className: className,
|
package/lib/utils/url-matcher.js
CHANGED
|
@@ -34,7 +34,7 @@ function extractYoutubeVideoParameters(youtubeUrl) {
|
|
|
34
34
|
var start = urlParams.get('t');
|
|
35
35
|
return {
|
|
36
36
|
videoId: match[9],
|
|
37
|
-
start: start === null || start === void 0 ? void 0 : start.replace('s', ''),
|
|
37
|
+
start: start === null || start === void 0 ? void 0 : start.replace('s', ''), // https://www.youtube.com/watch?v=ABCSDGG&t=19101s => 19101
|
|
38
38
|
};
|
|
39
39
|
}
|
|
40
40
|
else {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zenn-markdown-html",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.103",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Convert markdown to zenn flavor html.",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -21,31 +21,31 @@
|
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
23
|
"@types/jest": "^26.0.19",
|
|
24
|
-
"@types/markdown-it": "^
|
|
24
|
+
"@types/markdown-it": "^12.2.3",
|
|
25
25
|
"@types/node": "^14.0.5",
|
|
26
26
|
"@types/prismjs": "^1.16.6",
|
|
27
27
|
"@typescript-eslint/eslint-plugin": "^4.23.0",
|
|
28
28
|
"@typescript-eslint/parser": "^4.23.0",
|
|
29
29
|
"eslint": "^7.26.0",
|
|
30
30
|
"eslint-config-prettier": "^8.3.0",
|
|
31
|
-
"jest": "^
|
|
31
|
+
"jest": "^27.4.7",
|
|
32
32
|
"rimraf": "^3.0.2",
|
|
33
|
-
"ts-jest": "^
|
|
34
|
-
"typescript": "^
|
|
33
|
+
"ts-jest": "^27.1.3",
|
|
34
|
+
"typescript": "^4.5.4"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"@steelydylan/markdown-it-imsize": "^1.0.2",
|
|
38
38
|
"@steelydylan/prism-diff-highlight": "1.0.4",
|
|
39
|
-
"markdown-it": "^
|
|
40
|
-
"markdown-it-anchor": "^8.1
|
|
39
|
+
"markdown-it": "^12.3.2",
|
|
40
|
+
"markdown-it-anchor": "^8.4.1",
|
|
41
41
|
"markdown-it-container": "^2.0.0",
|
|
42
|
-
"markdown-it-footnote": "^3.0.
|
|
42
|
+
"markdown-it-footnote": "^3.0.3",
|
|
43
43
|
"markdown-it-inline-comments": "^1.0.1",
|
|
44
44
|
"markdown-it-link-attributes": "^3.0.0",
|
|
45
45
|
"markdown-it-task-lists": "^2.1.1",
|
|
46
46
|
"prismjs": "^1.26.0"
|
|
47
47
|
},
|
|
48
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "e25396d2fb4cc49c362d8529b9eaa10f193b9c1d",
|
|
49
49
|
"publishConfig": {
|
|
50
50
|
"access": "public"
|
|
51
51
|
}
|