変数

Jekyllは、処理対象のファイルを探してサイト内を巡回します。 フロントマター を持つファイルはすべて処理の対象となります。これらのファイルごとに、JekyllはLiquid を介して様々なデータを利用可能にします。以下は利用可能なデータのリファレンスです。

グローバル変数

変数 説明

site

サイト全体の情報と、_config.ymlからの設定。詳細は下記参照。

page

ページ固有の情報とフロントマター。フロントマターで設定したカスタム変数はここで利用可能です。詳細は下記参照。

layout

レイアウト固有の情報とフロントマター。レイアウトのフロントマターで設定したカスタム変数はここで利用可能です。

theme

テーマgemで定義された、テーマgem固有の情報。例えば、テーマデモの「概要」ページで情報をレンダリングする際に役立ちます。詳細は下記参照。

content

レイアウトファイルでは、ラップされている投稿またはページのレンダリング済みコンテンツ。投稿またはページファイルでは定義されていません。

paginator

paginate設定オプションが設定されている場合、この変数が使用可能になります。ページネーションを参照してください。

サイト変数

変数 説明

site.time

(`jekyll`コマンドを実行したときの)現在時刻。

site.pages

すべてのページのリスト。

site.posts

すべての投稿の逆時系列リスト。

site.related_posts

処理対象のページが投稿の場合、最大10個の関連投稿のリストが含まれます。デフォルトでは、最新の10個の投稿です。高品質だが計算速度が遅い結果を得るには、`jekyll`コマンドを`--lsi` (潜在意味インデキシング)オプション付きで実行します。また、GitHub Pagesはサイト生成時に`lsi`オプションをサポートしていないことに注意してください。

site.static_files

すべての静的ファイル(つまり、JekyllのコンバーターまたはLiquidレンダラーによって処理されないファイル)のリスト。各ファイルには、`path`、`modified_time`、`name`、`basename`、`extname`の5つのプロパティがあります。

site.html_pages

`site.pages`のサブセットで、`html`で終わるもの。

site.html_files

`site.static_files`のサブセットで、`html`で終わるもの。

site.collections

すべてのコレクション(投稿を含む)のリスト。

site.data

`_data`ディレクトリにあるYAMLファイルから読み込まれたデータを含むリスト。

site.documents

すべてのコレクション内のすべてのドキュメントのリスト。

site.categories.CATEGORY

`CATEGORY`カテゴリのすべての投稿のリスト。

site.tags.TAG

`TAG`タグのすべての投稿のリスト。

site.url

`_config.yml`で設定されているサイトのURLが含まれています。例えば、設定ファイルに`url: http://mysite.com`がある場合、Liquidでは`site.url`としてアクセスできます。開発環境では例外があり、開発環境で`jekyll serve`を実行している場合、`site.url`は`host`、`port`、SSL関連オプションの値に設定されます。これはデフォルトで`url: https://:4000`になります。

site.[CONFIGURATION_DATA]

コマンドラインと`_config.yml`で設定されたすべての変数は、`site`変数を通して利用可能です。例えば、設定ファイルに`foo: bar`がある場合、Liquidでは`site.foo`としてアクセスできます。Jekyllは`watch`モードでは`_config.yml`への変更を解析しません。変数の変更を確認するには、Jekyllを再起動する必要があります。

ページ変数

変数 説明

page.content

ページのコンテンツ。処理されているLiquidと`page`によって、レンダリング済みまたは未レンダリングになります。

page.title

ページのタイトル。

page.excerpt

ドキュメントの未レンダリングの抜粋。

page.url

ドメインを除いた、先頭にスラッシュが付いた投稿のURL(例:`/2008/12/14/my-post.html`)。

page.date

投稿に割り当てられた日付。投稿のフロントマターで、`YYYY-MM-DD HH:MM:SS`(UTCを想定)または`YYYY-MM-DD HH:MM:SS +/-TTTT`(UTCからのオフセットを使用してタイムゾーンを指定)の形式で新しい日時を指定することで上書きできます。(例:`2008-12-14 10:30:00 +0900`)。

page.id

コレクションまたは投稿内のドキュメントを一意に識別する識別子(RSSフィードで役立ちます)。例:`/2008/12/14/my-post`/`my-collection/my-document`。

page.categories

この投稿が属するカテゴリのリスト。カテゴリは`_posts`ディレクトリの上のディレクトリ構造から導き出されます。例えば、`/work/code/_posts/2008-12-24-closures.md`にある投稿では、このフィールドは`['work', 'code']`に設定されます。これらはフロントマターでも指定できます。

page.collection

このドキュメントが属するコレクションのラベル。例:投稿の場合は`posts`、パス`_puppies/rover.md`のドキュメントの場合は`puppies`。コレクションに属していない場合は、空の文字列が返されます。

page.tags

この投稿が属するタグのリスト。フロントマターで指定できます。

page.dir

ソースディレクトリと投稿またはページのファイル間のパス(例:`/pages/`)。これはフロントマターの`permalink`で上書きできます。

page.name

投稿またはページのファイル名(例:`about.md`)。

page.path

生の投稿またはページへのパス。使用例:GitHubで投稿またはページのソースへのリンク。これはフロントマターで上書きできます。

page.next

`site.posts`における現在の投稿の位置を基準とした次の投稿。最後のエントリの場合は`nil`を返します。

page.previous

`site.posts`における現在の投稿の位置を基準とした前の投稿。最初のエントリの場合は`nil`を返します。

プロチップ™:カスタムフロントマターを使用する

指定したカスタムフロントマターは`page`で使用できます。例えば、ページのフロントマターに`custom_css: true`を指定した場合、その値は`page.custom_css`として使用できます。

レイアウトでフロントマターを指定した場合は、`layout`を介してアクセスします。例えば、レイアウトのフロントマターに`class: full_page`を指定した場合、その値はレイアウトとその親で`layout.class`として使用できます。

テーマ変数4.3.0

変数 説明

theme.root

テーマgemへの絶対パス。

theme.authors

テーマgemの作者からなるコンマ区切りの文字列。

theme.description

テーマgemspecで指定されたテーマgemの説明または概要。

theme.version

現在のテーマのバージョン文字列。

theme.dependencies

テーマの実行時依存関係のリスト。

theme.metadata

テーマgemspecで定義されているキーバリューペアのマッピング。

ページネーター

変数 説明

paginator.page

現在のページ番号。

paginator.per_page

1ページあたりの投稿数。

paginator.posts

現在のページで使用可能な投稿。

paginator.total_posts

投稿の総数。

paginator.total_pages

ページの総数。

paginator.previous_page

前のページの番号。前のページが存在しない場合は`nil`。

paginator.previous_page_path

前のページへのパス。前のページが存在しない場合は`nil`。

paginator.next_page

次のページの番号。次のページが存在しない場合は`nil`。

paginator.next_page_path

次のページへのパス。次のページが存在しない場合は`nil`。

ページネーター変数の可用性

これらはインデックスファイルでのみ使用できますが、`/blog/index.html`などのサブディレクトリに配置することもできます。