PluginsPage(PluginsPage)

このページはプラグインの一覧を表示するためのページです。

_admin

Error!! wrong constant name _admin

abbr

abbrタグを表示するプラグインです。

#abbr text

acronym

acronymタグを表示するプラグインです。

#acronym text

admin

管理用のシステムプラグインです。

alias

AliasNameを登録するシステムプラグインです。

altname

Error!! superclass mismatch for class Altname

altstyle

スタイルを変更するためのシステムプラグインです。

aname

アンカーを定義するためのプラグインです。

#aname name word
nameアンカーに使用する名前を指定します。
wordアンカーを設定する文字列を指定します。

#aname name wordは<a name="name">word</a>に変換されます。

attach

ページへのファイルを添付するためのプラグインです。

#attach

b

bタグを表示するプラグインです。

#b text

bbs

掲示板風書き込みを実現するためのプラグインです。

big

bigタグを表示するプラグインです。

#big text

br

<br/>を出力するプラグインです。

calc

計算をするためのプラグインです。

#calc {set|sum|avg|max|min|count|aname} {ident} [value]

cite

citeタグを表示するプラグインです。

#cite text

code

codeタグを表示するプラグインです。

#code text

comment

コメントを挿入するためのプラグインです。 たとえば、#comment back "*%1 - %2 %m/%d" name,20 comment,40と記述すると リストで* 名前 - コメント 月/日のように出力されます。

#comment pos format labels ...
postop(ページの先頭),bottom(ページの末尾),front(直前),back(直後)のいずれかを指定します。
format各ラベルに対し%1,%2,...で指定する。また%Y,%m,%dなどの日付の指定もできます。
labelslabel,cols,rows,defaultをカンマ区切りで指定します。

labelsの指定は以下のようになります。省略することもできます。

入力フィールド 書式
text name,width,,default
textarea name,width,height,default,indent
select name,select(n),val;val;...,default
checkbox name,checkbox,on;off,default
radio name,radio,val;val;...,default

書式の表記内容は以下のとおりです。

name
フィールドのラベル名
width
フィールドの幅
height
フィールドの高さ
default
デフォルト値
indent
入力内容を一括でインデントするインデント数
select(n)
高さnのリストボックス
val;val;...
選択可能なリストの値
on;off
onの場合の値とoffの場合の値

copy

ページ内のブロックをコピーするためのプラグインです。 classはdivブロック(<<<class)のクラス名を指定します。 pageを指定すると任意のページのdivブロックをコピーします。

#copy class [page]

idが'expand'の場合にはブロックを展開するボタンが表示されます。

#copy#expand

css

CSSを一時的に変更するためのプラグインです。 試作版です。

cssvalid

CSS validを表示するプラグインです。

#cssvalid

dfn

dfnタグを表示するプラグインです。

#dfn text

diary

日記を埋め込むためのプラグインです。

edit

ページを編集するためのシステムプラグインです。

farm

WikiFarmを経営できるシステムプラグインです。

farmlist

ファームのページを一覧表示するためのシステムプラグインです。

rows 表示する行数を指定します。0以下の場合はすべて表示します。
grpfmt日付などのグループ化した内容を表示するための書式です。グループ化しない場合は""を指定します。
format一覧表示する内容の書式です。
groupグループ化する項目です。
orderソートする項目です。
asc ascで昇順、descで降順に並びます。デフォルトは降順です。

書式の項目やグループ化、ソートの項目には以下が使用できます。

name,page,alias,time,date,count

footer

The system plugin can show the footer.

#footer

history

ページの履歴を表示するためのシステムプラグインです。

html

任意の記述をHTMLに埋め込むためのプラグインです。

#html <<HTML
any-description
HTML

i

iタグで表示するプラグインです。

#i text

img

イメージをアップロードするためのシステムプラグインです。

#img form
#img link [pattern]
#img view [pattern] [width] [height]

以下は特定の画像ファイルを表示する方法です。 ファイルがあればimgタグを生成します。 なければアップロード用のフォームが表示されます。

#img file [alt width height]
#{img file [alt width height]}

import

任意のページを埋め込むことができるシステムプラグインです。

#import page [edit]

index

索引を作成するためのシステムプラグインです。

interwiki

InterWikiNameを登録するシステムプラグインです。

kbd

kbdタグを表示するプラグインです。

#kbd text

links

ページを参照しているページを表示するシステムプラグインです。 formatにpageと記述した箇所がページ名に置き換わります。 except-patternを正規表現で指定すると、その正規表現にマッチする ページ名は表示されません。

#links [/except-pattern/] [format] [page]

list

ページを一覧表示するためのシステムプラグインです。

#list [rows|regexp] [grpfmt] [format] [group] [order] [asc]
rows 表示する行数を指定します。0以下の場合はすべて表示します。
regexpページ名を絞り込むための正規表現を指定します。
grpfmt日付などのグループ化した内容を表示するための書式です。グループ化しない場合は""を指定します。
format一覧表示する内容の書式です。
groupグループ化する項目です。
orderソートする項目です。
asc ascで昇順、descで降順に並びます。デフォルトは降順です。

書式の項目やグループ化、ソートの項目には 'page','alias','time','date','count' が使用できます。

  1. デフォルトのリスト

    #list

  2. 日付でグループ化、時間ソートしたリスト(デフォルトと同じ)

    #list 10 "!!!date" ":page(count):time" date time desc

  3. アクセスカウンタ用のリスト

    #list 0 "" "*page(count)" "" count desc

  4. 一覧表示用

    #list 0 "" "* {{page - page(count) time" "" page asc}}

listschedule

チェックリストからガントチャートを生成するためのプラグインです。 以下の形式で記述します。 終了日と進捗度は省略できます。 マークには■(完了)、□(未着手)、▲(実施中)、×(削除)が利用できます。

* <マーク> <内容> <開始日> ~ <終了日> <名前> <進捗度>%
* □ 内容... YYYY-MM-DD ~ YYYY-MM-DD 名前 nn%

プラグインの指定形式は以下のようになります。

#listschedule [{short|now|all} [pages ... ]]

location

指定したURIまたはWRI(Wikiページ)にジャンプするプラグインです。 セキュリティ上の問題からデフォルトのSAFEレベルでは使用できません。

#location URI
#location WRI

more

ページの最初の部分だけを表示し、ページへのリンクを「もっと読む」として表示する。

#more page page ...
#more regexp
#more#latest num

navi

どのようなプラグインですか
趣味の小箱 > Gentoo > x86 > Wineの動作状況 のようなナビゲーション機能を追加します。
どのように動作しますか
Gentoo/x86/wine (alias名がWineの動作状況) というページでこのプラグインを動作させると上記のように展開されます。

new

新規ページを作成するためのシステムプラグインです。

passwd

ユーザとパスワードを管理するためのシステムプラグインです。

plugin

The system plugin can show the describes of each plugin. Specify the plugin name when the specific plugins are necessary. More than one can be specified by blank pause.

#plugin
#plugin pi1 pi2 ...

q

qタグを表示するプラグインです。

#q cite text

reserved

予約語となっているページを表示するためのシステムプラグインです。

ruby

Rubyスクリプトを実行するためのプラグインです。

#ruby <<EOS
script...
EOS

samp

sampタグを表示するプラグインです。

#samp text

schedule

スケジュールを表示するためのプラグインです。 チャート、テーブル、カレンダのビューが使用できます。

#schedule {chart|table|calender} {pages|plans} {max|now|date}
||title||stime||etime||complete||person||plan||note

search

ページ内のテキストを検索するためのシステムプラグインです。

showdiff

差分を表示するためのシステムプラグインです。

small

smallタグを表示するプラグインです。

#small text

source

ページのソースを表示するためのシステムプラグインです。

#source [page]

span

spanタグを出力するためのプラグインです。 パラメタclassにクラス名、textにspanで囲むテキストを記述します。 textの内容はWikiスタイルで記述します。 このプラグインはインラインプラグインとして使用するのが正しいです。

#span class text

style

指定したWikiスタイルでページの一部を書くためのプラグインです。

以下の例ではYukiWiki?のスタイルを使用して、CSVフォーマットで テーブルを記述しています。

#style YukiWiki <<EOS
,A,B,C
,1,2,3
EOS

sub

subタグを表示するプラグインです。

#sub text

sup

supタグを表示するプラグインです。

#sup text

sys

システム情報を表示するためのシステムプラグインです。

#sys name

nameには以下を指定できます。

user
ユーザ名
page
現在のページ名
alias
エイリアス名
code
コード(u、s、e)
encoding
エンコーディング(utf-8、Shift_JIS、euc-jp)
version
ページのバージョン
style
記述されているスタイル
counter
アクセス数
theme
テーマ名
lang
言語(ja、en ...)
mtime
最終更新時間
wikiengine
VikiWiki?
wikiversion
1.9.8

theme

テーマを編集するためのシステムプラグインです。

#theme [cols] [rows] [theme-name] [element-name]
#theme img [theme-name]
#theme short
#theme local style [theme-name]
colstextareaの列数を指定します。
rowstextareaの行数を指定します。
short登録されているテーマの一覧表示モードです。
localそのページだけに適用されるスタイルを定義します。

title

タイトルを表示するためのシステムプラグインです。

#title format
formatフォーマットを指定します。alias、pageを指定できます。

toc

目次を作成するためのプラグインです。

tt

ttタグを表示するプラグインです。

#tt text

var

varタグを表示するプラグインです。

#var text

visualflow

ページの参照元と参照先をビジュアルに表示するシステムプラグインです。 pageを指定した場合、そのページが開始位置になります。 back-markとfore-markはフローを移動するためのマークを指定します。

#visualflow [page] [back-mark] [fore-mark]

w3cvalid

W3C validを表示するプラグインです。

#w3cvalidator html32|html40|html401|xhtml10|xhtml11

プラグインの説明

VikiWiki?はプラグインにより機能追加することができます。 VikiWikiPluginクラスにプラグインの名前を付けたondesc、onpost、onviewを作成してください。 プラグインのファイル名はプラグインの名前.rbです。

require 'vikiwikiplugin'
class VikiWikiPlugin
    def sample_ondesc
        プラグイン名(name)、パラメタの記述(prms)、日本語の説明(jp)、英語の説明(en)を返却します。
    end
    def sample_onpost
        送信された内容にしたがって処理を実行してください。
        ページのテキストを変更する場合は@sys.textを変更してください。
        insertメソッドを呼び出して@sys.textを変更することを推奨します。
    end
    def sample_onview
        表示するときの内容を戻り値とします。
    end
end

プラグインで参照可能なインスタンス変数は以下のとおりです。

名前種別内容
@sys.cgiCGICGIクラスのインスタンス。マルチパートな場合もファイル以外はStringにしてあります。
@sys.pageStringページ名
@sys.textString現在のページの内容
@sys.styleVikiWikiStyle?のsub class現在のページのスタイル
@nameStringプラグインの名前
@plainStringページ上に記述されたプラグインのテキスト
@inlineBooleanインラインかどうかの判定
@prmsArrayパラメタを配列化したもの
@sysVikiWikiSystem?システムのインスタンスで、URIの取得などの機能があります。

プラグインで使用可能なメソッドは以下のとおりです。

multipart_form(hiddens={})
マルチパートなフォームを生成します。
form(hiddens={})
通常のフォームを生成します。
formex(hiddens, attr)
指定された属性でフォームを生成します。
syshiddens(hiddens)
システム用のhiddenを生成します。
hidden(name, value)
hiddenフィールドを生成します。
text(name, value, size=20)
textフィールドを生成します。
file(name, value, size=40)
fileフィールドを生成します。
submit(name, value)
submitボタンを生成します。
textarea(name, value, cols=20, rows=5, attr={})
textareaを生成します。
select(name, value, options)
selectフィールドを生成します。
option(oval, value=nil)
selectのoptionを生成します。selectを呼び出せば自動的に生成されます。
radio(name, value, values=nil)
radioボタンを生成します。
password(name, value)
passwordフィールドを生成します。
checkbox(name, value='on', checked=false)
checkboxボタンを生成します。
reset(name, value)
resetボタンを生成します。
button(name, value, attr)
通常のボタンを生成します。
image(name, src)
imageボタンを生成します。
to_table(table)
配列をテーブルに変換します。
uri4get(attr={})
プラグインのonpostを呼び出すためのGETメソッド用のURIを生成します。
to_html(text, style=@sys.style)
任意のスタイルで記述されたテキストをHTMLに変換します。
to_text(text, fstyle, tstyle=@sys.style)
fstyleのスタイルで記述されたテキストをtstyleで記述されたテキストに変換します。
insert(pos)
iterator。ページのテキストの指定した場所に内容を挿入します。
pos
TOP、BOTTOM、FRONT、BACKの4つの位置を指定できます。

FRONT、BACKはテキストの一致行を検索して挿入します。 なお、#plugin#idとすることで行の一意性を保証することができます。