#?SuikaWiki/0.9 [1] WikiForm とは、 [[WikiPage]] 中に書くことが出来る入力欄とその入力を整形して出力する [[SuikaWiki]] の機能のことです。 [2] WikiForm という名前を使った wiki の機能の実装が他にも幾つかあるようですが、 SuikaWiki における WikiForm はそれらと関係はありません。 (もしかしたら同じようなものもあるのかもしれませんが。) [3] [[WalWiki]], [[YukiWiki]], [[SuikaWiki]] では '[[' '#comment' ']]' と書くことで、各 Wiki page 末尾にあるような入力欄が挿入されます。 この場合は入力欄の項目の数や入力がどう反映されるかは固定ですが、 WikiForm ではこれらを任意に指定可能としています。 [4] 説明よりも実例を見た方がわかりやすいでしょう。 実際に何か入力してみて下さい。書き方はこの Wiki page を「編集」すると見られます。 [[#form:'%text(id=>yasai,label=>野菜); %text(id=>kudamono,label=>果物); %text(id=>nomimono,label=>飲み物); %submit;':'-%text(source=>yasai);と%text(source=>kudamono);を食べてから%text(source=>nomimono);を飲みました。']] -にんじんとみかんを食べてから紅茶を飲みました。 -きゅうりとりんごを食べてからコーラを飲みました。 *書式の説明 [5] そのうち書きます・・・。きっと。でも簡単だから説明なしでもわかるんじゃなかなあ・・。 [[#comment]] *実装 [6] [CODE[%name(parameter);]] の塊を''整形規則''と言いますが、この規則は plugin として実装されています。この plugin は安全上その他の理由から wiki の管理者しかいじれませんが、[DEL[特定の場所にファイルを置くだけで使えるようになります]]。 ←となる予定ですが、この部分は未実装です。 [7] 整形規則の plugin は [[perl]] の code ですから、受け取った入力を自由自在に扱えます。 例えば入力文字を [[ROT13]] する整形規則とかがあったら面白いかもしれません。 ([[言い出しっぺの法則]]に基づきあとで作ります:-) [8] 詳しい実装については source を見るか、ここで聞いて下さい。 (まあたいした処理はしていません。) [9] なお、現在組み込んである (実装済みの) 整形処理は、とりあえず #comment もどきが作れる程度のものです。これはもっと増やす予定。 なお、 #comment とほぼ同等の #form の例は [[SandBox]] にあります。 [[#comment]] *メモ