首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hakyll模板中的标记列表字段

Hakyll模板中的标记列表字段
EN

Stack Overflow用户
提问于 2018-12-06 18:25:06
回答 1查看 158关注 0票数 1

因此Hakyll已经有了一个可以添加到模板中的tagsField,但是它将整个标记列表预先格式化为一个HTML。我可以编写一个自定义的tagsField,但是我想将我的关注点分开:让Hakyll为每个页面构建一个标记列表,然后将它传递给listField中的模板,这样我就可以用$for(tags)$ ... $tags$ ... $endfor$块引用它了。

我对Hakyll非常陌生,而且还是Haskell的新手,所以我不太清楚我的函数的类型。任何在这方面的帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

发布于 2019-05-03 15:45:53

我刚意识到这是我自己的问题。哦,好吧,这是我找到的答案,以防别人需要。

我还没试过这个,但是从http://mattwetmore.me/posts/hakyll-list-metadata.html调适过来

代码语言:javascript
复制
listContextWith :: Context String -> String -> Context a
listContextWith ctx s = listField s ctx $ do
    identifier <- getUnderlying
    metadata <- getMetadata identifier
    let metas = maybe [] (map trim . splitAll ",") $ M.lookup s metadata
    return $ map (\x -> Item (fromFilePath x) x) metas

listContext :: String -> Context a
listContext = listContextWith defaultContext

-- and in main, in the match postsPattern part:
tagContext = listContext "tags" <> defaultContext

读完整篇文章,试着摸索一下。应该管用的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53657570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档