Выделите HTML с помощью Remarkable и Highlightjs

У меня проблемы с получением highlight функция для выполнения при использовании Remarkable выделить HTML-код. Я беру из примера здесь:

var md = new Remarkable({
    html:true,
    langPrefix:'lang-',
    highlight: function (str, lang) {
    alert('highlighting'); // never executes!
    if (lang && hljs.getLanguage(lang)) {
      try {
        return hljs.highlight(lang, str).value;
      } catch (err) {}
    }
    try {
      return hljs.highlightAuto(str).value;
    } catch (err) {}

    return ''; // use external default escaping
  }
});

var test = md.render('<code class="lang-js">var x = 1;</code>');

Смотри скрипку

1 ответ

Замечательно работает, когда вы даете ему текст, написанный в уценке, а не HTML. Он генерирует HTML для вас. Если вы хотите написать HTML самостоятельно, вам не нужен Remarkable;)

Итак, ваша тестовая строка должна выглядеть так:

var test = md.render('``` js\nvar x = 1;\n```\n');

(обычно текст извлекается из текстовой области, поэтому вам не нужно указывать "\n", просто нажмите ввод)

Вот рабочая скрипка:

https://jsfiddle.net/fhz9oma1/7/

Другие вопросы по тегам