hikidoc:133
From: Kurotsu Motoya <motoya.kurotsu.2009@g...>
Date: Tue, 11 Aug 2009 12:56:33 +0900
Subject: [hikidoc:133] Re: <pre>や<blockquote>内の plugin syntax
木村さん、こんにちは。黒津です。 > [hikidoc:128]の例にあげた入力に対して期待する出力 下の出力を期待します。 <h1>sec1</h1> <pre>{{</pre> <h1>sec2</h1> <pre>}}</pre> <h1>sec3</h1> <blockquote><div class="plugin">{{</div></blockquote> <h1>sec4</h1> <blockquote><div class="plugin">}}</div></blockquote> >実際に困ったケースなど 実際にこのケースに遭遇したのは、tdiary を使っていて、正規表現を含む コードを複数の<pre>~</pre>にべた張りしていた時でした。たまたま、 !!example1 ... /{{/ ... !!example2 ... /}}/ ... このようなパターンが含まれていたために、問題に気づきました。それで、 <blockquote> ではどうなのだろうとか調べてみて、同じような問題が起き たので、[hikidoc:128]には、調べた範囲で最も単純なパターンをあげました。 今回<table>でも簡単なテストをして見ました。tdiary の出力は期待通りに なる一方、hikidoc コマンドの出力は期待通りにはなりませんでした。 入力: !!table1 ||cell11||{{cell12 !!table2 ||cell21||cell22}} tdiary の出力(期待値): <h4>table1</h4> <table border="1"> <tr><td>cell11</td><td>{{cell12 </td></tr> </table> <h4>table2</h4> <table border="1"> <tr><td>cell21</td><td>cell22}} </td></tr> </table> hikidocコマンドの出力: <h2>table1</h2> <table border="1"> <tr><td>cell11</td><td><span class="plugin">{{cell12 !!table2 ||cell21||cell22}}</span> </td></tr> </table> この場合は tdiary が与える plugin_syntax がうまく機能しているようです。 def valid_plugin_syntax?(code) lambda { $SAFE = 4 eval( "BEGIN {return true}\n#{code}", nil, "(plugin)", 0 ) }.call ふと、tdiary の plugin_syntax を厳密化する方向もあるのかな、と考え始めた ところです。 よろしくお願いします。 Motoya Kurotsu -- ML: hikidoc@m... 使い方: http://QuickML.com/
@ 128 2009-08-06 06:36 [motoya.kurotsu.2009@] <pre>や<blockquote>内の plugin syntax @ 129 2009-08-08 03:59 ┣[hs@o... ] 132 2009-08-10 18:02 ┗[kimuraw@i... ] -> 133 2009-08-11 05:56 ┗[motoya.kurotsu.2009@] 135 2009-08-11 16:52 ┗[kimuraw@i... ] @ 136 2009-08-16 19:32 ┗[hs@o... ]