2

Pandoc 在解析文档时包含一个元数据块。元数据块的标题部分是 [Inline] 类型,一种特定于 Pandoc 的标记数据类型。我正在尝试找到一种将其转换为 Html 的方法,以便我可以将该文本直接嵌入到传出 Html 文档的 Header 元素中。

进行这种转换需要什么功能或功能组合?

[Inline] -> Html

[Str "My", Space, Str "Title"] -> ("My Title" :: Html)
  • 内联是 Pandoc 中提供的内联标记的数据类型
  • Html 是 Blaze Html 提供的通用 Html 数据类型

在此期间,我将编写一个处理 Str 和 Space 的函数,但我知道我最终将需要处理所有内联构造函数的方法。

4

2 回答 2

4

你想要的是这样的:

inlinesToHtml :: [Inline] -> Html
inlinesToHtml = writeHtml defaultWriterOptions . Plain
于 2012-10-30T18:19:35.373 回答
3

我发现只有几个辅助函数是 Pandoc 附带的(Data.Text.Pandoc.Shared,在你的例子中,这个stringify函数就是你所需要的(这个函数确实注意到它删除了任何格式,我猜是对于进入标题元素的文本并不重要)。

inlineToHtml i = (Data.Text.Pandoc.Shared.stringify i) :: Html
于 2012-10-30T14:29:57.513 回答