TiddlyWiki/Dev - Core Application (2)
TiddlyWiki Core Applicationの続き
タグ
- コアプラグインはTiddlerにタグを付ける仕組みを提供する
- 特定のタグを使ってTiddlerを取得する
{ tag: [tiddler1, tiddler3, tiddler3] }
のようなハッシュマップを取得する- 特定のタグがついてないTiddlerのリストを作ったりイテレートする
- タグは"tag"という名前でTiddlerに直接保存される
フィルタ
- フィルタをパイプラインのように並べることができる
- 例:
[tag[task]!tag[done]interesting[very]]
- これは、"task"というタグがついていて、”done"というタグがついてなくて、"interesting"フィールドが"very"であるTiddlerを通す
- ほかにもTiddlerのリストをソートするフィルタや、テキストやタグから指定した文字列を検索するフィルタもある
filteroperator
タイプのモジュールでフィルタを追加することもできる
システムタグ
- タグやフィルタはコアプラグイン内でも用いられる
- システムTiddlerと同様、
$:/
で始まるタグはシステムタグと呼ばれ、通常は隠されている
保存方法の拡張
- マイクロカーネルには、単純なストアと、TiddlerをJSONファイルや現在のHTMLファイルのDOMからロードするデシリアライザしかない
- それ以外のTiddlerの保存や同期の手段は
$:/core/modules/syncer.js
のグローバルモジュールとして提供されている - syncerモジュールはイベントシステムを使い、Tiddlerが更新されたらリモートストアと同期する
saveWiki(options)
関数はWiki全体を保存したり単独のTiddlerをダウンロードしたりする
デシリアライザ
tiddlerdeserialize
タイプのモジュールはさまざまな表現からTiddlerを生成する関数を提供する- それらの関数は
appilcation/json
やtext/html
などのタイプと関連付けられていて、生成されたTiddlerをJavaScriptのオブジェクトとして返す - デシリアライザはsyncerモジュールの管理対象ではなく、そのコンセプトはマイクロカーネルの一部である
load-modules
スタートアップモジュールは、追加のでシリアライザをロードしてストアに保存する
セーバ
saver
タイプのモジュールはWiki全体を保存する関数を提供する- セーバは3つのメソッドをサポートする
save
はユーザが保存をしようとしたときに使われるautosave
はTiddlerが更新されたときなどにTiddlyWikiが自動的に呼び出すdownload
はあるTiddlerが明示的にダウンロードされるときに用いられます
- セーバモジュールはふたつの関数をexportする
canSave(Wiki)
はそのモジュールが作業できるかどうかを返すcreate(Wiki)
はセーバオブジェクトのインスタンスを返す
- セーバオブジェクトは
info
プロパティとsave(text, method, callback)
関数を提供するinfo
プロパティは名前、優先度、サポートするメソッドの配列を含むsave
メソッドはUIからのメッセージによって起動する
- Syncerモジュールは、リクエストされたメソッドを処理できるセーバのうち、優先度が最も高いものを使う
ちょっとうまく訳せてないかもしれない
コード読むか動かすかして確かめないと自信ない
同期アダプター
syncadaptor
タイプのモジュールはTiddlerのリストの取得と、単一のTiddlerのロード・セーブ・削除の機能を提供する- TiddlerのリストはSkinnyTiddlers、つまりテキストのないTiddlerとして与えられる
- ログイン・ログアウトのための関数を提供し、リモートサーバとの同期を可能にする
- Syncerモジュールは
$:/config/SyncFilter
に合致するTiddlerは同期しない