
2007/8/25、Movable Type 4 Hack-a-thon に参加してきました。
ハッカソンとは、プログラマが一堂に会して、黙々と、ときには見せ合ったり質問しあったりしながら、自分のしたいことについて自分のしたいようにプログラムを書くというイベントです。今回は、せっかくBrad Choateが東京にいるので、Movable Type 4に関連するお題でハックをしたい方に集まってほしいと思っています。PerlやPHPでのプラグイン開発ですでにアイデアやコードを持っている方はもちろん、テンプレートタグを使い倒して思い通りの出力を得たいデザイナの方や、これからMovable Type 4でプラグインを書いてみたい方を歓迎します。
というわけでMT で人生が変わったといっても過言ではない私にとっては本当に嬉しいイベントだったのです。この日が来るまでしっかり予習したくなった私は、別途用意した開発環境で、MT4 で追加されたタグをひととおり出力させて試してみたり、テンプレートを改造したりしながら、MT4 の進化のすごさに興奮していました。
会場に着いたら、上ノ郷谷さんがデザインした $mkdir exlib/bradchoate Tシャツをいただきました。これはBrad Choate さんのプラグインを使った人ぞ知るもので、宝物がひとつ増えて大喜びです。
Hack-a-thon に初参加の私は、少し戸惑いながらも、空いている席に着席すると隣に Web デザイナーの crema さんがいらっしゃって、同じデザイナー同士ということで少しほっとしながら、がんばるぞと意気込みつつ Mac を立ち上げました。
同じテーブルには crema さんと私の他に CHEEBOW さん、Junnama さん、藤本さん、大阪からいらっしゃった服部さん。プラグイン開発力の高い顔ぶれにだけに、終始ドキドキしていました。
軽くご挨拶をしながら、今日のお題をホワイトボードに書くことに。私は「企業サイトを簡単に構築でき、柔軟に使えるテンプレート開発」です。私のスピードでは1日で終わるものではないけれど、サイト構築にクオリティとスピードを望むほどに、MT を活用してより良いサイトをつくれる土台をつくることはとても重要ですし、なにせ MT のテンプレートを触るのは個人的な趣味でもあるので、仕事に活用できつつ楽しめるこのテーマにしました。
多くのプラグインをアウトプットなさっている先輩方に囲まれながらの作業は、とても刺激的で楽しいものでした。
MT4 では、何も触らない状態であっても十分に素敵なブログを構築できるようになっています。しかしながら企業サイトで使うためには、ブログ形式のままでは不十分で、あるべきページ、作るべきカテゴリ、増えるべきコンテンツなどに配慮しながら、使いやすいテンプレートにする必要があります。
こだわりはじめると id/class の名前の付け方など、気になり始めたら全部一からつくらなければならなくなります。つくりたくなります。
MT4 からはデフォルトテンプレートでも、MTIf を使った条件分岐や、MTSetVar を使った変数と値のセットがふんだんに使われています。この変数が渡っている時はこの内容を返す、というように、かなり高度なことができるようになりました。せっかくなのでこの機能を活かして、変数を渡すだけで簡単にテンプレートの構造を変化させられるようなものを作ってみたいと考えました。
あと、MT4 からは MT タグの書き方の自由度があがり、大文字小文字の区別もなくなり、<mt:entrytitle /> というように名前空間接頭辞のような書き方もできるようになって、上ノ郷谷さんいうところのなんかちょっとカッコイイと思う書き方にできる
ところがモチベーションもあがります。
閑話休題、デフォルトテンプレートの中の分かりやすい例ですと、<MTSetVar name="sidebar" value="1">の記述のあるページでは、サイドバーを呼び出す、というようにできています。サイドバーの記述のある箇所では<MTIf name="sidebar">〜で始まっています。つまり、sidebar という名前の変数がある場合は、sidebar の中身を返すというわけで、以前のバージョンのようにページごとに沢山のテンプレートを作らずに、条件ごとに一部分を呼び出すようなことができるわけですね。
そうすると、構築したいページをいくつかイメージして、MTSetVar を使って必要な名前と変数を定義、その名前の決め方とか分け方だけでいろいろ工夫できそうで、悶々と考えながら、まずはありがちな page_id とか page_class とかセットして、トップページなら page_id は top、サイトマップなら page_id は sitemap などという感じに値を決めていきました。
変数が増えていくと、途中で「このテンプレートにどの変数渡してたっけ??というように、忘れてしまいがちです。Smarty のデバッグコンソールのように、テンプレートに渡っている変数と値の一覧があったら開発効率があがるのにー。などと思っていたところ、ここは要望の会じゃないわ、と思いなおしつつも、プラグイン開発者様の前でついお話してしまったり・・・。
日が落ちる頃に、Hack-a-thon の締めとして、プラグイン開発されている方は今日の成果を発表なさっていました。どれも短時間とは思えないすばらしいものばかりでした。
その後は居酒屋に移動し、Six Apart のエンジニアの方も交えて楽しい飲み会をしました。苦労話などもちらほら伺えて、参加してほんとに良かったと思いました。
テンプレートの成果物は、サイト制作を通して活用したいと思います。MT4 でサイト構築を検討されている方は是非ご連絡ください。一緒に素敵なサイトを作りましょう!
あと、近いうちに MT4 関連のちょっとしたアウトプットを予定しています。そっちも早いうちに出せるようにがんばります。
Six Apart の皆様、こんな素敵なイベントを開催してくださり、ありがとうございます!第二回があればまた参加させていただきたいと思います!
この記事について他のブログなどで参照いただく際に、下記の URI 宛に ping 送信するとこのブログに通知(トラックバック)することができます(但し、この記事にリンクのないトラックバックは削除されることがありますのでご了承ください)。
* Gravatarに登録(FREE)するとあなたのアバターが表示されます。
こんにちは。Hack-a-thonではお疲れ様でした。
ご要望のあった「変数の一覧を出力するプラグイン」を作ってみましたので、良かったら使ってみてください。
August 27, 2007 2:24 PM
こんにちは!!こちらこそ先日はありがとうございました。
感激です!ありがたく使わせていただきます!!
August 27, 2007 4:54 PM




