OXY NOTES

PukiWikiで複数行のコメントを挿入

コメントのカスタマイズ

PukiWikiでページにコメントを貰う場合「#comment」が用意されているが、一行しかコメント出来なかったり、タイトルが付けられなかったり、名前がブランケットネームになるなどかなり限定的な利用しかできない。

そこで探すといい物発見。
recorder.inc.php
しかしこれまた使い方がわかりにくいw
原因は「tracker.inc.php」の機能を理解している前提で書かれているため。他人のプラグインの書式を詳しく解説となるとやっぱり気が引けるのだろうか?


詳しい導入方法

1.「recorder.inc.php」ページの中ほどにある「recorder.inc.php.txt」をダウンロード。「.txt」を削除してpluginフォルダに追加。


2.今回は「recorder.inc.php」なので、
:config/plugin/recorder/comment(フォーム部分のサイズや形式の書式{fieldsで設定をする})
:config/plugin/recorder/comment/form(プラグインを記述したときにページで表示されるフォーム部分{formで設定をする})
:config/plugin/recorder/comment/page(挿入されるコメントのフォーマット{pageで設定をする})
の3つを新規作成する。

(ちなみに「tracker.inc.php」の設定法は「:config/plugin/tracker」というファイルをPukiWikiで新規作成して細かい設定をする。)

書式

* fields [#lca99f1e]
 |項目名|見出し|形式|オプション|デフォルト値|h
 |text|テキスト|text|20|textのデフォルト値|
 |page|ページ|page|20|pageのデフォルト値|
 |title|タイトル|title|20|titleのデフォルト値|
 |format|テキスト(書式整形)|format|20|formatのデフォルト値|
 |textarea|テキストエリア|textarea|20,10|textareaのデフォルト値|
 |select|セレクト|select|3,multiple|項目1,項目3|
 |radio|ラジオボタン|radio||項目2|
 |checkbox|チェックボックス|checkbox||項目1,項目3|
 |hidden|隠し|hidden||項目1|
 |file|ファイル|file|||
|>|>|~選択項目|
 |~text|||
 |~page|[page]|text + 一覧時にmake_pagelink()を通します。|
 |~title|[title]|text + 一覧時にmake_heading()を通します。|
 |~format|[format]|text + 一覧時に指定したフォーマット文字列で整形します。|
 |~textarea|[textarea]||
 |~select|[select]||
 |~radio|[radio]||
 |~checkbox|[checkbox]||
 |~hidden|[hidden]|隠しフィールドを挿入します。|
 |~file|[file]|ファイルを添付します。|
 |>|>|~予約項目|
 |~_name|[_name]|記事を記録するページ名を入力するフィールドを表示します。省略可。|
 |~_submit|[_submit]|[追加]ボタンを表示します。|
* 予約項目 [#rc940a70]
 : _page = [_page] | このページのフルネーム。ブラケットつき。
 : _refer = [_refer] | trackerプラグインが設置されているページ名。
 : _real = [_real] | このページに実際につけられたページ名。
 : _name = [_name] | 投稿時に指定されたページ名。
 : _date = [_date] | 投稿日時。
** 予約項目についての注意 [#s0f3d469]
 + ''_name''がページ名として無効か、すでに存在するページ名が指定された場合は、_real には自動的に連番が振られます。
 + ''_page'', ''_refer'', ''_real''をページに記録しなかった場合、tracker_listの当該フィールドの内容には実際のページ名から生成した情報が使用されます。
* 選択項目 [#i5ae1815]
 -text = 
 -page = [page]
 -title = [title]
 -format = [format]
 -select = [select]
 -radio = [radio]
 -checkbox = [checkbox]
 -hidden = [hidden]
 -file = [file] &ref([_refer]/[_real]/[file], 100x100);
** textarea [#qebccc63]
 [textarea]

今回の実際の記述

* fields [#h9ad4125]
|項目名|見出し|形式|オプション|デフォルト値|h
|title|タイトル|title|40||
|name|お名前|text|15|名無しさん|
|textarea|テキストエリア|textarea|80,5||
|insert|コメントの挿入|submit|||
タイトル:[title] お名前:[name][textarea]
 [insert]
#style(class=comment){{
 ''[title]''
 [textarea] -- ''[name]'' &new{[_date]};
 }}

(#style(class=comment){{}}については後述)
このように記述。


3.実際にページで記述。

書式

#recorder([config file],内容を挿入する相対位置)

具体例を書けば、「#recorder(comment,0)」のように記述する。数字の部分には「0か1」を記述する。「0」は書き込みをフォームの上に記述。「1」はフォームの下に記述する場合に指定する。

今回の実際の記述

#recorder(comment,0)

以上で完成だ。
今回は「:config/plugin/recorder/comment/page」を「#style(class=comment){{}}」で囲ってCSSで微調整をしている。通常3行程度のコメントを想定しているため「line-height:180%;」と本文よりも行間を狭くした。幅やボーダー、バックグラウンドカラーを記述して整形完了だ。

実際に設置したサンプルはこちら

アクアリウムWikiネオンテトラのページ

「自分のURL/index.php?:config/plugin」というページを開けば設定ファイル一覧が見られるため便利だ。

http://aqwiki.net/index.php?:config/plugin