今どき文字コードShift_JISも無いよなぁと前々から思っていたので、全部UTF-8に変換してしまうついでに、よい機会なので自分のサイトのうち、tDiaryによってCGI出力しているこの日記以外のページを全てXHTML1.0からHTML5に移行した。
主に前述のDive Into HTML5を参考にして、変更をMercurialで管理しつつ、Perlで一気に置換、差分を見てダメだと思ったら戻す、ちゃんと出来てたら次の置換、といった感じで空き時間を使って一つずつ進めた。
たとえば、HTML5ではlink要素のrev属性は廃止されてしまったので、
$ find . -name "*.html" -print0 | xargs -0 perl -pi -e 's/rev="made"/rel="author"/g'
と書き換えて、ダメだったら全部戻す。
$ hg revert -a --no-backup
OKだったらコミット。
$ hg ci -m 'change rev="made" -> rel="author" attribute.'
Mercurialなら各OS向けに強力なGUIがあるから簡単に作業ログを確認できるし、これくらいの小規模な作業にリポジトリと作業場所を分けて持つSubversionは大げさなので、ちょうど良い感じである。
コミットが一瞬で完了するのも気持ち良い。
最近のツッコミ
参号館 日記(ariyasacca)