検索可能に(1)失敗
tDiary の検索プラグインを導入してみる. 何種類かあるみたいなんだが, ど
うしよう. とりあえず namazu 先生に任せようか.
namazu2 の導入
$ sudo apt-get install namazu2 namazu2-index-tools libtext-kakasi-perl
諸々 install されました.
sqeeze.rb の導入
動的に HTML を生成するのではなくて, plugin で生成しておきます. これを使用して namazu の index を作成するわけです. squeeze.rb 自体は同梱されているので, plugin 選択画面で選択するだけ.
… squeeze.rb 直打ち(CGI 実行) は駄目, コマンド実行も駄目, おやー?
… tdiary を更新したらイケた. うーんと?
コマンド実行でのエラーは
undefined method `+' for nil:NilClass /usr/share/tdiary/tdiary.rb:485:in `load' /usr/share/tdiary/tdiary.rb:402:in `initialize' public_html/diary/squeeze.rb:292:in `new' public_html/diary/squeeze.rb:292
行頭のエラーは結構 FAQ らしく,
- Revision: 1.11 以降を使用
- @options['squeeze.output_path'] を指定
のどちらかで回避できるらしいが, この squeeze.rb, Revesion:1.18 なんですけど.
ruby の debug モードで主力すると, erb_fast が無い, と言われた. おや? …あ, これは良いのか. erbscan を入れていたら, それを使う, って設定ですね.
tdiary.rb の冒頭に
begin require 'erb_fast' ERbLight = ERB rescue LoadError begin require 'erb' ERbLight = ERB rescue LoadError require 'erb/erbl' end end
ってあるし.
Exception `NoMethodError' at /usr/share/tdiary/tdiary.rb:485 - undefined method `+' for nil:NilClass
な訳で, 該当行を読むとやっぱり data_path.
うーんと…あ, 場所によっては security エラーとか出よるな.
この方針やめ. また今度