| 
 
 | 
 | |||||||
  | |||||||||
巻き戻し中。
  | 
  | 
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2013-11-09(土) tDiary [長年日記]
_ 
 バージョンアップ
昨日の日記の通りで、先週末にtDiaryを4.0.1にした。
というよりも、うっかりrubyをportupgradeしたら1.8xが1.9xになってしまい、tDiaryが2.2では動かなくなったため。
とは言え、メジャーバージョン1個飛ばしてかなりの大騒ぎ。
_ 
 Gemとか
色々お作法が変わったのね。
インストール時に「bundle install」とか。
モジュールによってエラーが出る度に、メッセージ見てモジュールの不足っぽかったらGemfileに書いて「bundle install」の繰り返し。
( ´ー`)y-~~
_ 
 文字コード
まず、日記がEUCからUTF-8になった。
2.x->3.xの更新だと、自動で表示の度に文字コードを更新してくれる事になっていたようだが、
さすがに4.0.1では無理みたい。
とりあえずスクリプト作って、data/「年]のディレクトリにあるファイルを文字コード変換。
ついでに、2.2とお作法が変わって行頭にプラグイン呼び出しするとレイアウトが崩れるので、それも修正する。
もちろん、日記本体だけでなくコメントやリンク元の情報ファイルも変換。
【こんなツール】*1
*1 sedで行頭に全角スペースおいてるのよん。コピペするとき気を付けてね。
#!/bin/sh
if [ -d ./old ];then
echo "old-dir existing"
exit
fi
mkdir ./old
mv ./*.td2 ./old
mv ./*.tdc ./old
cd ./old
 
ls *.td2 |awk '{system ("sed s/'\'^\<%=isbn_detail\''/'\' \<%=isbn_detail\''/ "$1" >"$1".new")}'
ls *.td2.new |awk '{system ("sed s/'\'^\<%=youtube\''/'\' \<%=youtube\''/ "$1" >"$1".new1")}'
ls *.td2.new.new1 | awk '{system ("sed s/\"^\<a target=\"/\" \<a target=\"/ "$1" > "$1".new2")}'
ls *.td2.new.new1.new2 | awk '{system ("sed s/\"Format: emptdiary\"/\"Format: tDiary\"/ "$1" > "$1".new3")}'
 
ls *.td2| awk '{system ("nkf ./"$1".new.new1.new2.new3 \>../"$1)}'
ls *.tdc| awk '{system ("nkf ./"$1" \>../"$1)}'
chown www:wheel ../??*.td2
chown www:wheel ../??*.tdc
_ 
 プラグイン
2.2系のもので使い慣れているけど4.xのパッケージにないものも多数。
大抵はnkfで文字コードをutf-8に変換して、一行目に
「# -*- coding: utf-8 -*-」
を突っ込めば、なんとか動く。
それでも、「へぇボタン」みたいに数値が保存されなかったり不具合があるものは原因調査&改修か、諦めるか。
[ツッコミを入れる]
| Tweets by RC31E | |||||||||
  | |||||||||
  | |||||||||


