[15] WikiForm (#form) の第1欄 (入力欄雛形) に , を使って表を書いたり、 * を使って見出しにしたり、 - を使って一覧の項目にしたり出来ない。 これは #form の評価が inline 記法の評価時 (つまり block 記法の評価後) に行われるためである。 この問題は file: で発見されたので file: 問題と呼ばれる(謎)。
解決法としては #form の評価を block 評価より先に行う方法があるが、そうすると構文の一貫性が失われる。
(しかしそもそも #comment はじめ # 命令類を inline で実装したのが間違いだったとも考えられる。 現在 # 命令として存在するものは実際のところすべて block として評価されるのが適当だし、 HTML 出力も block 要素だ。)
[16] ともかく一貫性のある構文とするためには '[' ']' を使った構文の体系的な見直しが必要と考えられる。 ('[' ']' block の入れ子未実装問題もある。)
よってこの問題の修正は先送りし、更に検討する必要がある。
[17] なお、 file: で発見された問題だけの解決のためであれば </td><td> を出力する WikiForm plugin を作れば良いが、要素のタグの入れ子関係が異常な不思議マーク付けとなってしまう。
ていうかfile:問題って名前が分かりにくいので、ちゃんと問題点を反映したもん題名にしませう、
というかそもそも、 WikiForm の埋め込み書式が問題ですよね。 中で改行も出来ないし。見通し悪すぎ。こんな書き方が使えるべきだよね。
<? %wikiform( input=>{ %text(label=>{Your Name}, id => name); }, template=>{ [%index;] %text(source => name); }, option => { page => AnotherPage }, ); ?>
だけど面倒だなあ・・・
[44] : わかば : 2003-08-09 01:07:31 +00:00
この問題は無期限棚上げということで。
[45] : わかば : 2004-01-01 09:57:07 +00:00
>>15 の当時は入力雛形欄の中身は Message::Util::Formatter 的に評価した後に SuikaWiki/0.9 的に評価していました。 今の仕様では M::U::F で一度評価するのみです。
そういう規則を作りさえすれば見出しを出力したりも出来ます。 直前の表につぎたすのは不可能じゃないけどちょっと無茶かも。
[3] >>16,>>43 書式の見直しは SuikaWiki/1.0 でうまく解決できればいいけど。
[2] >>15 今度の新しい SuikaWiki3 の実装では form は block だったり inline だったりの微妙な位置付けで、 全体的になんとなくたまたまうまくいくようにしてあります。 どこかでバランスが崩れるとやばい。
それでも HTML 出力が完全にまともになることは確実にはちょっとし難い。 運用で頑張ってかばーするしかないでしょう。
だけど最悪でも整形式にはなるから、まあなんとかきっとなるでしょう。
[46] 色々状況が変わってるのでこの bug は closed にしますね。