UNPKG

@diplodoc/transform

Version:

A simple transformer of text in YFM (Yandex Flavored Markdown) to HTML

29 lines 1.09 kB
"use strict"; const utils_1 = require("markdown-it/lib/common/utils"); module.exports = function makeHighlight(langs = {}) { try { // Important require. // Because we want to have a posibility to run in projects without hljs dependency const hljs = require('highlight.js'); Object.keys(langs).forEach((lang) => { hljs.registerLanguage(lang, langs[lang]); }); return function highlight(str, lang) { let highlightedStr; const classNames = ['hljs']; if (lang && hljs.getLanguage(lang)) { classNames.push(lang); try { highlightedStr = hljs.highlight(lang, str, true).value; } catch (_) { } } highlightedStr = highlightedStr || (0, utils_1.escapeHtml)(str); return `<pre><code class="${classNames.join(' ')}">${highlightedStr}</code></pre>`; }; } catch (_a) { return (str) => (0, utils_1.escapeHtml)(str); } }; //# sourceMappingURL=highlight.js.map