textileを使っている場合、昔から知られている対応がある。
単純に <br> タグが使えればいいのだが、
標準では有効なタグ以外はしまっちゃおうね〜、となっている。
で、その「有効なタグ」に <br> タグを追加する方法がこちら。
http://redmine.jp/faq/wiki/use-html-tag-in-wiki/
しかし、Redmine2.5から使用可能となったmarkdown(experimental)では、
この方法が使えない。
対応しても無視される。
どうやら、このファイルはtextileの場合のみ有効なようなのである。
experimentalだからって甘えてんじゃねえ!と憤ってみてもしょうが無いので、
どうにかする方法を考えてみるとする。
実はこのmarkdownのモジュール、
Redcarpetからの継承クラスとしてオリジナルレンダラを実装している。
それが以下のソースファイルである。
lib/redmine/wiki_formatting/markdown/formatter.rb
オリジナルレンダラの実装方法は、以下の記事に解説してある。
k0kubun's blog : Railsでカスタムmarkdownを実装する
http://k0kubun.hatenablog.com/entry/2013/09/19/223400
要は、オリジナルレンダラとして定義されている HTML クラスに、
ここに書いてある postprocess というメソッドを追加して、自力で対応すればいい。
しかし、HTMLタグ自体はここで処理されるまでにしまっちゃわれているので、
"[]"を使ってオリジナルタグ "[br]" を実装する方法で行ってみる。
と言うわけで、 HTML クラスに以下のメソッドを追加し、Redmineを再起動する。
def postprocess(full_document)単純に [br] って書かれてたら <br> に置換してるだけ。
full_document.gsub(/\[br\]/, '<br>')
end
あとは適当なところで [br] タグを試して見て下さい。改行されています。
0 件のコメント:
コメントを投稿