テンプレートとテーマ

テーマとは?

adiaryにおけるテーマとは、はてなダイアリーtDiaryのテーマと同様に、見た目を記述するCSS(スタイルシート)一式のことを示します。adiaryでは、HTMLとCSSを明確に区別して考えています。

  • HTML → 文章構造を定義するもの
  • CSS → 見た目を定義するもの

「テーマを切り替えること=見た目を切り替えること」*1という考えのもと、HTML構造を変更することなく見た目をカスタマイズできるようにしています。

*1 : しかしながら、IEを初めとした様々な互換性の問題などからHTML部分でもある程度デザインを意識した記述になっています。

テンプレートとは?

CSSは大変強力な方法で、XML と組み合わせれば意味構造とデザインを完全に分離した状態で自由にデザインを行うことができます。ですが、切っても切り捨てられない互換性という問題があり、adiaryではHTML自体にある程度の構造を持たせています。つまり、使用するHTMLによってデザインの自由度が制限されるということを意味します。

打開策として「テンプレート」という仕組みが adiary には実装されています。テンプレートとはHTML構造を示します。テンプレートは複数のテーマを持つことができます。複数のテンプレートを切り替えることで、HTML構造自体も切り替えることが可能になっています。この画面や、デフォルトでみなさんが使用しているテンプレートは「satsukiテンプレート」と呼ばれるものです。

テーマ選択画面で例えば「satsuki/arisa」と表示されていれば、それは「satsukiテンプレート」+「arisaテーマ」を表示に使用するということになります。また、adiaryは携帯電話からも利用出来ますが、このときは自動的に「携帯電話用テンプレート」に切り替えるように作られています。*2

*2 : theme/_phone/ に置かれています。"_" で始まるため、テーマ選択画面では表示されませんが、電話からのアクセス時は自動的に切り替わるようになっています。この設定はadiary.conf.cgiに書かれています。