カスタマイズの内容を備忘録的に書いていく
Grav の Archive Plugin を使って Blog のアーカイブを作るのだけれど、Blog にしたい トップページの Frontmatter を書き換える必要がある。 Grav では、@self.children で、子ページをコレクションする想定のようだけど、自分は /blog/202511/25-blog-slag-string みたいな URL にしたいので、@self.descendants に書き換えを行いました。
このようにすると、現在のページのすべての子ページを再帰的に処理してくれるようです。
content:
items:
- '@self.descendants
また、Archive Plugin の page_specific_config の filters: をなくすとうまく行くみたい・・・。
page_specific_config:
filters:
page@: '/blog'
でも、このようにすると、Archive Plugin の コレクションはうまくいくのだけど、ブログの一覧に不要な /blog/202511 が表示されてしまう。いろいろ試したけれども、themes の template/blog.html.twig の これを、
{% set collection = page.collection() %}
こうして template が item の内容だけ表示するように変更しました。
{% set collection = page.collection(item => item.template == 'item') | filter() %}
=== DEBUG ===a Current page: /blog/202511/25-grav-cmscustomize Collection count: 13 Prev: /blog/202511/24-first-blog Next: /blog/202511/26-grav-remote-ssh-edit === END ===