TiddlyWiki 2.0対応マクロ

以前、TiddlyWikiのマクロをいくつかここで紹介しましたが、2.0.xでは動作しないマクロがありましたので、2.0対応版を公開したいと思います。使い方は同じなので、元記事も参照してみてください。

TiddlyWikiをカスタマイズする - unisonDiaryにて紹介したTiddlerを数えるマクロです。

config.macros.tiddlercounter = {};

config.macros.tiddlercounter.handler = function( place,macroName,params )
{
	var counter = 0;
	store.forEachTiddler(function(title,element){counter++;});

	createTiddlyElement( place,"span",null,null,counter );
}

同じく、ランダムなTiddlerへリンクするボタンを作るマクロ - unisonDiaryTiddlyWiki 2.0.x版です。

config.macros.randomlink= {
  label: "Random Tiddler",
  prompt: "Show random tiddler"
};

config.macros.randomlink.handler = function( place, macroName, params )
{
  var randomlinkHandler = function( e )
    {
      if (!e) var e = window.event;
      var la = [];
      if ( !params[0] ) {
        store.forEachTiddler(function(title,tiddler){la.push(tiddler);});
      } else {
        la = store.getTaggedTiddlers( params[0] );
      }
      
      var rndnum = Math.floor( Math.random() * la.length );
      displayTiddler( resolveTarget(e), la[rndnum].title,  0, null, null, true, false );
    }
  createTiddlyButton( place,this.label,this.prompt,randomlinkHandler );
}

更新順リストの表示数を制限して高速化するマクロ - unisonDiaryは2.0.xでも動作します。