【发布时间】:2019-08-11 09:33:10
【问题描述】:
我正在尝试为 Hakyll 中元数据中有 versions 条目的帖子生成 HTML。例如,一个帖子可能有versions: Python 3.4, pytest 1.5.2,它会在帖子底部很好地格式化。
为了实现这一点,我想创建一个上下文来加载元数据并创建一个ListField。类似于以下存根:
versionsCtx :: Context String
versionsCtx = listFieldWith "versions" ctx (\item -> do
versions <- getMetadataField (itemIdentifier item) "versions"
return $ case versions of
Just lst -> map (mkVersinoItem . trim) $ splitAll "," lst
Nothing -> [])
where ctx = field "version" (return . itemBody)
mkVersionItem version = Item {
itemIdentifier = fromString ("version/" ++ version),
itemBody = version
}
在我的post.html 模板中,我有:
...
<section>
$body$
$if(versions)$
<hr />
<ul>
$for(versions)$
<li>$version$</li>
$endfor$
</ul>
$else$
<p>Fail...</p>
$endif$
</section>
...
然而,我尝试了许多不同的versionsCtx 定义,并在网上找到了类似的尝试。似乎没有任何工作,并且帖子总是以“失败......”呈现。我做错了什么?
编辑:更新了问题,提出了建议和说明。
【问题讨论】: