Я переключаюсь с Prism на CodeMirror для выделения блоков кода на моем веб-сайте. С Prism я мог бы просто сделать что-то вроде этого:
<code class="lang-javascript">
// some javascript code here
</code>
<code class="lang-html">
<!-- some html code here -->
</code>
Мне особенно нравится, как Prism загружает правильный языковой шаблон (или «режим», как он называется в документации CodeMirror) на основе имени класса элемента кода.
Однако с CodeMirror похоже, что вам нужно явно создавать экземпляры редактора, что-то вроде этого.
var myCodeMirror = CodeMirror(document.body, {
value: "// some javascript here",
mode: "javascript"
});
Мне было интересно, есть ли простой способ чтобы автоматически инициализировать зеркальное отображение кода на всех блоках, и, основываясь на имени класса, загрузить соответствующий режим. Я знаю, что мог бы пройтись по моему документу с некоторыми javascript, собрать все поля, проверить классифицированные и создать экземпляры вручную ... Так что я не ищу это как ответ. Просто хочу узнать, есть ли встроенный способ в CodeMirror, который может обработать это из коробки.