フロントマター

YAML フロントマターブロックを含むファイルは、Jekyllによって特別なファイルとして処理されます。フロントマターはファイルの先頭に記述する必要があり、3つのダッシュで囲まれた有効なYAML形式である必要があります。基本的な例を以下に示します。

---
layout: post
title: Blogging Like a Hacker
---

この3つのダッシュで囲まれた中に、定義済みの変数(リファレンスは後述)を設定したり、独自のカスタム変数を作成したりできます。これらの変数は、ファイルの下部や、ページや投稿が依存するレイアウトやインクルード内で、Liquidタグを使用してアクセスできます。

UTF-8文字エンコーディングに関する警告

UTF-8エンコーディングを使用する場合、ファイルにBOMヘッダー文字が存在しないことを確認してください。存在すると、Jekyllに非常に悪いことが起こります。これは、WindowsでJekyllを実行している場合に特に重要です。

フロントマター変数はオプション

Liquidタグと変数を使用したいが、フロントマターに何も必要ない場合は、空のままにしてください。間に何も含まれていない3つのダッシュのセットでも、Jekyllはファイルを処理します。(これは、CSSやRSSフィードなどに役立ちます!)

定義済みのグローバル変数

ページや投稿のフロントマターで設定できる定義済みのグローバル変数がいくつかあります。

変数 説明

layout

設定すると、使用するレイアウトファイルを指定します。ファイル拡張子なしでレイアウトファイル名を使用します。レイアウトファイルは_layoutsディレクトリに配置する必要があります。

  • nullを使用すると、レイアウトファイルを使用しないファイルが生成されます。ファイルが投稿/ドキュメントであり、フロントマターのデフォルトでレイアウトが定義されている場合は、これが上書きされます。
  • バージョン3.5.0以降では、投稿/ドキュメントでnoneを使用すると、フロントマターのデフォルトに関係なく、レイアウトファイルを使用しないファイルが生成されます。ページでnoneを使用すると、Jekyllは「none」という名前のレイアウトを使用しようとします。

permalink

処理されたブログ投稿のURLがサイト全体のスタイル(デフォルト/year/month/day/title.html)とは異なる必要がある場合は、この変数を設定すると、それが最終的なURLとして使用されます。

published

特定の投稿をサイト生成時に表示させたくない場合は、falseに設定します。

非公開としてマークされた投稿のレンダリング

非公開ページをプレビューするには、`jekyll serve`または`jekyll build`を`--unpublished`スイッチ付きで実行します。Jekyllには、ブログ投稿専用の便利なドラフト機能もあります。

カスタム変数

Liquidでアクセスできる独自のフロントマター変数を設定することもできます。たとえば、foodという変数を設定した場合、ページ内でそれを使用できます。

---
food: Pizza
---

<h1>{{ page.food }}</h1>

投稿の定義済み変数

これらは、投稿のフロントマターで使用するためにすぐに利用できます。

変数 説明

date

ここでの日付は、投稿の名前からの日付を上書きします。これは、投稿の正しい並べ替えを保証するために使用できます。日付はYYYY-MM-DD HH:MM:SS +/-TTTT形式で指定されます。時間、分、秒、およびタイムゾーンオフセットはオプションです。

category

categories

投稿をフォルダ内に配置する代わりに、投稿が属するカテゴリを1つ以上指定できます。サイトが生成されると、投稿はこれらのカテゴリで通常設定されたかのように動作します。カテゴリ(複数形のキー)は、YAMLリストまたはスペースで区切られた文字列として指定できます。

tags

カテゴリと同様に、1つ以上のタグを投稿に追加できます。また、カテゴリと同様に、タグはYAMLリストまたはスペースで区切られた文字列として指定できます。

繰り返さない

頻繁に使用するフロントマター変数を何度も繰り返したくない場合は、デフォルトを定義し、必要な場所でのみ上書きしてください(またはまったく上書きしないでください)。これは、定義済み変数とカスタム変数の両方で機能します。