趣味Web 小説 2004-10-15

シンプル志向の MovableType カスタマイズ

当サイトでは、他の MT 利用サイトとは色合いの異なる目次ページをあちこちに用意している。たまにご質問があるので、この機会に種明かしをしたい。

備忘録のテンプレート

私が備忘録のために MT に登録しているテンプレートは3種類しかない。

Main Index

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=<$MTPublishCharset$>">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>趣味のWebデザイン</title>
<script type="text/javascript" charset="Shift_JIS" src="../z-css.js"></script>
</head>
<body id="index">
<div class="break">
<h1>趣味のWebデザイン</h1>
<ul id="gn" title="リソース一覧">
<li title="現在地">Home</li>
<li><a href="site_review.html">Link</a></li>
<li><a href="../lecture/index.html">Lecture</a></li>
<li><a href="../advice/index.html">Advice</a></li>
<li><a href="note_index.html">Note</a></li>
<li><a href="info.html">Info</a></li>
</ul>
</div>
<div class="lv1">
<div class="lv2">
<h2>Lecture</h2>
<h3><a href="../lecture/index.html">Webサイトの運営と構築</a></h3>
<ul class="memo">
<li><a href="../lecture/rn/index.html">Renewal</a></li>
<li><a href="../lecture/des/index.html">Design</a></li>
<li><a href="../lecture/book/index.html">Book Guide</a></li>
<li><a href="../lecture/cl/index.html">Column</a></li>
<li><a href="../lecture/css/index.html">CSS</a></li>
<li><a href="../lecture/ht/index.html">HTML</a></li>
<li><a href="../lecture/index.html">more...</a></li>
</ul>
<h2>Advice</h2>
<h3><a href="../advice/index.html">Webサイトデザインアドバイス</a></h3>
</div>
</div>
<div class="lv1">
<div class="lv2">
<h2>Note</h2>
<h3><a href="note_index.html">備忘録</a></h3>
<ul class="memo">
<li><a href="05/">2005年</a></li>
<li><a href="04/">2004年</a></li>
<li><a href="03/">2003年</a></li>
<li><a href="02/">2002年</a></li>
<li><a href="01/">2001年</a></li>
</ul>
<h3>etc.</h3>
<ul class="memo">
<li><a href="http://www.amazon.co.jp/dp/4767802504/webdesign04-22/ref=nosim">お勧めの入門書</a></li>
<li><a href="../x/index.html">転載リソース集</a></li>
<li><a href="site_review.html">サイト批評サイト集</a></li>
<li><a href="http://a.hatena.ne.jp/deztec/?gid=213842">?A</a></li>
<li><a href="../index.html">Mail</a></li>
</ul>
</div>
</div>
<div class="break">
<h2>最近の<$MTBlogName$></h2>
<dl id="recently">
<dt>最近3ヶ月</dt>
<dd><ul><MTArchiveList archive_type="Monthly" lastn="3"><li><a href="<$MTArchiveLink$>"><$MTArchiveTitle$></a></li></MTArchiveList></ul></dd>
<dt>Information</dt>
<dd><form method=GET action="http://www.google.co.jp/search"><ul>
<li><a href="info.html">転載条件・他</a></li>
<li><a href="info-prof.html">管理人紹介</a></li>
<li><a href="info-tb.html">TrackBack</a></li>
<li><a href="http://a.hatena.ne.jp/append?/design/" title="はてなアンテナに登録する">はてなアンテナ</a></li>
<li><a href="deztec.rdf">RSS 1.0</a></li>
<li>検索:<input type="text" name="q" size="10" maxlength="255" value=""><input type="hidden" name="hl" value="ja"><input type="hidden" name="ie" value="utf-8"><input type="hidden" name="oe" value="utf-8"><input type="hidden" name="btnG" value="検索"><input type="hidden" name="domains" value="deztec.jp"><input type="hidden" name="sitesearch" value="deztec.jp"></li>
<li>since 2001.12.04</li>
</ul></form></dd>
</dl>
<MTEntries lastn="10"><MTDateHeader><h3><$MTEntryDate format="%Y年%m月%d日"$></h3></MTDateHeader>
<h4><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a> <a href="http://b.hatena.ne.jp/append?<$MTEntryPermalink$>" title="この記事を ?B に追加" class="note">[?B]</a></h4>
<$MTEntryBody$></MTEntries>
<h3>過去ログ</h3>
<ul class="memo"><MTArchiveList archive_type="Monthly" lastn="3"><li><a href="<$MTArchiveLink$>"><$MTArchiveTitle$></a></li></MTArchiveList><li><a href="note_index.html">一覧</a></li></ul>
<hr>
<ul id="address">
<li><a href="../index.html">Mail</a></li>
<li><script type="text/javascript" charset="Shift_JIS" src="../z-accm.js"></script></li>
<li><address><a href="info.html">徳保隆夫</a></address></li>
</ul>
</div>
</body>
</html>

Date-Based Archive

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=<$MTPublishCharset$>">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<link rel="start" href="<$MTBlogURL$>" title="Home">
<MTArchivePrevious><link rel="prev" href="<$MTArchiveLink$>" title="<$MTArchiveTitle encode_html="1"$>"></MTArchivePrevious>
<MTArchiveNext><link rel="next" href="<$MTArchiveLink$>" title="<$MTArchiveTitle encode_html="1"$>"></MTArchiveNext>
<title><$MTBlogName$><$MTArchiveTitle$>/趣味のWebデザイン</title>
<script type="text/javascript" charset="Shift_JIS" src="../../../z-css.js"></script>
</head>
<body>
<h1 id="index"><$MTBlogName$><$MTArchiveTitle$>/趣味のWebデザイン</h1>
<ul id="gn" title="関連リソース一覧">
<li title="本文書の位置付け"><a href="<$MTBlogURL$>">趣味のWebデザイン</a>><a href="<$MTBlogURL$>note_index.html">Note</a>><a href="<$MTBlogURL$><$MTEntryDate format="%y"$>/"><$MTEntryDate format="%Y年"$></a>><$MTEntryDate format="%m月"$></li>
</ul>
<ul class="memo">
<MTArchivePrevious><li><a href="<$MTArchiveLink$>">←<$MTArchiveTitle$></a></li></MTArchivePrevious>
<MTArchiveNext><li><a href="<$MTArchiveLink$>"><$MTArchiveTitle$>→</a></li></MTArchiveNext>
</ul>
<MTEntries><MTDateHeader><h2><$MTEntryDate format="%Y年%m月%d日"$></h2></MTDateHeader>
<h3><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a> <a href="http://b.hatena.ne.jp/append?<$MTEntryPermalink$>" title="この記事を ?B に追加" class="note">[?B]</a></h3></MTEntries>
<hr>
<ul id="address">
<li><a href="../../../index.html">Mail</a></li>
<li><script type="text/javascript" charset="Shift_JIS" src="../../../z-accm.js"></script></li>
<li><address><a href="../../info.html">徳保隆夫</a></address></li>
</ul>
</body>
</html>

Individual Entry Archive

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=<$MTPublishCharset$>">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<link rel="start" href="<$MTBlogURL$>" title="Home">
<MTEntryPrevious><link rel="prev" href="<$MTEntryPermalink$>" title="<$MTEntryTitle encode_html="1"$>"></MTEntryPrevious>
<MTEntryNext><link rel="next" href="<$MTEntryPermalink$>" title="<$MTEntryTitle encode_html="1"$>"></MTEntryNext>
<title><$MTEntryTitle$></title>
<script type="text/javascript" charset="Shift_JIS" src="../../z-css.js"></script>
</head>
<body>
<h1 id="index"><$MTBlogName$><$MTEntryDate format="%Y年%m月%d日"$></h1>
<ul id="gn" title="関連リソース一覧">
<li title="本文書の位置付け"><a href="<$MTBlogURL$>">趣味のWebデザイン</a>><a href="<$MTBlogURL$>note_index.html">Note</a>><a href="<$MTArchiveLink archive_type="Monthly"$>"><$MTEntryDate format="%Y年%m月"$></a>><$MTEntryTitle$></li>
</ul>
<ul class="memo">
<MTEntryPrevious><li><a href="<$MTEntryPermalink$>">←<$MTEntryTitle$></a></li></MTEntryPrevious>
<MTEntryNext><li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$>→</a></li></MTEntryNext>
</ul>
<h2><$MTEntryTitle$></h2>
<$MTEntryBody$>
<hr>
<ul id="address">
<li><a href="../../">Mail</a></li>
<li><script type="text/javascript" charset="Shift_JIS" src="../../z-accm.js"></script></li>
<li><address>徳保隆夫 <a href="/design/info.html#tel">070-5464-3497</a></address></li>
<li><a href="<$MTCGIPath$>mt.cgi?__mode=view&_type=entry&id=<$MTEntryID$>&blog_id=<$MTBlogID$>">EDIT</a></li>
</ul>
</body>
</html>

Book Guide のテンプレート

他に MT を利用しているのは Book Guide だが、こちらはなんと2種類しかテンプレートを使っていない。

Master Archive Index

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=<$MTPublishCharset$>">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>レビューINDEX[時系列]</title>
<script type="text/javascript" charset="Shift_JIS" src="../../z-css.js"></script>
</head>
<body>
<h1>レビューINDEX[時系列]</h1>
<ul id="gn" title="関連リソース一覧">
<li title="本文書の位置付け"><a href="/design/index.html">趣味のWebデザイン</a>><a href="/lecture/index.html">Lecture</a>><a href="./index.html">Book Guide</a>>レビューINDEX[時系列]</li>
</ul>
<ol><MTEntries lastn="1000">
<li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a>(<$MTEntryDate format="%Y-%m-%d"$>)</li>
</MTEntries></ol>
<hr>
<ul id="address">
<li><a href="../../index.html">Mail</a></li>
<li><script type="text/javascript" charset="Shift_JIS" src="../../z-accm.js"></script></li>
<li><address>徳保隆夫 <a href="/design/info.html#tel">070-5464-3497</a></address></li>
</ul>
</body>
</html>

Individual Entry Archive

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=<$MTPublishCharset$>">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<link rel="start" href="<$MTBlogURL$>" title="Home">
<MTEntryPrevious><link rel="prev" href="<$MTEntryPermalink$>" title="<$MTEntryTitle encode_html="1"$>"></MTEntryPrevious>
<MTEntryNext><link rel="next" href="<$MTEntryPermalink$>" title="<$MTEntryTitle encode_html="1"$>"></MTEntryNext>
<title><$MTEntryTitle$></title>
<script type="text/javascript" charset="Shift_JIS" src="/z-css.js"></script>
</head>
<body>
<h1><$MTBlogName$> <$MTEntryDate format="%Y-%m-%d"$></h1>
<ul id="gn" title="関連リソース一覧">
<li title="本文書の位置付け"><a href="/design/index.html">趣味のWebデザイン</a>><a href="/lecture/index.html">Lecture</a>><a href="/lecture/book/index.html">Book Guide</a>><a href="/lecture/book/archives.html">list</a>>review</li>
</ul>
<h2><$MTEntryTitle$></h2>
<$MTEntryBody$>
<dl>
<dt>Previous</dt>
<dd><MTEntryPrevious><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></MTEntryPrevious></dd>
<dt>Next</dt>
<dd><MTEntryNext><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></MTEntryNext></dd>
<dt>Location</dt>
<dd><a href="/design/index.html">趣味のWebデザイン</a>><a href="/lecture/index.html">Lecture</a>><a href="/lecture/book/index.html">Book Guide</a>><a href="/lecture/book/archives.html">list</a>><$MTEntryTitle$></dd>
</dl>
<hr>
<ul id="address">
<li><a href="../../">Mail</a></li>
<li><script type="text/javascript" charset="Shift_JIS" src="/z-accm.js"></script></li>
<li><address>徳保隆夫 <a href="/design/info.html#tel">070-5464-3497</a></address></li>
<li><a href="<$MTCGIPath$>mt.cgi?__mode=view&_type=entry&id=<$MTEntryID$>&blog_id=<$MTBlogID$>">EDIT</a></li>
</ul>
</body>
</html>

解説

私が MovableType を採用したのは、作業負担を減らすためだった。index.html と月別のログを同時に更新したい、それだけの理由でツールを探した。自由度の高さを求めて高級な(馬鹿でかい)ツールを選んだのだが、これは正解だったと思う。

とはいえ MT に入れ込むつもりはない。MT と一蓮托生になるのは嫌だ。そのため、いつ MT の使用をやめても大丈夫なように、基本的な作業スタイルはあまり変えていない。じつは、現在もローカルでは手作業でサイトを構築している。月別ログと目次だけのシンプルサイトだが、緊急時の備えとしては十分だろう。

さて、ここで冒頭の質問に戻る。最も多い質問は「AdviceNote のテンプレートはどうなっているのか?」だ。なるほど、あれを自動で生成させるのは大変だろう。じつは手製でやっている。なーんだ、という声が聞こえてきそうだ。

テンプレートを注意深くご覧になれば、使われているテンプレートタグの種類と分量が異様に少ないことに気付かれると思う。「MT でサイトを作る」のではなく「作業の一部を MT に委託する」という方針が、地味ながらハッキリと現れている。

ブログツールを使うからといって、自動生成にこだわる必要はない。1品ものなら手製でよい。毎月、たったひとつリンクを追加するくらいなら、勉強して頑張ってテンプレートを作成するより手作業の方が早いし、気まぐれな仕様変更にも簡単に対応できる。レビューINDEX[推薦順]では、記事の増加に伴いカテゴリ分けを細分化を進めている。記事の投稿時点でカテゴリ分けし、目次を自動生成していたら真似できない芸当だ。

MT にハマると、何でも自動化してみたくなる。楽しい間はそれもいいだろう。けれども行き詰って苦しくなったら、発想の転換を勧めたい。「手作業を取り入れたっていいじゃない」……シンプル志向のカスタマイズ、検討する価値はあると思う。

テンプレート公開サイト

気まぐれに追加していく予定。テンプレート配布サイトとは限らないので注意。

Information