foo
{{com('hoge')}}
bar
のように段落をコメントアウトしようとすると,
foo<br> <br> <br> <br> bar<bf>
と <br> が連続して,不自然なあきができてしまう.
これをなんとかしたいんだけど,方法としては
1. parse 前にコメントを削除
2. parse 後に余計な <br> を削除
が考えられるけど,上のように pre の中に書くこともありえ,
pre を考えると 1 は面倒そうなので,2 でやってみることにする.
で,次のように chalow を変更した.
--- /usr/bin/chalow 2005-09-12 05:49:32.000000000 +0900
+++ chalow 2005-10-30 18:58:50.000000000 +0900
@@ -547,10 +547,18 @@
s!<br>$!!;
#print "2[$_]\n";
+ # 段落の区切りを変更
+ s!^<br>$!</p><p>!gsm;
+
unescape_string(\$_); # プラグイン呼び出しも行なう
s!</pre><br>!</pre>!g; # ad hoc
+ # 余計な <br> を削除
+ s!(<br>\n){2}!<br>!gsm; # 行
+ s!<p>\n<br>\n</p>!!gsm; # 段落
+ s!</p><p>\n<br>\n!!gsm; # 最後に comment plugin がある場合
+
return $_;
}
行単位でコメントアウトした場合,段落の区切りの <br> と区別できないので,
</p><p> に置換.プラグイン呼び出し後に余計なものを削除.
テスト
- 文中
foo bar
- 行
foo
bar
- 段落
foo
bar
Referrer (Inside):
[2005-10-30-4] chalow の rpm 更新
comments powered by Disqus
[2005-10-30-4] chalow の rpm 更新