我正在尝试为 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
并在网上找到了类似的尝试。似乎没有任何工作,并且帖子总是以“失败......”呈现。我究竟做错了什么?
编辑:用建议和说明更新问题。