Как заставить редактор markitup, используя markdown set, отправлять markdown вместо html
Я использую рельсы и у меня есть редактор markItUp, использующий пользовательский набор Markdown. Единственное, что я не могу понять, это как заставить его отправлять необработанные Markdown вместо преобразованных html. Я планирую хранить оба формата, но я не нашел ничего способного разобрать html обратно к уценке. Я настроил уценку set.js, так как нам не нужен был весь набор параметров форматирования. Вот:
myMarkdownSettings = {
previewParserPath: '',
onShiftEnter: {keepDefault:false, openWith:'\n\n'},
markupSet: [
{name:'Bold', key:'B', openWith:'**', closeWith:'**'},
{name:'Italic', key:'I', openWith:'_', closeWith:'_'},
{name:'Bulleted List', openWith:'- ' },
{name:'Link', key:'L', openWith:'[', closeWith:']([![Url:!:http://]!] "[![Title]!]")', placeHolder:'Your text to link here...' }
]
}
А вот готовый код для страницы, где появляются элементы markitup:
$.editable.addInputType('markitup', {
element : $.editable.types.textarea.element,
plugin : function(myMarkdownSettings, original) {
$('textarea', this).markItUp(myMarkdownSettings);
}
});
$('.editable').editable({type : 'markitup'});
Это работает, но он представляет как HTML. Я пытался использовать wmd, так как есть опция вывода, которая поддерживает текст уценки как есть, но не смогла заставить его летать. Благодарю.
1 ответ
Предполагая, что текстовое поле содержит отформатированный текст уценки, вы должны иметь возможность захватить содержимое перед отправкой формы с помощью $('. Editable'). Text() и сохранить его в другом скрытом поле, но вам нужно убедиться, что вы получите к содержанию до того, как markitup преобразует их.
Если вы действительно хотите сохранить уценку, лучше не использовать markitup, а просто оставить ее как простую уценку в текстовом представлении, а затем перевести ее самостоятельно в html для отображения с одной из доступных библиотек, таких как rdiscount и т. Д.