在Hakyll中使用markdown模板

时间:2014-08-22 15:39:47

标签: haskell pandoc hakyll

使用hakyll-init site_foo生成的骨架网站,我想将site_foo/index.html翻译成markdown,并保留其内容。

换句话说,请site_foo/index.markdown引用posts-list模板。

我不知道会合并哪些功能来为Compiler

获得正确的match "index.markdown"

1 个答案:

答案 0 :(得分:3)

假设您已经创建了index.markdown文件以替换index.html,您可以将site.hs更改为:

getResourceBody
    >>= applyAsTemplate indexCtx
    >>= return . renderPandoc
    >>= loadAndApplyTemplate "templates/default.html" indexCtx
    >>= relativizeUrls

新行是第3行,>>= return . renderPandoc

Pandoc编译器将呈现基于HTML的模板,但是您可能需要从基于HTML的模板中删除缩进,因此Pandoc不会将模板混淆为代码块。

我已经使用并测试了这个解决方案,但是所有用于识别解决方案的功劳都归功于Jasper在Hakyll论坛中的回答:https://groups.google.com/forum/#!topic/hakyll/ooMEwuiQZ24