使用 JavaScript 将 Markdown 封装在适当的 HTML 中

alt*_*alt 3 html javascript markdown contenteditable

我有一个内容可编辑的<div>.

当在 div 中输入正确的 Markdown 语法时,我需要它在外部添加正确的 HTML,但保留内部的 Markdown 字符。例如:

# My H1
Run Code Online (Sandbox Code Playgroud)

将被解析为

<h1># My H1</h1>
Run Code Online (Sandbox Code Playgroud)

这类似于 iA Writer 的行为方式,我认为 Byword 也是如此。

有什么可以像这样工作的吗?

Ada*_*son 5

听起来是个不错的项目。

如果您正在使用content-editable,并且您想在用户输入时更新他们的输入,您可能需要深入研究一些相当粗糙的东西,特别是如果您想支持 IE。

我实际上编写了两个非常小的库CaretWysiwyg,它们可以提供帮助,请查看每个库的示例。

您可以使用 Caret 来观察用户的输入,然后使用 Wysiwyg 执行诸如将行包装在h1标签中之类的操作。换行有点棘手,不过您可能可以查看 Caret 的来源以获取一些提示。

即使您不使用任何一个库,它们也应该可以帮助您入门。