我有一个Happstack程序,可以使用Text.Pandoc
将Markdown文档动态转换为HTML:
import qualified Text.Pandoc as Pandoc
...
return $ toResponse $ Pandoc.writeHtml Pandoc.def contents
即。 Pandoc返回Text.Blaze.Html.Html
值。 (它有一个ToMessage
实例,这意味着它可以用作对请求的响应。)
如何在Pandoc的输出中插入自定义CSS样式表?如果我想自定义HTML,例如通过用其他一些元素包装<body>
内容?
答案 0 :(得分:4)
当启用Pandoc的“独立模式”选项时,它使用模板格式化输出。
可以在writerTemplate
的{{1}}和writerVariables
成员中设置模板及其子变量。
命令行工具有一个默认的模板集。您可以使用以下方式查看格式的默认模板: WriterOptions
。
使用库时,默认使用空模板。您可以使用pandoc -D html
以编程方式获取默认模板。
以下是一些示例代码:
getDefaultTemplate
答案 1 :(得分:1)
Pandoc,从命令行运行时,会在内容( -B < / strong>)和内容( -A )之后。我不知道Happstack,但肯定有办法将这些参数传递给<head>
答案 2 :(得分:0)
您还可以编写自己的模板,在从命令行调用pandoc时,例如将其命名为template.html
,并使用--template template.html
选项。
文档位于https://pandoc.org/MANUAL.html#templates,默认模板(用于启发)位于https://raw.githubusercontent.com/jgm/pandoc-templates/master/default.html5。