本文 編集 履歴 ソース 差分 最近の更新 VikiWikiとは

VikiWiki - PluginsPage

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

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

abbr

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

#abbr text

acronym

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

#acronym text

admin

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

alias

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

altname

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

altstyle

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

aname

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

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

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

attach

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

#attach

authlink

form 認証等において、セッションのログイン及びログアウトのためのリンクを提供します。

引数として、ログイン及びログアウトのためのリンクに表示する文字列を指定します。(デフォルトは、それぞれ「ログイン」, 「ログアウト」)

#authlink [login_label] [logout_label]

b

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

#b text

bbs

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

big

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

#big text

br

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

calc

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

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

calcreg

正規表現にマッチする値を計算をするためのプラグインです。

#calcreg {set|sum|avg|max|min|count|aname} reg
reg: 正規表現 /...(...).../ でマッチする括弧の部分が計算対象となります。

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
デフォルト値

"cookie"と書いた場合、cookieに値が保存され、次回からcookieの情報が初期値となります。

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

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

digest

/etc/digest ファイルを管理するためのシステムプラグインです。

division

This system plugin can divide a part of the pages of Wiki to another Wiki.

documentwrite

The plugin can output <script><!-- document.write("...") //--></script>.

#documentwrite <<EOS
... text...
EOS

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

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

#list [header_format] [format]
header_format履歴のヘッダを表示する内容の書式です。
format 履歴を表示する内容の書式です。

書式の項目には、以下のものが使用できます:'version', 'page', 'revert', 'diff', 'user', 'nickname', 'url', 'time'

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 [target] [grpfmt] [format] [group] [order] [asc]
target表示したい対象を行数や正規表現で指定します。
grpfmt日付などのグループ化した内容を表示するための書式です。グループ化しない場合は""を指定します。
format一覧表示する内容の書式です。
groupグループ化する項目です。
orderソートする項目です。
asc ascで昇順、descで降順に並びます。デフォルトは降順です。

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

行数
表示したい行数を指定します。
/正規表現/
表示対象のページ名を正規表現で指定します。たとえば、/Page$/とした場合、Pageの終わるページ名のみ表示します。
/正規表現/行数
正規表現を指定してさらに行数を絞り込みたい場合に指定します。
-/正規表現/
正規表現に一致する行を表示しない場合に先頭にハイフンを指定します。行数と一緒に指定することもできます。

書式の項目やグループ化、ソートの項目には '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}}

  5. Pageで始まるページで名前順に最初から5個表示します。

    #list /^Page/5 "" "*page" "" page asc ハイフンを指定することで、Pageで始まらない名前を指定することができます。 #list -/^Page/5 "" "*page" "" page asc

listschedule

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

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

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

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

location

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

#location URI
#location WRI

login

form 認証等のためのユーザ名及びパスワードを入力するフォームを提供します。なお、このプラグインは AuthFormPage? でのみ意味を持ちます。

なお、引数は opt[=value] ... の形式で指定します。 opt に指定できるものは以下の通りです。

type=[basic|digest|hatena|livedoor|jugemkey|typekey|openid]

認証方式を指定します。各指定値の意味は以下の通りです。

basic /etc/passwd による認証を行います。(設定値 AUTHTYPE が form の場合のデフォルト値です)
digest /etc/digest による認証を行います。(設定値 AUTHTYPE が form_digest の場合のデフォルト値です)
hatena はてな認証による認証を行います。(設定値 AUTHTYPE が hatena の場合のデフォルト値です)
livedoorLivedoor 認証による認証を行います。(設定値 AUTHTYPE が jugemkey の場合のデフォルト値です)
jugemkeyJugemKey? 認証による認証を行います。(設定値 AUTHTYPE が jugemkey の場合のデフォルト値です)
typekey TypeKey? 認証による認証を行います。(設定値 AUTHTYPE が typekey の場合のデフォルト値です)
openid OpenID 認証による認証を行います。(設定値 AUTHTYPE が openid の場合のデフォルト値です)
user=USER

「ユーザ名:」の代わりに表示する文字列を指定します。

passwd=PASS

「パスワード:」の代わりに表示する文字列を指定します。

login=LOGIN

「ログイン」の代わりに表示する文字列を指定します。

alt_basic(=[yes|no])

type=digest を指定している場合に、 javascript 未対応若しくは javascript で DOM に未対応等のブラウザにおいて、代わりに /etc/passwd による認証を試みます。デフォルト値は yes です。

directjump(=[on|off])

type=[hatena|typekey] を指定している場合、directjump=on を指定すると、はてな認証(若しくは TypeKey? 認証、以下同じ)のログイン画面に直接リダイレクトします。
また、 directjump=off を指定すると、はてな認証のログイン画面に行くためのボタンが表示されます。
デフォルト値は、設定値 AUTHTYPE が hatena の場合 on で、それ以外の場合は off です。

#login [opt=value [opt=value...]]

logout

form 認証において、セッションからのログアウトのためのボタンを提供します。

引数として、ログアウトのためのボタン上に表示する文字列とログアウト後のジャンプ先のページを指定します。(デフォルトは、それぞれ「ログアウト」, FrontPage)

#logout [logout_label] [page]

more

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

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

navi

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

new

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

nickname

このプラグインはユーザのニックネームを編集するためのプラグインです。

#nickname

noscript

The plugin can output the noscript tag.

#noscript <<EOS
... text...
EOS

openid

このプラグインは OpenID の delegate のための <link rel="openid.server" href="..." />, <link rel="openid.delegate" href="..." /> ヘッダを出力するためのプラグインです。

#openid openid.server openid.delegate

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
2.1.0

tab

タブによるレイアウトを実現するプラグインです。

#tab id1=ラベル1 id2=ラベル2 ...
#tab <<EOS
id1=ラベル1
id2=ラベル2
 :    :
EOS

tbrecv

このプラグインは、 VikiWiki にトラックバック受信機能をつけるためのプラグインです。

このプラグインの使用に先立って、あらかじめ vikiwiki.zip に同梱の tool/tb.cgi を 実行権限を適切なものに設定した後、 CGI が実行可能なディレクトリに置く必要があります。

なお、 tool/tb.cgi の以下の部分は vikiwiki.cgi の絶対パスに応じて書き換えてください。

# load vikiwiki.cgi script.
VIKIWIKI_CGI = "/home/zool/Wiki/cgi-bin/vikiwiki.cgi"
		# ↑ 現在 vikiwiki.cgi が置かれている絶対パスを指定する

load VIKIWIKI_CGI
...

プラグイン #tbrecv の書式は以下の通りです。

#tbrecv[#ID] POS FORMAT

ここで、各引数の意味は以下の通りです。

ID

ページ上に置かれている #tbrecv に対して unique な id を指定する。#tbrecv がページ上に1つしか置かれていない場合に限り、省略できます。

POS

プラグイン #comment で指定するものと同様のものを指定する。

FORMAT

トラックバック ping を受信した時にページ上に出力するフォーマットを指定する。フォーマット中の title, url, blog_name, excerpt, date, time はそれぞれ題名, URL, ブログ名, 内容の要約, 受信日, 受信時刻に置き換えられる。

例えば、以下のように記述すると、

#tbrecv#id001 front://tb001 "* [url title] -- excerpt (date time)"
//tb001

トラックバック ping を受信した時に //tb001 の直前にリストで * [URL 題名] - 内容の要約 (日付 時刻) のように出力されます。

なお、 #tbrecv の各種設定は vikiwiki.cgi の設定値 "TB_CGI" 及び "TB_CONF" にて行うことができます。

ここで、設定値 "TB_CGI" はトラックバック受信スクリプト tb.cgi が設置されているパスを URI で指定します (デフォルトは /cgi-bin/tb.cgi)。

また、設定値 "TB_CONF" はハッシュ値を取り、各キーの意味は以下の通りです。

HOSTNAME

トラックバック ping URL を表示する際等に使用する @sys.cgi.host の代わりに使用するホスト名を指定する。

BASEURI

トラックバック ping URL を表示する際等に使用する @sys["BASEURI"] の代わりに使用する URI を指定する。

STATICURI

トラックバック ping URL を表示する際等に使用する @sys["STATICURI"] の代わりに使用する URI を指定する。 以上の設定値はいずれも VikiWiki サーバを CMS として利用している場合等に使います。

tbsend

このプラグインは、 VikiWiki にトラックバック送信フォームをつけるためのプラグインです。 プラグイン #tbsend の書式は以下の通りです。

#tbsend DEFAULT_URL [DEFAULT_EXCERPT]

ここで、各引数の意味は以下の通りです。

DEFAULT_URL

デフォルトでフォームに表示される URL を指定する。ここで、 "static" を指定すると #tbsend が設置されているページの静的 HTML ページの URL が、 "dynamic" もしくは空文字列を指定すると、#tbsend が設置されている動的ページの URL が指定される。

DEFAULT_EXCERPT

デフォルトでフォームに表示される内容の要約を指定する。省略可能。

なお、 #tbrecv の各種設定は vikiwiki.cgi の設定値 "TB_CONF" にて行うことができます。設定値 "TB_CONF" はハッシュ値を取り、各キーの意味は以下の通りです。

BLOG_NAME

デフォルトでフォームに表示される自らのブログ名

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とすることで行の一意性を保証することができます。