Movable Type導入記(その3:他の日記CGIログからの移行などなど)

リンクページができあがったので,今度は,他のカテゴリのカテゴリー・アーカイブとエントリー・アーカイブのテンプレートを作成する.

ここまででだいたい飲み込めたので,さほどには困らなかった.

カテゴリー・アーカイブについては,カテゴリによって「エントリー・アーカイブへのリンクメニューのみ」の場合と,「本文もいっしょに出力する」場合とに分けたかったので,そのコードを考えるのが若干面倒だったものの,標準のタグだけで実現可能.

ただ,1つ分からなかったのは,特定のカテゴリーのエントリー・アーカイブへのリンクを抽出するコードが,

<ul id="archivelist">
<MTEntries category=<$MTCategoryLabel$>
<li><$MTEntryDate format="%Y.%m.%d">: <a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li>
</MTEntries>
</ul>

で実現できてしまったこと.う~ん,アトリビュートにテンプレート・タグが使えないのは,変数タグだけで,コンテナタグでは使えるのだろうか?

テンプレートはできあがったので,今度は,ひたすら前の日記データを食べさせる.あまりに古い更新情報とか面白くない記事とか削りつつ.

その際に使ったのが,「ニアリストの憂鬱」の「2005年02月27日の記事:AkiaryからMovableTypeへの変換」にて公開のConverter.jar.Java必須.

Akiaryはカテゴリの概念がないので,それについては,手作業で設定.

2004年8月からはtDiaryを使っていたので,「tDiary からMovable Typeへの移行」のt2m.plを使用.Perl必須.

私はWindows XP使用なので,1年分まとめて変換かけたい時は,コマンドプロンプトで,

for %%m in (01 02 03 04 05 06 07 08 09 10 11 12) do perl ./t2m.pl -d 2006%%m.td << log2mt2006.log

などとする.(ほんとは,これを書いたbatファイルを動かした)

tDiaryにはカテゴリはあったのだが,並べ替えのためもあってカテゴリ名を変えてしまったので,エディタの置換機能を使った上で,結局は手作業.あと,なぜかツッコミの日にちが変わってしまったので,ツッコミの通知メールの日付を見ながら直す羽目に.

ある程度記事が溜まってくると,トップにある過去ログへのリンクが長くなってきて,どうにも耐えきれなかったので,月別アーカイブリストの年毎の折りたたみを導入.このスクリプトの秀逸な点は,折りたたみの状態を覚えてくれることである.

何日もかかけて,もぞもぞと移植しているうちにふと思った.

「コメント入れる時,記述を引用することが多い」→「引用行に色がついたら見やすいかなあ」→「引用行をqタグで挟んで,qタグにCSSで装飾したらいいだろう」→「引用するときは行頭に>を書くことが多い」→「>や>で始まる行を<q></q>で挟むプラグイン書けばいいんだ」

どうしてこう,余計なことしようとするのかね,私は.プラグイン書く前はこれまでに導入したプラグインを参考にして書けば簡単にできそうだと思ったんだ.案の定,はまったよ.Movable Typeのドキュメントどこにあるか分からないがためにカンで物事を進めようとするからはまるんだよな.

私が作ろうとしたのはグローバルフィルターで,はまった一番の理由は,「コメント本文のプレーンテキスト」→「フィルタ」→「Movable Typeによるタグ付け」という順番で処理になると思いこんでいた点.正しくは,タグ付けが行われてからフィルタにかかるのでした.それが分からないので,いくらやっても全ての行に引用符が付いて,頭を「?」が飛んでたよ.

んで,まあ,プラグインはこんな具合だ.Movable Typeのpluginフォルダに放り込むと,quotelineというフィルタが使えるようになる.そこで,コメント本文を出力しているテンプレートで,

<$MTCommentBody quoteline="1"$>

などと書くと,「>」か「>」で始まる行は<q></q>で挟まれるというわけだ.(内容でq要素にするわけではないので,好ましくはないが,妥協)

このプラグインはあくまで<q></q>で挟むという動作しかしないので,見た目についてはq要素をCSSで装飾しておく.例えばMovable Typeデフォルトのテンプレートなら,インデックスのスタイルシートテンプレートに

.comment-content q{ font-weight:bold; }
.comment-content q:before,
.comment-content q:after{ content:""; }

という記述を追加すると,コメント内のq要素は太字になる.

なんだか脱線しながら,作業を終えて,やっと移行が終わった.

ここで,また落とし穴.

tDiaryはしばらく残しておくつもりだったのだが,勢い余ってまずいものを削除してしまったらしく,エラーが出るようになった.挙げ句にプロセスが残ってしまって,他の物まで動かなくなるので,さくらインターネットのサポートページ見ながらkillしまくる羽目になった.

しょうがないので,tDiaryアンインストール.

以上で,Movable Type導入はおしまい.

本当は,再構築不要化カスタマイズ(MT3.3専用版)を導入したかったのだが,どうしてもうまく動かなかった.インストール作業は終わるのだが,ページが表示されないのである.(真っ白になる)

それから,tDiaryのときのようにRSSにコメントを混ぜて出せないか思案中.道は長い.

日時: 2006年12月20日 | PC/Web |

トラックバック

このエントリーのトラックバックURI: https://irusuka.sakura.ne.jp/mt/nuct.cgi/1085

コメントを投稿

(空欄でもかまいません)

(メールアドレスは管理人に通知されますが,Web上には表示されません)

Powered by Movable Type Pro 7.1.2