hiki 1.0.0

hiki 1.0.0に移行するために、hiki/tool/convert.rbを使って既存データを変換してみました。結果。

ArgumentError: invalid byte sequence in UTF-8
/usr/share/hiki/hiki/util.rb:72:in `gsub'
/usr/share/hiki/hiki/util.rb:72:in `escape'
./tool/convert.rb:44:in `block in convert'
./tool/convert.rb:40:in `each'
./tool/convert.rb:40:in `convert'
./tool/convert.rb:120:in `main'
./tool/convert.rb:125:in `<main>'
 NG.

と怒られます。

--- tool/convert.rb.orig	2013-11-06 03:36:46.000000000 +0900
+++ tool/convert.rb	2013-11-06 03:33:00.000000000 +0900
@@ -39,7 +39,7 @@
   db = database_class.new(config)
   db.pages.each do |page|
     begin
-      old_page = page
+      old_page = page.force_encoding(input_encoding)
       new_page = encode(old_page, input_encoding, output_encoding, nkf)
       print "#{Hiki::Util.escape(old_page)} => #{Hiki::Util.escape(new_page)}"
       old_text = db.load(old_page)

この変更でうまく動きました(2013/11/17:この変更はhikiに取り込まれました)。

次のURLにインストールログをまとめました。
http://www.gfd-dennou.org/member/murashin/memo/hiki-1.0.0-install-log.html

既知の問題として、検索に失敗することがあることがわかっています。これは、データ変換に失敗した場合のみ起こります。メタデータ(info.db)から変換に失敗したデータを削除すればOKです。