我正在使用带有 Pagedown 和 MarkdownSharp 的降价编辑器。
MarkdownSharp 中有一个选项“AutoNewlines”。
我想知道如何在 Pagedown (http://code.google.com/p/pagedown/) 中执行此操作。
谢谢!
我正在使用带有 Pagedown 和 MarkdownSharp 的降价编辑器。
MarkdownSharp 中有一个选项“AutoNewlines”。
我想知道如何在 Pagedown (http://code.google.com/p/pagedown/) 中执行此操作。
谢谢!
该答案的第一个修订版包括一种相当幼稚的方法,在大多数情况下都不起作用。
我将 AutoNewLines 选项从 MarkDownSharp 移植到 PageDown 你可以在这里下载它http://code.google.com/r/marcdrexel-pagedown/
它的行为应该与 MarkDownSharp 中的完全相同
使用示例:
var converter = Markdown.getSanitizingConverter();
converter.autoNewLine = true;
var editor = new Markdown.Editor(converter);
editor.run();
现在可以通过postSpanGamut
Pagedown 中 Markdown 转换器提供的挂钩来实现。这是我正在使用的代码:
function nl2br(text) {
// Replace new lines with <br/> tags to preserve formatting for users that are
// not used to markdown swallowing single line breaks.
return text.replace(/\n/g, " <br>\n");
}
var converter = new Converter();
converter.hooks.chain("postSpanGamut", nl2br);
使用 postSpanGamut 钩子而不是更通用的preConversion
钩子很重要,因为 postSpanGamut 仅在文本块的内容上运行,并且不会弄乱列表格式和降价的其他方面。
文档中的更多信息。