何も考えずにhighlightjsをフルコンボでmarkdown-itの解析に入れてしまったら1000kbもあるjsが生成されてしまった件
メジャーな言語の解析しか要らないので以下のように絞りました。
それでほとんどのケースでは問題ないはず。
import MarkdownIt from 'markdown-it'
import hljs from 'highlight.js/lib/core';
import 'highlight.js/styles/github-dark-dimmed.css';
import javascript from 'highlight.js/lib/languages/javascript';
import python from 'highlight.js/lib/languages/python';
hljs.registerLanguage('javascript', javascript);
hljs.registerLanguage('python', python);
export const md: any = new MarkdownIt({
highlight: function (str, lang) { // Syntax highlighting configuration
if (lang && hljs.getLanguage(lang)) {
try {
return '<pre class="hljs"><code>' +
hljs.highlight(str, { language: lang, ignoreIllegals: true }).value +
'</code></pre>';
} catch (__) { }
}
return '<pre class="hljs"><code>' + md.utils.escapeHtml(str) + '</code></pre>';
},
})
1
0
件のコメント
ページの最後