カスタマイズの内容を備忘録的に書いていく

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 ===

Previous Post Next Post