<?xml version="1.0"?>
<rss version="2.0">
<channel>
<title>yapt</title>
<link>yapt.dsland.org</link>
<description>yet another php tiddlywiki</description>
<language>en-us</language>
<copyright>Copyright 2007 admin</copyright>
<pubDate>Wed, 31 Oct 2007 13:15:59 GMT</pubDate>
<lastBuildDate>Wed, 31 Oct 2007 13:15:59 GMT</lastBuildDate>
<docs>http://blogs.law.harvard.edu/tech/rss</docs>
<generator>TiddlyWiki 2.1.3</generator>
<item>
<title>ViewTemplate</title>
<description>&lt;pre&gt;&amp;lt;div class='toolbar' macro='toolbar  meneame  digg  editTiddler permalink references '&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;div class='title' macro='view title'&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;div class='subtitle'&amp;gt;&amp;lt;span macro='view modifier link'&amp;gt;&amp;lt;/span&amp;gt;, &amp;lt;span macro='view modified date [[DD MMM YYYY]]'&amp;gt;&amp;lt;/span&amp;gt; (&amp;lt;span macro='message views.wikified.createdPrompt'&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span macro='view created date [[DD MMM YYYY]]'&amp;gt;&amp;lt;/span&amp;gt;)&amp;lt;/div&amp;gt;
&amp;lt;div class='tagging' macro='tagging'&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;div class='tagged' macro='tags'&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;div class='viewer' macro='view text wikified'&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;div class='tagClear'&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;div macro=&quot;googleads pub-3518453470182403 5765659226 3380923340 8662219565&quot;&amp;gt;&amp;lt;/div&amp;gt;
&lt;/pre&gt;</description>
<link>yapt.dsland.org#ViewTemplate</link>
<pubDate>Wed, 31 Oct 2007 13:15:58 GMT</pubDate>
</item>
<item>
<title>HaloscanPlugin</title>
<description>&lt;table&gt;&lt;tbody&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Name&lt;/td&gt;&lt;td&gt;HaloscanMacro&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Created by&lt;/td&gt;&lt;td&gt;JimSpeth&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Location&lt;/td&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://end.com/~speth/HaloscanMacro.html&quot; href=&quot;http://end.com/~speth/HaloscanMacro.html&quot; class=&quot;externalLink&quot;&gt;http://end.com/~speth/HaloscanMacro.html&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Version&lt;/td&gt;&lt;td&gt;1.1.0&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Requires&lt;/td&gt;&lt;td&gt;TW2.x&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br&gt;&lt;h1&gt;Description&lt;/h1&gt;Comment and trackback support for TiddlyWiki (via Haloscan).&lt;br&gt;&lt;br&gt;&lt;h1&gt;History&lt;/h1&gt;&lt;ul&gt;&lt;li&gt; 16-Feb-06, version 1.1.0, drastic changes, now uses settings from haloscan account config&lt;/li&gt;&lt;li&gt; 31-Jan-06, version 1.0.1, fixed display of counts for default tiddlers&lt;/li&gt;&lt;li&gt; 30-Jan-06, version 1.0, initial release&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;h1&gt;Examples&lt;/h1&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;th&gt;Source&lt;/th&gt;&lt;th&gt;Output&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;&lt;code&gt;&amp;lt;&amp;lt;haloscan comments&amp;gt;&amp;gt;&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;a errortext=&quot;Error while executing macro &amp;lt;&amp;lt;haloscan&amp;gt;&amp;gt;:
TypeError: story.findContainingTiddler(place) has no properties&quot; class=&quot;errorButton&quot; href=&quot;javascript:;&quot;&gt;Error in macro &amp;lt;&amp;lt;haloscan&amp;gt;&amp;gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;&lt;code&gt;&amp;lt;&amp;lt;haloscan trackbacks&amp;gt;&amp;gt;&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;a errortext=&quot;Error while executing macro &amp;lt;&amp;lt;haloscan&amp;gt;&amp;gt;:
TypeError: story.findContainingTiddler(place) has no properties&quot; class=&quot;errorButton&quot; href=&quot;javascript:;&quot;&gt;Error in macro &amp;lt;&amp;lt;haloscan&amp;gt;&amp;gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br&gt;&lt;h1&gt;Installation&lt;/h1&gt;Register for a &lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.haloscan.com&quot; href=&quot;http://www.haloscan.com&quot; class=&quot;externalLink&quot;&gt;Haloscan&lt;/a&gt; account.  It's free and painless.&lt;br&gt;Install the HaloscanMacro in a new tiddler with a tag of systemConfig (save and reload to activate).&lt;br&gt;In the macro configuration code (below), change &lt;em&gt;YourName&lt;/em&gt; to your Haloscan account name.&lt;br&gt;Use the macro somewhere in a tiddler (see &lt;a tiddlylink=&quot;ViewTemplate&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to #ViewTemplate&quot; href=&quot;#ViewTemplate&quot; class=&quot;externalLink&quot;&gt;ViewTemplate&lt;/a&gt; for an example).&lt;br&gt;&lt;br&gt;&lt;h1&gt;Settings&lt;/h1&gt;You can adjust various options for your account in the member configuration area of Haloscan's web site.  The macro will use these settings when formatting the links.&lt;br&gt;&lt;br&gt;&lt;h1&gt;Code&lt;/h1&gt;&lt;pre&gt;/* change &quot;carsonspost&quot; to your Haloscan account name */
config.macros.haloscan = {account: &quot;illan&quot;, baseURL: &quot;http://www.haloscan.com/load/&quot;};

var haloscanLoaded = 0;
config.macros.haloscan.load = function ()
{
    if (haloscanLoaded == 1)
        return;
    
    account = config.macros.haloscan.account;
    if (!account || (account == &quot;Carsonspost&quot;))
        account = store.getTiddlerText(&quot;SiteTitle&quot;);
    
    var el = document.createElement('script');
    el.language = 'JavaScript'; 
    el.type = 'text/javascript'; 
    el.src = config.macros.haloscan.baseURL   account;
    document.documentElement.childNodes[0].appendChild(el);
    
    haloscanLoaded = 1;
}
config.macros.haloscan.load();

/* this totally clobbers document.write, i hope that's ok */
var safeWrite = function(s)
{
    document.written = s;
    return s;
};
document.write = safeWrite;

config.macros.haloscan.refreshDefaultTiddlers = function ()
{
    var start = store.getTiddlerText(&quot;DefaultTiddlers&quot;);
    if (start)
    {
        var titles = start.readBracketedList();
        for (var t=titles.length-1; t&amp;gt;=0; t--)
            story.refreshTiddler(titles[t], DEFAULT_VIEW_TEMPLATE, 1);
    }
}

var haloscanRefreshed = 0;
config.macros.haloscan.handler = function (place, macroName, params, wikifier, paramString, tiddler)
{
    if (typeof HaloScan == 'undefined')
    {
        if (haloscanRefreshed == 0)
        {
            setTimeout(&quot;config.macros.haloscan.refreshDefaultTiddlers()&quot;, 1);
            haloscanRefreshed = 1;
        }
        return;
    }
    
    var id = story.findContainingTiddler(place).id.substr(7);
    var hs_search = new RegExp('\\W','gi');
    id = id.replace(hs_search,&quot;_&quot;);
    
    account = config.macros.haloscan.account;
    if (!account || (account == &quot;YourName&quot;))
        account = store.getTiddlerText(&quot;SiteTitle&quot;);
    
    var haloscanError = function (msg)
    {
        createTiddlyError(place, config.messages.macroError.format([&quot;HaloscanMacro&quot;]), config.messages.macroErrorDetails.format([&quot;HaloscanMacro&quot;, msg]));
    }
    
    if (params.length == 1)
    {
        if (params[0] == &quot;comments&quot;)
        {
            postCount(id);
            commentsLabel = document.written;
            commentsPrompt = &quot;Comments on this tiddler&quot;;
            var commentsHandler = function(e) { HaloScan(id); return false; };
            var commentsButton = createTiddlyButton(place, commentsLabel, commentsPrompt, commentsHandler);
        }
        else if (params[0] == &quot;trackbacks&quot;)
        {
            postCountTB(id);
            trackbacksLabel = document.written;
            trackbacksPrompt = &quot;Trackbacks for this tiddler&quot;;
            var trackbacksHandler = function(e) { HaloScanTB(id); return false; };
            var trackbackButton = createTiddlyButton(place, trackbacksLabel, trackbacksPrompt, trackbacksHandler);
        }
        else
            haloscanError(&quot;unknown parameter: &quot;   params[0]);
    }
    else if (params.length == 0)
        haloscanError(&quot;missing parameter&quot;);
    else
        haloscanError(&quot;bad parameter count&quot;);
}
&lt;/pre&gt;</description>
<category>systemConfig</category>
<link>yapt.dsland.org#HaloscanPlugin</link>
<pubDate>Fri, 26 Oct 2007 22:30:00 GMT</pubDate>
</item>
<item>
<title>Home</title>
<description>The main goal of yapt is to provide a solution to the endless grow of &lt;a tiddlylink=&quot;TiddliWiki&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to #TiddliWiki&quot; href=&quot;#TiddliWiki&quot; class=&quot;externalLink&quot;&gt;TiddliWiki&lt;/a&gt; archives. For that purpose I implemented an ajax solution that replaced the core mechanism. Mainly because of the need of synchronization during the load of content I added some callbacks and took the decision not to implement that functionality as a plugin since I wanted to load the plugins and the tiddler index asynchronously, using JSON for compactness and simplicity (and prototype):&lt;br&gt;&lt;br&gt;&lt;ul&gt;&lt;li&gt; &lt;a target=&quot;_blank&quot; title=&quot;External link to http://yapt.dsland.org/es/scripts/remote.js&quot; href=&quot;http://yapt.dsland.org/es/scripts/remote.js&quot; class=&quot;externalLink&quot;&gt;http://yapt.dsland.org/es/scripts/remote.js&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a target=&quot;_blank&quot; title=&quot;External link to http://yapt.dsland.org/es/scripts/custom.js&quot; href=&quot;http://yapt.dsland.org/es/scripts/custom.js&quot; class=&quot;externalLink&quot;&gt;http://yapt.dsland.org/es/scripts/custom.js&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a target=&quot;_blank&quot; title=&quot;External link to http://yapt.dsland.org/es/scripts/patch.js&quot; href=&quot;http://yapt.dsland.org/es/scripts/patch.js&quot; class=&quot;externalLink&quot;&gt;http://yapt.dsland.org/es/scripts/patch.js&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;Since the system was not more compatible with legacy TW, and I wanted to explore a more SEO approach, I replaced the store area with a list of links pointing to an alternate view that preloaded the content of the specified tiddler, so It could be directly indexed by bots:&lt;br&gt;&lt;br&gt;&lt;ul&gt;&lt;li&gt; &lt;a target=&quot;_blank&quot; title=&quot;External link to http://yapt.dsland.org/es/view/Home&quot; href=&quot;http://yapt.dsland.org/es/view/Home&quot; class=&quot;externalLink&quot;&gt;http://yapt.dsland.org/es/view/Home&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;Now, with the new release of tw2.2, I'm planning to abandon this project since the new Adaptor interface offers an standardized way to implement lazy load and I'm planning rewrite the &lt;a tiddlylink=&quot;RemoteStore&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to #RemoteStore&quot; href=&quot;#RemoteStore&quot; class=&quot;externalLink&quot;&gt;RemoteStore&lt;/a&gt; I used in this site..&lt;br&gt;&lt;br&gt;The other side effect of this release offers me the stimulus to switch to a new back-end based on &lt;span&gt;&lt;a href=&quot;http://jerd.dsland.org&quot;&gt;JERD&lt;/a&gt;&lt;/span&gt;, a new approach using DWR to implement the RPC layer and a back-end written in our favorite language (of course, if you like &lt;a tiddlylink=&quot;TiddlyWiki&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to #TiddlyWiki&quot; href=&quot;#TiddlyWiki&quot; class=&quot;externalLink&quot;&gt;TiddlyWiki&lt;/a&gt;, you like Javascript) using &lt;a tiddlylink=&quot;Rhino&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to #Rhino&quot; href=&quot;#Rhino&quot; class=&quot;externalLink&quot;&gt;Rhino&lt;/a&gt;.&lt;br&gt;&lt;br&gt;I'm not sure if I will release the code of the yapt back-end despite of the async feature, partly because it would force me to review the code (due to some incommode/shaming security implications) and partly because being written in php, there are other better server-side TW implementations.. (like &lt;a tiddlylink=&quot;MTS&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to #MTS&quot; href=&quot;#MTS&quot; class=&quot;externalLink&quot;&gt;MTS&lt;/a&gt;).&lt;br&gt;&lt;br&gt;&lt;a tiddlylink=&quot;Mail sent to the TiddlyWikiDev Group&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to #Mail sent to the TiddlyWikiDev Group&quot; href=&quot;#Mail sent to the TiddlyWikiDev Group&quot; class=&quot;externalLink&quot;&gt;Mail sent to the TiddlyWikiDev Group&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a errortext=&quot;Error while executing macro &amp;lt;&amp;lt;haloscan&amp;gt;&amp;gt;:
TypeError: story.findContainingTiddler(place) has no properties&quot; class=&quot;errorButton&quot; href=&quot;javascript:;&quot;&gt;Error in macro &amp;lt;&amp;lt;haloscan&amp;gt;&amp;gt;&lt;/a&gt;&lt;br&gt;&lt;hr&gt;&lt;h2&gt; news:&lt;/h2&gt;&lt;br&gt;&lt;ol&gt;&lt;li&gt; &lt;strong&gt;Version 2.2 of TW has been &lt;a target=&quot;_blank&quot; title=&quot;External link to http://trac.tiddlywiki.org/wiki/ReleaseNoteTwoPointTwo&quot; href=&quot;http://trac.tiddlywiki.org/wiki/ReleaseNoteTwoPointTwo&quot; class=&quot;externalLink&quot;&gt;released&lt;/a&gt;...&lt;/strong&gt; with some enhancements in download/import, server Adaptors, replace \n by &amp;lt;pre&amp;gt;, etc...&lt;/li&gt;&lt;li&gt; Some interesting discussions related to the lazy content load implemented in yapt&lt;/li&gt;&lt;/ol&gt;&lt;ul&gt;&lt;li&gt; &lt;a target=&quot;_blank&quot; title=&quot;External link to http://trac.tiddlywiki.org/ticket/209&quot; href=&quot;http://trac.tiddlywiki.org/ticket/209&quot; class=&quot;externalLink&quot;&gt;Ticket 209&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a target=&quot;_blank&quot; title=&quot;External link to  http://groups.google.co.uk/group/TiddlyWikiDev/browse_thread/thread/45bf58ccfeeabc92/f7a415ecd092f503?hl=en&amp;amp;lnk=gst&amp;amp;q=ajax# &quot; href=&quot; http://groups.google.co.uk/group/TiddlyWikiDev/browse_thread/thread/45bf58ccfeeabc92/f7a415ecd092f503?hl=en&amp;amp;lnk=gst&amp;amp;q=ajax# &quot; class=&quot;externalLink&quot;&gt;Discussion on the Dev mail list on specific group dedicated on serverside implementations&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to  http://groups.google.com/group/TiddlyWikiDev/browse_thread/thread/ab28e78c6c9ca320/5ff7566919d63f6a?q=emd&amp;amp;rnum=4#5ff7566919d63f6a&quot; href=&quot; http://groups.google.com/group/TiddlyWikiDev/browse_thread/thread/ab28e78c6c9ca320/5ff7566919d63f6a?q=emd&amp;amp;rnum=4#5ff7566919d63f6a&quot; class=&quot;externalLink&quot;&gt;Meta data &amp;amp; lazy load &lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a target=&quot;_blank&quot; title=&quot;External link to http://tiddlywiki.abego-software.de/&quot; href=&quot;http://tiddlywiki.abego-software.de/&quot; class=&quot;externalLink&quot;&gt;UdoBorkowski's Extensions for TiddlyWiki&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;hr&gt;Following the thread, I've worked at least on three implementations. &lt;br&gt;&lt;br&gt;&lt;ul&gt;&lt;li&gt; A first attempt, using DWR... &lt;/li&gt;&lt;li&gt; The &lt;em&gt;current&lt;/em&gt; implementation on lazy content load:&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;&lt;blockquote&gt;Note: the meta data (&lt;a tiddlylink=&quot;RemoteStore&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to #RemoteStore&quot; href=&quot;#RemoteStore&quot; class=&quot;externalLink&quot;&gt;RemoteStore&lt;/a&gt;.index) is loaded thought JSON &lt;br&gt;I had to take care on the async load of pluggins (that need to be done before rendering&lt;br&gt;Of course: I've tried &lt;strong&gt;several&lt;/strong&gt; &lt;a tiddlylink=&quot;BackButtonFix&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to #BackButtonFix&quot; href=&quot;#BackButtonFix&quot; class=&quot;externalLink&quot;&gt;BackButtonFix&lt;/a&gt;(es) &lt;br&gt;&lt;/blockquote&gt; The relevant code is splitted in separate files:&lt;br&gt;&lt;/blockquote&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to /es/scripts/patch.js&quot; href=&quot;/es/scripts/patch.js&quot; class=&quot;externalLink&quot;&gt;Patches &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to /es/scripts/remote.js&quot; href=&quot;/es/scripts/remote.js&quot; class=&quot;externalLink&quot;&gt; Remote Store &lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;br&gt;&lt;hr&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;&lt;span tiddler=&quot;TabTimeline&quot; refresh=&quot;content&quot;&gt;&lt;ul&gt;&lt;li class=&quot;listTitle&quot;&gt;27 October 2007&lt;/li&gt;&lt;li class=&quot;listLink&quot;&gt;&lt;a tiddlylink=&quot;Home&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;Home - admin, sáb 27 oct 2007 00:29:00 CEST&quot; href=&quot;javascript:;&quot;&gt;Home&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li class=&quot;listTitle&quot;&gt;23 October 2007&lt;/li&gt;&lt;li class=&quot;listLink&quot;&gt;&lt;a tiddlylink=&quot;Mail sent to the TiddlyWikiDev Group&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;Mail sent to the TiddlyWikiDev Group - admin, mar 23 oct 2007 19:14:00 CEST&quot; href=&quot;javascript:;&quot;&gt;Mail sent to the TiddlyWikiDev Group&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li class=&quot;listTitle&quot;&gt;22 October 2007&lt;/li&gt;&lt;li class=&quot;listLink&quot;&gt;&lt;a tiddlylink=&quot;BackButtonFix&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;BackButtonFix - admin, lun 22 oct 2007 19:33:00 CEST&quot; href=&quot;javascript:;&quot;&gt;BackButtonFix&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li class=&quot;listTitle&quot;&gt;16 October 2007&lt;/li&gt;&lt;li class=&quot;listLink&quot;&gt;&lt;a tiddlylink=&quot;Tw Customization&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;Tw Customization - admin, mar 16 oct 2007 18:45:00 CEST&quot; href=&quot;javascript:;&quot;&gt;Tw Customization&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;listLink&quot;&gt;&lt;a tiddlylink=&quot;BugTracker&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;BugTracker - admin, mar 16 oct 2007 18:42:00 CEST&quot; href=&quot;javascript:;&quot;&gt;BugTracker&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;listLink&quot;&gt;&lt;a tiddlylink=&quot;Error-Log audits&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;Error-Log audits - admin, mar 16 oct 2007 18:42:00 CEST&quot; href=&quot;javascript:;&quot;&gt;Error-Log audits&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;listLink&quot;&gt;&lt;a tiddlylink=&quot;Extension Modules&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;Extension Modules - admin, mar 16 oct 2007 18:37:00 CEST&quot; href=&quot;javascript:;&quot;&gt;Extension Modules&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;listLink&quot;&gt;&lt;a tiddlylink=&quot;RemoteStore&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;RemoteStore - admin, mar 16 oct 2007 18:34:00 CEST&quot; href=&quot;javascript:;&quot;&gt;RemoteStore&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li class=&quot;listTitle&quot;&gt;5 September 2007&lt;/li&gt;&lt;li class=&quot;listLink&quot;&gt;&lt;a tiddlylink=&quot;Contacto&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;Contacto - admin, mié 05 sep 2007 14:15:00 CEST&quot; href=&quot;javascript:;&quot;&gt;Contacto&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li class=&quot;listTitle&quot;&gt;19 August 2007&lt;/li&gt;&lt;li class=&quot;listLink&quot;&gt;&lt;a tiddlylink=&quot;Lorem Ipsum&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;Lorem Ipsum - admin, dom 19 ago 2007 14:08:00 CEST&quot; href=&quot;javascript:;&quot;&gt;Lorem Ipsum&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;listLink&quot;&gt;&lt;a tiddlylink=&quot;About&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;About - admin, dom 19 ago 2007 13:58:00 CEST&quot; href=&quot;javascript:;&quot;&gt;About&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;listLink&quot;&gt;&lt;a tiddlylink=&quot;PayPalDonate&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;PayPalDonate - admin, dom 19 ago 2007 13:37:00 CEST&quot; href=&quot;javascript:;&quot;&gt;PayPalDonate&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;listLink&quot;&gt;&lt;a tiddlylink=&quot;Downloads&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;Downloads - admin, dom 19 ago 2007 13:02:00 CEST&quot; href=&quot;javascript:;&quot;&gt;Downloads&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li class=&quot;listTitle&quot;&gt;17 April 2007&lt;/li&gt;&lt;li class=&quot;listLink&quot;&gt;&lt;a tiddlylink=&quot;License&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;License - admin, mar 17 abr 2007 09:04:00 CEST&quot; href=&quot;javascript:;&quot;&gt;License&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span tiddler=&quot;Frontpage&quot; refresh=&quot;content&quot;&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;th colspan=&quot;2&quot;&gt;Staff&lt;/th&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Main Developper:&lt;/td&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://psykal.dsland.org&quot; href=&quot;http://psykal.dsland.org&quot; class=&quot;externalLink&quot;&gt;Illán Palao Gomez&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Tester (i18n integration)&lt;/td&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://abenyusuf.dsland.org&quot; href=&quot;http://abenyusuf.dsland.org&quot; class=&quot;externalLink&quot;&gt;Juan Asis Palao&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;th colspan=&quot;2&quot;&gt;References and related proyects:&lt;/th&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Tiddlywiki&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.tiddlywiki.com&quot; href=&quot;http://www.tiddlywiki.com&quot; class=&quot;externalLink&quot;&gt;http://www.tiddlywiki.com&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Tiddlytools&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.tiddlytools.com&quot; href=&quot;http://www.tiddlytools.com&quot; class=&quot;externalLink&quot;&gt;http://www.tiddlytools.com&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br&gt;&lt;pre&gt;Yapt features:

* Ajax Scripts
* Easy template adaptation
* Single tiddler mode
* Error/Log messages audit
* Admin Pannel
* XHTML validation

&lt;/pre&gt;&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</description>
<category>Error-Log audits</category>
<link>yapt.dsland.org#Home</link>
<pubDate>Fri, 26 Oct 2007 22:29:00 GMT</pubDate>
</item>
<item>
<title>Mail sent to the TiddlyWikiDev Group</title>
<description></description>
<category>jerd</category>
<link>yapt.dsland.org#[[Mail sent to the TiddlyWikiDev Group]]</link>
<pubDate>Tue, 23 Oct 2007 17:14:00 GMT</pubDate>
</item>
<item>
<title>BackButtonFix</title>
<description></description>
<category>doc</category>
<link>yapt.dsland.org#BackButtonFix</link>
<pubDate>Mon, 22 Oct 2007 17:33:00 GMT</pubDate>
</item>
<item>
<title>HoverMenuMacro</title>
<description>&lt;table&gt;&lt;tbody&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Name&lt;/td&gt;&lt;td&gt;HoverMenuPlugin&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Created by&lt;/td&gt;&lt;td&gt;SaqImtiaz&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Location&lt;/td&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://tw.lewcid.org/#HoverMenuPlugin&quot; href=&quot;http://tw.lewcid.org/#HoverMenuPlugin&quot; class=&quot;externalLink&quot;&gt;http://tw.lewcid.org/#HoverMenuPlugin&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Version&lt;/td&gt;&lt;td&gt;1.11&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Requires&lt;/td&gt;&lt;td&gt;TW2.x&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h1&gt;Description:&lt;/h1&gt;Provides a hovering menu on the edge of the screen for commonly used commands, that scrolls with the page.&lt;br&gt;&lt;br&gt;&lt;h1&gt;Demo:&lt;/h1&gt;Observe the hovering menu on the right edge of the screen.&lt;br&gt;&lt;br&gt;&lt;h1&gt;Installation:&lt;/h1&gt;Copy the contents of this tiddler to your TW, tag with systemConfig, save and reload your TW.&lt;br&gt;To customize your &lt;a tiddlylink=&quot;HoverMenu&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to #HoverMenu&quot; href=&quot;#HoverMenu&quot; class=&quot;externalLink&quot;&gt;HoverMenu&lt;/a&gt;, edit the &lt;a tiddlylink=&quot;HoverMenu&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to #HoverMenu&quot; href=&quot;#HoverMenu&quot; class=&quot;externalLink&quot;&gt;HoverMenu&lt;/a&gt; shadow tiddler.&lt;br&gt;&lt;br&gt;To customize whether the menu sticks to the right or left edge of the screen, and its start position, edit the &lt;a tiddlylink=&quot;HoverMenu&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to #HoverMenu&quot; href=&quot;#HoverMenu&quot; class=&quot;externalLink&quot;&gt;HoverMenu&lt;/a&gt; configuration settings part of the code below. It's well documented, so don't be scared!&lt;br&gt;&lt;br&gt;The menu has an id of hoverMenu, in case you want to style the buttons in it using css.&lt;br&gt;&lt;br&gt;&lt;h1&gt;Notes:&lt;/h1&gt;Since the default &lt;a tiddlylink=&quot;HoverMenu&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to #HoverMenu&quot; href=&quot;#HoverMenu&quot; class=&quot;externalLink&quot;&gt;HoverMenu&lt;/a&gt; contains buttons for toggling the side bar and jumping to the top of the screen and to open tiddlers, the ToggleSideBarMacro, JumpMacro and the JumpToTopMacro are included in this tiddler, so you dont need to install them separately. Having them installed separately as well could lead to complications.&lt;br&gt;&lt;br&gt;If you dont intend to use these three macros at all, feel free to remove those sections of code in this tiddler.&lt;br&gt;&lt;br&gt;&lt;h1&gt;To Do:&lt;/h1&gt;&lt;ul&gt;&lt;li&gt; rework code to allow multiple hovering menus in different positions, horizontal etc.&lt;/li&gt;&lt;li&gt; incorporate code for keyboard shortcuts that correspond to the buttons in the hovermenu&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;h1&gt;History:&lt;/h1&gt;&lt;ul&gt;&lt;li&gt;03-08-06, ver 1.1.2: compatibility fix with SelectThemePlugin&lt;/li&gt;&lt;li&gt;03-08-06,  ver 1.11: fixed error with button tooltips&lt;/li&gt;&lt;li&gt;27-07-06, ver 1.1 : added JumpMacro to hoverMenu&lt;/li&gt;&lt;li&gt;23-07-06&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;h1&gt;Code&lt;/h1&gt;&lt;br&gt;start &lt;a tiddlylink=&quot;HoverMenu&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to #HoverMenu&quot; href=&quot;#HoverMenu&quot; class=&quot;externalLink&quot;&gt;HoverMenu&lt;/a&gt; plugin code&lt;br&gt;&lt;pre&gt;config.hoverMenu={};
&lt;/pre&gt;&lt;br&gt;&lt;a tiddlylink=&quot;HoverMenu&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to #HoverMenu&quot; href=&quot;#HoverMenu&quot; class=&quot;externalLink&quot;&gt;HoverMenu&lt;/a&gt; configuration settings&lt;br&gt;&lt;pre&gt;config.hoverMenu.settings={
               align: 'right',    //align menu to right or left side of screen, possible values are 'right' and 'left'               
               x: 1,              // horizontal distance of menu from side of screen, increase to your liking.
               y: 158            //vertical distance of menu from top of screen at start, increase or decrease to your liking
               };
&lt;/pre&gt;&lt;br&gt;&lt;pre&gt;//continue HoverMenu plugin code
config.hoverMenu.handler=function()
{              
               if (!document.getElementById(&quot;hoverMenu&quot;))
               {
               var theMenu = createTiddlyElement(document.getElementById(&quot;contentWrapper&quot;), &quot;div&quot;,&quot;hoverMenu&quot;);
               theMenu.setAttribute(&quot;refresh&quot;,&quot;content&quot;);
               theMenu.setAttribute(&quot;tiddler&quot;,&quot;HoverMenu&quot;);
               var menuContent = store.getTiddlerText(&quot;HoverMenu&quot;);
               wikify(menuContent,theMenu);
              }

	       var Xloc = this.settings.x;
	       Yloc =this.settings.y;
	       var ns = (navigator.appName.indexOf(&quot;Netscape&quot;) != -1);
	       function SetMenu(id)
                        {
		        var GetElements=document.getElementById?document.getElementById(id):document.all?document.all[id]:document.layers[id];
		        if(document.layers)GetElements.style=GetElements;
		        GetElements.sP=function(x,y){this.style[config.hoverMenu.settings.align]=x  &quot;px&quot;;this.style.top=y  &quot;px&quot;;};
		        GetElements.x = Xloc;
		        GetElements.y = findScrollY();
		        GetElements.y  = Yloc;
		        return GetElements;
	                }
               window.LoCate_XY=function()
                        {
		        var pY =  findScrollY();
                        ftlObj.y  = (pY   Yloc - ftlObj.y)/15;
		        ftlObj.sP(ftlObj.x, ftlObj.y);
		        setTimeout(&quot;LoCate_XY()&quot;, 10);
	                }
               ftlObj = SetMenu(&quot;hoverMenu&quot;);
	       LoCate_XY();
};

window.old_lewcid_hovermenu_restart = restart;
restart = function()
{
               window.old_lewcid_hovermenu_restart();
               config.hoverMenu.handler();
};

setStylesheet(
&quot;#hoverMenu .imgLink, #hoverMenu .imgLink:hover {border:none; padding:0px; float:right; margin-bottom:2px; margin-top:0px;}\n&quot; 
&quot;#hoverMenu  .button, #hoverMenu  .tiddlyLink {border:none; font-weight:bold; background:#18f; color:#FFF; padding:0 5px; float:right; margin-bottom:4px;}\n&quot; 
&quot;#hoverMenu .button:hover, #hoverMenu .tiddlyLink:hover {font-weight:bold; border:none; color:#fff; background:#000; padding:0 5px; float:right; margin-bottom:4px;}\n&quot; 
&quot;#hoverMenu .button {width:100%; text-align:center}&quot; 
&quot;#hoverMenu { position:absolute; width:7px;}\n&quot; 
&quot;\n&quot;,&quot;hoverMenuStyles&quot;);


config.macros.renameButton={};
config.macros.renameButton.handler = function(place,macroName,params,wikifier,paramString,tiddler)
{

               if (place.lastChild.tagName!=&quot;BR&quot;)
                     {
                      place.lastChild.firstChild.data = params[0];
                      if (params[1]) {place.lastChild.title = params[1];}
                     }
};

config.shadowTiddlers[&quot;HoverMenu&quot;]=&quot;&amp;lt;&amp;lt;top&amp;gt;&amp;gt;\n&amp;lt;&amp;lt;toggleSideBar&amp;gt;&amp;gt;&amp;lt;&amp;lt;renameButton '&amp;gt;' &amp;gt;&amp;gt;\n&amp;lt;&amp;lt;jump j '' top&amp;gt;&amp;gt;\n&amp;lt;&amp;lt;saveChanges&amp;gt;&amp;gt;&amp;lt;&amp;lt;renameButton s 'Save TiddlyWiki'&amp;gt;&amp;gt;\n&amp;lt;&amp;lt;newTiddler&amp;gt;&amp;gt;&amp;lt;&amp;lt;renameButton n&amp;gt;&amp;gt;\n&quot;;
&lt;/pre&gt;&lt;em&gt;end &lt;a tiddlylink=&quot;HoverMenu&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to #HoverMenu&quot; href=&quot;#HoverMenu&quot; class=&quot;externalLink&quot;&gt;HoverMenu&lt;/a&gt; plugin code&lt;br&gt;&lt;br&gt;&lt;/em&gt;Start ToggleSideBarMacro code&lt;br&gt;&lt;pre&gt;config.macros.toggleSideBar={};

config.macros.toggleSideBar.settings={
         styleHide :  &quot;#sidebar { display: none;}\n&quot; &quot;#contentWrapper #displayArea { margin-right: 1em;}\n&quot; &quot;&quot;,
         styleShow : &quot; &quot;,
         arrow1: &quot;«&quot;,
         arrow2: &quot;»&quot;
};

config.macros.toggleSideBar.handler=function (place,macroName,params,wikifier,paramString,tiddler)
{
          var tooltip= params[1]||'toggle sidebar';
          var mode = (params[2] &amp;amp;&amp;amp; params[2]==&quot;hide&quot;)? &quot;hide&quot;:&quot;show&quot;;
          var arrow = (mode == &quot;hide&quot;)? this.settings.arrow1:this.settings.arrow2;
          var label= (params[0]&amp;amp;&amp;amp;params[0]!='.')?params[0] &quot; &quot; arrow:arrow;
          var theBtn = createTiddlyButton(place,label,tooltip,this.onToggleSideBar,&quot;button HideSideBarButton&quot;);
          if (mode == &quot;hide&quot;)
             { 
             (document.getElementById(&quot;sidebar&quot;)).setAttribute(&quot;toggle&quot;,&quot;hide&quot;);
              setStylesheet(this.settings.styleHide,&quot;ToggleSideBarStyles&quot;);
             }
};

config.macros.toggleSideBar.onToggleSideBar = function(){
          var sidebar = document.getElementById(&quot;sidebar&quot;);
          var settings = config.macros.toggleSideBar.settings;
          if (sidebar.getAttribute(&quot;toggle&quot;)=='hide')
             {
              setStylesheet(settings.styleShow,&quot;ToggleSideBarStyles&quot;);
              sidebar.setAttribute(&quot;toggle&quot;,&quot;show&quot;);
              this.firstChild.data= (this.firstChild.data).replace(settings.arrow1,settings.arrow2);
              }
          else
              {    
               setStylesheet(settings.styleHide,&quot;ToggleSideBarStyles&quot;);
               sidebar.setAttribute(&quot;toggle&quot;,&quot;hide&quot;);
               this.firstChild.data= (this.firstChild.data).replace(settings.arrow2,settings.arrow1);
              }

     return false;
}

setStylesheet(&quot;.HideSideBarButton .button {font-weight:bold; padding: 0 5px;}\n&quot;,&quot;ToggleSideBarButtonStyles&quot;);
&lt;/pre&gt;&lt;em&gt;end ToggleSideBarMacro code&lt;br&gt;&lt;br&gt;&lt;/em&gt;start JumpToTopMacro code&lt;br&gt;&lt;pre&gt;config.macros.top={};
config.macros.top.handler=function(place,macroName)
{
               createTiddlyButton(place,&quot;^&quot;,&quot;jump to top&quot;,this.onclick);
}
config.macros.top.onclick=function()
{
               window.scrollTo(0,0);
};

config.commands.top =
{
               text:&quot; ^ &quot;,
               tooltip:&quot;jump to top&quot;
};

config.commands.top.handler = function(event,src,title)
{
               window.scrollTo(0,0);
}
&lt;/pre&gt;&lt;em&gt;end JumpToStartMacro code&lt;br&gt;&lt;br&gt;&lt;/em&gt;start JumpMacro code&lt;br&gt;&lt;pre&gt;config.macros.jump= {};
config.macros.jump.handler = function (place,macroName,params,wikifier,paramString,tiddler)
{
        var label = (params[0] &amp;amp;&amp;amp; params[0]!=&quot;.&quot;)? params[0]: 'jump';
        var tooltip = (params[1] &amp;amp;&amp;amp; params[1]!=&quot;.&quot;)? params[1]: 'jump to an open tiddler';
        var top = (params[2] &amp;amp;&amp;amp; params[2]=='top') ? true: false;        

        var btn =createTiddlyButton(place,label,tooltip,this.onclick);
        if (top==true)
              btn.setAttribute(&quot;top&quot;,&quot;true&quot;)
}

config.macros.jump.onclick = function(e)
{
        if (!e) var e = window.event;
        var theTarget = resolveTarget(e);
        var top = theTarget.getAttribute(&quot;top&quot;);
	var popup = Popup.create(this);
	if(popup)
		{
                 if(top==&quot;true&quot;)
                                {createTiddlyButton(createTiddlyElement(popup,&quot;li&quot;),'Top ↑','Top of TW',config.macros.jump.top);
                                 createTiddlyElement(popup,&quot;hr&quot;);}
		
		story.forEachTiddler(function(title,element) {
			createTiddlyLink(createTiddlyElement(popup,&quot;li&quot;),title,true);
			});
                }
	Popup.show(popup,false);
	e.cancelBubble = true;
	if (e.stopPropagation) e.stopPropagation();
	return false;
}

config.macros.jump.top = function()
{
       window.scrollTo(0,0);
}
&lt;/pre&gt;&lt;em&gt;end JumpMacro code&lt;br&gt;&lt;br&gt;&lt;/em&gt;utility functions&lt;br&gt;&lt;pre&gt;Popup.show = function(unused,slowly)
{
	var curr = Popup.stack[Popup.stack.length-1];
	var rootLeft = findPosX(curr.root);
	var rootTop = findPosY(curr.root);
	var rootHeight = curr.root.offsetHeight;
	var popupLeft = rootLeft;
	var popupTop = rootTop   rootHeight;
	var popupWidth = curr.popup.offsetWidth;
	var winWidth = findWindowWidth();
        if (isChild(curr.root,'hoverMenu'))
              var x = config.hoverMenu.settings.x;
        else
              var x = 0;
	if(popupLeft   popupWidth x &amp;gt; winWidth)
		popupLeft = winWidth - popupWidth -x;
        if (isChild(curr.root,'hoverMenu'))
  	        {curr.popup.style.right = x   &quot;px&quot;;}
        else
                curr.popup.style.left = popupLeft   &quot;px&quot;;
	curr.popup.style.top = popupTop   &quot;px&quot;;
	curr.popup.style.display = &quot;block&quot;;
	addClass(curr.root,&quot;highlight&quot;);
	if(config.options.chkAnimate)
		anim.startAnimating(new Scroller(curr.popup,slowly));
	else
		window.scrollTo(0,ensureVisible(curr.popup));
}

window.isChild = function(e,parentId) {
        while (e != null) {
                var parent = document.getElementById(parentId);
                if (parent == e) return true;
                e = e.parentNode;
                }
        return false;
};
&lt;/pre&gt;&lt;br&gt;&lt;br&gt;</description>
<category>systemConfig</category>
<link>yapt.dsland.org#HoverMenuMacro</link>
<pubDate>Mon, 22 Oct 2007 15:51:00 GMT</pubDate>
</item>
<item>
<title>NavigationMacro</title>
<description>&lt;br&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Name&lt;/td&gt;&lt;td&gt;NavigationMacro&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Created by&lt;/td&gt;&lt;td&gt;SaqImtiaz&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Location&lt;/td&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://tw.lewcid.org/#NavigationMacro&quot; href=&quot;http://tw.lewcid.org/#NavigationMacro&quot; class=&quot;externalLink&quot;&gt;http://tw.lewcid.org/#NavigationMacro&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Version&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;0.3&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Requires&lt;/td&gt;&lt;td&gt;TW2.08 &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h1&gt;Description:&lt;/h1&gt;&lt;ul&gt;&lt;li&gt;Creates Next and Prev buttons on tiddlers, to cycle through tiddlers in order.&lt;/li&gt;&lt;ul&gt;&lt;li&gt;you can create next and previous buttons to navigate through your journals, or the tiddlers of a tutorial.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;You can exclude certain tiddlers, or navigate through tiddlers with a specific tag only.&lt;/li&gt;&lt;li&gt;The tiddlers can be sorted by modified or created.&lt;/li&gt;&lt;li&gt;Custom ordering will be available after the release of TW 2.1&lt;/li&gt;&lt;li&gt;Needs to be added to the &lt;a tiddlylink=&quot;ViewTemplate&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to #ViewTemplate&quot; href=&quot;#ViewTemplate&quot; class=&quot;externalLink&quot;&gt;ViewTemplate&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Buttons are updated dynamically and are hidden if there is no next or previous tiddler.&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;h1&gt;Usage&lt;/h1&gt;&lt;code&gt;&amp;lt;&amp;lt;navigation&amp;gt;&amp;gt;&lt;/code&gt;&lt;br&gt;or for more options:&lt;br&gt;&lt;code&gt;&amp;lt;&amp;lt;navigation sort exclude tag labelPrevious labelNext &amp;gt;&amp;gt;&lt;/code&gt;&lt;br&gt;where sort is &lt;strong&gt;created&lt;/strong&gt; (default) or &lt;strong&gt;modified&lt;/strong&gt;&lt;br&gt;exlcude is the tag to exclude.&lt;br&gt;tag is the tag to navigate through.&lt;br&gt;labelPrevious is the label for the previous button.&lt;br&gt;labelNext is the label for the next button. &lt;br&gt;&lt;br&gt;I recommend adding it to the &lt;a tiddlylink=&quot;ViewTemplate&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to #ViewTemplate&quot; href=&quot;#ViewTemplate&quot; class=&quot;externalLink&quot;&gt;ViewTemplate&lt;/a&gt; in the viewer div:&lt;br&gt;&lt;code&gt;&amp;lt;div class='viewer'&amp;gt;
&amp;lt;span macro='view text wikified'&amp;gt;&amp;lt;/span&amp;gt;
&amp;lt;span macro='navigation &quot;&quot; &quot;&quot; plugin'&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;/code&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;h1&gt;Example:&lt;/h1&gt;The next and previous buttons at the bottom of this tiddler will cycle through all of my extensions for TW.&lt;br&gt;&lt;h1&gt;History&lt;/h1&gt;&lt;ul&gt;&lt;li&gt; 25-06-06 : version 0.3, first release&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;h1&gt;Code&lt;/h1&gt;&lt;pre&gt;window.refreshNavLink = function (e) {
             var title = e.getAttribute(&quot;here&quot;);
             var sort = e.getAttribute(&quot;sort&quot;);
             var exclude =  e.getAttribute(&quot;exclude&quot;);
             if (e.getAttribute(&quot;tag&quot;)!=undefined) var tag = e.getAttribute(&quot;tag&quot;);
             var navtype = e.getAttribute(&quot;navtype&quot;);
              if (tag) {var tiddlers = store.getTaggedTiddlers(tag,sort);}
              else {var tiddlers = store.getTiddlers(sort,exclude);}
              for (var g=0; g&amp;lt;tiddlers.length; g  )
                  {if (title==tiddlers[g].title)
                       {if(navtype==&quot;next&quot; &amp;amp;&amp;amp; !tiddlers[g 1])                             
                             e.className  = &quot; navNonExisting&quot;
                        else if (navtype==&quot;prev&quot; &amp;amp;&amp;amp; !tiddlers[g-1])
                             e.className  = &quot; navNonExisting&quot;
                        else e.className = &quot;button&quot;;}
                  }
}


config.refreshers.navLink = function(e,changeList){         
             refreshNavLink(e);
} 



config.macros.navigation={};
config.macros.navigation.handler = function(place,macroName,params,wikifier,paramString,tiddler){

          var sort = (params[0] &amp;amp;&amp;amp; params[0]!=&quot;.&quot;)? params[0]: &quot;created&quot;;
          var exclude =(params[1] &amp;amp;&amp;amp; params[1]!=&quot;.&quot;)? params[1]: undefined;
          if (params[2])
                {var tag= params[2];
                 if(tiddler.tags.contains(tag)==false)
                 return false;
                }
          var labelPrev = params[3] ? params[3] : &quot;Previous&quot;;
          var labelNext = params[4] ? params[4] : &quot;Next&quot;;

          var next = function(e){
              if (!e) var e=window.event;
              var theTarget = resolveTarget(e);
              var navtype = theTarget.getAttribute(&quot;navtype&quot;);
              if (tag) {var tiddlers = store.getTaggedTiddlers(tag,sort);}
              else {var tiddlers = store.getTiddlers(sort,exclude);}
              for (var g=0; g&amp;lt;tiddlers.length; g  )
                  {if (tiddler.title==tiddlers[g].title)
                        {if (navtype == &quot;next&quot;)
                            story.displayTiddler(theTarget,tiddlers[g 1].title)
                        else if (navtype == &quot;prev&quot;)
                            story.displayTiddler(theTarget,tiddlers[g-1].title)}
                  }
              }

     var createNavBtn = function(text,theId,mode){
         var nextBtn = createTiddlyButton(place,text,text,next,null,theId);
         nextBtn.setAttribute(&quot;refresh&quot;,&quot;navLink&quot;);
         nextBtn.setAttribute(&quot;here&quot;,tiddler.title);
         nextBtn.setAttribute(&quot;sort&quot;,sort);
         nextBtn.setAttribute(&quot;exclude&quot;,exclude);
         nextBtn.setAttribute(&quot;navtype&quot;,mode);
         if (tag) nextBtn.setAttribute(&quot;tag&quot;,tag);
         refreshNavLink(nextBtn);
         }
    createNavBtn(labelNext &quot; ►&quot;,&quot;NavNext&quot;,&quot;next&quot;);
    createNavBtn(&quot;◄ &quot; labelPrev,&quot;NavPrevious&quot;,&quot;prev&quot;);

}

setStylesheet(
&quot;#NavNext {float:right;}\n&quot; 
&quot;#NavPrevious {float:left;}\n&quot; 
&quot;.navNonExisting {display:none;}\n&quot; 
 &quot;&quot;,
&quot;NavMacroStyles&quot;);
&lt;/pre&gt;</description>
<category>systemConfig</category>
<link>yapt.dsland.org#NavigationMacro</link>
<pubDate>Mon, 22 Oct 2007 15:48:00 GMT</pubDate>
</item>
<item>
<title>TagsMacro</title>
<description>&lt;table&gt;&lt;tbody&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td align=&quot;right&quot;&gt;Name:&lt;/td&gt;&lt;td&gt;&lt;strong&gt;monkeyTagger&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td align=&quot;right&quot;&gt;Created by:&lt;/td&gt;&lt;td&gt;SaqImtiaz&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td align=&quot;right&quot;&gt;Location:&lt;/td&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://tw.lewcid.org/&quot; href=&quot;http://tw.lewcid.org/&quot; class=&quot;externalLink&quot;&gt;http://tw.lewcid.org/&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td align=&quot;right&quot;&gt;Version:&lt;/td&gt;&lt;td&gt;0.9 (08-Apr-2006)&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td align=&quot;right&quot;&gt;Requires:&lt;/td&gt;&lt;td&gt;TW2.07&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br&gt;&lt;h1&gt;About:&lt;/h1&gt;&lt;ul&gt;&lt;li&gt;an adaptation of TagAdderMacro for monkeyGTD and tagglytagging user, but could be useful to just about anyone!&lt;/li&gt;&lt;li&gt;&lt;code&gt;&amp;lt;&amp;lt;monkeyTagger Project&amp;gt;&amp;gt;&lt;/code&gt; gives a drop down list of all tags, tagged with Project.&lt;/li&gt;&lt;li&gt;The list allows toggling of tags on the current tiddler.&lt;/li&gt;&lt;li&gt;logging options for task management.&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;h1&gt;Demo:&lt;/h1&gt;&lt;span class=&quot;monkeytaggerbutton&quot;&gt;&lt;a class=&quot;button&quot; title=&quot;Status :&quot; href=&quot;javascript:;&quot;&gt;Status: ▼&lt;/a&gt;&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;h1&gt;Installation:&lt;/h1&gt;&lt;ul&gt;&lt;li&gt;Copy this tiddler to your TW with the systemConfig tag&lt;/li&gt;&lt;li&gt;either copy the following to your &lt;a tiddlylink=&quot;ViewTemplate&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to #ViewTemplate&quot; href=&quot;#ViewTemplate&quot; class=&quot;externalLink&quot;&gt;ViewTemplate&lt;/a&gt;:&lt;/li&gt;&lt;/ul&gt;&lt;code&gt;&amp;lt;div class='tagged' macro='monkeyTagger tagToTrack'&amp;gt;&amp;lt;/div&amp;gt;&lt;/code&gt;&lt;br&gt;or&lt;br&gt;&lt;ul&gt;&lt;li&gt;better yet, define your own toolbar class and add as many as you need to create a nice toolbar.&lt;/li&gt;&lt;/ul&gt;Eg:&lt;br&gt;&lt;code&gt;&amp;lt;div class='toolbar' &amp;gt;
&amp;lt;span style=&quot;padding-right:0.15em;&quot; macro='monkeyTagger Project'&amp;gt;&amp;lt;/span&amp;gt;
&amp;lt;span style=&quot;padding-right:0.15em;&quot; macro='monkeyTagger Status'&amp;gt;&amp;lt;/span&amp;gt;
&amp;lt;span macro='toolbar -closeTiddler closeOthers  editTiddler permalink references jump'&amp;gt;&amp;lt;/span&amp;gt;
&amp;lt;/div&amp;gt;&lt;/code&gt;&lt;br&gt; (adjust padding to taste)&lt;br&gt;&lt;br&gt;&lt;h1&gt;Usage:&lt;/h1&gt;&lt;br&gt;&lt;strong&gt;Syntax:&lt;/strong&gt;&lt;br&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td colspan=&quot;2&quot;&gt;&lt;code&gt;&amp;lt;&amp;lt;monkeyTagger source:&quot;sourcetag&quot; label:&quot;customlabel&quot; logging:&quot;true/false&quot; anchor:&quot;anchortext&quot;  arrow:&quot;true/false&quot;&amp;gt;&amp;gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;label:&lt;/td&gt;&lt;td&gt;quoted text to use as a customlabel&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;arrow:&lt;/td&gt;&lt;td&gt;add arrow to custom label, values are &quot;true&quot; or &quot;false&quot;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;anchor:&lt;/td&gt;&lt;td&gt;quoted text to specify where to add logging text&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;logging:&lt;/td&gt;&lt;td&gt;enable logging of tags added (for task management), values are &quot;true&quot; or &quot;false&quot;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br&gt;the only parameter you &lt;strong&gt;have&lt;/strong&gt; to pass is the source. When passing only one parameter, you can write either something like:&lt;br&gt;&lt;code&gt;&amp;lt;&amp;lt;monkeyTagger &quot;Project&quot;&amp;gt;&amp;gt;&lt;/code&gt; or &lt;code&gt;&amp;lt;&amp;lt;monkeyTagger source:&quot;Project&quot;&amp;gt;&amp;gt;&lt;/code&gt; for &lt;span class=&quot;monkeytaggerbutton&quot;&gt;&lt;a class=&quot;button&quot; title=&quot;Project :&quot; href=&quot;javascript:;&quot;&gt;Project: ▼&lt;/a&gt;&lt;/span&gt;&lt;br&gt;All other parameters are optional, and can be written in any order.&lt;br&gt;&lt;br&gt;&lt;strong&gt;Defaults:&lt;/strong&gt;&lt;br&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;label:&lt;/td&gt;&lt;td&gt;default label if not specified = source tag   arrow&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;arrow:&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;true&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;logging:&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;false&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;anchor:&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;none used by default, logging text added to end of tiddler&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br&gt;&lt;strong&gt;Examples:&lt;/strong&gt;&lt;br&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;custom label&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;code&gt;&amp;lt;&amp;lt;monkeyTagger source:&quot;Project&quot; label:&quot;customlabel&quot;&amp;gt;&amp;gt;&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;span class=&quot;monkeytaggerbutton&quot;&gt;&lt;a class=&quot;button&quot; title=&quot;Project :&quot; href=&quot;javascript:;&quot;&gt;customlabel: ▼&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;custom label without arrow&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;code&gt;&amp;lt;&amp;lt;monkeyTagger source:&quot;Project&quot; label:&quot;customlabel&quot; arrow:&quot;false&quot;&amp;gt;&amp;gt;&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;span class=&quot;monkeytaggerbutton&quot;&gt;&lt;a class=&quot;button&quot; title=&quot;Project :&quot; href=&quot;javascript:;&quot;&gt;customlabel: &lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;logging enabled&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;code&gt;&amp;lt;&amp;lt;monkeyTagger source:&quot;Project&quot; logging:&quot;true&quot;&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;span class=&quot;monkeytaggerbutton&quot;&gt;&lt;a class=&quot;button&quot; title=&quot;Project :&quot; href=&quot;javascript:;&quot;&gt;Project: ▼&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;logging enabled with anchor text&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;code&gt;&amp;lt;&amp;lt;monkeyTagger source:&quot;Project&quot; logging:&quot;true&quot; anchor:&quot;anchortext&quot;&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;span class=&quot;monkeytaggerbutton&quot;&gt;&lt;a class=&quot;button&quot; title=&quot;Project :&quot; href=&quot;javascript:;&quot;&gt;Project: ▼&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br&gt;&lt;strong&gt;Tips:&lt;/strong&gt;&lt;br&gt;&lt;ul&gt;&lt;li&gt;Make sure your anchor text doesn't occur more than once in every tiddler, as the first instance will be used.&lt;/li&gt;&lt;li&gt;I recommend using something like &lt;code&gt;/%StatusLog%/&lt;/code&gt; as an invisible anchor.&lt;/li&gt;&lt;li&gt;Use a tag based template, and add monkeyTagger macro's with logging enabled to the toolbar in just your taskmanagement templates.&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;h1&gt;To Do:&lt;/h1&gt;&lt;ul&gt;&lt;li&gt;add sorting options if requested.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;add exclude tag feature&lt;/strong&gt;!&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;h1&gt;History&lt;/h1&gt;&lt;ul&gt;&lt;li&gt;Version 0.9: &lt;/li&gt;&lt;ul&gt;&lt;li&gt;changed to named parameters to make it more user friendly&lt;/li&gt;&lt;li&gt;added option to disable/enable dropdown arrow in custom labels&lt;/li&gt;&lt;li&gt;added logging option with anchor text.&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;br&gt;&lt;h1&gt;CODE&lt;/h1&gt;&lt;pre&gt;config.macros.monkeyTagger= {};
//config.macros.monkeyTagger.dropdownchar = (document.all?&quot;▼&quot;:&quot;▾&quot;); // the fat one is the only one that works in IE
config.macros.monkeyTagger.dropdownchar = &quot;▼&quot;; // uncomment previous line and comment this for smaller version in FF
config.macros.monkeyTagger.handler = function(place,macroName,params,wikifier,paramString,tiddler)
{
 var nAV = paramString.parseParams('test', null, true);

 if ((nAV[0].arrow)&amp;amp;&amp;amp;(nAV[0].arrow[0])=='false')
    var arrow=': ';
 else
     var arrow=': '  config.macros.monkeyTagger.dropdownchar;

 if((nAV[0].source)&amp;amp;&amp;amp;(nAV[0].source[0])!='.')
        {var tagToTrack = nAV[0].source[0]}
 else if(params[0]&amp;amp;&amp;amp;(params[0]!='.'))
      {var tagToTrack = params[0]}
 else
       {return false;};
 var monkeylabel = ((nAV[0].label)&amp;amp;&amp;amp;(nAV[0].label[0])!='.')?nAV[0].label[0] arrow: tagToTrack arrow;
 var logmode = ((nAV[0].logging)&amp;amp;&amp;amp;(nAV[0].logging[0])!='.')?nAV[0].logging[0]: &quot;false&quot;;
 if ((nAV[0].anchor)&amp;amp;&amp;amp;(nAV[0].anchor[0])!='.')
    var anchor = nAV[0].anchor[0];
 var monkeytooltip=tagToTrack   ' :';


     if(tiddler instanceof Tiddler)
                {var title = tiddler.title;
                
                var addcomment = function(tiddler,newTag){
                    var now = new Date();
                    var timeFormat= 'DD/0MM/YY 0hh:0mm';
                    var formattednow= now.formatString(timeFormat);
                    var txt=&quot;\n*''&quot; tagToTrack &quot;'' set as ''&quot; newTag &quot;'' on &quot; formattednow;
                    if (anchor &amp;amp;&amp;amp; anchor!='.')
                       {var pos=tiddler.text.indexOf(anchor);
                       if (pos!=-1) {pos=pos   anchor.length}
                       else if (pos==-1) {pos=tiddler.text.length}}
                    else if (!anchor){var pos = tiddler.text.length;};

                    tiddler.set(null,tiddler.text.substr(0,pos) txt tiddler.text.substr(pos));
                    story.refreshTiddler(tiddler.title,null,true);
                    return false;
}

                var ontagclick = function(e) {
                    if (!e) var e = window.event;
                    var tag = this.getAttribute(&quot;tag&quot;);
                    var t=store.getTiddler(title);
                    if (!t || !t.tags) return;
                    if (t.tags.find(tag)==null)
                       {t.tags.push(tag)
                         if (logmode==&quot;true&quot;){addcomment(t,tag);}}
                    else
                        {t.tags.splice(t.tags.find(tag),1)};
                    story.saveTiddler(title);
                    story.refreshTiddler(title,null,true);
                    return false;
                    };
                var onclick = function(e) {
                    if (!e) var e = window.event;
                    var popup = Popup.create(this);
                    var thistiddler=store.getTiddler(title);

                    var taggedarray = new Array();
                    var tagslabel = new Array();

                    var taggedtiddlers = store.getTaggedTiddlers(tagToTrack);
                    for (var t=0; t&amp;lt;taggedtiddlers.length; t  ){
                        var taggedtitle= ((taggedtiddlers[t]).title);
                        taggedarray.push(taggedtitle);}

                    for (var t=0; t&amp;lt;taggedarray.length; t  ){
                        var temptag = taggedarray[t];
                        if (thistiddler.tags.find(temptag)==null)
                           {var temptag='[ ] '  temptag;
                           tagslabel.push(temptag);}
                        else
                            {var temptag ='[x] '  temptag;
                            tagslabel.push(temptag);}
                            }

                   if(tagslabel.length == 0)
                          createTiddlyText(createTiddlyElement(popup,&quot;li&quot;),('no ' tagToTrack));
                          for (var t=0; t&amp;lt;tagslabel.length; t  )
                          {
                          var theTag = createTiddlyButton(createTiddlyElement(popup,&quot;li&quot;),tagslabel[t],(&quot;toggle '&quot;  ([taggedarray[t]])) &quot;'&quot;,ontagclick);
                          theTag.setAttribute(&quot;tag&quot;,taggedarray[t]);
                          }
       Popup.show(popup,false);
       e.cancelBubble = true;
       if (e.stopPropagation) e.stopPropagation();
       return(false);
};
 //createTiddlyButton(place,monkeylabel,monkeylabel,onclick);

var createdropperButton = function(place){
var sp = createTiddlyElement(place,&quot;span&quot;,null,&quot;monkeytaggerbutton&quot;);
var theDropDownBtn = createTiddlyButton(sp,monkeylabel,monkeytooltip,onclick);
};

createdropperButton(place);
 }
};
setStylesheet(
 &quot;.toolbar .monkeytaggerbutton {margin-right:0em; border:0px solid #fff; padding:0px; padding-right:0px; padding-left:0px;}\n&quot; 
 &quot;.monkeytaggerbutton a.button {padding:2px; padding-left:2px; padding-right:2px;}\n&quot; 
// &quot;.monkeytaggerbutton {font-size:130%;}\n&quot; 
//&quot;.monkeytaggerbutton .button {color:#703;}\n&quot; 
 &quot;&quot;,
&quot;MonkeyTaggerStyles&quot;);
&lt;/pre&gt;</description>
<category>systemConfig</category>
<link>yapt.dsland.org#TagsMacro</link>
<pubDate>Mon, 22 Oct 2007 15:45:00 GMT</pubDate>
</item>
<item>
<title>Tw Customization</title>
<description></description>
<category>todo</category>
<category>doc</category>
<link>yapt.dsland.org#[[Tw Customization]]</link>
<pubDate>Tue, 16 Oct 2007 16:45:00 GMT</pubDate>
</item>
<item>
<title>BugTracker</title>
<description></description>
<category>todo</category>
<link>yapt.dsland.org#BugTracker</link>
<pubDate>Tue, 16 Oct 2007 16:42:00 GMT</pubDate>
</item>
</channel>
</rss>