ファンクション (ToraToraWikiManual/ja/Wiki/Function)
ファンクションの基本
より複雑な機能を使うためにファンクション記法と呼ぶ記法が用意されています. ファンクション記法は以下のいずれかの形式で書きます.
&ファンクション名(パラメータ) 対象..
&ファンクション名(パラメータ) 対象..; 対象ではない後続の文
&ファンクション名(パラメータ) { 対象1 対象2 対象3.. }
ファンクション名は各機能につけられた決められた名前を書きます. パラメータは機能に対する付加的な指示を書きます. 対象はその機能を適用する文などを書きます.
例えば&colorは文字の色を変更するファンクションです.使用するには以下のように書きます.
- ソース
これから&color(red){赤い文字}を書きます.
- 表示
- これから赤い文字を書きます.
colorがファンクション名,redがパラメータ, "赤い文字"が対象です. 以下のように;記号か改行で対象の終了を指示することもできます.
これから&color(red)赤い文字;を書きます.
これから&color(red)赤い文字 を書きます.
ファンクションを他のファンクションや他のWiki記法の中で使用することもできます. &sizeは文字の大きさを変えるファンクションです.
- ソース
- &color(green)緑色の箇条書き &size(150%) { &color(blue) { 青くて大きい文字 }}
- 表示
- 緑色の箇条書き
青くて大きい文字
パラメータ
パラメータは(と)も含め省略することができます. パラメータが複数ある場合は,(カンマ)記号で区切って書きます. 機能によってパラメータの書き方は異なりますが, 原則として以下のようなパターンになっています.
- 特定の英単語
- 付加的な機能の有効化
- !特定の英単語
- 付加的な機能の無効化
- 特定の英単語=値
- 値の指定
- [[ページ名]]
- 対象とするページの指定
- 数値
- 数量の指定
複数の中括弧を用いた対象の指定
対象は {{{ と }}} のように連続した{記号と}記号で囲むこともできます(連続する回数は任意). このようにすると,対象の中に {記号 や }記号 が入っていても期待通りに動作します.
- ソース
&color(green) {{{{緑色で中括弧 } を書きました.}}}}
- 表示
- 緑色で中括弧 } を書きました.
各種ファンクション
目的 | 記法 |
文字位置の指定 | &align(left, center, right); |
カウンター | &counter(total, today, yesterday, allpages); |
人気のページ一覧 | &popularpages(total, today, yesterday, allpages, 件数); |
数値計算(文中) | &calc{式} or &calc(round=桁数, comma){式} |
カレンダー | &calendar([[ページ名]], month, weeks, behind=N, ahead=N); |
文字の色 | &color(文字色){文字} or &color(文字色, 背景色){文字} |
段落等の背景色 | &bgcolor(背景色); |
カレンダーで作成したページ一覧 | &datepages([[ページ名]], past, future); |
フィード | &feed([[ページ名]], 件数); |
コンテンツの埋め込み | &include([[ページ名]]); or &include(URL); |
目次 | &index([[ページ名]]); |
掲示板 | &bbs; |
リンク(詳細設定可能) | &link([[ページ名]], edit); or &link(URL, open); |
画像やファイルへ直接リンク | &direct([[ページ名]]){リンクの表示} |
リスト挿入フォーム | &listadd(name, date, before, after, escape); |
コメント | &comment(before, after, escape); |
数式 | &math(inline, dpi=画像のDPI){TeX表記の数式} |
メタ情報 | &meta([[ページ名]], title, description); |
抜粋部分の指定 | &more; |
更新日時 | &mtime([[ページ名]], フォーマット); |
作成日時 | &btime([[ページ名]], フォーマット); |
ページ一覧 | &listpages([[ページ名]], 件数); |
子ページのみ一覧 | &childpages([[ページ名]], 件数); |
ページ一覧(ツリー表示) | &treepages([[ページ名]]); |
更新ページ一覧 | &recent(件数); |
ブログ記事一覧 | &blogpages([[ページ名]], 件数); |
ブログ管理画面 | &blogadmin([[ページ名]]); |
バグトラック | &tracker([[ページ名]]); |
そのまま表示 | &plain(break){対象テキスト} |
整形済みテキスト(ファンクション) | &pre(code, linenum){対象テキスト} |
ソースコード | &code(linenum){ソースコード} |
アスキーアート | &paa{アスキーアート} |
ページの転送 | &redirect([[ページ名]]); |
検索フォーム | &search; |
文字の大きさ | &size(拡大率%){文字} or &size(サイズpt){文字} |
日時の表示 | &time(new, left, elapsed){日時} |
タイトルの設定 | &title(show){タイトル} |
各種ファンクション(上級者向け)
目的 | 記法 |
エイリアス(別名)の定義 | &alias(エイリアス名){エイリアスの定義} |
エクスポート実行ボタン | &export([[ページ名]], directory=ディレクトリ); |
テキスト挿入フォーム | &insert(before, after, once, escape); |
テンプレートの挿入 | &inserttemplate(before, after, once){テンプレート} |
ページ一覧(詳細設定可能) | &pages([[ページ名]], 件数); |
テンプレートによるページの作成と一覧 | &templatepages([[ページ名]]){テンプレート} |
選択フォーム | &select(once, A/B/C...); |
ページ編集フォーム | &writepage([[ページ名]], move){テンプレート} |
新規ページ作成フォーム | &newpage([[ページ名]], pagename, sequence){テンプレート} |