使用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的demo site,它会产生正确的Html输出。
如有必要,可以找到我的项目的完整代码here。
答案 0 :(得分:6)
请参阅Text.Pandoc的文档。它说:
注意:所有读者都认为输入文本有'\ n'行结尾。因此,如果您从Web表单中获取输入文本,则应使用filter(/ ='\ r')删除'\ r'字符。
我怀疑那是你的问题。