我想根据元数据值过滤我网站的一些帖子。我想创建一个名为status
(like title
or date
)的特定元数据,它可以采用多个值(草稿、已发布、存档):
---
title: The title
author: Myself
date: 2016-11-29
tags: tag1, tag2
status: draft
---
Run Code Online (Sandbox Code Playgroud)
根据status
元数据的价值,该帖子是否应该发布。
我查看了 hackage 文档,但不确定要使用的功能。
你知道如何用 Hakyll 做到这一点吗?
您可能正在寻找matchMetadata
:
matchMetadata :: Pattern -> (Metadata -> Bool) -> Rules () -> Rules ()
Run Code Online (Sandbox Code Playgroud)
有了它,而不是说...
match "posts/*.md" $ do -- etc.
Run Code Online (Sandbox Code Playgroud)
... 你可能有:
matchMetadata "posts/*.md" (\m -> lookupString "status" m == Just "published") $ do -- etc.
Run Code Online (Sandbox Code Playgroud)