Movable Type で行うウェブサイト管理
上ノ郷谷 太一 (Taichi Kaminogoya)
CMS としての Movable Type
- XHTML + CSS による構築
- テンプレート
- 様々な表現に対応する豊富な Movable Type タグ
- 敷居の低い管理システムの構築が可能
- サイトを更新するシステムとして納品
- ブログを分け、ユーザー権限で担当を明確にする
ポイント
- 入力できる値は自由に扱える
- 値を表示させる場所もテンプレートで自由自在
- テンプレートは増やせる・減らせる
- 様々なファイルを作成でき、書き出し先も自由自在
- 様々な技術と組み合わせることで広がる可能性
- プラグインで機能拡張
- カテゴリーより、複数のブログで一つのサイトを構築
1サイトを複数のブログで構築
- 時系列にコンテンツが並ぶコンテンツ管理ブログ
- CSS ファイルをテンプレートで管理するブログ
- フォーム・スタティックページをエントリーで作成・管理するブログ
- 各ページ共通の項目をモジュールとしてテンプレートや、エントリーで管理するブログ
- カテゴリーを扱うようにブログを分ける
- リビルド (再構築) の不可分散にも
ワークフロー
- 作りたいサイトの仕組みを可能/不可能を考えず書き出す
- ポイントを書き出す
- まとめたポイントを元にルールを作成する
- テンプレートの作成
- ルールの共有
作りたいサイトの仕組みを書き出す
- ぶれの無いヒアリング(要望を全て吐き出させる)
- 『できない』と思うことで失う可能性
- 要望をとりあえず全て飲み込み、可能/不可能の判断を
- 実際に構築したいソースを書いてみる
- 実際に投稿するユーザーの事も考慮
ポイントを書き出す
- どの部分を Movable Type のどの機能で実現するか
- プラグインの検討
- 管理者のシステム作り
- 投稿者が迷わない作業フロー作り
まとめたポイントを元にルールを作成する
- エントリーの方法について
- どのフィールドをどう使うか
- Movable Type のタグの特性を知っておく
- テンプレートについて
- どのテンプレートをどう使うか
- 各テンプレートの種類と役割を知る
- アーカイブマッピング
- 同じアーカイブで数種類持つ事も考える
テンプレートの作成
- 書き出したポイント、ルールを元に作成
- 場合によってはルールの見直しも検討
- ポイントの再確認、調整
きちんとルールが出来ていればすんなり
ルールの明示
- 各ブログのスタートページに(サンプル)
- ブログのタイトルや概要の部分も利用(サンプル)
Movable Type タグを知る
- Movable Type を操る為に必要
- たくさん種類があります (種類と例)
- コンテナタグ <MTEntries></MTEntries>
- 変数タグ <$MTEntryTitle$> ($ は無くても良い)
- アトリビュート lastn="10"
- 自由に値を変更できるもの、そうでないものを区別して知っておくと便利
- 使い方次第で様々な表現に
おすすめ書籍

マストバイ!
MTIf なタグを使いこなす
- 再構築時に無駄なタグを返さない
- デザインや表示項目を操作
- <MTElse> </MTElse>
と組み合わせて、A or B の条件分岐を実現
- 使いこなすと様々な表現に対応
MTEntryIfExtended
- ユーザーにはおなじみのタグ
- エントリーに 追記が有る場合は 内包してるコンテンツを表示
サンプルテンプレート
<MTEntryIfExtended> (追記がある場合)
<p>このエントリーには追記があります!</p>
<MTElse> (追記が無い場合)
<p>このエントリーには追記はありません</p>
</MTElse>
</MTEntryIfExtended>
MTIfNonEmpty
- tag アトリビュートで 指定したタグに値が有る場合は 内包されたコンテンツを表示
- 結構使えます
サンプルテンプレート
<MTIfNonEmpty tag="値の有る無しを設定できる変数タグ">
tagアトリビュートで指定したタグに値がある時のみ表示するコンテンツ
<MTElse>tagアトリビュートで指定したタグに値が無い時のみ表示するコンテンツ</MTElse>
</MTIfNonEmpty>
MTIfNonZero
- カウントを返す タグの値が 0 では無い場合は 内包しているコンテンツを表示
サンプルテンプレート
<MTIfNonZero tag="MTEntryCommentCount">(コメントが1件でもある場合)
コメント (<$MTEntryCommentCount$>)
<MTElse>コメント募集中</MTElse>(1件も無い場合)
</MTIfNonZero>
RightFields
うちのおかあちゃんも使ってます
MTSwitch
<MTSwitch value="[MTCommentAuthor]">
<MTSwCase value="kaminogoya"><span class="admin"></MTSwCase>
<MTSwCase value="mt"><span class="mt"></MTSwCase>
<MTSwDefault><span></MTSwDefault>
</MTSwitch>
<$MTCommentAuthor$></span>
ひな形テンプレート
- HINAGATA
- 個人プロジェクト
- ウェブサイト構築のひな形として
- テンプレート全てを再構築
- 作成中のものを公開中
最新版のご紹介
- デザインはほとんど定義していません
- 最初はレイアウトのみの定義で提供
- MT でサイト構築の際に役立つかも
- 皆さんが構築経験を元に各自カスタマイズして、構築する際の基本テンプレートセットになれば…
StyleCatcher でレイアウト変更
- 2 column 右サイドバー
- 2 column 左サイドバー
- 3 column
レイアウト変更デモムービー
(新規ウィンドウ・タブで開くと良いかもしれません)
これからの HINAGATA
- デザインされたものも公開
- みなさんからもデザイン募集
- レイアウトの定義の後にデザインを定義した CSS ファイル
- スタイルライブラリを共有 (みんなのスタイルライブラリ)
- ぜひデザインを提供してください!
- 用途にあわせたカスタムテンプレートを提供予定
- microformats にも対応
ダウンロード
- テンプレートのダウンロード
- レイアウトスタイルライブラリ (StyleCatcher でアクセス)
フィードバックおまちしております
実はこのスライドも
- Movable Type + S5
- 1枚のシートを1つのエントリーで管理
- 1カテゴリーアーカイブ1スライドセット
- これも MT を CMS として利用する一つの例です
MT + S5 シート追加デモムービー
(新規ウィンドウ・タブで開くと良いかもしれません)
ありがとうございました!
