よたらぼ
自分の興味の赴くままにIT技術系のネタを取りとめもなくメモっています。
Ruby言語やLinuxのネタが多いです。

April 30, 2003 [おもひで]

[Ruby-GNOME2] XML Tree Viewer

ZnZさんが試してくれたようです。cygwinでも動くんですね。良かった。

あー、書き忘れたんですが、XMLファイルはUTF-8のみのサポートです、って追記しておきました。

#そういや、日本語試してませんでした(^^;)。

[Hiki]プラグイン

Ruby-GNOME2にいくつか仕込んでみたんだけど、日本語埋め込みってどうにかならないかなぁ。難しい問題だとは思うけど。

とりあえず、ひととおり英語に直したけど、これ、プラグインのバージョンアップの度にやらないといけないかと思うと結構憂鬱。

[Hiki]添付ファイル

Ruby-GNOME2 Project WebsiteのXML Tree ViewerのページではHikiで最近実装された添付ファイルプラグイン(とCGI)を使っている。めちゃくちゃ便利だ。

Hiki標準では$options['attach.form'] = trueを使うことで全てのページにファイルUpload用のフォームが追加されるのだが、これよりも編集画面でフォームが表示された方がオレの好みなので以下のプラグインを作って、TextFormattingRulesの方に記述した。

def show_attached_files
  s = ""
  if (files = attach_page_files).size > 0
    s << %Q!<p>Attached Files: \n!
    files.each do |file_name|
      s << " [#{attach_anchor(file_name)}] "
    end
    s << "</p>\n"
  end
  s
end

TextFormattingRulesはこんな感じ

{{show_attached_files}}
{{attach_form}}

あと、Uploadした後に編集画面に戻ってくるようなパッチをattach.cgiに適用すればOK。

--- /home/mutoh/hiki/misc/plugin/attach/attach.cgi     2003-04-21 23:10:23.000000000 +0900
+++ attach.cgi  2003-04-30 12:22:45.000000000 +0900
@@ -9,7 +9,7 @@
 def attach_image
   cgi = CGI.new
 
-  if cgi['attach'][0]
+  if cgi.params['attach'][0]
     params     = cgi.params
     page       = CGI.escape(params['p'][0] ? params['p'][0].read : 'FrontPage')     raise unless params['p'][0] && params['attach_file'][0]
@@ -28,7 +28,7 @@
       end
     rescue Exception
     ensure
-      redirect(cgi, "hiki.cgi?#{page}")
+      redirect(cgi, "hiki.cgi?c=edit;p=#{page}")
     end
   end
 end

本日のツッコミ(全5件) [ツッコミを入れる]
たけうち (April 30, 2003 21:58)

プラグインの日本語埋め込み、どうしようかな。本体と同じようにプラグイン用のメッセージファイルでも用意するかねぇ?

むとぽん (May 01, 2003 00:11)

難しい問題ですよね。日本語をデフォルトにしておいて、言語が切り替えられたときはリソースファイルを読み込んで日本語を上書きするような仕組みを作ると良いのかもしれませんけど...。

たけうち (May 01, 2003 10:54)

プラグインから編集画面へFORMなどを追加できるようにイジっていて気付いたのですが、編集画面でテキストを編集。さて、あとはこのファイルを添付しておしまい。とやると、悲惨なことになりませんか?

きた (May 06, 2003 23:49)

どこで報告すればいいのか分からなかったのでここにツッコミ.

ruby-gnome2のHikiでファイルをuploadした後,リダイレクトされると

 (RuntimeError)

./hiki/command.rb:57:in `dispatch'
/home/groups/r/ru/ruby-gnome2/cgi-bin/hiki/ja/hiki.cgi:27
/home/groups/r/ru/ruby-gnome2/cgi-bin/hiki/ja/hiki.cgi:25:in `open_db'
/home/groups/r/ru/ruby-gnome2/cgi-bin/hiki/ja/hiki.cgi:25

こんなエラーが出てしまいます.

むとぽん (May 07, 2003 00:39)

確認してみます。今日はバグデーらしいですね(-o-;)。
#ってか、報告はRuby-GNOME2 MLで良いですよ(^^;)。


編集