Rust製の静的サイトジェネレーターZola 個人用のフロントマター設定
Rust製の静的サイトジェネレーターZolaの記事投稿でフロントマターに設定するデフォルトの個人用設定。
個人的なメモ書き。
Zolaのフロントマターは、TOML形式(+++)なので気をつける。
- lastmod: updatedを空にするとエラーになるため、別途で設定する。
- featured_image: アイキャッチ画像用に「static/images/」のフォルダ作成で、画像ファイルを指定する。
- noindex: noindexを記述することで
<meta name="robots" content="noindex,nofollow">
を表示させる。
フロントマター デフォルト個人用設定
Zolaの仕様により、記述の順番やダブルクォーテーションの有無などを間違えるとエラーが出るので注意する。
- dateは[taxonomies]よりも上に記述する。
- 公式サイトから、ドキュメントのPage(Front matterの項目)を参考にする。
Zolaの仕様でクリーンURLを採用しているため、pathに拡張子.htmlなどを設定すると、へんてこりんなURLがビルドされてしまうので避ける。
※.html拡張子などを使う場合は、Hugoのほうが扱いやすい。
以下、個人用にフロントマターで使うデフォルト設定
+++
title = ""
description = ""
date = yyyy-mm-ddT00:00:00+09:00
path = "posts/xxxxx"
weight = 0
draft = false
aliases = []
in_search_index = true
template = "page.html"
[taxonomies]
categories = [""]
tags = ["",""]
[extra]
lastmod = ""
featured_image = ""
noindex = ""
+++
更新のupdatedを使う場合は、仕様でFeedsにも適用されるが、いちいち入力が必要。(dateの下へ使いやすいように空白を用意)
例)updated = 2020-01-01T00:00:00+09:00
aliasesを使うときは、""で囲む。(ダブルクォーテーション)
例)aliases = ["posts/example.html"]
条件分岐について
必要に応じて、フロントマターの[extra]へ個人的に設定した条件分岐を反映させるためにテンプレートへ導入する。
更新日を表示させる条件分岐(lastmod)
{{ page.date | date(format="%Y-%m-%d") }}{% if page.extra.lastmod %} (更新日: {{ page.extra.lastmod | date(format="%Y-%m-%d") }}){% endif %}
アイキャッチ用の画像を表示させる条件分岐(featured_image)
{% if page.extra.featured_image %}<div class="w-100"><img src="{{ config.base_url | safe }}/{{ page.extra.featured_image | safe }}" alt="{{ page.title }}"></div>{% else %}{% endif %}
noindex,nofollowを表示させる条件分岐(noindex)
{% if page.extra.noindex %}<meta name="robots" content="{{ page.extra.noindex }},nofollow">{% else %}{% endif %}
まとめ
フロントマターの設定項目は取捨選択する。
最低限は、タイトルと日付の2つ。
+++
title = "My first post"
date = 2019-11-27
+++
This is my first blog post.
via: Overview | Zola
Zola公式サイト: Zola
補足
dateに日時を使いたいとき(同日で複数の記事をソートできるように)
+++
title = "My first post"
date = 2019-11-27T22:00:00+09:00
+++
This is my first blog post.
フロントマターの設定項目が増えるとテンプレートやテーマの作成も複雑になるので、注意する。