Customize writeback plugin #11
Posted at 2004-08-29T00:23:00+09:00 in Blosxom
writebackの投稿されたコメントのマークアップをpでうまくどうにかするようにしてみました。うまいこと動いてる模様。
実装的には単純で、予め改行をタブ文字(\t)に変換しておき、
$str =~ s!\t{2,}!</p><p>!g;
$str =~ s!\t!<br />!g;
$str = "<p>$str</p>";
というコードで。2個以上の連続した改行を</p><p>に変換→残った改行を<br />に変換→全体を</p>と<p>要素で括るということですね。
writebackの新しいマークアップ機能のテストの始まり。
改行*1はbr要素に、改行*2以上はp要素に変換した上で、最後に全体をp要素で括るというありがちなもの。
できるかな?
できるかな?
できるかな?
writebackの新しいマークアップ機能のテストの終わり。
と、投稿すると、
<p>writebackの新しいマークアップ機能のテストの始まり。</p>
<p>改行*1はbr要素に、改行*2以上はp要素に変換した上で、最後に全体をp要素で括るというありがちなもの。</p>
<p>できるかな?<br />
できるかな?<br />
できるかな?</p>
<p>writebackの新しいマークアップ機能のテストの終わり。</p>
となります(データファイル上では改行は消えます)。
同時にテンプレにベタ書きしていたp要素を取っ払いました。そのため、今までのコメントを変換する必要がある(p要素で括られていないので)のですが、grepして置換するのすらメンドウなので、
$param{'comment'} = "<p>" . $param{'comment'} . "</p>" if $param{'comment'} !~ m!^<p>.+</p>$!;
というp要素で括られていなかったら括るというコードで逃げました。ヒマな時にちゃんと変換して、このコードは外すようにしよう。
blosxom starter kitにも導入したいところだけど、どうだろうな。互換性が失われるのが難。利点もコレといってないしなぁ。
追記@2004/08/29
とりあえず変換してアップロードし、p要素で括られていなかったら括るというコードを削除。「なんかここのコメントがオカシイよ!」とか変なところに気づいた人はご一報宜しくお願いします。
Weblog archives
by Month
- October, 2006 (9)
- September, 2006 (23)
- August, 2006 (31)
- July, 2006 (8)
- October, 2005 (13)
- September, 2005 (24)
- August, 2005 (26)
- July, 2005 (2)
- June, 2005 (2)
- May, 2005 (13)
- April, 2005 (30)
- March, 2005 (33)
- February, 2005 (13)
- January, 2005 (10)
- December, 2004 (28)
- November, 2004 (27)
- October, 2004 (25)
- September, 2004 (38)
- August, 2004 (52)
- July, 2004 (45)
- June, 2004 (41)
- May, 2004 (48)
- April, 2004 (36)
- March, 2004 (51)
- February, 2004 (55)
- January, 2004 (63)
- December, 2003 (46)
- November, 2003 (63)
- October, 2003 (92)
- September, 2003 (61)
- August, 2003 (93)
- July, 2003 (57)
- May, 2003 (5)
- April, 2003 (35)
- March, 2003 (35)
- February, 2003 (37)
- January, 2003 (62)
- December, 2002 (32)
This page was last modified on 2004-08-29T12:15:18+09:00 (in 0.124 secs).