4

使用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 输出。

如有必要,可以在此处找到我的项目的完整代码。

4

1 回答 1

6

请参阅 Text.Pandoc 的文档。它说:

注意:所有读者都假设输入文本有 '\n' 行结尾。因此,如果您从 Web 表单中获取输入文本,则应使用过滤器 (/='\r') 删除 '\r' 字符。

我怀疑这是你的问题。

于 2012-05-07T15:05:39.957 回答