Взгляните на PageDown Редактор уценок ...
AFAIK, ОМУ умерло, но PageDown - это форк, основанный на источнике ОМУ.
Это активный проект, основанный на работе, проделанной в ОМУ. Это заботится о редакторе Markdown. Для работы подсветки синтаксиса вам также необходимо загрузить исходный код из проекта Google-Code-Prettify .
Объедините файлы demo.html, demo.css, prettify.js, prettify.css в одну папку.
Измените импорт соответствующим образом:
<link rel="stylesheet" href="demo.css" />
<link rel="stylesheet" href="prettify.css" />
<script src="../Markdown.Converter.js"></script>
<script src="../Markdown.Sanitizer.js"></script>
<script src="../Markdown.Editor.js"></script>
<script src="prettify.js"></script>
Примечание. Предполагается, что исходные файлы PageDown находятся в родительском каталоге.
Чтобы включить подсветку синтаксиса, вам нужно сделать две вещи:
- Добавьте класс prettyprint ко всем элементам кода, сгенерированным редактором.
- Запустить событие prettyPrint () после внесения изменения.
Если вы посмотрите на код, я изменил не-дезинфицированный конвертер, чтобы сделать оба:
var converter2 = new Markdown.Converter();
converter2.hooks.chain("postConversion", function (text) {
return text.replace(/<pre>/gi, "<pre class=prettyprint>");
});
var editor2 = new Markdown.Editor(converter2, "-second");
editor2.hooks.chain("onPreviewRefresh", function () {
prettyPrint();
});
editor2.run();
Чтобы дать вам представление о гибкости. Google-Code-Prettify - это та же библиотека, которая включает подсветку синтаксиса на code.google.com и stackoverflow.com.
Мне понадобилось немного времени, чтобы понять, как заставить его работать, но удивительно, насколько легко это реализовать. Это всего лишь демонстрационный пример, но его не следует слишком сильно расширять.