変数

Jekyllは、サイトを横断して処理するファイルを探します。front matterがあるファイルは全て処理の対象になります。これらのファイルについて、JekyllはLiquidから利用可能な様々なデータを作成します。以下は利用できるデータのリファレンスです。

グローバル変数

変数 説明

site

サイト全体の情報と_config.ymlの設定。詳細は下記をご覧ください。

page

ページ固有の情報とfront matterの情報。ページのfront matterで設定したカスタム変数はこれで使用できます。詳細は下記をご覧ください。

layout

レイアウト固有の情報とfront matterの情報。レイアウトのfront matterで設定したカスタム変数はこれで使用できます。

content

レイアウトファイルで、ポストやページの内容を取り込むために使用します。ポストやページのファイルでは定義されていません。

paginator

paginateが設定されているときに、この変数は使用可能です。詳細はPaginationをご覧ください。

サイト変数

変数 説明

site.time

現在の時刻。(jekyllを実行した時)

site.pages

全てのページのリスト。

site.posts

全てのポストの逆日時順ポスト。

site.related_posts

処理を行っているページがポストの場合、最大10件の関連するポストのリストが含まれます。デフォルトでは、最新の10件のポストです。計算結果が遅いですが高品質のためには、jekyllコマンド実行時に--lsi (latent semantic indexing)オプションを追加します。GitHub Pagesではサイト生成時のlsiオプションをサポートしていません。

site.static_files

全ての静的ファイル (JekyllやLiquidの処理が行われないファイル)のリスト。各ファイルに5つのプロパティがあります:path, modified_time, name, basename and extname

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とすると、site.urlとしてLiquidからアクセスできます。開発環境でjekyll serveを実行した場合は異なり、site.urlhostportとSSL関連オプションで設定されます。デフォルトでは、url: http://localhost:4000です。

site.[CONFIGURATION_DATA]

コマンドラインや_config.ymlsite変数として登録した値です。例えば、設定ファイルに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

ポストに割り当てられた日付。ポストのfront matterで日時を上書きできます。フォーマットはYYYY-MM-DD HH:MM:SS(UTC)かYYYY-MM-DD HH:MM:SS +/-TTTT(2008-12-14 10:30:00 +0900などUTCからの差で特定のタイムゾーンを指定)

page.id

(RSSフィードに便利な)コレクションやポストのドキュメントのユニークID。/2008/12/14/my-post/my-collection/my-documentなど。

page.categories

ポストのカテゴリのリスト。カテゴリは_postsの所属するディレクトリで決まります。例えば、/work/code/_posts/2008-12-24-closures.mdのカテゴリは['work', 'code']です。front matterでも指定できます。

page.collection

そのドキュメントが属するコレクションのラベル。ポストのpostsや、_puppies/rover.mdドキュメントのpuppies。コレクションで無ければ、空文字が返されます。

page.tags

そのポストのタグのリスト。front matterで指定できます。

page.dir

ソースディレクトリとポストやページの間のパス。/pages/など。front matterpermalinkで上書きできます。

page.name

ポストやページのファイル名。about.mdなど。

page.path

ページやポストの元ファイルへのパス。使用例:GitHubでページやポストのソースへバックリンクを行う。front matterで無効にできます。

page.next

site.postsでの現在のポストから相対的に次のポスト。最後の投稿の場合は、nilが返されます。

page.previous

site.postsでの現在のポストから相対的に前のポスト。最初の投稿の場合は、nilが返されます。

ProTip™: カスタムFront Matterの使用

カスタムfront matterはpageで使用可能です。例えば、ページのfront matterにcustom_css: trueを記述すると、page.custom_cssとして使用できます。

レイアウトのfront matterはlayoutでアクセスできます。例えば、レイアウトのfront matterにclass: full_pageを記述した場合、そのレイアウトや親のレイアウトでlayout.classで使用できます。

Paginator(ページ分け)

変数 説明

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

Paginator変数の使用範囲

indexファイルでのみ使用可能ですが、/blog/index.htmlの様なサブディレクトリ中のindexファイルでも使用できます。