<?xml version="1.0"?>
<rss version="2.0">
<channel>
<title>Climate Change 2.0 | plugins</title>
<link>http://www.climate-change-two.net/</link>
<description>yiddlywiki plugins only</description>
<language>en-us</language>
<copyright>Copyright 2007 Webster</copyright>
<pubDate>Sat, 22 Sep 2007 21:52:21 GMT</pubDate>
<lastBuildDate>Sat, 22 Sep 2007 21:52:21 GMT</lastBuildDate>
<docs>http://blogs.law.harvard.edu/tech/rss</docs>
<generator>TiddlyWiki 2.2.5</generator>
<item>
<title>MonkeyTaggerMacro</title>
<description>&lt;table class=&quot;twtable&quot;&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://lewcid.googlepages.com/lewcid.html&quot; href=&quot;http://lewcid.googlepages.com/lewcid.html&quot; class=&quot;externalLink&quot;&gt;http://lewcid.googlepages.com/lewcid.html&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 http://www.climate-change-two.net/#ViewTemplate&quot; href=&quot;http://www.climate-change-two.net/#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 class=&quot;twtable&quot;&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 class=&quot;twtable&quot;&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 class=&quot;twtable&quot;&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;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;/li&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>lewcidExtension</category>
<category>systemConfig</category>
<category>excludeLists</category>
<category>3rd party plugin</category>
<link>http://www.climate-change-two.net/#MonkeyTaggerMacro</link>
<pubDate>Tue, 26 Dec 2006 16:55:00 GMT</pubDate>
</item>
<item>
<title>Better timeline plugin macro</title>
<description>&lt;table class=&quot;twtable&quot;&gt;&lt;thead&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Name&lt;/td&gt;&lt;td&gt;&lt;strong&gt;timeline&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Author&lt;/td&gt;&lt;td&gt;&lt;a tiddlylink=&quot;Saq Imtiaz&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.climate-change-two.net/#Saq Imtiaz&quot; href=&quot;http://www.climate-change-two.net/#Saq%20Imtiaz&quot; class=&quot;externalLink&quot;&gt;Saq Imtiaz&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Version&lt;/td&gt;&lt;td&gt;0.5 bet&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Description&lt;/td&gt;&lt;td&gt;A replacement for the core timeline macro that offers more features&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Source&lt;/td&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://lewcid.googlepages.com/lewcid.html#BetterTimelineMacro&quot; href=&quot;http://lewcid.googlepages.com/lewcid.html#BetterTimelineMacro&quot; class=&quot;externalLink&quot;&gt;http://lewcid.googlepages.com/lewcid.html#BetterTimelineMacro&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;TW Version&lt;/td&gt;&lt;td&gt;2.x&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h3&gt;Features:&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;list tiddlers with only specific tag&lt;/li&gt;&lt;li&gt;exclude tiddlers with a particular tag&lt;/li&gt;&lt;li&gt;limit entries to any number of days, for example one week&lt;/li&gt;&lt;li&gt;specify a start date for the timeline, only tiddlers after that date will be listed.&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;h3&gt;Installation:&lt;/h3&gt;Copy the contents of this tiddler to your TW, tag with systemConfig, save and reload your TW.&lt;br&gt;&lt;br&gt;&lt;h3&gt;Syntax:&lt;/h3&gt;&lt;code&gt;&amp;lt;&amp;lt;timeline better:true&amp;gt;&amp;gt;&lt;/code&gt;&lt;br&gt;&lt;strong&gt;the param &lt;a target=&quot;_blank&quot; title=&quot;External link to better:true&quot; href=&quot;better:true&quot; class=&quot;externalLink&quot;&gt;better:true&lt;/a&gt; enables the advanced features, without it you will get the old timeline behaviour.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;additonal params:&lt;br&gt;(use only the ones you want)&lt;br&gt;&lt;code&gt;&amp;lt;&amp;lt;timeline better:true  onlyTag:Tag1 excludeTag:Tag2 sortBy:modified/created firstDay:YYYYMMDD maxDays:7 maxEntries:30&amp;gt;&amp;gt;&lt;/code&gt;&lt;br&gt;&lt;br&gt;&lt;strong&gt;explanation of syntax:&lt;/strong&gt;&lt;br&gt;onlyTag: only tiddlers with this tag will be listed. Default is to list all tiddlers.&lt;br&gt;excludeTag: tiddlers with this tag will not be listed.&lt;br&gt;sortBy: sort tiddlers by date modified or date created. Possible values are modified or created.&lt;br&gt;firstDay: useful for starting timeline from a specific date. Example: 20060701 for 1st of July, 2006&lt;br&gt;maxDays: limits timeline to include only tiddlers from the specified number of days. If you use a value of 7 for example, only tiddlers from the last 7 days will be listed.&lt;br&gt;maxEntries: limit the total number of entries in the timeline.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;h3&gt;History:&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;28-07-06: ver 0.5 beta, first release&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;h3&gt;Code&lt;/h3&gt;&lt;pre&gt;// Return the tiddlers as a sorted array
TiddlyWiki.prototype.getTiddlers = function(field,excludeTag,includeTag)
{
          var results = [];
          this.forEachTiddler(function(title,tiddler)
          {
          if(excludeTag == undefined || tiddler.tags.find(excludeTag) == null)
                        if(includeTag == undefined || tiddler.tags.find(includeTag)!=null)
                                      results.push(tiddler);
          });
          if(field)
                   results.sort(function (a,b) {if(a[field] == b[field]) return(0); else return (a[field] &amp;lt; b[field]) ? -1 : +1; });
          return results;
}



//this function by Udo
function getParam(params, name, defaultValue)
{
          if (!params)
          return defaultValue;
          var p = params[0][name];
          return p ? p[0] : defaultValue;
}

window.old_timeline_handler= config.macros.timeline.handler;
config.macros.timeline.handler = function(place,macroName,params,wikifier,paramString,tiddler)
{
          var args = paramString.parseParams(&quot;list&quot;,null,true);
          var betterMode = getParam(args, &quot;better&quot;, &quot;false&quot;);
          if (betterMode == 'true')
          {
          var sortBy = getParam(args,&quot;sortBy&quot;,&quot;modified&quot;);
          var excludeTag = getParam(args,&quot;excludeTag&quot;,undefined);
          var includeTag = getParam(args,&quot;onlyTag&quot;,undefined);
          var tiddlers = store.getTiddlers(sortBy,excludeTag,includeTag);
          var firstDayParam = getParam(args,&quot;firstDay&quot;,undefined);
          var firstDay = (firstDayParam!=undefined)? firstDayParam: &quot;00010101&quot;;
          var lastDay = &quot;&quot;;
          var field= sortBy;
          var maxDaysParam = getParam(args,&quot;maxDays&quot;,undefined);
          var maxDays = (maxDaysParam!=undefined)? maxDaysParam*24*60*60*1000: (new Date()).getTime() ;
          var maxEntries = getParam(args,&quot;maxEntries&quot;,undefined);
          var last = (maxEntries!=undefined) ? tiddlers.length-Math.min(tiddlers.length,parseInt(maxEntries)) : 0;
          for(var t=tiddlers.length-1; t&amp;gt;=last; t--)
                  {
                  var tiddler = tiddlers[t];
                  var theDay = tiddler[field].convertToLocalYYYYMMDDHHMM().substr(0,8);
                  if ((theDay&amp;gt;=firstDay)&amp;amp;&amp;amp; (tiddler[field].getTime()&amp;gt; (new Date()).getTime() - maxDays))
                     {
                     if(theDay != lastDay)
                               {
                               var theDateList = document.createElement(&quot;ul&quot;);
                               place.appendChild(theDateList);
                               createTiddlyElement(theDateList,&quot;li&quot;,null,&quot;listTitle&quot;,tiddler[field].formatString(this.dateFormat));
                               lastDay = theDay;
                               }
                  var theDateListItem = createTiddlyElement(theDateList,&quot;li&quot;,null,&quot;listLink&quot;,null);
                  theDateListItem.appendChild(createTiddlyLink(place,tiddler.title,true));
                  }
                  }
          }

          else
              {
              window.old_timeline_handler.apply(this,arguments);
              }
}
&lt;/pre&gt;</description>
<category>excludeLists</category>
<category>lewcidExtension</category>
<category>plugin macro</category>
<category>Saq Imtiaz</category>
<category>systemConfig</category>
<link>http://www.climate-change-two.net/#%5B%5BBetter%20timeline%20plugin%20macro%5D%5D</link>
<pubDate>Fri, 28 Jul 2006 09:26:00 GMT</pubDate>
</item>
<item>
<title>fontSize plugin macro</title>
<description>&lt;table class=&quot;twtable&quot;&gt;&lt;thead&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Name&lt;/td&gt;&lt;td&gt;&lt;strong&gt;fontSize&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Author&lt;/td&gt;&lt;td&gt;&lt;a tiddlylink=&quot;Saq Imtiaz&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.climate-change-two.net/#Saq Imtiaz&quot; href=&quot;http://www.climate-change-two.net/#Saq%20Imtiaz&quot; class=&quot;externalLink&quot;&gt;Saq Imtiaz&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Version&lt;/td&gt;&lt;td&gt;1.0&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Description&lt;/td&gt;&lt;td&gt;Resize tiddler text on the fly. The text size is remembered between sessions by use of a cookie.&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Source&lt;/td&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://lewcid.googlepages.com/lewcid.html#FontSizePlugin&quot; href=&quot;http://lewcid.googlepages.com/lewcid.html#FontSizePlugin&quot; class=&quot;externalLink&quot;&gt;http://lewcid.googlepages.com/lewcid.html#FontSizePlugin&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;TW Version&lt;/td&gt;&lt;td&gt;2.x&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;You can customize the maximum and minimum allowed sizes. (only affects tiddler content text, not any other text)|&lt;br&gt;&lt;br&gt;Also, you can load a TW file with a font-size specified in the url.&lt;br&gt;Eg: &lt;a target=&quot;_blank&quot; title=&quot;External link to http://lewcid.googlepages.com/lewcid.html#font:110&quot; href=&quot;http://lewcid.googlepages.com/lewcid.html#font:110&quot; class=&quot;externalLink&quot;&gt;http://lewcid.googlepages.com/lewcid.html#font:110&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;h1&gt;Demo:&lt;/h1&gt;Try using the font-size buttons in the sidebar, or in the &lt;a tiddlylink=&quot;MainMenu&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.climate-change-two.net/#MainMenu&quot; href=&quot;http://www.climate-change-two.net/#MainMenu&quot; class=&quot;externalLink&quot;&gt;MainMenu&lt;/a&gt; above.&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;Then put &lt;code&gt;&amp;lt;&amp;lt;fontSize &quot;font-size:&quot;&amp;gt;&amp;gt;&lt;/code&gt; in your &lt;a tiddlylink=&quot;SideBarOptions&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.climate-change-two.net/#SideBarOptions&quot; href=&quot;http://www.climate-change-two.net/#SideBarOptions&quot; class=&quot;externalLink&quot;&gt;SideBarOptions&lt;/a&gt; tiddler, or anywhere else that you might like.&lt;br&gt;&lt;br&gt;&lt;h1&gt;Usage&lt;/h1&gt;&lt;code&gt;&amp;lt;&amp;lt;fontSize&amp;gt;&amp;gt;&lt;/code&gt; results in &lt;span class=&quot;fontResizer&quot;&gt;&lt;a class=&quot;button&quot; title=&quot;increase font-size&quot; href=&quot;javascript:;&quot;&gt;+&lt;/a&gt;&lt;a class=&quot;button&quot; title=&quot;reset font-size&quot; href=&quot;javascript:;&quot;&gt;=&lt;/a&gt;&lt;a class=&quot;button&quot; title=&quot;decrease font-size&quot; href=&quot;javascript:;&quot;&gt;–&lt;/a&gt;&lt;/span&gt;&lt;br&gt;&lt;code&gt;&amp;lt;&amp;lt;fontSize font-size: &amp;gt;&amp;gt;&lt;/code&gt; results in &lt;span class=&quot;fontResizer&quot;&gt;font-size:&lt;a class=&quot;button&quot; title=&quot;increase font-size&quot; href=&quot;javascript:;&quot;&gt;+&lt;/a&gt;&lt;a class=&quot;button&quot; title=&quot;reset font-size&quot; href=&quot;javascript:;&quot;&gt;=&lt;/a&gt;&lt;a class=&quot;button&quot; title=&quot;decrease font-size&quot; href=&quot;javascript:;&quot;&gt;–&lt;/a&gt;&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;h1&gt;Customizing:&lt;/h1&gt;The buttons and prefix text are wrapped in a span with class fontResizer, for easy css styling.&lt;br&gt;To change the default font-size, and the maximum and minimum font-size allowed, edit the config.fontSize.settings section of the code below.&lt;br&gt;&lt;br&gt;&lt;h1&gt;Notes:&lt;/h1&gt;This plugin assumes that the initial font-size is 100% and then increases or decreases the size by 10%. This stepsize of 10% can also be customized.&lt;br&gt;&lt;br&gt;&lt;h1&gt;History:&lt;/h1&gt;&lt;ul&gt;&lt;li&gt;27-07-06, version 1.0 : prevented double clicks from triggering editing of containing tiddler.&lt;/li&gt;&lt;li&gt;25-07-06,  version 0.9&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;h1&gt;Code&lt;/h1&gt;&lt;br&gt;&lt;pre&gt;config.fontSize={};

//configuration settings
config.fontSize.settings =
{
            defaultSize : 100,  // all sizes in %
            maxSize : 200,
            minSize : 40,
            stepSize : 10
};

//startup code
var fontSettings = config.fontSize.settings;

if (!config.options.txtFontSize)
            {config.options.txtFontSize = fontSettings.defaultSize;
            saveOptionCookie(&quot;txtFontSize&quot;);}
setStylesheet(&quot;.tiddler .viewer {font-size:&quot;+config.options.txtFontSize+&quot;%;}\n&quot;,&quot;fontResizerStyles&quot;);
setStylesheet(&quot;#contentWrapper .fontResizer .button {display:inline;font-size:105%; font-weight:bold; margin:0 1px; padding: 0 3px; text-align:center !important;}\n .fontResizer {margin:0 0.5em;}&quot;,&quot;fontResizerButtonStyles&quot;);

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

               var sp = createTiddlyElement(place,&quot;span&quot;,null,&quot;fontResizer&quot;);
               sp.ondblclick=this.onDblClick;
               if (params[0])
                           createTiddlyText(sp,params[0]);
               createTiddlyButton(sp,&quot;+&quot;,&quot;increase font-size&quot;,this.incFont);
               createTiddlyButton(sp,&quot;=&quot;,&quot;reset font-size&quot;,this.resetFont);
               createTiddlyButton(sp,&quot;–&quot;,&quot;decrease font-size&quot;,this.decFont);
}

config.macros.fontSize.onDblClick = function (e)
{
             if (!e) var e = window.event;
             e.cancelBubble = true;
             if (e.stopPropagation) e.stopPropagation();
             return false;
}

config.macros.fontSize.setFont = function ()
{
               saveOptionCookie(&quot;txtFontSize&quot;);
               setStylesheet(&quot;.tiddler .viewer {font-size:&quot;+config.options.txtFontSize+&quot;%;}\n&quot;,&quot;fontResizerStyles&quot;);
}

config.macros.fontSize.incFont=function()
{
               if (config.options.txtFontSize &amp;lt; fontSettings.maxSize)
                  config.options.txtFontSize = (config.options.txtFontSize*1)+fontSettings.stepSize;
               config.macros.fontSize.setFont();
}

config.macros.fontSize.decFont=function()
{

               if (config.options.txtFontSize &amp;gt; fontSettings.minSize)
                  config.options.txtFontSize = (config.options.txtFontSize*1) - fontSettings.stepSize;
               config.macros.fontSize.setFont();
}

config.macros.fontSize.resetFont=function()
{

               config.options.txtFontSize=fontSettings.defaultSize;
               config.macros.fontSize.setFont();
}

config.paramifiers.font =
{
               onstart: function(v)
                  {
                   config.options.txtFontSize = v;
                   config.macros.fontSize.setFont();
                  }
};
&lt;/pre&gt;</description>
<category>3rd party plugin</category>
<category>excludeLists</category>
<category>lewcidExtension</category>
<category>plugin macro</category>
<category>Saq Imtiaz</category>
<category>systemConfig</category>
<link>http://www.climate-change-two.net/#%5B%5BfontSize%20plugin%20macro%5D%5D</link>
<pubDate>Tue, 25 Jul 2006 07:10:00 GMT</pubDate>
</item>
<item>
<title>fullscreen plugin macros</title>
<description>&lt;table class=&quot;twtable&quot;&gt;&lt;thead&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Name&lt;/td&gt;&lt;td&gt;&lt;strong&gt;fullscreen&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Author&lt;/td&gt;&lt;td&gt;&lt;a tiddlylink=&quot;Saq Imtiaz&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.climate-change-two.net/#Saq Imtiaz&quot; href=&quot;http://www.climate-change-two.net/#Saq%20Imtiaz&quot; class=&quot;externalLink&quot;&gt;Saq Imtiaz&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Version&lt;/td&gt;&lt;td&gt;1.1&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Description&lt;/td&gt;&lt;td&gt;Toggle between viewing tiddlers fullscreen and normally. Very handy for when you need more viewing space.&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Source&lt;/td&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://lewcid.googlepages.com/lewcid.html#FullScreenPlugin&quot; href=&quot;http://lewcid.googlepages.com/lewcid.html#FullScreenPlugin&quot; class=&quot;externalLink&quot;&gt;http://lewcid.googlepages.com/lewcid.html#FullScreenPlugin&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;TW Version&lt;/td&gt;&lt;td&gt;2.x&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h1&gt;Demo:&lt;/h1&gt;Click the ↕ button in the toolbar for this tiddler. Click it again to turn off fullscreen.&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;Edit the &lt;a tiddlylink=&quot;ViewTemplate&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.climate-change-two.net/#ViewTemplate&quot; href=&quot;http://www.climate-change-two.net/#ViewTemplate&quot; class=&quot;externalLink&quot;&gt;ViewTemplate&lt;/a&gt; to add the fullscreen command to the toolbar.&lt;br&gt;&lt;br&gt;&lt;h1&gt;History:&lt;/h1&gt;&lt;ul&gt;&lt;li&gt;25-07-06: ver 1.1&lt;/li&gt;&lt;li&gt;20-07-06: ver 1.0&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;h1&gt;Code&lt;/h1&gt;&lt;pre&gt;var lewcidFullScreen = false;

config.commands.fullscreen =
{
            text:&quot; ↕ &quot;,
            tooltip:&quot;Fullscreen mode&quot;
};

config.commands.fullscreen.handler = function (event,src,title)
{
            if (lewcidFullScreen == false)
               {
                lewcidFullScreen = true;
                setStylesheet('#sidebar, .header, #mainMenu{display:none;} #displayArea{margin:0em 0 0 0 !important;}',&quot;lewcidFullScreenStyle&quot;);
               }
            else
               {
                lewcidFullScreen = false;
                setStylesheet(' ',&quot;lewcidFullScreenStyle&quot;);
               }
}

config.macros.fullscreen={};
config.macros.fullscreen.handler =  function(place,macroName,params,wikifier,paramString,tiddler)
{
        var label = params[0]||&quot; ↕ &quot;;
        var tooltip = params[1]||&quot;Fullscreen mode&quot;;
        createTiddlyButton(place,label,tooltip,config.commands.fullscreen.handler);
}

var lewcid_fullscreen_closeTiddler = Story.prototype.closeTiddler;
Story.prototype.closeTiddler =function(title,animate,slowly)
{
           lewcid_fullscreen_closeTiddler.apply(this,arguments);
           if (story.isEmpty() &amp;amp;&amp;amp; lewcidFullScreen == true)
              config.commands.fullscreen.handler();
}


Slider.prototype.lewcidStop = Slider.prototype.stop;
Slider.prototype.stop = function()
{
           this.lewcidStop();
           if (story.isEmpty() &amp;amp;&amp;amp; lewcidFullScreen == true)
              config.commands.fullscreen.handler();
}
&lt;/pre&gt;</description>
<category>3rd party plugin</category>
<category>excludeLists</category>
<category>lewcidExtension</category>
<category>plugin macro</category>
<category>Saq Imtiaz</category>
<category>systemConfig</category>
<link>http://www.climate-change-two.net/#%5B%5Bfullscreen%20plugin%20macros%5D%5D</link>
<pubDate>Mon, 24 Jul 2006 10:16:00 GMT</pubDate>
</item>
<item>
<title>SplashScreenPlugin</title>
<description>&lt;br&gt;&lt;strong&gt;Inspired by &lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.warwick.ac.uk/~tuspam/tiddlypom.html&quot; href=&quot;http://www.warwick.ac.uk/%7Etuspam/tiddlypom.html&quot; class=&quot;externalLink&quot;&gt;TiddlyPom&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&lt;br&gt;&lt;table class=&quot;twtable&quot;&gt;&lt;tbody&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Name&lt;/td&gt;&lt;td&gt;SplashScreenPlugin&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/#SplashScreenPlugin&quot; href=&quot;http://tw.lewcid.org/#SplashScreenPlugin&quot; class=&quot;externalLink&quot;&gt;http://tw.lewcid.org/#SplashScreenPlugin&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.21&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;Provides a simple splash screen that is visible while the TW is loading.&lt;br&gt;&lt;br&gt;&lt;h1&gt;Installation&lt;/h1&gt;Copy the source text of this tiddler to your TW in a new tiddler, tag it with systemConfig and save and reload. The SplashScreen will now be installed and will be visible the next time you reload your TW.&lt;br&gt;&lt;br&gt;&lt;h1&gt;Customizing&lt;/h1&gt;Once the SplashScreen has been installed and you have reloaded your TW, the splash screen html will be present in the &lt;a tiddlylink=&quot;MarkupPreHead&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.climate-change-two.net/#MarkupPreHead&quot; href=&quot;http://www.climate-change-two.net/#MarkupPreHead&quot; class=&quot;externalLink&quot;&gt;MarkupPreHead&lt;/a&gt; tiddler. You can edit it and customize to your needs.&lt;br&gt;&lt;br&gt;&lt;h1&gt;History&lt;/h1&gt;&lt;ul&gt;&lt;li&gt; 20-07-06 : version 0.21, modified to hide contentWrapper while SplashScreen is displayed.&lt;/li&gt;&lt;li&gt; 26-06-06 : version 0.2, first release&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;h1&gt;Code&lt;/h1&gt;&lt;pre&gt;var old_lewcid_splash_restart=restart;

restart = function()
{   if (document.getElementById(&quot;SplashScreen&quot;))
        document.getElementById(&quot;SplashScreen&quot;).style.display = &quot;none&quot;;
      if (document.getElementById(&quot;contentWrapper&quot;))
        document.getElementById(&quot;contentWrapper&quot;).style.display = &quot;block&quot;;
    
    old_lewcid_splash_restart();
   
    if (splashScreenInstall)
       {if(config.options.chkAutoSave)
			{saveChanges();}
        displayMessage(&quot;TW SplashScreen has been installed, please save and refresh your TW.&quot;);
        }
}


var oldText = store.getTiddlerText(&quot;MarkupPreHead&quot;);
if (oldText.indexOf(&quot;SplashScreen&quot;)==-1)
   {var siteTitle = store.getTiddlerText(&quot;SiteTitle&quot;);
   var splasher='\n\n&amp;lt;style type=&quot;text/css&quot;&amp;gt;#contentWrapper {display:none;}&amp;lt;/style&amp;gt;&amp;lt;div id=&quot;SplashScreen&quot; style=&quot;border: 3px solid #ccc; display: block; text-align: center; width: 320px; margin: 100px auto; padding: 50px; color:#000; font-size: 28px; font-family:Tahoma; background-color:#eee;&quot;&amp;gt;&amp;lt;b&amp;gt;'+siteTitle +'&amp;lt;/b&amp;gt; is loading&amp;lt;blink&amp;gt; ...&amp;lt;/blink&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span style=&quot;font-size: 14px; color:red;&quot;&amp;gt;Requires Javascript.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;';
   if (! store.tiddlerExists(&quot;MarkupPreHead&quot;))
       {var myTiddler = store.createTiddler(&quot;MarkupPreHead&quot;);}
   else
      {var myTiddler = store.getTiddler(&quot;MarkupPreHead&quot;);}
      myTiddler.set(myTiddler.title,oldText+splasher,config.options.txtUserName,null,null);
      store.setDirty(true);
      var splashScreenInstall = true;
}
&lt;/pre&gt;</description>
<category>lewcidExtension</category>
<category>systemConfig</category>
<link>http://www.climate-change-two.net/#SplashScreenPlugin</link>
<pubDate>Thu, 20 Jul 2006 20:48:00 GMT</pubDate>
</item>
<item>
<title>TagAdderMacro</title>
<description>&lt;table class=&quot;twtable&quot;&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;tagAdder&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://lewcid.googlepages.com/lewcid.html&quot; href=&quot;http://lewcid.googlepages.com/lewcid.html&quot; class=&quot;externalLink&quot;&gt;http://lewcid.googlepages.com/lewcid.html&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.61 (07 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;h1&gt;About&lt;/h1&gt;&lt;ul&gt;&lt;li&gt;provides a drop down list for toggling tags &lt;/li&gt;&lt;li&gt;you can specify which tags to list, and have multiple drop downs with different tag lists.&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;h1&gt;Demonstration&lt;/h1&gt;&lt;span class=&quot;tagadderbutton&quot;&gt;&lt;a class=&quot;button&quot; title=&quot;toggle tags on this tiddler&quot; href=&quot;javascript:;&quot;&gt;toggle tags: ▼&lt;/a&gt;&lt;/span&gt;&lt;br&gt;&lt;code&gt;&amp;lt;&amp;lt;tagAdder&amp;gt;&amp;gt;&lt;/code&gt;&lt;br&gt;&lt;br&gt;&lt;strong&gt;I recommend using either tagAdder or monkeyTagger, with dropTags and dropTagging in the toolbar:&lt;/strong&gt;&lt;br&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; copy the following to your &lt;a tiddlylink=&quot;ViewTemplate&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.climate-change-two.net/#ViewTemplate&quot; href=&quot;http://www.climate-change-two.net/#ViewTemplate&quot; class=&quot;externalLink&quot;&gt;ViewTemplate&lt;/a&gt;:&lt;/li&gt;&lt;/ul&gt;&lt;ol&gt;&lt;li&gt;either &lt;code&gt;
&amp;lt;div class='tagged' macro='tagAdder'&amp;gt;&amp;lt;/div&amp;gt;
&lt;/code&gt; to add to next to the tags macro in the viewer area, or&lt;/li&gt;&lt;li&gt;&lt;code&gt;&amp;lt;div class='toolbar' &amp;gt;
&amp;lt;span style=&quot;padding-right:1.75em;&quot; macro='tagAdder'&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; to add to the toolbar.&lt;/li&gt;&lt;/ol&gt;(adjust padding to taste)&lt;br&gt;&lt;br&gt;&lt;h1&gt;Usage:&lt;/h1&gt;&lt;ul&gt;&lt;li&gt;by default &lt;code&gt;&amp;lt;&amp;lt;tagAdder&amp;gt;&amp;gt;&lt;/code&gt; will display drop down list of all tags, with tags present on the tiddler grouped together.&lt;/li&gt;&lt;li&gt;to sort alphabetically (ignoring the [x]), use &lt;code&gt;&amp;lt;&amp;lt;tagAdder 'nogroup'&amp;gt;&amp;gt;&lt;/code&gt;&lt;/li&gt;&lt;li&gt;to specify what tags to list, use &lt;code&gt;&amp;lt;&amp;lt;tagAdder 'group/nogroup' 'tiddler'&amp;gt;&amp;gt;&lt;/code&gt; where tiddler is a tiddler that is tagged with the tags you want to list. (use one of either group or no group, not both!)&lt;/li&gt;&lt;/ul&gt;Eg: TagDataBase is my tiddler that is tagged with the tags I want to list, so I will use &lt;code&gt;&amp;lt;&amp;lt;tagAdder 'group' 'TagDataBase'&amp;gt;&amp;gt;&lt;/code&gt;&lt;br&gt; for a list like this: &lt;br&gt;&lt;ul&gt;&lt;li&gt;you can specify a custom label by giving the macro an additional parameter.&lt;/li&gt;&lt;/ul&gt;Eg: &lt;code&gt;&amp;lt;&amp;lt;tagAdder 'group' 'TagDataBase' 'custom label'&amp;gt;&amp;gt;&lt;/code&gt; gives &lt;br&gt;&lt;br&gt;&lt;h1&gt;Tips:&lt;/h1&gt;&lt;ul&gt;&lt;li&gt;On the tiddler you want to use as your TagsDataBase, add &lt;code&gt;&amp;lt;&amp;lt;tagAdder&amp;gt;&amp;gt;&lt;/code&gt; for a drop down list of all tags, so you can easily toggle tags on it!&lt;/li&gt;&lt;li&gt;You can have as many TagDataBases as you like.&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;h1&gt;Notes:&lt;/h1&gt;&lt;ul&gt;&lt;li&gt;use css to style to taste&lt;/li&gt;&lt;li&gt;tags to be removed are preceded by [x]&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;h1&gt;To Do:&lt;/h1&gt;&lt;ul&gt;&lt;li&gt;Combine with features of normal tags drop down list.(drop tag macro)&lt;/li&gt;&lt;li&gt;TagsDB manager&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;07 Apr-2006, version 0.61&lt;ul&gt;&lt;li&gt;fixed IE bug with not returning false &lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;h1&gt;CODE&lt;/h1&gt;&lt;pre&gt;config.macros.tagAdder= {};
//config.macros.tagAdder.dropdownchar = (document.all?&quot;▼&quot;:&quot;▾&quot;); // the fat one is the only one that works in IE
config.macros.tagAdder.dropdownchar = &quot;▼&quot;; // uncomment previous line and comment this for smaller version in FF
config.macros.tagAdder.handler = function(place,macroName,params,wikifier,paramString,tiddler)
{
 var arrow=': '+ config.macros.tagAdder.dropdownchar;
 var tAsort = (params[0] &amp;amp;&amp;amp; params[0] !='.') ? params[0]: 'group';
 if (params[1]){var tAsource=params[1]};
 if ((tAsource)&amp;amp;&amp;amp;(!store.getTiddler(tAsource)))
 return false;
 var tAlabel= (params[2] &amp;amp;&amp;amp; params[2] !='.')? params[2]: 'toggle tags'+arrow;
 var tAtooltip= (params[2] &amp;amp;&amp;amp; params[2] !='.')? params[2]: 'toggle tags on this tiddler';

 if(tiddler instanceof Tiddler)
 {
 var title = tiddler.title;
 var lingo = config.views.editor.tagChooser;
 
 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)}
 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 t=store.getTiddler(title);
 if (!t) return false;
 var tagsarray = store.getTags();
 var tagsvalue=new Array();

 for (var i=0; i&amp;lt;tagsarray.length; i++){
 var thetagonly= (tagsarray[i][0]);
 tagsvalue.push(thetagonly);}

 if (tAsource)
 {var sourcetiddler=store.getTiddler(tAsource);
 var tagsvalue=sourcetiddler.tags;
 }
 var tagslabel=new Array();
 var tagssorted=new Array();

 for (var i=0;i&amp;lt;tagsvalue.length;i++){
 var temptag=(tagsvalue[i]);
 if (t.tags.find(temptag)==null)
 {var temptagx = '[ ] '+temptag;
 tagslabel.push(temptagx);
 tagssorted.push(temptag);
 }
 else
 {var temptagx ='[x] '+temptag;
 if (tAsort=='group'){
 tagslabel.unshift(temptagx);
 tagssorted.unshift(temptag);}
 else if (tAsort=='nogroup'){
 tagslabel.push(temptagx);
 tagssorted.push(temptag);} }
 ;}


 if(tagsvalue.length == 0)
 createTiddlyText(createTiddlyElement(popup,&quot;li&quot;),lingo.popupNone);
 for (var t=0; t&amp;lt;tagsvalue.length; t++)
 {
 var theTag = createTiddlyButton(createTiddlyElement(popup,&quot;li&quot;),tagslabel[t],&quot;toggle '&quot;+([tagssorted[t]])+&quot;'&quot;,ontagclick);
 theTag.setAttribute(&quot;tag&quot;,tagssorted[t]);
 }
 Popup.show(popup,false);
 e.cancelBubble = true;
 if (e.stopPropagation) e.stopPropagation();
 return(false);
 };
 //createTiddlyButton(place,tAlabel,tAtooltip,onclick);
var createdropperButton = function(place){
var sp = createTiddlyElement(place,&quot;span&quot;,null,&quot;tagadderbutton&quot;);
var theDropDownBtn = createTiddlyButton(sp,tAlabel,tAtooltip,onclick);
};

createdropperButton(place);
}
};
setStylesheet(
 &quot;.toolbar .tagadderbutton { margin-right:0em; border:0px solid #eee; padding:0px; padding-right:0px; padding-left:0px; }\n&quot;+
 &quot;.tagadderbutton a.button { padding:2px; padding-left:2px; padding-right:2px;}\n&quot;+
// &quot;.tagadderbutton {font-size:150%;}\n&quot;+
 &quot;&quot;,
&quot;TagAdderStyles&quot;);
&lt;/pre&gt;&lt;br&gt;</description>
<category>excludeLists</category>
<category>lewcidExtension</category>
<category>systemConfig</category>
<link>http://www.climate-change-two.net/#TagAdderMacro</link>
<pubDate>Wed, 19 Jul 2006 16:53:00 GMT</pubDate>
</item>
<item>
<title>monkeyTagger plugin macro</title>
<description>&lt;table class=&quot;twtable&quot;&gt;&lt;thead&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Name&lt;/td&gt;&lt;td&gt;&lt;strong&gt;monkeyTagger&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Author&lt;/td&gt;&lt;td&gt;&lt;a tiddlylink=&quot;Saq Imtiaz&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.climate-change-two.net/#Saq Imtiaz&quot; href=&quot;http://www.climate-change-two.net/#Saq%20Imtiaz&quot; class=&quot;externalLink&quot;&gt;Saq Imtiaz&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Version&lt;/td&gt;&lt;td&gt;0.9 (2006.04.08)&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Description&lt;/td&gt;&lt;td&gt;An adaptation of &lt;a tiddlylink=&quot;tagAdder plugin macro&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.climate-change-two.net/#tagAdder plugin macro&quot; href=&quot;http://www.climate-change-two.net/#tagAdder%20plugin%20macro&quot; class=&quot;externalLink&quot;&gt;tagAdder plugin macro&lt;/a&gt; for monkeyGTD and tagglytagging user, but could be useful to just about anyone!&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Source&lt;/td&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://lewcid.googlepages.com/lewcid.html#MonkeyTaggerMacro&quot; href=&quot;http://lewcid.googlepages.com/lewcid.html#MonkeyTaggerMacro&quot; class=&quot;externalLink&quot;&gt;http://lewcid.googlepages.com/lewcid.html#MonkeyTaggerMacro&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;TW Version&lt;/td&gt;&lt;td&gt;2.07&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;ul&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 http://www.climate-change-two.net/#ViewTemplate&quot; href=&quot;http://www.climate-change-two.net/#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 class=&quot;twtable&quot;&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 class=&quot;twtable&quot;&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 class=&quot;twtable&quot;&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;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;/li&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>3rd party plugin</category>
<category>excludeLists</category>
<category>lewcidExtension</category>
<category>Saq Imtiaz</category>
<category>systemConfig</category>
<link>http://www.climate-change-two.net/#%5B%5BmonkeyTagger%20plugin%20macro%5D%5D</link>
<pubDate>Wed, 19 Jul 2006 16:53:00 GMT</pubDate>
</item>
<item>
<title>TabEdit plugin</title>
<description>&lt;table class=&quot;twtable&quot;&gt;&lt;thead&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Name&lt;/td&gt;&lt;td&gt;&lt;strong&gt;TabEdit&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Author&lt;/td&gt;&lt;td&gt;&lt;a tiddlylink=&quot;Saq Imtiaz&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.climate-change-two.net/#Saq Imtiaz&quot; href=&quot;http://www.climate-change-two.net/#Saq%20Imtiaz&quot; class=&quot;externalLink&quot;&gt;Saq Imtiaz&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Version&lt;/td&gt;&lt;td&gt;0.32&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Description&lt;/td&gt;&lt;td&gt;Makes editing of tabs easier.&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Source&lt;/td&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://lewcid.googlepages.com/lewcid.html#TabEditPlugin&quot; href=&quot;http://lewcid.googlepages.com/lewcid.html#TabEditPlugin&quot; class=&quot;externalLink&quot;&gt;http://lewcid.googlepages.com/lewcid.html#TabEditPlugin&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;TW Version&lt;/td&gt;&lt;td&gt;2.x&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h1&gt;Usage&lt;/h1&gt;&lt;ul&gt;&lt;li&gt;Double click a tab to edit the source tiddler&lt;/li&gt;&lt;li&gt;Double click outside the tabset to edit the containing tiddler. &lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;h1&gt;Demo&lt;/h1&gt;TestTabs&lt;br&gt;&lt;br&gt;&lt;h1&gt;History&lt;/h1&gt;&lt;ul&gt;&lt;li&gt;28-04-06, v0.32 - fixed previous bug fix!&lt;/li&gt;&lt;li&gt;27-04-06, v0.31 - fixed conflicts with tabs created using PartTiddler.&lt;/li&gt;&lt;li&gt;26-04-06, v0.30 - first public release&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;br&gt;&lt;pre&gt;//tab on double click event handler
Story.prototype.onTabDblClick = function(e){
        if (!e) var e = window.event;
        var theTarget = resolveTarget(e);
        var title= this.getAttribute(&quot;source&quot;);
        if ((version.extensions.PartTiddlerPlugin)&amp;amp;&amp;amp;(title.indexOf(&quot;/&quot;)!=-1))
                 {if (!oldFetchTiddler.call(this, [title]))
                              {return false;}}   
        story.displayTiddler(theTarget,title,2,false,null)
        e.cancelBubble = true;
        if (e.stopPropagation) e.stopPropagation();
        return false;
        }

config.macros.tabs.switchTab = function(tabset,tab)
{
var cookie = tabset.getAttribute(&quot;cookie&quot;);
var theTab = null
var nodes = tabset.childNodes;
for(var t=0; t&amp;lt;nodes.length; t++)
if(nodes[t].getAttribute &amp;amp;&amp;amp; nodes[t].getAttribute(&quot;tab&quot;) == tab)
{
theTab = nodes[t];
theTab.className = &quot;tab tabSelected&quot;;
}
else
nodes[t].className = &quot;tab tabUnselected&quot;
if(theTab)
{
if(tabset.nextSibling &amp;amp;&amp;amp; tabset.nextSibling.className == &quot;tabContents&quot;)
tabset.parentNode.removeChild(tabset.nextSibling);
var tabContent = createTiddlyElement(null,&quot;div&quot;,null,&quot;tabContents&quot;,null);
tabset.parentNode.insertBefore(tabContent,tabset.nextSibling);
var contentTitle = theTab.getAttribute(&quot;content&quot;);

                //set source attribute equal to title of tiddler displayed in tab
tabContent.setAttribute(&quot;source&quot;,contentTitle);
//add dbl click event
tabContent.ondblclick = story.onTabDblClick;

wikify(store.getTiddlerText(contentTitle),tabContent,null,store.getTiddler(contentTitle));
if(cookie)
{
config.options[cookie] = tab;
saveOptionCookie(cookie);
}
}
}
&lt;/pre&gt;</description>
<category>3rd party plugin</category>
<category>excludeLists</category>
<category>lewcidExtension</category>
<category>plugin macro</category>
<category>Saq Imtiaz</category>
<category>systemConfig</category>
<link>http://www.climate-change-two.net/#%5B%5BTabEdit%20plugin%5D%5D</link>
<pubDate>Wed, 19 Jul 2006 16:28:00 GMT</pubDate>
</item>
</channel>
</rss>