Я пытаюсь создать образцы кода с помощью CodeMirror, но он работает частично - он применяет выбранную тему к textarea
, но синтаксис не выделяется.
Есть моя страница:
<textarea id="template-html" name="code" class="CodeMirror">
<!DOCTYPE html>
<foobar>
<blah>Enter your xml here and press the button below to display it as highlighted by the CodeMirror XML mode</blah>
<tag2 foo="2" bar="bar" />
</foobar>
</textarea>
<link rel="stylesheet" type="text/css" href="/site.com/css/codemirror/codemirror.css">
<link rel="stylesheet" type="text/css" href="/site.com/css/codemirror/theme/ambiance.css">
<link rel="stylesheet" type="text/css" href="/site.com/css/codemirror/theme/solarized.css">
<script type="text/javascript" src="/site.com/js/libs/codemirror/codemirror.js"></script>
<script type="text/javascript" src="/site.com/js/libs/codemirror/mode/javascript/javascript.js"></script>
<script type="text/javascript">
var config, editor;
config = {
lineNumbers: true,
mode: "text/html",
theme: "ambiance",
indentWithTabs: false,
readOnly: true
};
editor = CodeMirror.fromTextArea(document.getElementById("template-html"), config);
function selectTheme() {
editor.setOption("theme", "solarized dark");
}
setTimeout(selectTheme, 5000);
</script>
Вот изображение результата. Кажется, что это работает, но без подсветки синтаксиса (изображение сверху), я также пробовал без моего CSS, но результат тот же (снизу снизу):
Проблема заключается в mode: "text/html"
, который, кажется, не работает должным образом, если я использую mode: "javascript"
, он раскрашивает теги по синтаксическим правилам JavaScript. Как я могу это исправить?