TiddlyWiki をローカルで編集・閲覧できる TiddlyDesktop アプリで、そのウィキのファイルに登録している全てのタグをボタンに表記して列挙するスクリプト例と実行結果を紹介します。
スクリプトで使われる、選択された要素をリストとして扱う list ウィジェットと、その要素にアクセスできる list 使用時の独自の currentTiddler 変数の設定についても紹介します。

※ TiddlyWiki v5.3.8 を使用します。
※ TiddlyDesktop Version0.0.20 を使用します。
※スクリプトは自己責任でご利用ください。
前回の記事
前回は、ボタンを押すと、追加した独自のフィールドに指定した文字列を設定するスクリプトとその実行結果を紹介しました。
スクリプト例
以下は、新規作成する Tiddler に貼り付ける本文です。
<$list filter="[tags[]]">
<$button>
<<currentTiddler>>
</$button>
</$list>テスト
以下の手順で、新規作成した Tiddler の本文に、「タグをボタンとして列挙する」スクリプトを貼り付けます。
- TiddlyDesktop アプリで開いたウィキで、検索ボックスの上側の + (Create a new tiddler)ボタンを押して、 Tiddler を新規作成します。
- 新規作成した Tiddler の右上の鉛筆(Edit this tiddler)ボタンを押して編集画面を表示します。
- タイトル(例:TestTagButtonList)を入力して、本文に前述のスクリプトを貼り付けます。
- 編集が済んだら右上のチェックマーク ✔ (Confirm changes thid tiddler)ボタンを押して保存します。

保存した Tiddler に、現在この TiddlyWiki ファイルに登録している全てのタグがボタンとして列挙されました。

タグは、検索ボックス下の Tools タブの tag manager を選択して、TagManager Tiddler を開くと確認できます。
スクリプトの説明
<$list filter="[tags[]]">
<$button>
<<currentTiddler>>
</$button>
</$list>1行目の $list では、list ウィジェットを用いて、 filter 属性に指定して得られた要素を1つずつ処理できます。
The list widget displays a sequence of tiddlers that match a tiddler filter.
リスト ウィジェットには、tiddler フィルターに一致する一連の tiddler が表示されます。
list: TiddlyWiki v5.3.8 — a non-linear personal web notebook と Google 翻訳
今回は filter 属性に指定した tags[] によって、全てのタグをリストにして、その要素を1つずつ処理します。
A filter is a concise notation for selecting a particular set of tiddlers, known as its output. Whenever TiddlyWiki encounters a filter, it calculates the output. Further work can then be done with just those tiddlers, such as counting or listing them.
フィルターは、出力として知られる特定の tiddler セットを選択するための簡潔な表記法です。 TiddlyWiki はフィルターに遭遇するたびに出力を計算します。その後、それらの tiddlers だけを使って、数を数えたりリストしたりするなど、さらなる作業を行うことができます。
Filters: TiddlyWiki v5.3.8 — a non-linear personal web notebook と Google 翻訳
$list で1つずつ扱う要素は currentTiddler 変数に設定されています。
※通常 currentTiddler 変数は現在の Tiddler を指しますが、 list の中では異なるようです。
The current tiddler provides the context in which several aspects of WikiText are interpreted.
The title of the current tiddler can always be found in the
currentTiddlervariable.
The two most common ways in which the current tiddler is changed are:current tiddler は、WikiText のいくつかの側面が解釈されるコンテキストを提供します。
current tiddler のタイトルは常に currentTiddler 変数で見つかります。
current tiddler を変更する最も一般的な方法は次の 2 つです。Current Tiddler: TiddlyWiki v5.3.8 — a non-linear personal web notebook と Google 翻訳
- $tiddler ウィジェット
- $list ウィジェット (変数属性がオーバーライドされていない場合)
3行目の <<currentTiddler>> では、その変数が持つ文字列、今回はタグの文字列を展開して、ボタンに表記するテキストとして指定しています。
以上で、 $list で全てのタグ要素を1つずつ処理して、各タグの文字列を表示したボタンを列挙しました。
まとめ
- list ウィジェットを使うことで、 filter 属性で指定した条件で選ばれた要素をリストとして扱います。
- 要素は1つずつ処理され、その要素は currentTiddler 変数に格納されています。
参照サイト Thank You!
- Widgets: TiddlyWiki v5.3.8 — a non-linear personal web notebook
- Widgets: TiddlyWiki v5.3.8 — a non-linear personal web notebook #ウィジェット一覧
- button: TiddlyWiki v5.3.8 — a non-linear personal web notebook
- list: TiddlyWiki v5.3.8 — a non-linear personal web notebook
- Filters: TiddlyWiki v5.3.8 — a non-linear personal web notebook
- Current Tiddler: TiddlyWiki v5.3.8 — a non-linear personal web notebook
記事一覧 → Compota-Soft-Press

コメント