Riji tutorial

005. テンプレートファイルの編集

前回、静的ファイルを配置する方法について説明しましたが、今回はいよいよテンプレートファイルの編集を行います。これでひと通りRijiの基本機能をマスターして、自分のBlogサイトを構築できるようになるでしょう。

テンプレートディレクトリ

テンプレートはshare/tmplに配置します。初期状態では以下のようになっています。

% tree share/tmpl
share/tmpl
├── base.tx
├── default.tx
├── entry.tx
├── index.tx
└── tag.tx

テンプレートにはPerlの高速テンプレートエンジンであるXslateを採用しており、拡張子は.txとなっています。Xslateにはいくつかシンタックスがあるのですが、Rijiでは標準のシンタックスである"Kolon"を利用しています。

Kolonのシンタックスについて

詳しくは公式ページから辿れるドキュメント等に説明を譲りますが、KolonはPerl6ライクな文法を提供するテンプレートエンジンになっています。各変数の頭には$がついています。一度代入した変数には再代入不可能であることに注意して下さい。以下のようにすることで変数の中見を描画することができます。

<: $bar :>

Rijiではテンプレート描画時にテンプレートに自動的にいくつかの変数が渡されます。

初期テンプレートの役割について

base.tx

ベースのテンプレートです。Xslateにはテンプレート継承という概念があり、base.txはすべての継承元のテンプレートとして使うことが想定されています。もちろんそれに強制的に従う必要はありません。

すべてのページには変数$blogが渡されますが、このページでもその変数を使うことができます。

default.tx

標準のテンプレートです。article直下のmdファイルに対応するコンテンツを描画するのに利用されます。riji setupでarticle/archives.md というファイルが作られて、archives.html というアドレスでアクセス可能になっているかと思いますが、それはこのテンプレートを使って描画されています。

$blogの他に$articleという変数が渡されます。

entry.tx

ブログエントリー描画用のテンプレートです。中見を見るとわかると思いますが、標準で前後のエントリーへのリンクなどが記述されていることが分かるでしょう。

$blogの他に$entryという変数が渡されます。

index.tx

ブログの全体トップページ用のテンプレートです。

$blogの他に$articleという変数が渡されます。

tag.tx

タグページ用のテンプレートです。タグとは何でしょうか?

実はRijiではBlogエントリにタグを付けることができるのですが、今回はそれには触れません。

$blogの他に$tagという変数が渡されます。

変数について

自動的に渡されるそれぞれの変数には様々なプロパティやメソッドがぶら下がっています。どんなプロパティやメソッドがあるかはここでは細かくは触れませんが、初期テンプレートの中見を見て参考にしてみて下さい。余力があればRiji本体のソースコードを読んでみて下さい。

mdファイル内でのXslate記述について

MarkdownはHTMLを直接記載可能なマークアップ書式であり、かつ、mdファイルの中でXslateの記法も使えることは前回説明したとおりなので、結構複雑なテンプレートをmdファイルの上に書くことも可能です。あまりオススメはしません。

今回はここまでです。

次回の内容

テンプレートの編集まで終わり、ひと通りサイトを編集できるようになったと思います。次回はブログ記事にメタ情報を付加する方法について説明します。今回触れられなかったタグについても取り上げます。

006. ヘッダーセクションを利用したブログ記事へのタグやメタ情報の追加