Kazuhiko
kazuh****@fdiar*****
2003年 11月 16日 (日) 00:55:10 JST
かずひこです。 At Sat, 15 Nov 2003 20:51:31 +0900, Atsushi Koga wrote: > 以下の環境で動かしたとき > > * Hiki 0.5-devel-20030823.(11/13 viewcvsからtar.gzダウンロード) > * ruby 1.8.0 (2003-08-04) [i386-mingw32] わたなべさん配布バイナリ > * Amrita 1.0.2 わたなべさん配布バイナリ > * apache 1.3.27(win32-x86-no_ssl) > * Windows XP > > プレビュー時の編集テキストの行末が%0D%0Aのままのようで、 > プレビューしてから保存とすると改行が1行おきにはいってしまうようです。 まず、私は Win 系のプラットホームでは一切動かしていないので、この件の動 作確認はできませんとお断りしたうえで、 > 添付の1行パッチで手元ではうまくいってるように見えるのですが > どうでしょうか。 (snip) > - @plugin.text = text > + @plugin.text = text.gsub(/\r/, '') 改行コードの正規化ってこれで十分なのでしょうか? どうせやるなら diff -u -r1.4.2.38 command.rb --- hiki/command.rb 14 Nov 2003 13:04:31 -0000 1.4.2.38 +++ hiki/command.rb 15 Nov 2003 15:42:39 -0000 @@ -265,7 +265,7 @@ data = Hiki::Util::get_common_data( @db, @plugin ) @plugin.hiki_menu(data, @cmd) - @plugin.text = text + @plugin.text = text.gsub( /\r\n/, "\n" ).gsub( /\r/, '' ).sub( /\n+\z/, '' ) data[:title] = title( page ) data[:pagename] = a( :value => page ) こんな感じのほうがよいのでしょうか? このあたり詳しい方がフォローくださ ると幸いです。 > また、同一環境で hiki/page.rb の content-length 指定を > はずさないと表示がおかしくなるんですが、 > # フッタの途中までで切れる > これも改行がらみのようで、content-lengthがhtmlの中の改行コードの数の個数分 えーと、つまり header['Content-Length'] = html.size.to_s の方が少なくなるということは、 html = "123\n456\n789\n" (html.size.to_s = 12) みたいになっているのに、最後に出力されるものが "123\r\n456\r\n789\r\n" みたいになっていて、12 bytes で切られて "123\r\n456\r\n78" で終っちゃうみたいなことなのでしょうか? だとすると tdiary みたいに、hiki.cgi の先頭とかに BEGIN { $defout.binmode } を追加すれば解決するでしょうか? # さらについでに上の問題も解決したりして? -- かずひこ <http://wiki.fdiary.net/kazuhiko/> ★ぱーる「セミコロンが付いてない!」 ☆るびぃ「あんなの飾りです。偉い人にはそれが分からんのです」