ブログに写真を投稿するとき、この頃はフォト蔵を利用することが多いです。
フォト蔵で、ブログに貼る用のコードを自動的に作ってくれますが、
うちではlightboxというスクリプトを使ってるせいもあって、ちょっと独自コード。
これが、わりと長ったらしいタグになるので、めんどくさい。
そこで、MTMacroというMovableTypeのブラグインを使って、モジュール化し、
<photoz numb="写真のナンバー">
というシンプルなタグだけで済むようにしてみました。
1.MTMacroプラグインを設置
MTMacroをダウンロードし解凍後、「macros.pl」「macros.pm」「postproc.pm」を、Movable Type をインストールした先に対して、以下のように FTP します。
(mt home)/plugins/macros.pl
(mt home)/extlib/bradchoate/macros.pm
(mt home)/extlib/bradchoate/postproc.pm
「bradchoate」フォルダは作ります。
2.モジュールを作る
MT管理画面のテンプレートのモジュールで、「モジュールを新規作成」。
「photozou」という名前のモジュールを作ります。
<MTMacroDefine name="photozou" tag="photoz">
<div>
<a href="http://photozou.jp/pub/フォト蔵/の番号/photo/<MTMacroAttr name='numb'>_org.jpg">
<img src="http://photozou.jp/pub/フォト蔵/の番号/photo/<MTMacroAttr name='numb'>.jpg" />
</a><br />
posted from <a href="http://photozou.jp/" target="_blank">フォト蔵</a>
</div>
</MTMacroDefine>
「フォト蔵/の番号」のところには、自分のフォト蔵写真のURLを見て、その番号を入れます。
MTMacroDefineのnameでこのマクロの名前をphotozouに、tagで使うタグの名前をphotozに設定しています。
そして、MTMacroAttrのnameで、photozタグの中で使う属性をnumbとしました。
3.テンプレートに設定
photozタグを使いたいテンプレートの<body>タグの直後に、以下を書き込みます。
<$MTInclude module="photozou"$>
<$MTEntryBody$>に、青字の部分を付け加えます。
<$MTEntryBody apply_macros="photozou"$>
これで、エントリに、
<photoz numb="写真のナンバー">
というタグを書き込むと、写真が大きい写真へのリンクつきで表示されます。
実際には、さらに、写真の大きさ(widthやheight)を調整したり、CSSでデザインしたりする必要もあるかな。
記事の中で繰り返し長く類似した記述をする時、MTMacroプラグインを使うと、短いタグで書きかえられて便利です。
flickrやアマゾン・アソシエイトでも、同様なモジュールを作ることが出来ると思います。