Movable Typeを導入しようと思った理由はいくつかあって,
- 思いつくままに増えるリンクページをコレで構築できないかと思った.
- いろんな物の感想を書くページがあるのに,この頃,めっきり日記で感想を書いているので,統合できないかと思った.
- 「続きを読む」を使うかもしれんと思った.(OGsに向けて準備)
- 単にいじったら面白いかもしれんと思った.(ときどき,急に機械的なことがしたくなる)
というのが主なところである.
以下,その時の記録だが,私の環境は,
- さくらのレンタルサーバのスタンダードプラン
- Movable Type 3.33-ja
- SQLite
である.
さくらインターネットによるMovable Typeインストールマニュアルの通りにやったところ,なんの問題も起きずに,あっさり動いた.マニュアルがMySQLではなくSQLiteを使う説明なのは,多分,データベースサーバが重いのではないかと推測するが,本当のところは知らない.
試しにいくつか古い古い記事を移植して,だいたい動作を把握する.
サイト・パスはインデックスページが作られる場所である.私はせっかちな人間だからか,トップページにいきなり文字が書いてある方が好きだし,リピーターの人々は日記をまず見る人も多かったので,ここにメインページを作ることにする.
すなわち,サイトURLは http://irusuka.sakura.ne.jp/ だ.
ただ,このままにしておくと,アーカイブのディレクトリがカテゴリだの年月の数だけ散らばってしまう.普通にソースを書いてアップロードするページも併用するつもりだったので,サイトのところにMovable Typeが作るディレクトリが散らばるとどれがどれだか分からなくなる.
よって,「アーカイブを、サイト・パスとは別のパスで公開する場合は、チェックしてください。」にチェックをし,アーカイブのURLは ../../ とする.こうしておけば,バックアップはarchiveディレクトリとデータベースファイルのあるディレクトリだけで済む.
さて,いよいよデータの移植である.
まずはリンク集を構築できるかというところに焦点を絞る.それができないのなら,Movable Typeの使用は止めるつもりだった.
最初,MT Blogrollというプラグインを見つけたので,これを試してみたのだが,リンクの紹介をたまにアホみたいにタグをバリバリ使って書いていることがある私にはなじまず(プレビューがうまくいかなかった&そんなに情報はいらなかった),結局,普通にエントリーにすることにする.
お試しに書いてみた記事だのコメントだのを「エントリーの書き出し」で書き出して,読み込みデータのフォーマットを確かめたのは,マニュアルの読み込みフォーマットが書いてある項に気づかなかったからである……
私はリンク集をArcadian gardenで公開されている「Link Page Workshop」で作っていた.このソフトはデータをCSVで吐けたので,吐き出したファイルをMovable Typeの読み込みフォーマットにするRubyのスクリプトをシコシコと書く.
そして,いざ,読み込ませようとしてはまる.
悪戦苦闘の末,
- Movable Typeはデフォルトの文字コードがUTF-8なので,そのままの場合,読み込みファイルもUTF-8にしないと化ける.
- 「読み込むファイルをアップロードする(オプション)」はどうしても機能しなかったので,importディレクトリにアップロードしてファイルを読み込ませた.
リンク切れ・移転等々を直しながら読み込ませ終わってみたら,それだけで160以上あって,我ながらアホだと思った.
気を取り直して,旧「雑多に感想」をチマチマと移植する.これは自動変換できるような物でもなかったので,全部手作業である.
だいたいいい感じにデータ量も増えたことだし,お次は自分仕様にするためにテンプレートをいじってみようと,まずはメインページのソースを見た.
……絶句.なんだ,この壮絶なソースは.
はじめはデフォルトのソースを改造していこうと考えたのだが,あまりにめんどくさげな<div>の嵐に,あっさり方針転換,吐いて欲しいソースを一から書いた方が速いと思い直した.
ここで,テンプレートタグのマニュアルをモニタで見るのがまどろっこしくなり,『Movable Type公式タグリファレンス 第2版』を買ってきた.おかしい.金をかける気はなかったのに金がかかるよ,Movable Type.(余談だが,この本,誤植が多いような気がする.改刷を待ったほうがいいかもしれない)
本としばらくにらめっこして,テンプレートを作る.トップに最新記事が掲載される都合上,前のトップページデザインを放棄せざるを得なくなった.あれはあれでコンパクトで好きだったのだが,仕方がない.
- amazonから書影を引っ張ってくるつもりで入れたMTISBN.これは,ISBN xxxxxxxxxxという形式でxのところにASINを書くと,自分が設定した文字列に変換して出力する物.単純なだけに,使いようによってはいろいろできる.(結局,書影の挿入は,もっといろいろとデザイン等を考えなければならんと思って保留)
- カテゴリを自分の好きな順番に並び替えるためにcutfirstchar.これは,カテゴリ名の最初の何文字か(数を指定)を削除して出力するプラグイン.これによって,カテゴリ名を「数字+カテゴリ」にすることで,数字部分の調整でカテゴリを並び替える.ちなみに,出力ディレクトリ名は全て自分で設定してから使った.(昔のバージョンだと任意のディレクトリ名にできなかったらしいが,今は普通に設定画面で設定できる)
- et.alの項を並べ立てる時に特定のカテゴリーだけ表示したり,表示しなかったりしなければならなかったので,FilterCategories.
- この辺,趣味に近いもんがあるが,強制改行<br />が好きじゃないので,One Line to Paragraph.
等々を導入しながら,どうにかテンプレートを完成させ,試しにtop.shtmlという名前のファイルを吐いてみる.しめしめ,うまく行った.
……と思った時に悲劇が起きていた.
実は,この時,前のトップページ(旧index.shtml)と試しに作っていたトップページ(top.shtml)が同時に走っていたのだが,ここではまった.
私がPCで作っているファイルは全てシフトJISである.Movable Typeのデフォルト設定は上述の通りUTF-8である.
さて,トップページにはメールフォームがある.そう,ふと試しに送ってみたメールが文字化けした.
このメール送信のフォームはかなり古い物である.文字コードの変換はjcode.pl.当然,UTF-8には対応していない.
Movable TypeをシフトJISで吐かせることも考えたのだが,食わせちゃったデータをシフトJISにする方法が分からなかったし,そもそも,食わせちゃったデータの中に内田百閒だの無常の凬だのunicodeじゃなきゃ使えない文字がいくつかある.
しょうがなく,メール送信フォームのスクリプトを改造してJcode.pmを使うようにしてUTF-8に対応させる私.
なぜだ,なぜ私はMovable Typeを使いたいだけなのにこんなことしているんだ,と見たくもないPerlソースを泣きながらいじった.