ウィジェット

TWのメモ

ウィジェットとは

TWを表示する時に使っている部品のようなものです(多分)

ただ、ここで説明するのはWikiText等では難しい機能や便利な機能を埋め込む方法です
使うのにフィルターやTextReferenceが必要になる場合が結構あるので適宜調べましょう
普通のHTMLならJavaScriptでやるようなことが手軽に実装できる場合もあります

書式

基本的な形は<$ウィジェット名>内容</$ウィジェット名>で、多くの場合は属性(Attribute)をつけて<$ウィジェット名 属性名1=値1 属性名2=値2>内容</$ウィジェット名>の形を取る
属性(Attribute)は公式の各WidgetのTiddlerに表で説明されています
値は他と同様に"や"""で挟んで指定できます
内容(content)はウィジェットによってあったりなかったりで、だいたいは属性(Attribute)の表の付近に

The content of ~

という文章で説明されています
内容(content)が必要ない場合は<$ウィジェット名/>のように書くことができる(通常はそう書く)

Widgets

TWに標準で用意されているウィジェットから一部紹介
ウィジェット名や用意されてる属性などの詳細は公式で
基本的には使用例も載っているはず

割とよく使う

RevealWidget画面に表示したり消したり
様々な方法によって表示/非表示を切り替えて使われている
かなり頻繁に登場するので早めにそういうものだと知っておいた方が理解が早まると思ったウィジェット
名前がstateから始まる属性の値とtext属性の値がtypeで指定した条件と一致したら表示、しなかったら非表示という感じの機能です
ListWidgetフィルターを使った繰り返し処理や簡単な分岐のようなことを行う
内容(content)で書いたことをフィルターの各結果に対して行う
ActionWidgets表示ではなく動作に関わるウィジェット
ButtonWidgetなどと組み合わせてTiddlerやフィールドの処理など色々する。
TranscludeWidgetWikiTextの{{TextReference}}の本体
WikiTextでうまく行かない時に使う
参照先が存在しなかった場合内容(content)が変わりに表示されるため軽い条件分岐のようなこともできる
MacroCallWidget<<マクロ名>>の本体。同様にうまく行かない時に使う

変数

VarsWidget複数の変数に値を設定できる
SetWidget1つの変数に値を設定できる
1つだけな代わりに少しだけ複雑な処理ができる
WikifyWidget文字列をtypeで指定したTiddlerのタイプとして処理し、outputで指定した形式で変数に代入する

文字列処理系

WikifyWidget変数で説明。近い機能なのでこちらにも書いておく
TextWidget文字列をそのまま表示する。TWに処理されたくない時に使う
ViewWidget上記2つとは異なり文字列でなく指定したTiddlerのフィールドを処理する

リンク関係

LinkCatcherWidgetリンクをクリックしたら移動する代わりに何かアクションを起こさせたい時に使う
リンクをボタン等に変えるイメージだろうか
LinkWidgetWikiTextのリンク[[Tiddler名]]の本体

その他

HTMLのフォーム系タグ(インプットとかラジオとかチェックボックス等など)はだいたいウィジェットになっています
入力や操作が即座に属性で指定したTiddlerの指定したFieldに入力されるようになっており
そこをウィジェットの属性値や内容として渡して何かアクションを起こしたり画面へ即座に反映したりすることができます

属性名の先頭の$の謎

覚える必要はないけどメモ

基本的に他の機能を呼び出す物についてる傾向がある
アクション系とか、マクロコールとか
ソースで他の機能に渡す時に先頭が$でない物を渡すって処理をしているので、恐らくJavaScriptで簡単に書くための工夫でそれ以上の意味は無い