TiddlyWiki をローカルで編集・閲覧できる TiddlyDesktop アプリで、list-links マクロに filter を設定して、簡易の TODO リストの Tiddler を作成します。
例として、TODO タグを追加した Tiddler 群のリンクのリストを表示します。
また、TODO タグが付いていても、Done タグを追加すると非表示にする filter 設定も紹介します。

※ TiddlyWiki v5.3.8 を使用します。
※ TiddlyDesktop Version0.0.20 を使用します。
前回の記事
前回は、画像を保存して、その Tiddler の画像を他の Tiddler の文章内に表示する用例を紹介しました。
list-links マクロとは
list-links マクロを使うと、選択された Tiddler のリンクのリストを表示できます。
※条件を指定していない <<list-links>> ではリストは表示されませんでした。
filter によって、選択する Tiddler の条件を指定できます。
The list-links macro returns a formatted list of links to a selection of tiddlers.
If a tiddler has a
captionfield, this is shown instead of the tiddler’s title. If the caption field is empty, a blank entry is shown.list-links マクロは、選択した tiddler へのリンクの書式設定されたリストを返します。
ティドラーにキャプションフィールドがある場合、これがティドラーのタイトルの代わりに表示されます。キャプション フィールドが空の場合は、空白のエントリが表示されます。
filter
A filter selecting which tiddlers to include
どの Tiddler を含めるかを選択するフィルター
list-links Macro と Google 翻訳
TODO タグのある Tiddler のリンクのリストを表示
テスト用に TODO タグがついた Tiddler を 2 つ作成します。
- 検索ボックスの上側の + (Create a new wiki) ボタンを押して、 Tiddler を新規作成します。
- タイトルの下側の tag name の欄に TODO と入力して add ボタンを押して TODO タグを追加します。
タイトルや内容も入力します。 - Tiddler の右上のチェックマーク(✔)のボタンを押して編集を確定します。

同様に、もうひとつ TODO タグのついた Tiddler を作成します。

次に、 TODO タグのついた Tiddler のリンクのリストを表示する Tiddler を作成します。
- 検索ボックスの上側の + (Create a new wiki) ボタンを押して、 Tiddler を新規作成します。
- 内容に「<<list-links filter:”[tag[TODO]]”>>」を入力して、タイトルも入力します。
- Tiddler の右上のチェックマーク(✔)のボタンを押して編集を確定します。

内容に追加する以下の文を簡単に説明します。
<<list-links filter:"[tag[TODO]]">>list-links マクロのタグ内に filter で tag[TODO] を指定することで、 TODO タグが付けられた Tiddler を選択します。
For instance, here’s how to select all the tiddlers that have been tagged
Recipe:たとえば、「レシピ」タグが付けられたすべての tiddler を選択する方法は次のとおりです。
Introduction to filter notation と Google 翻訳
[tag[Recipe]]
この Tiddler のチェックマーク(✔)ボタンを押して編集を確定すると、下図のように、TODO タグをつけた Tiddler のリンクのリストが表示されました。

完了した TODO を除外する場合の実装例
完了した TODO を非表示にするために、例として Done タグが付けられている場合はリストに表示しないように、条件を追加します。
- さきほどの list-links マクロの Tiddler の右上の鉛筆 (Edit this tiddler) ボタンを押して、編集に戻ります。
- 内容を !tag[Done] を追加した「<<list-links filter:”[tag[TODO]!tag[Done]]”>>」に変更します。
- Tiddler の右上のチェックマーク(✔)のボタンを押して編集を確定します。

内容に追加した !tag[Done] の部分について簡単に説明します。
<<list-links filter:"[tag[TODO]!tag[Done]]">>filter 内で ! を指定すると、その条件の意味を逆にします。
!tag の場合は、そのあとに指定したタグ(例:Done)が付いていない Tiddler を選択します。
We can reverse the meaning by adding an exclamation mark
!just before the operator. For example, we can select any tiddlers that do not have theRecipetag:感嘆符を追加すると、意味を逆にすることができます。 オペレーターの直前。たとえば、Recipe タグのない任意の Tiddler を選択できます。
Introduction to filter notation と Google 翻訳
[!tag[Recipe]]
複数の指定を行う場合は、条件をつなげて記述します。
※見やすくするために、tag[TODO] と !tag[Done] の間に半角スペースなどを入れると、表示されなくなるので、注意しましょう。
The filters we’ve looked at so far have involved just one step each. But you can run several steps together like this:
これまで見てきたフィルターには、それぞれ 1 つのステップしか含まれていません。ただし、次のように複数のステップを一緒に実行することもできます。
Introduction to filter notation と Google 翻訳
[tag[Vegetarian]!tag[soup]serving[4]]
次に、先ほど作成したテスト用の TODO タグが付いた Tiddler の一方に Done タグを追加します。
- TODO タグの付いた Tiddler の右上の鉛筆 (Edit this tiddler) ボタンを押して、編集に戻ります。
- タイトルの下側の tag name の欄に Done と入力して add ボタンを押して Done タグを追加します。
- Tiddler の右上のチェックマーク(✔)のボタンを押して編集を確定します。

Done タグを追加して編集を確定すると、自動的に list-links マクロの Tiddler のリンクのリストから、項目が消えました。

まとめ
- TiddlyWiki では、 list-links マクロを使って、条件に合う Tiddler のリンクのリストを表示できます。
- list-links マクロの filter で tag[タグ] を指定することで、そのタグが付けられた Tiddler だけを表示できます。
- !tag[タグ] を指定すると、そのタグが付けられていない Tiddler を選択します。
- tag[TODO]!tag[Done] のようにつなげて記述することで複数の条件を指定できます。
参照サイト Thank You!
- TiddlyWiki v5.3.8 — a non-linear personal web notebook
- list-links Macro
- Introduction to filter notation
記事一覧 → Compota-Soft-Press

コメント