個人的に必要となる情報を整理するためにTiddlyWikiを使っています。その存在を知ったのは10年以上前ですが、今はバージョンアップしてTW5と呼ばれています。それに対して以前のバージョンはTWC(TiddlyWiki Classic)と呼ばれるようになりました。
Tiddlywikiでは、情報をTiddlerという単位で管理します。これは梅棹忠夫が『知的生産の技術』で紹介している「京大型カード」のようなものだと理解しています。Tiddlerにはタグを付けることが出来るので、ひとつのTiddlerを様々な観点から纏め上げることができます。この点が情報を整理する上で役立っています。
ひとつの例として蔵書管理を行う事を考えます。ひとつの書籍をひとつのTiddlerに割り当てるのが分かりやすいでしょう。そこにタグとして、出版社とか出版年やジャンルなど、いろいろな属性を与えることができます。この方法で管理するTiddlerが増えてきて、カテゴリーで整理したリストが見たくなったとしましょう。例えば出版社ごとの蔵書リストが見たければ、タグに指定した出版社でグルーピングすれば良い訳です。出版年やジャンルなども同様です。
ここで気になるのが、タグで指定する情報が事前に想定できない場合の対応です。例えば出版社やジャンルなどであれば、(世間一般としては無限に考えられるとしても)個人的には限定された種類のタグを準備しておけば済むでしょうから、あまり問題にならないと思います。ところが出版年であれば、西暦にせよ和暦にせよ有限個数とは言え、事前に想定しておくのは困難なくらいの個数を考えておく必要がありそうです。
TW5にはマクロやウィジェットなどが用意されており、これを駆使すると(なんでもできるのかは知りませんが)なんとかなりそうです。
- 全てのタグの中から特定の(先頭に「西暦」が付いている)ものを抽出する。
- 抽出されたタグから1つを選び、そのタグが付いているTiddlerのリストを表示する。
上述したロジックをTW5で実現してみました。これがTiddlerwikiの流儀に則っているか自信はありません(TW5風のもっと良い方法があるかもしれない)。もし更に良い方法が見つかったら変更しようと思います。
<$list filter="[tags[]prefix[出版]]" variable="ADyyyy">
<div class="tc-menu-list-subitem">
<$set name="theyear" filter="[<ADyyyy>addsuffix[年]removeprefix[出版]]">
<<theyear>>
</$set>
<<list-links filter:"[tag[$(ADyyyy)$]]" type:"ol">>
</div>
</$list>
出来てしまえば数行程度のものですが、ここに辿りつくには相当苦労しました。TW5で実現できるか否かが、そもそも不明であることが理由のひとつです。TW5で実現できるとの確信がなかったので、TW5では無理なことを求めているのだろうかと悩みました。また実現したい機能は単純なのですが、それを実現する為のTW5の発想が不明だったのも、苦労した理由のひとつです。
今回の経験を踏まえて、まだまだ利用していないTW5の機能があることを実感しました。もっと使いこなせるようになりたいと思います。