Front Matter

YAML front matterブロックを含むファイルは全て、Jekyllに特別なファイルとして処理されます。front matterはファイルの最初で3つのダッシュの行に挟まれた有効なYAMLでなければなりません。次は基本的な例です。

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

3つのダッシュの行の間で、定義済みの変数(下記を参照してください)を設定したり、カスタム変数を作ることができます。これらの変数は、そのファイルやそのページやポストのレイアウトで、Liquidタグを使ってアクセスできるようになります。

UTF-8エンコーディング時の警告

UTF-8エンコーディングを使用している場合、BOMをヘッダに含めないでください。Jekyllに非常に悪いことが起こります。特にJekyll on Windowsを使用している場合に影響があります。

Front Matter変数はオプションです

Liquidタグや変数は使いたいけれどfront matterでは何も必要ない場合、取り除いて空にしましょう。3つのダッシュの行が2行続いていれば、Jekyllはそのファイルで作業をします。(これは、CSSやRSSフィードのファイルで便利です!)

定義済みグローバル変数

ページやポストのfront matterで設定できる、定義済みのグローバル変数です。

変数 説明

layout

設定したらそのレイアウトファイルを使用します。レイアウトファイルの名前を拡張子無しで使います。レイアウトファイルは、_layoutsディレクトリになければなりません。

  • nullを使用するとレイアウトファイルを使用しません。ファイルがpost/documentで front matterのデフォルトが定義されている場合、上書きします。
  • バージョン3.5.0から始めた場合、post/documentでnoneを使用すると、front matterのデフォルトに関係なく、レイアウトファイルを使用しません。pageでnoneを使用すると、Jekyllは"none"というレイアウトを使用しようとします。

permalink

サイト全体のURLのスタイル(デフォルトは/year/month/day/title.html)と異なるURLで作成したい場合この変数を設定します。最終的なURLとして使用されます。

published

サイトを生成するときに、特定のポストを表示したくない場合にfalseを設定します。

非公開としてマークされたポストをレンダリングする

非公開のページをプレビューするには、jekyll servejekyll buildを実行するときに--unpublishedスイッチを使います。 Jekyllには、ブログポスト専用の便利なドラフト機能もあります。

カスタム変数

Liquidでアクセスできる、あなた自身のfront matter変数を設定することもできます。例えば、foodという変数を使用したい場合、ページには次のように記載します。

---
food: Pizza
---

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

ポストの定義済み変数

ポストのfront matterですぐに使用できます。

変数 説明

date

ポストのファイル名からの日付を上書きします。これはポストを正しくソートするために使用できます。日付は特定のフォーマットYYYY-MM-DD HH:MM:SS +/-TTTTで、時刻とタイムゾーンはオプションです。

category

categories

ポストをフォルダ分けする代わりに、1つ以上のカテゴリを設定できます。サイトにポストを生成するときに、これらのカテゴリが設定されているように振る舞います。Categories(複数キー)ではYAML listやスペース区切りの文字列で指定できます。

tags

カテゴリとよく似ており、1つ以上のタグをポストに追加できます。カテゴリと同様tagsもYAML listやスペース区切りの文字列で指定できます。

繰り返さないで

よく使用するfront matter変数を、何度も何度も繰り返し記述したくない場合は、デフォルトを変更し必要に応じて上書きしてください。これは定義済み変数でもカスタム変数でも行えます。