使用snap,我使用以下函数编写了一个从 markdown 创建文本的拼接:
markdownToHTML :: T.Text -> [Node]
markdownToHTML = renderHtmlNodes . (writeHtml writeOpts) . readMarkdown readOpts . T.unpack
where
readOpts = defaultParserState
writeOpts = defaultWriterOptions
{ writerStandalone = False
, writerHtml5 = True
, writerStrictMarkdown = False
}
现在,例如,当我给它这个降价
# Hi
Lorem ipsum something somthing
# Stuff
[a link](http://twitter.com/)
它产生这个 HTML:
<h1 id='hi'>Hi
</h1>
<p>
Lorem ipsum something somthing
# Stuff
<a href='http://twitter.com/'>a link</a></p>
无论我在 之前放了多少换行符#
,它仍然只是楔入段落中。
有趣的是,如果我将相同的 markdown 转储到 pandoc 的演示站点,它会产生正确的 Html 输出。
如有必要,可以在此处找到我的项目的完整代码。