html - Pandoc 忽略 Markdown-Headlines

标签 html haskell markdown pandoc

使用 snap ,我写了一个 splice 从 markdown 创建文本,使用这个函数:

markdownToHTML :: T.Text -> [Node]
markdownToHTML = renderHtmlNodes . (writeHtml writeOpts) . readMarkdown readOpts . T.unpack
    where
        readOpts = defaultParserState
        writeOpts = defaultWriterOptions
            { writerStandalone = False
            , writerHtml5 = True
            , writerStrictMarkdown = False
            }

现在,例如,当我给它这个 markdown 时

# 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 ,如有必要。

最佳答案

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

Note: all of the readers assume that the input text has '\n' line endings. So if you get your input text from a web form, you should remove '\r' characters using filter (/='\r').

我怀疑这是你的问题。

关于html - Pandoc 忽略 Markdown-Headlines,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10481211/

相关文章:

javascript - HTML5 下载属性不起作用,下载时强制文件重命名

html - CSS 过渡高度输入元素

haskell - 与 orElse 嵌套的 STM 事务中的验证

latex - Pandoc 生成表 : decimal alignment

javascript - 我需要使用 JavaScript 或 HTML 链接到当前 HTML 页面中的另一个 HTML 页面

php - 无法与位于 ws ://localhost:8000/socket/server/startDaemon. php 的服务器建立连接。 var socket = new WebSocket(主机);

haskell - GHC 为同一个表达式选择不同的实例?

haskell - 是否/应该将函数包装到 monad 转换器中被视为不好的做法?

markdown - 将图像包含在 Jekyll Markdown 集合中

linux - 将 RTF 粘贴为格式化的 Markdown;将 markdown 导出为格式化的 HTML