0.7.4 から 0.8.7 へのアップデートしたところ、表のセル内で、「改行」が使えなくなりました

432 views
Skip to first unread message

okapi

unread,
Dec 16, 2009, 10:06:59 PM12/16/09
to Redmine Users (japanese)
0.7.4 から 0.8.7 へバージョンアップしたところ、セル内で、改行を入れた表が、正しく表示されなくなりました。

従来は、以下のように、表の中で、改行を使っていたのですが、アップデート後は、改行を含んだセルが、表示されなくなってしまいました。

|123|東京都 晴
神奈川県 雨|
|124|北海道 雪|

対策方法など、教えていただけると助かります。

nanaohan

unread,
Dec 18, 2009, 4:02:18 AM12/18/09
to redmine-...@googlegroups.com
nanaohanと申します。

憶測込みですが、以下の形でどうでしょうか?

|/2. 123|東京都 晴|


|神奈川県 雨|
|124|北海道 雪|

投稿された記述だと正常に表組みされないのが仕様だと思います。

> --
>
> このメールは Google グループのグループ「Redmine Users (japanese)」の登録者に送られています。
> このグループに投稿するには、redmine-...@googlegroups.com にメールを送信してください。
> このグループから退会するには、redmine-users-...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/redmine-users-ja?hl=ja からこのグループにアクセスしてください。
>
>
>

Ganta

unread,
Dec 18, 2009, 9:50:33 PM12/18/09
to Redmine Users (japanese)
gantaです。

改行をそのまま認識させる方法ではありませんが。
以下のサイトに書かれている方法でbrを利用可能タグに追加する事で、テーブル内で改行させることは可能になります。

|123|東京都 晴 <br> 神奈川県 雨|
|124|北海道 雪|

http://www.sakuttoly.com/blog/2009/05/redmine_redcloth.html

okapi

unread,
Dec 21, 2009, 1:35:23 AM12/21/09
to Redmine Users (japanese)
nanaohanさん

コメントありがとうございます。

私の示した例が、よく無かったですね。
実際は、複数行に及ぶ文章を、単一セル内に収めているので、ご提示いただいた形式(各行に罫線が入る)だと適さないんですよね。

> 投稿された記述だと正常に表組みされないのが仕様だと思います。
なるほど、今までなぜ出来ていたのかな~?

okapi

unread,
Dec 21, 2009, 1:36:42 AM12/21/09
to Redmine Users (japanese)
gantaさん
コメントありがとうございます。

確かに、<br>を使う方式だと、期待通りの表示になりそうです。

ただ、これまで作成してきたコンテンツをすべて修正するのは、至難の業です。
(チケット、wiki、文書、など、あちこちに無数に使っていたので)

TextileのHTML展開処理をやっているソースを見つけて、自分で修正するしかないのかな。。。

fmkt

unread,
Dec 21, 2009, 1:51:24 AM12/21/09
to Redmine Users (japanese)
こんにちは。

> TextileのHTML展開処理をやっているソースを見つけて、自分で修正するしかないのかな。。。

私の環境では以下のようにして対応しています。

Index: lib/redcloth3.rb
===================================================================
--- lib/redcloth3.rb (リビジョン 2956)
+++ lib/redcloth3.rb (作業コピー)
@@ -593,7 +593,7 @@
quotes << ("\n\n" + (l>indent ? '<blockquote>' * (l-
indent) : '</blockquote>' * (indent-l)) + "\n\n")
indent = l
end
- quotes << (content + "\n")
+ quotes << (content + "\n<br />") #引用文で改行
end
quotes << ("\n" + '</blockquote>' * indent + "\n\n")
quotes

参考程度にどうぞ。

fmkt

unread,
Dec 21, 2009, 1:54:20 AM12/21/09
to Redmine Users (japanese)
ごめんなさい。
これたぶん違います。

先ほどのは blockquote 内で改行を行う方法でした。

fmkt

unread,
Dec 21, 2009, 2:30:39 AM12/21/09
to Redmine Users (japanese)
先ほどはすみませんでした。

ちなみに私の環境では改行が効いているのですが、以下のソースを確認していただけますか?

lib/redmine/wiki_formatting/textile/formatter.rb の47行目。

44 # Patch for RedCloth. Fixed in RedCloth r128 but _why
hasn't released it yet.
45 # <a href="http://code.whytheluckystiff.net/redcloth/
changeset/128">http://code.whytheluckystiff.net/redcloth/changeset/
128</a>
46 def hard_break( text )
47 text.gsub!( /(.)\n(?!\n|\Z|>| *([#*=]+(\s|$)|[{|]))/, "\
\1<br />" ) if hard_breaks
48 end

ここは上記のようになっているでしょうか?

この "\\1<br />" の部分を変更した内容が、セル内の状態に反映されることを確認しました。

okapi

unread,
Dec 22, 2009, 2:33:01 AM12/22/09
to Redmine Users (japanese)
fmktさん

ありがとうございます!

教えていただいたとおりの修正で、無事に改行入りの表が正常に表示されるようになりました。
lib/redmine/wiki_formatting/textile/formatter.rb の47行目

text.gsub!( /(.)\n(?!\n|\Z|>| *(>? *[#*=]+(\s|$)|[{|]))/, "\\1<br />
\n" ) if hard_breaks
      ↓


text.gsub!( /(.)\n(?!\n|\Z|>| *([#*=]+(\s|$)|[{|]))/, "\\1<br />" ) if
hard_breaks

助かりました。

Reply all
Reply to author
Forward
0 new messages