WikiForm

WikiForm

[1] WikiForm とは、 WikiPage 中に書くことが出来る入力欄とその入力を整形して出力する SuikaWiki の機能のことです。

[2] WikiForm という名前を使った wiki の機能の実装が他にも幾つかあるようですが、 SuikaWiki における WikiForm はそれらと関係はありません。 (もしかしたら同じようなものもあるのかもしれませんが。)

[3] WalWiki, YukiWiki, SuikaWiki では [ [ # comment ] ] と書くことで、各 Wiki page 末尾にあるような入力欄が挿入されます。 この場合は入力欄の項目の数や入力がどう反映されるかは固定ですが、 WikiForm ではこれらを任意に指定可能としています。

[4] 説明よりも実例を見た方がわかりやすいでしょう。 実際に何か入力してみて下さい。書き方はこの Wiki page を「編集」すると見られます。

書式の説明

[5] そのうち書きます・・・。きっと。でも簡単だから説明なしでもわかるんじゃなかなあ・・。

実装

[6] %name(parameter); の塊を整形規則と言いますが、この規則は plugin として実装されています。この plugin は安全上その他の理由から wiki の管理者しかいじれませんが、特定の場所にファイルを置くだけで使えるようになります。 ←となる予定ですが、この部分は未実装です。

[7] 整形規則の plugin は perl の code ですから、受け取った入力を自由自在に扱えます。 例えば入力文字を ROT13 する整形規則とかがあったら面白いかもしれません。 (言い出しっぺの法則に基づきあとで作ります:-)

[8] 詳しい実装については source を見るか、ここで聞いて下さい。 (まあたいした処理はしていません。)

[9] なお、現在組み込んである (実装済みの) 整形処理は、とりあえず #comment もどきが作れる程度のものです。これはもっと増やす予定。 なお、 #comment とほぼ同等の #form の例は SandBox にあります。

TO DO

[19] 書き換え可能なデータを持つことが現状では出来ません。 例えば投票だったら得票数を投票の度に書き換えてく必要がありますが、これが出来ません。 どうするのがいいか思いつきません。。。

画像うp

[15] Base64 画像張り込みが実装されたら、また更に multipart/form-data 入力が実装されたら、 type 属性が file である input属性を出力できる部品を含む plugin を作る。

[16] : >>15 : 2002-12-07 (土) 14:02

画像張り込みの仕様は、今の parser や構文の元で Base64 data を挿入するのは無理っぽいから、他の page を使って #embed で張り込みになりそう。

その場合書き込み先 page を動的に (書き込み時に) 決定できる仕組みが必要になる・・・

[17] : 16 : 2002-12-07 (土) 14:03

他のところに書いてないからついでに書いておくと、現在の予定ではその外部頁が img要素の longdesc属性に使われて、画像についての説明も書けるようになるっぽい。

[22] : >>15-17 : 2003-02-24 08:08

画像埋め込みは既に実装されました。 multipart/form-data はまだですけど。

メモ

[26] SuikaWiki3のWikiForm全用例