Как преобразовать блок кода HTML в Гэтсби с подсветкой синтаксиса с помощью Prism.js?

Я хочу применить подсветку синтаксиса к контенту HTML, который имеет <code> тег; например

<pre>
  <code>
    function hello () {
      console.log("Hello!");
    }
  </code>
</pre>

Плагины Gatsby, такие как gatsby -mark-prismjs, работают только с файлами Markdown. Я пытаюсь сгенерировать страницы программно используя gatsby-node.js,

0 ответов

Вы можете использовать

import Prism from 'prismjs'

const Component = () => {
 let code_example = `let myvar = 'hello'`
 let html_example = Prism.highlight(code_example, Prism.languages.javascript, 'javascript{numberLines: true}')

 //...

 return (
  <pre class="language-js">
   <code class="language-js" dangerouslySetInnerHTML={{ __html: html_example }}></code>
  </pre>
 )
}

Но я не смог использовать здесь номера строк

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