トップページのカスタマイズ!
Movable TypeとHTMLの関係
本連載では、Movable Type 4.23を使用して、テンプレートのカスタマイズ方法について解説していきます。第1回は、誰もが最初にするであろうデフォルトのカスタマイズから実践します。その前に、Movable Type(以下、MT)の仕組みについてざっとご紹介しましょう。
MTは、データベースに入っているテキストを、「テンプレート」と言われるひな形(テンプレート)を通して別のテキストに書き出し保存するサーバーのプログラムです。ここで重要なのは、「静的テキストを書き出すだけ」という点です。本連載では扱いませんが、再構築を必要としないダイナミック・パブリッシングも提供されています。
「テンプレート」のフォーマットは「MTタグ」と言われる記号で表現されます。このMTタグは、データベースから直接データを読み込み置き換えるだけのものから、データを条件と照らし合わせてから出力するかどうか決めたり、変数を使って本格的にプログラムを組めたりなど、多くの機能があります。このMTタグを使いこなせば、MTを使いこなすことができます。
MTでは、テンプレートからhtmlなどを書き出す行程を「再構築」と呼んでいます。ブログ記事を新規エントリーしたときやコメントを投稿されたときなどは、再構築が自動で行われます。しかし、管理者がテンプレートを変更したときなどは、意図的に行う必要があります。
テンプレートの種類と役割
MTのデフォルトで作られたブログサイトは次のような構成になります。
1. トップページ:個別ページや過去のアーカイブへのリンクなどがある
2. カテゴリ別アーカイブページ:カテゴリごとに分けられた記事でまとめられている
3. 月別アーカイブページ:年月ごとに分けられた記事でまとめられている
4. 個別ページ:トップページやアーカイブページから、最後にたどり着く1件ごとの記事がある
MTには、上記の1~4の各ページの種類に応じたテンプレートがあり、それらは、それぞれ次の場所で編集できるようになっています。
1. トップページ:「インデックステンプレート」内の「メインページ」
2. カテゴリ別アーカイブページ:「アーカイブテンプレート」内の「カテゴリ別ブログ記事リスト」
3. 月別アーカイブページ:「アーカイブテンプレート」内の「月別ブログ記事リスト」
4. 個別ページ:「アーカイブテンプレート」内の「ブログ記事」
例えば「アーカイブテンプレート」の「カテゴリ別ブログ記事リスト」では、すべてのエントリーから、あるカテゴリー単位で記事を抜き出し1つにまとめます。その結果、1カテゴリーで1つのhtmlファイルができることになります。その1つのhtmlファイルには、共通するカテゴリーで分類された複数のブログ記事が集められています。
「月別ブログ記事リスト」も同様に、すべてのエントリーを調べ月単位に振り分けるため、1ヶ月ごとのhtmlファイルがあり、1つのhtmlファイルには複数の記事がまとめられています。
「ブログ記事」は、投稿した記事単位という分け方で、1つのhtmlファイルに1つの記事ですが、記事の数だけhtmlファイルが作成されます。
アーカイブページは、1つのテンプレートから複数のhtmlファイルを生成できます。ただし、デザインやレイアウトは同一で、テキストの内容だけが差し替えられることになります。
一方、インデックステンプレートは、1つのテンプレートから1つのhtmlファイルしか生成しない特別な役割を持つページです。
テンプレートはhtmlと1対1のインデックステンプレートか、1対多のアーカイブテンプレートのどちらかしかありませんので、2つの性格を覚えておくと良いでしょう。
次にテンプレートに記述するMTタグについて解説します。