Есть ли способ использовать MarkItUp с клиентским парсером И шаблоном сервера?

Я пытаюсь объединить MarkItUp! и PageDown, и пока все работает отлично. Я использую MIU для создания редактора, а затем даю ему свою пользовательскую функцию для анализа текста с помощью Markdown.Converter.js.

Однако, почему я использую свою функцию, MIU не загружает шаблон с сервера, он просто создает новый iframe, который затем используется для предварительного просмотра. Это проблема, потому что невозможно применить какой-либо CSS к этому iframe из-за XSS.

Можно ли использовать синтаксический анализ на стороне клиента и пользовательский шаблон с MIU? Судя по коду, это не вариант, но, возможно, кто-то уже пытался решить эту проблему? Я также не вижу вариантов, позволяющих мне полностью обрабатывать предварительный просмотр (что также может решить мою проблему)?

NB: Рассматриваемый вариант — previewParser.


person dr Hannibal Lecter    schedule 18.06.2012    source источник


Ответы (1)


Еще немного покопавшись, я пришел к выводу, что на данный момент это невозможно. Поэтому я разветвил markItUp на github и создал патч, автор которого любезно предоставил принятый.

Теперь вы можете использовать его так:

var settings = mySettings;

settings.previewHandler = function(data) {
    var converter = new Markdown.Converter();
    $('#some-element').html(converter.makeHtml(data));
};

$('#some-input').markItUp(settings);

И вы можете стилизовать свой предварительный просмотр, как хотите, или делать что угодно с данными в вашем previewHandlercallback.

person dr Hannibal Lecter    schedule 19.06.2012