Name<...>
Description<...>
AuthorFND
Version<#.#.#>
Status<unknown; experimental; beta; obsolete; stable>
Sourcehttp://devpad.tiddlyspot.com/#<...>
CodeRepositoryhttp://svn.tiddlywiki.org/Trunk/contributors/FND/
LicenseBSD
CoreVersion2.5.0
Requires<...>
Keywords<...>
(function($) {

var macro = config.macros.randomTiddler = {
	locale: {
		label: "random",
		tooltip: "display a random tiddler"
	},

	handler: function(place, macroName, params, wikifier, paramString, tiddler) {
		var excludeTag = params[0] || "excludeLists";
		var btn = createTiddlyButton(place, this.locale.label,
			this.locale.tooltip, function() {});
		btn.onclick = null; // XXX: hacky, but createTiddlyButton wouldn't add href otherwise
		$(btn).data("excludeTag", excludeTag).click(this.onClick);;
	},
	onClick: function() {
		var btn = $(this);
		var excludeTag = btn.data("excludeTag");
		var tiddlers = store.getTiddlers();
		macro.displayRandomTiddler(tiddlers, excludeTag);
	},
	displayRandomTiddler: function(tiddlers, excludeTag) {
		var i = Math.floor(Math.random() * tiddlers.length);
		var tid = tiddlers[i];
		if(!tid.tags.contains(excludeTag)) {
			story.displayTiddler(place, tid);
		} else {
			this.displayRandomTiddler(tiddlers); // XXX: risks infinite recursion
		}
	}
};

})(jQuery);
bag
randomtiddler_public
created
Mon, 07 Feb 2011 13:38:37 GMT
creator
cdent
modified
Mon, 07 Feb 2011 13:47:27 GMT
modifier
cdent
tags
excludeLists
systemConfig