Как фильтровать сообщения Hakyll с помощью пользовательских метаданных - PullRequest
0 голосов
/ 03 декабря 2018

Я бы хотел отфильтровать некоторые сообщения на моем сайте по значению метаданных.Я хотел бы создать конкретные метаданные с именем status (например, title или date), которые могут принимать несколько значений (черновик, опубликовано, архив):

---
title: The title
author: Myself
date: 2016-11-29
tags: tag1, tag2
status: draft
---

В соответствии со значениемstatus метаданные, публикация должна быть опубликована или нет.

Я заглянул в рубрику Документация , но я не уверен, какие функции использовать.

Ты знаешь, как сделать это с Хакиллом?

1 Ответ

0 голосов
/ 03 декабря 2018

Вы, вероятно, ищете matchMetadata:

matchMetadata :: Pattern -> (Metadata -> Bool) -> Rules () -> Rules ()

С ним вместо, скажем ...

match "posts/*.md" $ do -- etc.

... васможет иметь:

matchMetadata "posts/*.md" (\m -> lookupString "status" m == Just "published") $ do -- etc.
...