tDiaryを最新版に追従
ここの日記で使っているtDiaryはずっと3.x系で動かしていたが、ようやく最新の4.0.4に更新した。
tDiary本体の更新
設置したtDiaryはgitで管理しているので、git pullで本体を更新する。
$ git pull origin master
いくつかカスタマイズしていたファイルがコンフリクトしたけど、1つずつ解消していった(基本は本体側に揃える)。3.x系の頃はこの後にtdiary-contribも更新していたけど、4.x系ではtdiary-contribもgemに分離されたのでgitでの更新は不要になった。
Gemfile.localの作成
tDiaryはバージョン4系からgemへの分離が進んでいて、今ではtdiary-contribや各種スタイルもgemでインストールするようになっている。
tdiary-contribやGFMスタイルのgemをGemfileに書くと、tDiary本体のバージョンアップのたびにGemfileがコンフリクトしてしまう。そこで、日記の設置者が導入するgemはGemfile.localに書く。tDiary-4.0.2 リリースノートを参照。
この日記はUnicornサーバで動かしているので、Gemfile.localにはこう書いた。
gem 'unicorn', :require => false
gem 'tdiary-contrib'
gem 'tdiary-style-gfm'
bundleコマンドを実行して、gemをインストールする。
$ bundle
独自スタイルファイルの削除
このままUnicornサーバを動かすと、GFMスタイルの読み込みでエラーになった。
E, [2014-08-18T15:05:14.521981 #20087] ERROR -- : app error: uninitialized constant TDiary::GfmDiary::DiaryBase (NameError)
E, [2014-08-18T15:05:14.522204 #20087] ERROR -- : /home/machu/var/tdiary/tdiary-core/tdiary/style/gfm_style.rb:138:in `<class:GfmDiary>'
E, [2014-08-18T15:05:14.522266 #20087] ERROR -- : /home/machu/var/tdiary/tdiary-core/tdiary/style/gfm_style.rb:137:in `<module:TDiary>'
E, [2014-08-18T15:05:14.522312 #20087] ERROR -- : /home/machu/var/tdiary/tdiary-core/tdiary/style/gfm_style.rb:21:in `<top (required)>'
これは tdiary/style フォルダに古いスタイルファイルが残っているのが原因。GFMスタイルもgemで入れるようになったので、削除してOK。
$ rm tdiary/style/gfm_style.rb
これで最新版に追従できた。tDiary本体もgemで管理できるようになっているので、あとで移行する。