<?xml version="1.0"?>
<rss version="2.0">
<channel>
<title> udhr@60+ Universal Declaration of Human Rights at 60 &amp; beyond | plugins</title>
<link>http://www.ngo-framework.net/</link>
<description>tiddlywiki plugins only</description>
<language>en-us</language>
<copyright>Copyright 2008 Webster</copyright>
<pubDate>Sun, 24 Aug 2008 16:19:19 GMT</pubDate>
<lastBuildDate>Sun, 24 Aug 2008 16:19:19 GMT</lastBuildDate>
<docs>http://blogs.law.harvard.edu/tech/rss</docs>
<generator>TiddlyWiki 2.4.1</generator>
<item>
<title>ImportTiddlersPlugin</title>
<description>&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;ImportTiddlersPlugin&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Source&lt;/td&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.TiddlyTools.com/#ImportTiddlersPlugin&quot; href=&quot;http://www.TiddlyTools.com/#ImportTiddlersPlugin&quot; class=&quot;externalLink&quot;&gt;http://www.TiddlyTools.com/#ImportTiddlersPlugin&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Documentation&lt;/td&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.TiddlyTools.com/#ImportTiddlersPluginInfo&quot; href=&quot;http://www.TiddlyTools.com/#ImportTiddlersPluginInfo&quot; class=&quot;externalLink&quot;&gt;http://www.TiddlyTools.com/#ImportTiddlersPluginInfo&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;4.3.1&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Author&lt;/td&gt;&lt;td&gt;Eric Shulman - ELS Design Studios&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;License&lt;/td&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.TiddlyTools.com/#LegalStatements&quot; href=&quot;http://www.TiddlyTools.com/#LegalStatements&quot; class=&quot;externalLink&quot;&gt;http://www.TiddlyTools.com/#LegalStatements&lt;/a&gt; &lt;br&gt;and &lt;a target=&quot;_blank&quot; title=&quot;External link to http://creativecommons.org/licenses/by-sa/2.5/&quot; href=&quot;http://creativecommons.org/licenses/by-sa/2.5/&quot; class=&quot;externalLink&quot;&gt;Creative Commons Attribution-ShareAlike 2.5 License&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;CoreVersion&lt;/td&gt;&lt;td&gt;2.1&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Type&lt;/td&gt;&lt;td&gt;plugin&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Requires&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Overrides&lt;/td&gt;&lt;td&gt;config.macros.importTiddlers.handler&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Description&lt;/td&gt;&lt;td&gt;interactive controls for import/export with filtering.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;This plugin lets you selectively combine tiddlers from any two TiddlyWiki documents.  An interactive control panel lets you pick a document to import from, and then select which tiddlers to import, with prompting for skip, rename, merge or replace actions when importing tiddlers that match existing titles.  Automatically add tags to imported tiddlers so they are easy to find later on.  Generates a detailed report of import 'history' in ImportedTiddlers.&lt;br&gt;&lt;h5&gt;Documentation&lt;/h5&gt;&lt;blockquote&gt;see &lt;a tiddlylink=&quot;ImportTiddlersPluginInfo&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.ngo-framework.net/#ImportTiddlersPluginInfo&quot; href=&quot;http://www.ngo-framework.net/#ImportTiddlersPluginInfo&quot; class=&quot;externalLink null&quot;&gt;ImportTiddlersPluginInfo&lt;/a&gt; for details&lt;br&gt;&lt;/blockquote&gt;&lt;h5&gt;interactive control panel:&lt;/h5&gt;&lt;blockquote&gt;&lt;span tiddler=&quot;ImportTiddlers&quot; refresh=&quot;content&quot;&gt;&lt;span style=&quot;position: static; display: block;&quot; id=&quot;importPanel&quot;&gt;&lt;!-- source and report --&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;	import from	&lt;input class=&quot;rad&quot; name=&quot;importFrom&quot; id=&quot;importFromFile&quot; value=&quot;file&quot; checked=&quot;checked&quot; onclick=&quot;onClickImportButton(this,event)&quot; title=&quot;show file controls&quot; type=&quot;radio&quot;&gt; local file	&lt;input class=&quot;rad&quot; name=&quot;importFrom&quot; id=&quot;importFromWeb&quot; value=&quot;http&quot; onclick=&quot;onClickImportButton(this,event)&quot; title=&quot;show web controls&quot; type=&quot;radio&quot;&gt; web server&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;	&lt;input class=&quot;chk&quot; id=&quot;chkImportReport&quot; checked=&quot;checked&quot; onclick=&quot;config.options['chkImportReport']=this.checked;&quot; type=&quot;checkbox&quot;&gt; create report&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class=&quot;box&quot; id=&quot;importSourcePanel&quot; style=&quot;margin: 0.5em;&quot;&gt;&lt;div id=&quot;importLocalPanel&quot; style=&quot;display: block; margin-bottom: 2px;&quot;&gt;&lt;!-- import from local file  --&gt;enter or browse for source path/filename&lt;br&gt;&lt;input id=&quot;fileImportSource&quot; size=&quot;57&quot; style=&quot;width: 100%; display: none;&quot; onkeyup=&quot;config.macros.importTiddlers.src=this.value&quot; onchange=&quot;config.macros.importTiddlers.src=this.value;document.getElementById('importLoad').onclick()&quot; type=&quot;file&quot;&gt;&lt;div id=&quot;importLocalPanelFix&quot; style=&quot;display: block;&quot;&gt;&lt;!-- FF3 FIXUP --&gt;	&lt;input id=&quot;fileImportSourceFix&quot; style=&quot;width: 90%;&quot; title=&quot;Enter a path/file to import&quot; onkeyup=&quot;config.macros.importTiddlers.src=this.value&quot; onchange=&quot;config.macros.importTiddlers.src=this.value; document.getElementById('importLoad').onclick()&quot; type=&quot;text&quot;&gt;	&lt;input id=&quot;fileImportSourceFixButton&quot; style=&quot;width: 7%;&quot; value=&quot;...&quot; title=&quot;Select a path/file to import&quot; onclick=&quot;var r=config.macros.importTiddlers.askForFilename(this); if (!r||!r.length) return;			document.getElementById('fileImportSourceFix').value=r;			config.macros.importTiddlers.src=r;			document.getElementById('importLoad').onclick()&quot; type=&quot;button&quot;&gt;&lt;/div&gt;&lt;!--end FF3 FIXUP--&gt;&lt;/div&gt;&lt;!--end local--&gt;&lt;div id=&quot;importHTTPPanel&quot; style=&quot;display: none; margin-bottom: 2px;&quot;&gt;&lt;!-- import from http server --&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;	enter a URL or &lt;a href=&quot;javascript:;&quot; id=&quot;importSelectFeed&quot; onclick=&quot;onClickImportButton(this,event)&quot; title=&quot;select a pre-defined 'systemServer' URL&quot;&gt;		select a server&lt;/a&gt;&lt;br&gt;&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;	&lt;input class=&quot;chk&quot; id=&quot;importUsePassword&quot; onclick=&quot;config.macros.importTiddlers.usePassword=this.checked;			config.macros.importTiddlers.showPanel('importIDPWPanel',this.checked,true);&quot; type=&quot;checkbox&quot;&gt;password	&lt;input class=&quot;chk&quot; id=&quot;importUseProxy&quot; onclick=&quot;config.macros.importTiddlers.useProxy=this.checked;			config.macros.importTiddlers.showPanel('importSiteProxy',this.checked,true);&quot; type=&quot;checkbox&quot;&gt;proxy&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;input id=&quot;importSiteProxy&quot; style=&quot;display: none; margin-bottom: 1px;&quot; onfocus=&quot;this.select()&quot; value=&quot;SiteProxy&quot; onkeyup=&quot;config.macros.importTiddlers.proxy=this.value&quot; onchange=&quot;config.macros.importTiddlers.proxy=this.value;&quot; type=&quot;text&quot;&gt;&lt;input id=&quot;importSourceURL&quot; onfocus=&quot;this.select()&quot; value=&quot;SiteUrl&quot; onkeyup=&quot;config.macros.importTiddlers.src=this.value&quot; onchange=&quot;config.macros.importTiddlers.src=this.value;&quot; type=&quot;text&quot;&gt;&lt;div id=&quot;importIDPWPanel&quot; style=&quot;text-align: center; margin-top: 2px; display: none;&quot; ;=&quot;&quot;&gt;username: &lt;input id=&quot;txtImportID&quot; style=&quot;width: 25%;&quot; onchange=&quot;config.options.txtRemoteUsername=this.value;&quot; type=&quot;text&quot;&gt; password: &lt;input id=&quot;txtImportPW&quot; style=&quot;width: 25%;&quot; onchange=&quot;config.options.txtRemotePassword=this.value;&quot; type=&quot;password&quot;&gt;&lt;/div&gt;&lt;!--end idpw--&gt;&lt;/div&gt;&lt;!--end http--&gt;&lt;/div&gt;&lt;!--end source--&gt;&lt;div class=&quot;box&quot; id=&quot;importSelectPanel&quot; style=&quot;margin: 0.5em; display: none;&quot;&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;select:&lt;a href=&quot;javascript:;&quot; id=&quot;importSelectAll&quot; onclick=&quot;onClickImportButton(this);return false;&quot; title=&quot;SELECT all tiddlers&quot;&gt;	all&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;javascript:;&quot; id=&quot;importSelectNew&quot; onclick=&quot;onClickImportButton(this);return false;&quot; title=&quot;SELECT tiddlers not already in destination document&quot;&gt;	added&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;javascript:;&quot; id=&quot;importSelectChanges&quot; onclick=&quot;onClickImportButton(this);return false;&quot; title=&quot;SELECT tiddlers that have been updated in source document&quot;&gt;	changes&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;javascript:;&quot; id=&quot;importSelectDifferences&quot; onclick=&quot;onClickImportButton(this);return false;&quot; title=&quot;SELECT tiddlers that have been added or are different from existing tiddlers&quot;&gt;	differences&lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;&lt;a href=&quot;javascript:;&quot; id=&quot;importListSmaller&quot; onclick=&quot;onClickImportButton(this);return false;&quot; title=&quot;SHRINK list size&quot;&gt;	&amp;nbsp;–&amp;nbsp;&lt;/a&gt;&lt;a href=&quot;javascript:;&quot; id=&quot;importListLarger&quot; onclick=&quot;onClickImportButton(this);return false;&quot; title=&quot;GROW list size&quot;&gt;	&amp;nbsp;+&amp;nbsp;&lt;/a&gt;&lt;a href=&quot;javascript:;&quot; id=&quot;importListMaximize&quot; onclick=&quot;onClickImportButton(this);return false;&quot; title=&quot;MAXIMIZE/RESTORE list size&quot;&gt;	&amp;nbsp;=&amp;nbsp;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;select id=&quot;importList&quot; size=&quot;20&quot; multiple=&quot;multiple&quot; onchange=&quot;setTimeout('refreshImportList('+this.selectedIndex+')',1)&quot;&gt;	&lt;!-- NOTE: delay refresh so list is updated AFTER onchange event is handled --&gt;&lt;option value=&quot;&quot;&gt;please load a document...&lt;/option&gt;&lt;/select&gt;&lt;div style=&quot;text-align: center;&quot;&gt;	&lt;a href=&quot;javascript:;&quot; title=&quot;click for help using filters...&quot; onclick=&quot;alert('A filter consists of one or more space-separated combinations of:\n\ntiddler titles\ntag:[[tagvalue]]\ntag:[[tag expression]] (requires MatchTagsPlugin)\nstory:[[TiddlerName]]\nsearch:[[searchtext]]\n\nUse a blank filter for all tiddlers.')&quot;&gt;filter&lt;/a&gt;	&lt;input id=&quot;importLastFilter&quot; style=&quot;margin-bottom: 1px; width: 65%;&quot; title=&quot;Enter a combination of one or more filters. Use a blank filter for all tiddlers.&quot; onfocus=&quot;this.select()&quot; value=&quot;&quot; onkeyup=&quot;config.macros.importTiddlers.lastFilter=this.value&quot; onchange=&quot;config.macros.importTiddlers.lastFilter=this.value;&quot; type=&quot;text&quot;&gt;	&lt;input id=&quot;importApplyFilter&quot; style=&quot;width: 20%;&quot; value=&quot;apply&quot; title=&quot;filter list of tiddlers to include only those that match certain criteria&quot; onclick=&quot;onClickImportButton(this)&quot; type=&quot;button&quot;&gt;	&lt;/div&gt;&lt;/div&gt;&lt;!--end select--&gt;&lt;div class=&quot;box&quot; id=&quot;importOptionsPanel&quot; style=&quot;margin: 0.5em; text-align: center; display: none;&quot;&gt;	apply tags: &lt;input class=&quot;chk&quot; id=&quot;chkImportTags&quot; checked=&quot;checked&quot; onclick=&quot;config.macros.importTiddlers.importTags=this.checked;&quot; type=&quot;checkbox&quot;&gt;from source&amp;nbsp;	&lt;input class=&quot;chk&quot; id=&quot;chkKeepTags&quot; checked=&quot;checked&quot; onclick=&quot;config.macros.importTiddlers.keepTags=this.checked;&quot; type=&quot;checkbox&quot;&gt;keep existing&amp;nbsp;	&lt;input class=&quot;chk&quot; id=&quot;chkAddTags&quot; onclick=&quot;config.macros.importTiddlers.addTags=this.checked;			config.macros.importTiddlers.showPanel('txtNewTags',this.checked,true);			if (this.checked) document.getElementById('txtNewTags').focus();&quot; type=&quot;checkbox&quot;&gt;add tags&lt;br&gt;	&lt;input id=&quot;txtNewTags&quot; style=&quot;margin-top: 4px; display: none;&quot; size=&quot;15&quot; onfocus=&quot;this.select()&quot; title=&quot;enter tags to be added to imported tiddlers&quot; onkeyup=&quot;config.macros.importTiddlers.newTags=this.value;		document.getElementById('chkAddTags').checked=this.value.length&gt;0;&quot; autocomplete=&quot;off&quot; type=&quot;text&quot;&gt;	&lt;nobr&gt;&lt;input class=&quot;chk&quot; id=&quot;chkSync&quot; onclick=&quot;config.macros.importTiddlers.sync=this.checked;&quot; type=&quot;checkbox&quot;&gt;		link imported tiddlers to source document (for sync later)&lt;/nobr&gt;&lt;/div&gt;&lt;!--end options--&gt;&lt;div id=&quot;importButtonPanel&quot; style=&quot;text-align: center;&quot;&gt;	&lt;input style=&quot;display: inline;&quot; id=&quot;importLoad&quot; class=&quot;importButton btn3&quot; value=&quot;open&quot; title=&quot;load listbox with tiddlers from source document&quot; onclick=&quot;onClickImportButton(this)&quot; type=&quot;button&quot;&gt;	&lt;input style=&quot;display: none;&quot; disabled=&quot;disabled&quot; id=&quot;importOptions&quot; class=&quot;importButton btn3&quot; value=&quot;options...&quot; title=&quot;set options for tags, sync, etc.&quot; onclick=&quot;onClickImportButton(this)&quot; type=&quot;button&quot;&gt;	&lt;input disabled=&quot;disabled&quot; id=&quot;importStart&quot; class=&quot;importButton btn3&quot; value=&quot;import&quot; title=&quot;start/stop import of selected source tiddlers into current document&quot; onclick=&quot;onClickImportButton(this)&quot; type=&quot;button&quot;&gt;	&lt;input id=&quot;importClose&quot; class=&quot;importButton btn3&quot; value=&quot;done&quot; title=&quot;clear listbox or hide control panel&quot; onclick=&quot;onClickImportButton(this)&quot; type=&quot;button&quot;&gt;&lt;/div&gt;&lt;div class=&quot;none&quot; id=&quot;importCollisionPanel&quot; style=&quot;margin: 0.5em 0pt 0.5em 0.5em; display: none;&quot;&gt;	&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;width: 65%;&quot; align=&quot;left&quot;&gt;		&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;			tiddler already exists:		&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;			&lt;input class=&quot;chk&quot; id=&quot;importApplyToAll&quot; onclick=&quot;document.getElementById('importRename').disabled=this.checked;&quot; checked=&quot;checked&quot; type=&quot;checkbox&quot;&gt;apply to all		&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;		&lt;input id=&quot;importNewTitle&quot; size=&quot;15&quot; autocomplete=&quot;off&amp;quot;&quot; type=&quot;text&quot;&gt;	&lt;/td&gt;&lt;td style=&quot;width: 34%;&quot; align=&quot;center&quot;&gt;		&lt;input id=&quot;importMerge&quot; class=&quot;importButton&quot; style=&quot;width: 47%;&quot; value=&quot;merge&quot; title=&quot;append the incoming tiddler to the existing tiddler&quot; onclick=&quot;onClickImportButton(this)&quot; type=&quot;button&quot;&gt;&lt;!--		--&gt;&lt;input id=&quot;importSkip&quot; class=&quot;importButton&quot; style=&quot;width: 47%;&quot; value=&quot;skip&quot; title=&quot;do not import this tiddler&quot; onclick=&quot;onClickImportButton(this)&quot; type=&quot;button&quot;&gt;&lt;!--		--&gt;&lt;br&gt;&lt;input id=&quot;importRename&quot; class=&quot;importButton&quot; style=&quot;width: 47%;&quot; value=&quot;rename&quot; title=&quot;rename the incoming tiddler&quot; onclick=&quot;onClickImportButton(this)&quot; type=&quot;button&quot;&gt;&lt;!--		--&gt;&lt;input id=&quot;importReplace&quot; class=&quot;importButton&quot; style=&quot;width: 47%;&quot; value=&quot;replace&quot; title=&quot;discard the existing tiddler&quot; onclick=&quot;onClickImportButton(this)&quot; type=&quot;button&quot;&gt;	&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;!--end collision--&gt;&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;div class=&quot;clear&quot;&gt;&lt;sup&gt;(see &lt;a tiddlylink=&quot;ImportTiddlers&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.ngo-framework.net/#ImportTiddlers&quot; href=&quot;http://www.ngo-framework.net/#ImportTiddlers&quot; class=&quot;externalLink null&quot;&gt;ImportTiddlers&lt;/a&gt; shadow tiddler)&lt;/sup&gt;&lt;/div&gt;&lt;br&gt;&lt;/blockquote&gt;&lt;h5&gt;Installation Notes&lt;/h5&gt;&lt;blockquote&gt;&lt;ul&gt;&lt;li&gt; As of 6/27/2007, &quot;patch&quot; functions that provide backward-compatibility with TW2.1.x and earlier have been split into a separate &lt;a tiddlylink=&quot;ImportTiddlersPluginPatch&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.ngo-framework.net/#ImportTiddlersPluginPatch&quot; href=&quot;http://www.ngo-framework.net/#ImportTiddlersPluginPatch&quot; class=&quot;externalLink null&quot;&gt;ImportTiddlersPluginPatch&lt;/a&gt; tiddler to reduce installation overhead for &lt;em&gt;this&lt;/em&gt; plugin.  You only need to install the additional plugin tiddler when using ImportTiddlersPlugin in documents using TW2.1.x or earlier.&lt;/li&gt;&lt;li&gt; As of 3/21/2007, the interactive &lt;code&gt;&amp;lt;&amp;lt;importTiddlers&amp;gt;&amp;gt;&lt;/code&gt; and non-interactive &lt;code&gt;&amp;lt;&amp;lt;loadTiddlers&amp;gt;&amp;gt;&lt;/code&gt; macro definitions and related code have been split into separate &lt;a tiddlylink=&quot;ImportTiddlersPlugin&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.ngo-framework.net/#ImportTiddlersPlugin&quot; href=&quot;http://www.ngo-framework.net/#ImportTiddlersPlugin&quot; class=&quot;externalLink null&quot;&gt;ImportTiddlersPlugin&lt;/a&gt; and &lt;a tiddlylink=&quot;LoadTiddlersPlugin&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.ngo-framework.net/#LoadTiddlersPlugin&quot; href=&quot;http://www.ngo-framework.net/#LoadTiddlersPlugin&quot; class=&quot;externalLink null&quot;&gt;LoadTiddlersPlugin&lt;/a&gt; to permit selective installation of either the interactive and/or non-interactive macro functions.&lt;/li&gt;&lt;li&gt; Quick Installation Tip: If you are using an unmodified version of TiddlyWiki (core release version &lt;span&gt;2.4.1&lt;/span&gt;), you can get a new, empty TiddlyWiki with the Import Tiddlers plugin pre-installed (&lt;strong&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to TW+ImportExport.html&quot; href=&quot;TW+ImportExport.html&quot; class=&quot;externalLink&quot;&gt;download from here&lt;/a&gt;&lt;/strong&gt;), and then simply import all your content from your old document into this new, empty document.&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;&lt;h5&gt;Revisions&lt;/h5&gt;&lt;blockquote&gt;2008.06.29 [4.3.1] More layout/animation work for simpler sequential interaction.  Code reduction/cleanup&lt;br&gt;&lt;table class=&quot;twtable&quot;&gt;&lt;tbody&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;please see &lt;a tiddlylink=&quot;ImportTiddlersPluginInfo&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.ngo-framework.net/#ImportTiddlersPluginInfo&quot; href=&quot;http://www.ngo-framework.net/#ImportTiddlersPluginInfo&quot; class=&quot;externalLink null&quot;&gt;ImportTiddlersPluginInfo&lt;/a&gt; for additional revision details&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;2005.07.20 [1.0.0] Initial Release&lt;br&gt;&lt;/blockquote&gt;&lt;h5&gt;Code&lt;/h5&gt;&lt;em&gt; &lt;/em&gt; &lt;strong&gt;MACRO DEFINITION&lt;/strong&gt;&lt;br&gt;&lt;pre&gt;// Version
version.extensions.importTiddlers = {major: 4, minor: 3, revision: 0, date: new Date(2008,6,28)};

// add ImportTiddlerPlugin controls to built-in backstage import task
if (config.tasks) { // TW2.2 or above
	config.tasks.importTask.content=&quot;Use ~TiddlyWiki built-in importer (below) or, &quot;;
	config.tasks.importTask.content+=&quot;&amp;lt;&amp;lt;importTiddlers link 'Use ImportTiddlersPlugin control panel...'&amp;gt;&amp;gt;\n&quot;;
	config.tasks.importTask.content+=&quot;&amp;lt;&amp;lt;importTiddlers core&amp;gt;&amp;gt;&quot;
}

// IE needs explicit global scoping for functions/vars called from browser events
window.onClickImportButton=onClickImportButton;
window.refreshImportList=refreshImportList;

// default cookie/option values
if (!config.options.chkImportReport) config.options.chkImportReport=true;

// default shadow definition
config.shadowTiddlers.ImportTiddlers=&quot;&amp;lt;&amp;lt;importTiddlers inline&amp;gt;&amp;gt;&quot;;

merge(config.macros.importTiddlers,{
	label: &quot;import tiddlers&quot;,
	prompt: &quot;Copy tiddlers from another document&quot;,
	openMsg: &quot;Opening %0&quot;,
	openErrMsg: &quot;Could not open %0 - error=%1&quot;,
	readMsg: &quot;Read %0 bytes from %1&quot;,
	foundMsg: &quot;Found %0 tiddlers in %1&quot;,
	filterMsg: &quot;Filtered %0 tiddlers matching '%1'&quot;,
	summaryMsg: &quot;%0 tiddler%1 in the list&quot;,
	summaryFilteredMsg: &quot;%0 of %1 tiddler%2 in the list&quot;,
	plural: &quot;s are&quot;,
	single: &quot; is&quot;,
	countMsg: &quot;%0 tiddlers selected for import&quot;,
	processedMsg: &quot;Processed %0 tiddlers&quot;,
	importedMsg: &quot;Imported %0 of %1 tiddlers from %2&quot;,
	loadText: &quot;please load a document...&quot;,
	closeText: &quot;close&quot;,	// text for close button when file is loaded
	doneText: &quot;done&quot;,	// text for close button when file is not loaded
	startText: &quot;import&quot;,	// text for import button
	stopText: &quot;stop&quot;,	// text for import button while importing
	local: true,		// default to import from local file
	src: &quot;&quot;,		// path/filename or URL of document to import (retrieved from SiteUrl tiddler)
	proxy: &quot;&quot;,		// URL for remote proxy script (retrieved from SiteProxy tiddler)
	useProxy: false,	// use specific proxy script in front of remote URL
	inbound: null,		// hash-indexed array of tiddlers from other document
	newTags: &quot;&quot;,		// text of tags added to imported tiddlers
	addTags: true,		// add new tags to imported tiddlers
	listsize: 20,		// # of lines to show in imported tiddler list
	importTags: true,	// include tags from remote source document when importing a tiddler
	keepTags: true,		// retain existing tags when replacing a tiddler
	sync: false,		// add 'server' fields to imported tiddlers (for sync function)
	lastFilter: &quot;&quot;,		// most recent filter (URL hash) applied
	lastAction: null,	// most recent collision button performed
	index: 0,		// current processing index in import list
	sort: &quot;&quot;		// sort order for imported tiddler listbox
});

if (config.macros.importTiddlers.coreHandler==undefined)
	config.macros.importTiddlers.coreHandler=config.macros.importTiddlers.handler; // save built-in handler
config.macros.importTiddlers.handler = function(place,macroName,params,wikifier,paramString,tiddler) {
	if (!params[0] || params[0].toLowerCase()=='core') { // default to built in
		if (config.macros.importTiddlers.coreHandler)
			config.macros.importTiddlers.coreHandler.apply(this,arguments);
		else 
			createTiddlyButton(place,this.label,this.prompt,onClickImportMenu);
	} else if (params[0]=='link') { // show link to floating panel
		createTiddlyButton(place,params[1]||this.label,params[2]||this.prompt,onClickImportMenu);
	} else if (params[0]=='inline') {// show panel as INLINE tiddler content
		createImportPanel(place);
		document.getElementById(&quot;importPanel&quot;).style.position=&quot;static&quot;;
		document.getElementById(&quot;importPanel&quot;).style.display=&quot;block&quot;;
	} else if (config.macros.loadTiddlers)
		config.macros.loadTiddlers.handler(place,macroName,params); // any other params: loadtiddlers
}

// // ''INTERFACE DEFINITION''
// // Handle link click to create/show/hide control panel
//{{{
function onClickImportMenu(e)
{
	if (!e) var e = window.event;
	var parent=resolveTarget(e).parentNode;
	var panel = document.getElementById(&quot;importPanel&quot;);
	if (panel==undefined || panel.parentNode!=parent)
		panel=createImportPanel(parent);
	var isOpen = panel.style.display==&quot;block&quot;;
	if(config.options.chkAnimate)
		anim.startAnimating(new Slider(panel,!isOpen,e.shiftKey || e.altKey,&quot;none&quot;));
	else
		panel.style.display = isOpen ? &quot;none&quot; : &quot;block&quot; ;
	e.cancelBubble = true;
	if (e.stopPropagation) e.stopPropagation();
	return(false);
}
&lt;/pre&gt;&lt;br&gt;&lt;em&gt; &lt;/em&gt; Create control panel: HTML, CSS&lt;br&gt;&lt;pre&gt;function createImportPanel(place) {
	var cmi=config.macros.importTiddlers; // abbreviation
	var panel=document.getElementById(&quot;importPanel&quot;);
	if (panel) { panel.parentNode.removeChild(panel); }
	setStylesheet(cmi.css,&quot;importTiddlers&quot;);
	panel=createTiddlyElement(place,&quot;span&quot;,&quot;importPanel&quot;,null,null)
	panel.innerHTML=cmi.html;
	refreshImportList();
	var siteURL=store.getTiddlerText(&quot;SiteUrl&quot;); if (!siteURL) siteURL=&quot;&quot;;
	document.getElementById(&quot;importSourceURL&quot;).value=siteURL;
	cmi.src=siteURL;
	var siteProxy=store.getTiddlerText(&quot;SiteProxy&quot;); if (!siteProxy) siteProxy=&quot;SiteProxy&quot;;
	document.getElementById(&quot;importSiteProxy&quot;).value=siteProxy;
	cmi.proxy=siteProxy;
	if (config.browser.isGecko) { // FF3 FIXUP
		document.getElementById(&quot;fileImportSource&quot;).style.display=&quot;none&quot;;
		document.getElementById(&quot;importLocalPanelFix&quot;).style.display=&quot;block&quot;;
	}
	return panel;
}
&lt;/pre&gt;&lt;br&gt;&lt;em&gt; &lt;/em&gt; CSS&lt;br&gt;&lt;pre&gt;config.macros.importTiddlers.css = '\
#importPanel {\
	display: none; position:absolute; z-index:11; width:35em; right:105%; top:3em;\
	background-color: #eee; color:#000; font-size: 8pt; line-height:110%;\
	border:1px solid black; border-bottom-width: 3px; border-right-width: 3px;\
	padding: 0.5em; margin:0em; -moz-border-radius:1em;\
}\
#importPanel a, #importPanel td a { color:#009; display:inline; margin:0px; padding:1px; }\
#importPanel table { width:100%; border:0px; padding:0px; margin:0px; font-size:8pt; line-height:110%; background:transparent; }\
#importPanel tr { border:0px;padding:0px;margin:0px; background:transparent; }\
#importPanel td { color:#000; border:0px;padding:0px;margin:0px; background:transparent; }\
#importPanel select { width:100%;margin:0px;font-size:8pt;line-height:110%;}\
#importPanel input  { width:98%;padding:0px;margin:0px;font-size:8pt;line-height:110%}\
#importPanel .box { border:1px solid #000; background-color:#eee; padding:3px 5px; margin-bottom:5px; -moz-border-radius:5px;}\
#importPanel .topline { border-top:1px solid #999; padding-top:2px; margin-top:2px; }\
#importPanel .rad { width:auto; }\
#importPanel .chk { width:auto; margin:1px;border:0; }\
#importPanel .btn { width:auto; }\
#importPanel .btn1 { width:98%; }\
#importPanel .btn2 { width:48%; }\
#importPanel .btn3 { width:32%; }\
#importPanel .btn4 { width:23%; }\
#importPanel .btn5 { width:19%; }\
#importPanel .importButton { padding: 0em; margin: 0px; font-size:8pt; }\
#importPanel .importListButton { padding:0em 0.25em 0em 0.25em; color: #000000; display:inline }\
#backstagePanel #importPanel { left:10%; right:auto; }\
';
&lt;/pre&gt;&lt;br&gt;&lt;em&gt; &lt;/em&gt; HTML &lt;br&gt;&lt;pre&gt;config.macros.importTiddlers.html = '\
&amp;lt;!-- source and report --&amp;gt;\
&amp;lt;table&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td align=left&amp;gt;\
	import from\
	&amp;lt;input type=&quot;radio&quot; class=&quot;rad&quot; name=&quot;importFrom&quot; id=&quot;importFromFile&quot; value=&quot;file&quot; CHECKED\
		onclick=&quot;onClickImportButton(this,event)&quot; title=&quot;show file controls&quot;&amp;gt; local file\
	&amp;lt;input type=&quot;radio&quot; class=&quot;rad&quot; name=&quot;importFrom&quot; id=&quot;importFromWeb&quot;  value=&quot;http&quot;\
		onclick=&quot;onClickImportButton(this,event)&quot; title=&quot;show web controls&quot;&amp;gt; web server\
&amp;lt;/td&amp;gt;&amp;lt;td align=right&amp;gt;\
	&amp;lt;input type=checkbox class=&quot;chk&quot; id=&quot;chkImportReport&quot; checked\
		onClick=&quot;config.options[\'chkImportReport\']=this.checked;&quot;&amp;gt; create report\
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;\
\
&amp;lt;div class=&quot;box&quot; id=&quot;importSourcePanel&quot; style=&quot;margin:.5em&quot;&amp;gt;\
&amp;lt;div id=&quot;importLocalPanel&quot; style=&quot;display:block;margin-bottom:2px;&quot;&amp;gt;&amp;lt;!-- import from local file  --&amp;gt;\
enter or browse for source path/filename&amp;lt;br&amp;gt;\
&amp;lt;input type=&quot;file&quot; id=&quot;fileImportSource&quot; size=57 style=&quot;width:100%&quot;\
	onKeyUp=&quot;config.macros.importTiddlers.src=this.value&quot;\
	onChange=&quot;config.macros.importTiddlers.src=this.value;document.getElementById(\'importLoad\').onclick()&quot;&amp;gt;\
&amp;lt;div id=&quot;importLocalPanelFix&quot; style=&quot;display:none&quot;&amp;gt;&amp;lt;!-- FF3 FIXUP --&amp;gt;\
	&amp;lt;input type=&quot;text&quot; id=&quot;fileImportSourceFix&quot; style=&quot;width:90%&quot;\
		title=&quot;Enter a path/file to import&quot;\
		onKeyUp=&quot;config.macros.importTiddlers.src=this.value&quot;\
		onChange=&quot;config.macros.importTiddlers.src=this.value; document.getElementById(\'importLoad\').onclick()&quot;&amp;gt;\
	&amp;lt;input type=&quot;button&quot; id=&quot;fileImportSourceFixButton&quot; style=&quot;width:7%&quot; value=&quot;...&quot;\
		title=&quot;Select a path/file to import&quot;\
		onClick=&quot;var r=config.macros.importTiddlers.askForFilename(this); if (!r||!r.length) return;\
			document.getElementById(\'fileImportSourceFix\').value=r;\
			config.macros.importTiddlers.src=r;\
			document.getElementById(\'importLoad\').onclick()&quot;&amp;gt;\
&amp;lt;/div&amp;gt;&amp;lt;!--end FF3 FIXUP--&amp;gt;\
&amp;lt;/div&amp;gt;&amp;lt;!--end local--&amp;gt;\
&amp;lt;div id=&quot;importHTTPPanel&quot; style=&quot;display:none;margin-bottom:2px;&quot;&amp;gt;&amp;lt;!-- import from http server --&amp;gt;\
&amp;lt;table&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td align=left&amp;gt;\
	enter a URL or &amp;lt;a href=&quot;javascript:;&quot; id=&quot;importSelectFeed&quot;\
		onclick=&quot;onClickImportButton(this,event)&quot; title=&quot;select a pre-defined \'systemServer\' URL&quot;&amp;gt;\
		select a server&amp;lt;/a&amp;gt;&amp;lt;br&amp;gt;\
&amp;lt;/td&amp;gt;&amp;lt;td align=right&amp;gt;\
	&amp;lt;input type=&quot;checkbox&quot; class=&quot;chk&quot; id=&quot;importUsePassword&quot;\
		onClick=&quot;config.macros.importTiddlers.usePassword=this.checked;\
			config.macros.importTiddlers.showPanel(\'importIDPWPanel\',this.checked,true);&quot;&amp;gt;password\
	&amp;lt;input type=&quot;checkbox&quot; class=&quot;chk&quot; id=&quot;importUseProxy&quot;\
		onClick=&quot;config.macros.importTiddlers.useProxy=this.checked;\
			config.macros.importTiddlers.showPanel(\'importSiteProxy\',this.checked,true);&quot;&amp;gt;proxy\
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;\
&amp;lt;input type=&quot;text&quot; id=&quot;importSiteProxy&quot; style=&quot;display:none;margin-bottom:1px&quot; onfocus=&quot;this.select()&quot; value=&quot;SiteProxy&quot;\
	onKeyUp=&quot;config.macros.importTiddlers.proxy=this.value&quot;\
	onChange=&quot;config.macros.importTiddlers.proxy=this.value;&quot;&amp;gt;\
&amp;lt;input type=&quot;text&quot; id=&quot;importSourceURL&quot; onfocus=&quot;this.select()&quot; value=&quot;SiteUrl&quot;\
	onKeyUp=&quot;config.macros.importTiddlers.src=this.value&quot;\
	onChange=&quot;config.macros.importTiddlers.src=this.value;&quot;&amp;gt;\
&amp;lt;div id=&quot;importIDPWPanel&quot; style=&quot;text-align:center;margin-top:2px;display:none&quot;;&amp;gt;\
username: &amp;lt;input type=text id=&quot;txtImportID&quot; style=&quot;width:25%&quot; \
	onChange=&quot;config.options.txtRemoteUsername=this.value;&quot;&amp;gt;\
 password: &amp;lt;input type=password id=&quot;txtImportPW&quot; style=&quot;width:25%&quot; \
	onChange=&quot;config.options.txtRemotePassword=this.value;&quot;&amp;gt;\
&amp;lt;/div&amp;gt;&amp;lt;!--end idpw--&amp;gt;\
&amp;lt;/div&amp;gt;&amp;lt;!--end http--&amp;gt;\
&amp;lt;/div&amp;gt;&amp;lt;!--end source--&amp;gt;\
\
&amp;lt;div class=&quot;box&quot; id=&quot;importSelectPanel&quot; style=&quot;display:none;margin:.5em;&quot;&amp;gt;\
&amp;lt;table&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td align=left&amp;gt;\
select:\
&amp;lt;a href=&quot;javascript:;&quot; id=&quot;importSelectAll&quot;\
	onclick=&quot;onClickImportButton(this);return false;&quot; title=&quot;SELECT all tiddlers&quot;&amp;gt;\
	all&amp;lt;/a&amp;gt;\
&amp;amp;nbsp;&amp;lt;a href=&quot;javascript:;&quot; id=&quot;importSelectNew&quot;\
	onclick=&quot;onClickImportButton(this);return false;&quot; title=&quot;SELECT tiddlers not already in destination document&quot;&amp;gt;\
	added&amp;lt;/a&amp;gt;\
&amp;amp;nbsp;&amp;lt;a href=&quot;javascript:;&quot; id=&quot;importSelectChanges&quot;\
	onclick=&quot;onClickImportButton(this);return false;&quot; title=&quot;SELECT tiddlers that have been updated in source document&quot;&amp;gt;\
	changes&amp;lt;/a&amp;gt;\
&amp;amp;nbsp;&amp;lt;a href=&quot;javascript:;&quot; id=&quot;importSelectDifferences&quot;\
	onclick=&quot;onClickImportButton(this);return false;&quot; title=&quot;SELECT tiddlers that have been added or are different from existing tiddlers&quot;&amp;gt;\
	differences&amp;lt;/a&amp;gt;\
&amp;lt;/td&amp;gt;&amp;lt;td align=right&amp;gt;\
&amp;lt;a href=&quot;javascript:;&quot; id=&quot;importListSmaller&quot;\
	onclick=&quot;onClickImportButton(this);return false;&quot; title=&quot;SHRINK list size&quot;&amp;gt;\
	&amp;amp;nbsp;&amp;amp;#150;&amp;amp;nbsp;&amp;lt;/a&amp;gt;\
&amp;lt;a href=&quot;javascript:;&quot; id=&quot;importListLarger&quot;\
	onclick=&quot;onClickImportButton(this);return false;&quot; title=&quot;GROW list size&quot;&amp;gt;\
	&amp;amp;nbsp;+&amp;amp;nbsp;&amp;lt;/a&amp;gt;\
&amp;lt;a href=&quot;javascript:;&quot; id=&quot;importListMaximize&quot;\
	onclick=&quot;onClickImportButton(this);return false;&quot; title=&quot;MAXIMIZE/RESTORE list size&quot;&amp;gt;\
	&amp;amp;nbsp;=&amp;amp;nbsp;&amp;lt;/a&amp;gt;\
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;\
&amp;lt;select id=&quot;importList&quot; size=8 multiple\
	onchange=&quot;setTimeout(\'refreshImportList(\'+this.selectedIndex+\')\',1)&quot;&amp;gt;\
	&amp;lt;!-- NOTE: delay refresh so list is updated AFTER onchange event is handled --&amp;gt;\
&amp;lt;/select&amp;gt;\
&amp;lt;div style=&quot;text-align:center&quot;&amp;gt;\
	&amp;lt;a href=&quot;javascript:;&quot;\
		title=&quot;click for help using filters...&quot;\
		onclick=&quot;alert(\'A filter consists of one or more space-separated combinations of:\\n\\ntiddler titles\\ntag:[[tagvalue]]\\ntag:[[tag expression]] (requires MatchTagsPlugin)\\nstory:[[TiddlerName]]\\nsearch:[[searchtext]]\\n\\nUse a blank filter for all tiddlers.\')&quot;\
	&amp;gt;filter&amp;lt;/a&amp;gt;\
	&amp;lt;input type=&quot;text&quot; id=&quot;importLastFilter&quot; style=&quot;margin-bottom:1px; width:65%&quot;\
		title=&quot;Enter a combination of one or more filters. Use a blank filter for all tiddlers.&quot;\
		onfocus=&quot;this.select()&quot; value=&quot;&quot;\
		onKeyUp=&quot;config.macros.importTiddlers.lastFilter=this.value&quot;\
		onChange=&quot;config.macros.importTiddlers.lastFilter=this.value;&quot;&amp;gt;\
	&amp;lt;input type=&quot;button&quot; id=&quot;importApplyFilter&quot; style=&quot;width:20%&quot; value=&quot;apply&quot;\
		title=&quot;filter list of tiddlers to include only those that match certain criteria&quot;\
		onclick=&quot;onClickImportButton(this)&quot;&amp;gt;\
	&amp;lt;/div&amp;gt;\
&amp;lt;/div&amp;gt;&amp;lt;!--end select--&amp;gt;\
\
&amp;lt;div class=&quot;box&quot; id=&quot;importOptionsPanel&quot; style=&quot;text-align:center;margin:.5em;display:none;&quot;&amp;gt;\
	apply tags: &amp;lt;input type=checkbox class=&quot;chk&quot; id=&quot;chkImportTags&quot; checked\
		onClick=&quot;config.macros.importTiddlers.importTags=this.checked;&quot;&amp;gt;from source&amp;amp;nbsp;\
	&amp;lt;input type=checkbox class=&quot;chk&quot; id=&quot;chkKeepTags&quot; checked\
		onClick=&quot;config.macros.importTiddlers.keepTags=this.checked;&quot;&amp;gt;keep existing&amp;amp;nbsp;\
	&amp;lt;input type=checkbox class=&quot;chk&quot; id=&quot;chkAddTags&quot; \
		onClick=&quot;config.macros.importTiddlers.addTags=this.checked;\
			config.macros.importTiddlers.showPanel(\'txtNewTags\',this.checked,true);\
			if (this.checked) document.getElementById(\'txtNewTags\').focus();&quot;&amp;gt;add tags&amp;lt;br&amp;gt;\
	&amp;lt;input type=text id=&quot;txtNewTags&quot; style=&quot;margin-top:4px;display:none;&quot; size=15\ onfocus=&quot;this.select()&quot; \
		title=&quot;enter tags to be added to imported tiddlers&quot; \
		onKeyUp=&quot;config.macros.importTiddlers.newTags=this.value;\
		document.getElementById(\'chkAddTags\').checked=this.value.length&amp;gt;0;&quot; autocomplete=off&amp;gt;\
	&amp;lt;nobr&amp;gt;&amp;lt;input type=checkbox class=&quot;chk&quot; id=&quot;chkSync&quot; \
		onClick=&quot;config.macros.importTiddlers.sync=this.checked;&quot;&amp;gt;\
		link imported tiddlers to source document (for sync later)&amp;lt;/nobr&amp;gt;\
&amp;lt;/div&amp;gt;&amp;lt;!--end options--&amp;gt;\
\
&amp;lt;div id=&quot;importButtonPanel&quot; style=&quot;text-align:center&quot;&amp;gt;\
	&amp;lt;input type=button id=&quot;importLoad&quot;	class=&quot;importButton btn3&quot; value=&quot;open&quot;\
		title=&quot;load listbox with tiddlers from source document&quot;\
		onclick=&quot;onClickImportButton(this)&quot;&amp;gt;\
	&amp;lt;input type=button id=&quot;importOptions&quot;	class=&quot;importButton btn3&quot; value=&quot;options...&quot;\
		title=&quot;set options for tags, sync, etc.&quot;\
		onclick=&quot;onClickImportButton(this)&quot;&amp;gt;\
	&amp;lt;input type=button id=&quot;importStart&quot;	class=&quot;importButton btn3&quot; value=&quot;import&quot;\
		title=&quot;start/stop import of selected source tiddlers into current document&quot;\
		onclick=&quot;onClickImportButton(this)&quot;&amp;gt;\
	&amp;lt;input type=button id=&quot;importClose&quot;	class=&quot;importButton btn3&quot; value=&quot;done&quot;\
		title=&quot;clear listbox or hide control panel&quot;\
		onclick=&quot;onClickImportButton(this)&quot;&amp;gt;\
&amp;lt;/div&amp;gt;\
\
&amp;lt;div class=&quot;none&quot; id=&quot;importCollisionPanel&quot; style=&quot;display:none;margin:.5em 0 .5em .5em;&quot;&amp;gt;\
	&amp;lt;table&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td style=&quot;width:65%&quot; align=&quot;left&quot;&amp;gt;\
		&amp;lt;table&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td align=left&amp;gt;\
			tiddler already exists:\
		&amp;lt;/td&amp;gt;&amp;lt;td align=right&amp;gt;\
			&amp;lt;input type=checkbox class=&quot;chk&quot; id=&quot;importApplyToAll&quot; \
			onclick=&quot;document.getElementById(\'importRename\').disabled=this.checked;&quot;\
			checked&amp;gt;apply to all\
		&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;\
		&amp;lt;input type=text id=&quot;importNewTitle&quot; size=15 autocomplete=off&quot;&amp;gt;\
	&amp;lt;/td&amp;gt;&amp;lt;td style=&quot;width:34%&quot; align=&quot;center&quot;&amp;gt;\
		&amp;lt;input type=button id=&quot;importMerge&quot;\
			class=&quot;importButton&quot; style=&quot;width:47%&quot; value=&quot;merge&quot;\
			title=&quot;append the incoming tiddler to the existing tiddler&quot;\
			onclick=&quot;onClickImportButton(this)&quot;&amp;gt;&amp;lt;!--\
		--&amp;gt;&amp;lt;input type=button id=&quot;importSkip&quot;\
			class=&quot;importButton&quot; style=&quot;width:47%&quot; value=&quot;skip&quot;\
			title=&quot;do not import this tiddler&quot;\
			onclick=&quot;onClickImportButton(this)&quot;&amp;gt;&amp;lt;!--\
		--&amp;gt;&amp;lt;br&amp;gt;&amp;lt;input type=button id=&quot;importRename&quot;\
			class=&quot;importButton&quot; style=&quot;width:47%&quot; value=&quot;rename&quot;\
			title=&quot;rename the incoming tiddler&quot;\
			onclick=&quot;onClickImportButton(this)&quot;&amp;gt;&amp;lt;!--\
		--&amp;gt;&amp;lt;input type=button id=&quot;importReplace&quot;\
			class=&quot;importButton&quot; style=&quot;width:47%&quot; value=&quot;replace&quot;\
			title=&quot;discard the existing tiddler&quot;\
			onclick=&quot;onClickImportButton(this)&quot;&amp;gt;\
	&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;\
&amp;lt;/div&amp;gt;&amp;lt;!--end collision--&amp;gt;\
';
&lt;/pre&gt;&lt;br&gt;&lt;em&gt; &lt;/em&gt; Control interactions&lt;br&gt;&lt;pre&gt;function onClickImportButton(which,event)
{
	var cmi=config.macros.importTiddlers; // abbreviation

	var list = document.getElementById('importList');
	if (!list) return;
	var thePanel = document.getElementById('importPanel');
	var theCollisionPanel = document.getElementById('importCollisionPanel');
	var theNewTitle = document.getElementById('importNewTitle');
	var count=0;
	switch (which.id)
		{
		case 'importFromFile':	// show local panel
		case 'importFromWeb':	// show HTTP panel
			cmi.local=(which.id=='importFromFile');
			cmi.showPanel('importLocalPanel',cmi.local);
			cmi.showPanel('importHTTPPanel',!cmi.local);
			break;
		case 'importOptions':	// show/hide options panel
			cmi.showPanel('importOptionsPanel',document.getElementById('importOptionsPanel').style.display=='none');
			break;
		case 'fileImportSource':
		case 'importLoad':		// load import source into hidden frame
			importReport();		// if an import was in progress, generate a report
			cmi.inbound=null;	// clear the imported tiddler buffer
			refreshImportList();	// reset/resize the listbox
			if (cmi.src==&quot;&quot;) break;
			// Load document, read it's DOM and fill the list
			cmi.loadRemoteFile(cmi.src,cmi.filterTiddlerList);
			break;
		case 'importSelectFeed':	// select a pre-defined systemServer feed URL
			var p=Popup.create(which); if (!p) return;
			var tids=store.getTaggedTiddlers('systemServer');
			if (!tids.length)
				createTiddlyText(createTiddlyElement(p,'li'),'no pre-defined server feeds');
			for (var t=0; t&amp;lt;tids.length; t++) {
				var u=store.getTiddlerSlice(tids[t].title,&quot;URL&quot;);
				var d=store.getTiddlerSlice(tids[t].title,&quot;Description&quot;);
				if (!d||!d.length) d=store.getTiddlerSlice(tids[t].title,&quot;description&quot;);
				if (!d||!d.length) d=u;
				createTiddlyButton(createTiddlyElement(p,'li'),tids[t].title,d,
					function(){
						var u=this.getAttribute('url');
						document.getElementById('importSourceURL').value=u;
						config.macros.importTiddlers.src=u;
						document.getElementById('importLoad').onclick();
					},
					null,null,null,{url:u});
			}
			Popup.show(p,false);
			event.cancelBubble = true;
			if (event.stopPropagation) event.stopPropagation();
			return(false);
			// create popup with feed list
			// onselect, insert feed URL into input field.
			break;
		case 'importSelectAll':		// select all tiddler list items (i.e., not headings)
			importReport();		// if an import was in progress, generate a report
			for (var t=0,count=0; t &amp;lt; list.options.length; t++) {
				if (list.options[t].value==&quot;&quot;) continue;
				list.options[t].selected=true;
				count++;
			}
			clearMessage(); displayMessage(cmi.countMsg.format([count]));
			document.getElementById('importStart').disabled=!count;
			break;
		case 'importSelectNew':		// select tiddlers not in current document
			importReport();		// if an import was in progress, generate a report
			for (var t=0,count=0; t &amp;lt; list.options.length; t++) {
				list.options[t].selected=false;
				if (list.options[t].value==&quot;&quot;) continue;
				list.options[t].selected=!store.tiddlerExists(list.options[t].value);
				count+=list.options[t].selected?1:0;
			}
			clearMessage(); displayMessage(cmi.countMsg.format([count]));
			document.getElementById('importStart').disabled=!count;
			break;
		case 'importSelectChanges':		// select tiddlers that are updated from existing tiddlers
			importReport();		// if an import was in progress, generate a report
			for (var t=0,count=0; t &amp;lt; list.options.length; t++) {
				list.options[t].selected=false;
				if (list.options[t].value==&quot;&quot;||!store.tiddlerExists(list.options[t].value)) continue;
				for (var i=0; i&amp;lt;cmi.inbound.length; i++) // find matching inbound tiddler
					{ var inbound=cmi.inbound[i]; if (inbound.title==list.options[t].value) break; }
				list.options[t].selected=(inbound.modified-store.getTiddler(list.options[t].value).modified&amp;gt;0); // updated tiddler
				count+=list.options[t].selected?1:0;
			}
			clearMessage(); displayMessage(cmi.countMsg.format([count]));
			document.getElementById('importStart').disabled=!count;
			break;
		case 'importSelectDifferences':		// select tiddlers that are new or different from existing tiddlers
			importReport();		// if an import was in progress, generate a report
			for (var t=0,count=0; t &amp;lt; list.options.length; t++) {
				list.options[t].selected=false;
				if (list.options[t].value==&quot;&quot;) continue;
				if (!store.tiddlerExists(list.options[t].value)) { list.options[t].selected=true; count++; continue; }
				for (var i=0; i&amp;lt;cmi.inbound.length; i++) // find matching inbound tiddler
					{ var inbound=cmi.inbound[i]; if (inbound.title==list.options[t].value) break; }
				list.options[t].selected=(inbound.modified-store.getTiddler(list.options[t].value).modified!=0); // changed tiddler
				count+=list.options[t].selected?1:0;
			}
			clearMessage(); displayMessage(cmi.countMsg.format([count]));
			document.getElementById('importStart').disabled=!count;
			break;
		case 'importApplyFilter':	// filter list to include only matching tiddlers
			importReport();		// if an import was in progress, generate a report
			clearMessage();
			if (!cmi.all) // no tiddlers loaded = &quot;0 selected&quot;
				{ displayMessage(cmi.countMsg.format([0])); return false; }
			var hash=document.getElementById('importLastFilter').value;
			cmi.inbound=cmi.filterByHash(&quot;#&quot;+hash,cmi.all);
			refreshImportList();	// reset/resize the listbox
			break;
		case 'importStart':		// initiate the import processing
			importReport();		// if an import was in progress, generate a report
			document.getElementById('importApplyToAll').checked=false;
			document.getElementById('importStart').value=cmi.stopText;
			if (cmi.index&amp;gt;0) cmi.index=-1; // stop processing
			else cmi.index=importTiddlers(0); // or begin processing
			importStopped();
			break;
		case 'importClose':		// unload imported tiddlers or hide the import control panel
			// if imported tiddlers not loaded, close the import control panel
			if (!cmi.inbound) { thePanel.style.display='none'; break; }
			importReport();		// if an import was in progress, generate a report
			cmi.inbound=null;	// clear the imported tiddler buffer
			refreshImportList();	// reset/resize the listbox
			break;
		case 'importSkip':	// don't import the tiddler
			cmi.lastAction=which;
			var theItem	= list.options[cmi.index];
			for (var j=0;j&amp;lt;cmi.inbound.length;j++)
			if (cmi.inbound[j].title==theItem.value) break;
			var theImported = cmi.inbound[j];
			theImported.status='skipped after asking';			// mark item as skipped
			theCollisionPanel.style.display='none';
			cmi.index=importTiddlers(cmi.index+1);	// resume with NEXT item
			importStopped();
			break;
		case 'importRename':		// change name of imported tiddler
			cmi.lastAction=which;
			var theItem		= list.options[cmi.index];
			for (var j=0;j&amp;lt;cmi.inbound.length;j++)
			if (cmi.inbound[j].title==theItem.value) break;
			var theImported		= cmi.inbound[j];
			theImported.status	= 'renamed from '+theImported.title;	// mark item as renamed
			theImported.set(theNewTitle.value,null,null,null,null);		// change the tiddler title
			theItem.value		= theNewTitle.value;			// change the listbox item text
			theItem.text		= theNewTitle.value;			// change the listbox item text
			theCollisionPanel.style.display='none';
			cmi.index=importTiddlers(cmi.index);	// resume with THIS item
			importStopped();
			break;
		case 'importMerge':	// join existing and imported tiddler content
			cmi.lastAction=which;
			var theItem	= list.options[cmi.index];
			for (var j=0;j&amp;lt;cmi.inbound.length;j++)
			if (cmi.inbound[j].title==theItem.value) break;
			var theImported	= cmi.inbound[j];
			var theExisting	= store.getTiddler(theItem.value);
			var theText	= theExisting.text+'\n----\n^^merged from: ';
			theText		+='[['+cmi.src+'#'+theItem.value+'|'+cmi.src+'#'+theItem.value+']]^^\n';
			theText		+='^^'+theImported.modified.toLocaleString()+' by '+theImported.modifier+'^^\n'+theImported.text;
			var theDate	= new Date();
			var theTags	= theExisting.getTags()+' '+theImported.getTags();
			theImported.set(null,theText,null,theDate,theTags);
			theImported.status   = 'merged with '+theExisting.title;	// mark item as merged
			theImported.status  += ' - '+theExisting.modified.formatString(&quot;MM/DD/YYYY 0hh:0mm:0ss&quot;);
			theImported.status  += ' by '+theExisting.modifier;
			theCollisionPanel.style.display='none';
			cmi.index=importTiddlers(cmi.index);	// resume with this item
			importStopped();
			break;
		case 'importReplace':		// substitute imported tiddler for existing tiddler
			cmi.lastAction=which;
			var theItem		  = list.options[cmi.index];
			for (var j=0;j&amp;lt;cmi.inbound.length;j++)
			if (cmi.inbound[j].title==theItem.value) break;
			var theImported     = cmi.inbound[j];
			var theExisting	  = store.getTiddler(theItem.value);
			theImported.status  = 'replaces '+theExisting.title;		// mark item for replace
			theImported.status += ' - '+theExisting.modified.formatString(&quot;MM/DD/YYYY 0hh:0mm:0ss&quot;);
			theImported.status += ' by '+theExisting.modifier;
			theCollisionPanel.style.display='none';
			cmi.index=importTiddlers(cmi.index);	// resume with THIS item
			importStopped();
			break;
		case 'importListSmaller':		// decrease current listbox size, minimum=5
			if (list.options.length==1) break;
			list.size-=(list.size&amp;gt;5)?1:0;
			cmi.listsize=list.size;
			break;
		case 'importListLarger':		// increase current listbox size, maximum=number of items in list
			if (list.options.length==1) break;
			list.size+=(list.size&amp;lt;list.options.length)?1:0;
			cmi.listsize=list.size;
			break;
		case 'importListMaximize':	// toggle listbox size between current and maximum
			if (list.options.length==1) break;
			list.size=(list.size==list.options.length)?cmi.listsize:list.options.length;
			break;
		}
}
&lt;/pre&gt;&lt;br&gt;&lt;em&gt; &lt;/em&gt; toggle panel&lt;br&gt;&lt;pre&gt;config.macros.importTiddlers.showPanel=function(place,show,skipAnim) {
	if (typeof place == &quot;string&quot;) var place=document.getElementById(place);
	if (!place||!place.style) return;
	if(!skipAnim &amp;amp;&amp;amp; anim &amp;amp;&amp;amp; config.options.chkAnimate) anim.startAnimating(new Slider(place,show,false,&quot;none&quot;));
	else place.style.display=show?&quot;block&quot;:&quot;none&quot;;
}
&lt;/pre&gt;&lt;br&gt;&lt;em&gt; &lt;/em&gt; refresh listbox&lt;br&gt;&lt;pre&gt;function refreshImportList(selectedIndex)
{
	var cmi=config.macros.importTiddlers; // abbreviation

	var list  = document.getElementById(&quot;importList&quot;);
	if (!list) return;
	// if nothing to show, reset list content and size
	if (!cmi.inbound) 
	{
		while (list.length &amp;gt; 0) { list.options[0] = null; }
		list.options[0]=new Option(cmi.loadText,&quot;&quot;,false,false);
		list.size=cmi.listsize;

		// toggle buttons and panels
		document.getElementById('importLoad').disabled=false;
		document.getElementById('importLoad').style.display='inline';
		document.getElementById('importStart').disabled=true;
		document.getElementById('importOptions').disabled=true;
		document.getElementById('importOptions').style.display='none';
		document.getElementById('fileImportSource').disabled=false;
		document.getElementById('importFromFile').disabled=false;
		document.getElementById('importFromWeb').disabled=false;
		document.getElementById('importStart').value=cmi.startText;
		document.getElementById('importClose').value=cmi.doneText;
		document.getElementById('importSelectPanel').style.display='none';
		document.getElementById('importOptionsPanel').style.display='none';
		return;
	}
	// there are inbound tiddlers loaded...
	// toggle buttons and panels
	document.getElementById('importLoad').disabled=true;
	document.getElementById('importLoad').style.display='none';
	document.getElementById('importOptions').style.display='inline';
	document.getElementById('importOptions').disabled=false;
	document.getElementById('fileImportSource').disabled=true;
	document.getElementById('importFromFile').disabled=true;
	document.getElementById('importFromWeb').disabled=true;
	document.getElementById('importClose').value=cmi.closeText;
	if (document.getElementById('importSelectPanel').style.display=='none')
		cmi.showPanel('importSelectPanel',true);

	// get the sort order
	if (!selectedIndex)   selectedIndex=0;
	if (selectedIndex==0) cmi.sort='title';		// heading
	if (selectedIndex==1) cmi.sort='title';
	if (selectedIndex==2) cmi.sort='modified';
	if (selectedIndex==3) cmi.sort='tags';
	if (selectedIndex&amp;gt;3) {
		// display selected tiddler count
		for (var t=0,count=0; t &amp;lt; list.options.length; t++) {
			if (!list.options[t].selected) continue;
			if (list.options[t].value!=&quot;&quot;)
				count+=1;
			else { // if heading is selected, deselect it, and then select and count all in section
				list.options[t].selected=false;
				for ( t++; t&amp;lt;list.options.length &amp;amp;&amp;amp; list.options[t].value!=&quot;&quot;; t++) {
					list.options[t].selected=true;
					count++;
				}
			}
		}
		clearMessage(); displayMessage(cmi.countMsg.format([count]));
	}
	document.getElementById('importStart').disabled=!count;
	if (selectedIndex&amp;gt;3) return; // no refresh needed

	// get the alphasorted list of tiddlers
	var tiddlers=cmi.inbound;
	tiddlers.sort(function (a,b) {if(a['title'] == b['title']) return(0); else return (a['title'] &amp;lt; b['title']) ? -1 : +1; });
	// clear current list contents
	while (list.length &amp;gt; 0) { list.options[0] = null; }
	// add heading and control items to list
	var i=0;
	var indent=String.fromCharCode(160)+String.fromCharCode(160);
	if (cmi.all.length==tiddlers.length)
		var summary=cmi.summaryMsg.format([tiddlers.length,(tiddlers.length!=1)?cmi.plural:cmi.single]);
	else
		var summary=cmi.summaryFilteredMsg.format([tiddlers.length,cmi.all.length,(cmi.all.length!=1)?cmi.plural:cmi.single]);
	list.options[i++]=new Option(summary,&quot;&quot;,false,false);
	list.options[i++]=new Option(((cmi.sort==&quot;title&quot;   )?&quot;&amp;gt;&quot;:indent)+' [by title]',&quot;&quot;,false,false);
	list.options[i++]=new Option(((cmi.sort==&quot;modified&quot;)?&quot;&amp;gt;&quot;:indent)+' [by date]',&quot;&quot;,false,false);
	list.options[i++]=new Option(((cmi.sort==&quot;tags&quot;)?&quot;&amp;gt;&quot;:indent)+' [by tags]',&quot;&quot;,false,false);
	// output the tiddler list
	switch(cmi.sort) {
		case &quot;title&quot;:
			for(var t = 0; t &amp;lt; tiddlers.length; t++)
				list.options[i++] = new Option(tiddlers[t].title,tiddlers[t].title,false,false);
			break;
		case &quot;modified&quot;:
			// sort descending for newest date first
			tiddlers.sort(function (a,b) {if(a['modified'] == b['modified']) return(0); else return (a['modified'] &amp;gt; b['modified']) ? -1 : +1; });
			var lastSection = &quot;&quot;;
			for(var t = 0; t &amp;lt; tiddlers.length; t++) {
				var tiddler = tiddlers[t];
				var theSection = tiddler.modified.toLocaleDateString();
				if (theSection != lastSection) {
					list.options[i++] = new Option(theSection,&quot;&quot;,false,false);
					lastSection = theSection;
				}
				list.options[i++] = new Option(indent+indent+tiddler.title,tiddler.title,false,false);
			}
			break;
		case &quot;tags&quot;:
			var theTitles = {}; // all tiddler titles, hash indexed by tag value
			var theTags = new Array();
			for(var t=0; t&amp;lt;tiddlers.length; t++) {
				var title=tiddlers[t].title;
				var tags=tiddlers[t].tags;
				if (!tags || !tags.length) {
					if (theTitles[&quot;untagged&quot;]==undefined) { theTags.push(&quot;untagged&quot;); theTitles[&quot;untagged&quot;]=new Array(); }
					theTitles[&quot;untagged&quot;].push(title);
				}
				else for(var s=0; s&amp;lt;tags.length; s++) {
					if (theTitles[tags[s]]==undefined) { theTags.push(tags[s]); theTitles[tags[s]]=new Array(); }
					theTitles[tags[s]].push(title);
				}
			}
			theTags.sort();
			for(var tagindex=0; tagindex&amp;lt;theTags.length; tagindex++) {
				var theTag=theTags[tagindex];
				list.options[i++]=new Option(theTag,&quot;&quot;,false,false);
				for(var t=0; t&amp;lt;theTitles[theTag].length; t++)
					list.options[i++]=new Option(indent+indent+theTitles[theTag][t],theTitles[theTag][t],false,false);
			}
			break;
		}
	list.selectedIndex=selectedIndex;		  // select current control item
	if (list.size&amp;lt;cmi.listsize) list.size=cmi.listsize;
	if (list.size&amp;gt;list.options.length) list.size=list.options.length;
}

config.macros.importTiddlers.filterTiddlerList=function(success,params,txt,src,xhr) {
	var cmi=config.macros.importTiddlers; // abbreviation
	var src=src.replace(/%20/g,&quot; &quot;);
	if (!success) { displayMessage(cmi.openErrMsg.format([src,xhr.status])); return; }
	cmi.all = cmi.readTiddlersFromHTML(txt);
	var count=cmi.all?cmi.all.length:0;
	var querypos=src.lastIndexOf(&quot;?&quot;); if (querypos!=-1) src=src.substr(0,querypos);
	displayMessage(cmi.foundMsg.format([count,src]));
	cmi.inbound=cmi.filterByHash(params,cmi.all); // use full URL including hash (if any)
	document.getElementById(&quot;importLastFilter&quot;).value=cmi.lastFilter;
	window.refreshImportList(0);
}

config.macros.importTiddlers.filterByHash=function(src,tiddlers)
{
	var hashpos=src.lastIndexOf(&quot;#&quot;); if (hashpos==-1) return tiddlers;
	var hash=src.substr(hashpos+1); if (!hash.length) return tiddlers;
	var tids=[];
	var params=hash.parseParams(&quot;anon&quot;,null,true,false,false);
	for (var p=1; p&amp;lt;params.length; p++) {
		switch (params[p].name) {
			case &quot;anon&quot;:
			case &quot;open&quot;:
				tids.pushUnique(params[p].value);
				break;
			case &quot;tag&quot;:
				if (store.getMatchingTiddlers) { // for boolean expressions - see MatchTagsPlugin
					var r=store.getMatchingTiddlers(params[p].value,null,tiddlers);
					for (var t=0; t&amp;lt;r.length; t++) tids.pushUnique(r[t].title);
				} else for (var t=0; t&amp;lt;tiddlers.length; t++)
					if (tiddlers[t].isTagged(params[p].value))
						tids.pushUnique(tiddlers[t].title);
				break;
			case &quot;story&quot;:
				for (var t=0; t&amp;lt;tiddlers.length; t++)
					if (tiddlers[t].title==params[p].value) {
						tiddlers[t].changed();
						for (var s=0; s&amp;lt;tiddlers[t].links.length; s++)
							tids.pushUnique(tiddlers[t].links[s]);
						break;
					}
				break;
			case &quot;search&quot;:
				for (var t=0; t&amp;lt;tiddlers.length; t++)
					if (tiddlers[t].text.indexOf(params[p].value)!=-1)
						tids.pushUnique(tiddlers[t].title);
				break;
		}
	}
	var matches=[];
	for (var t=0; t&amp;lt;tiddlers.length; t++)
		if (tids.contains(tiddlers[t].title))
			matches.push(tiddlers[t]);
	displayMessage(config.macros.importTiddlers.filterMsg.format([matches.length,hash]));
	config.macros.importTiddlers.lastFilter=hash;
	return matches;
}
&lt;/pre&gt;&lt;br&gt;&lt;em&gt; &lt;/em&gt; re-entrant processing for handling import with interactive collision prompting&lt;br&gt;&lt;pre&gt;function importTiddlers(startIndex)
{
	var cmi=config.macros.importTiddlers; // abbreviation

	if (!cmi.inbound) return -1;

	var list = document.getElementById('importList');
	if (!list) return;
	var t;
	// if starting new import, reset import status flags
	if (startIndex==0)
		for (var t=0;t&amp;lt;cmi.inbound.length;t++)
			cmi.inbound[t].status=&quot;&quot;;
	for (var i=startIndex; i&amp;lt;list.options.length; i++)
		{
		// if list item is not selected or is a heading (i.e., has no value), skip it
		if ((!list.options[i].selected) || ((t=list.options[i].value)==&quot;&quot;))
			continue;
		for (var j=0;j&amp;lt;cmi.inbound.length;j++)
			if (cmi.inbound[j].title==t) break;
		var inbound = cmi.inbound[j];
		var theExisting = store.getTiddler(inbound.title);
		// avoid redundant import for tiddlers that are listed multiple times (when 'by tags')
		if (inbound.status==&quot;added&quot;)
			continue;
		// don't import the &quot;ImportedTiddlers&quot; history from the other document...
		if (inbound.title=='ImportedTiddlers')
			continue;
		// if tiddler exists and import not marked for replace or merge, stop importing
		if (theExisting &amp;amp;&amp;amp; (inbound.status.substr(0,7)!=&quot;replace&quot;) &amp;amp;&amp;amp; (inbound.status.substr(0,5)!=&quot;merge&quot;))
			return i;
		// assemble tags (remote + existing + added)
		var newTags = &quot;&quot;;
		if (cmi.importTags)
			newTags+=inbound.getTags()	// import remote tags
		if (cmi.keepTags &amp;amp;&amp;amp; theExisting)
			newTags+=&quot; &quot;+theExisting.getTags(); // keep existing tags
		if (cmi.addTags &amp;amp;&amp;amp; cmi.newTags.trim().length)
			newTags+=&quot; &quot;+cmi.newTags; // add new tags
		inbound.set(null,null,null,null,newTags.trim());
		// set the status to 'added' (if not already set by the 'ask the user' UI)
		inbound.status=(inbound.status==&quot;&quot;)?'added':inbound.status;
		// set sync fields
		if (cmi.sync) {
			if (!inbound.fields) inbound.fields={}; // for TW2.1.x backward-compatibility
			inbound.fields[&quot;server.page.revision&quot;]=inbound.modified.convertToYYYYMMDDHHMM();
			inbound.fields[&quot;server.type&quot;]=&quot;file&quot;;
			inbound.fields[&quot;server.host&quot;]=(cmi.local?&quot;file://&quot;:&quot;&quot;)+cmi.src;
		}
		// do the import!
		store.suspendNotifications();
		store.saveTiddler(inbound.title, inbound.title, inbound.text, inbound.modifier, inbound.modified, inbound.tags, inbound.fields, true, inbound.created);
                store.fetchTiddler(inbound.title).created = inbound.created; // force creation date to imported value (needed for TW2.1.x and earlier)
		store.resumeNotifications();
		}
	return(-1);	// signals that we really finished the entire list
}
&lt;/pre&gt;&lt;br&gt;&lt;pre&gt;function importStopped()
{
	var cmi=config.macros.importTiddlers; // abbreviation
	var list = document.getElementById('importList');
	var theNewTitle = document.getElementById('importNewTitle');
	if (!list) return;
	if (cmi.index==-1){ 
		document.getElementById('importStart').value=cmi.startText;
		importReport();		// import finished... generate the report
	} else {
		// import collision...
		// show the collision panel and set the title edit field
		document.getElementById('importStart').value=cmi.stopText;
		cmi.showPanel('importCollisionPanel',true);
		theNewTitle.value=list.options[cmi.index].value;
		if (document.getElementById('importApplyToAll').checked
			&amp;amp;&amp;amp; cmi.lastAction
			&amp;amp;&amp;amp; cmi.lastAction.id!=&quot;importRename&quot;) {
			onClickImportButton(cmi.lastAction);
		}
	}
}
&lt;/pre&gt;&lt;br&gt;&lt;em&gt; &lt;/em&gt; &lt;strong&gt;REPORT GENERATOR&lt;/strong&gt;&lt;br&gt;&lt;pre&gt;function importReport()
{
	var cmi=config.macros.importTiddlers; // abbreviation
	if (!cmi.inbound) return;

	// if import was not completed, the collision panel will still be open... close it now.
	var panel=document.getElementById('importCollisionPanel'); if (panel) panel.style.display='none';

	// get the alphasorted list of tiddlers
	var tiddlers = cmi.inbound;
	// gather the statistics
	var count=0; var total=0;
	for (var t=0; t&amp;lt;tiddlers.length; t++) {
		if (!tiddlers[t].status || !tiddlers[t].status.trim().length) continue;
		if (tiddlers[t].status.substr(0,7)!=&quot;skipped&quot;) count++;
		total++;
	}
	// generate a report
	if (total) displayMessage(cmi.processedMsg.format([total]));
	if (count &amp;amp;&amp;amp; config.options.chkImportReport) {
		// get/create the report tiddler
		var theReport = store.getTiddler('ImportedTiddlers');
		if (!theReport) { theReport= new Tiddler(); theReport.title = 'ImportedTiddlers'; theReport.text  = &quot;&quot;; }
		// format the report content
		var now = new Date();
		var newText = &quot;On &quot;+now.toLocaleString()+&quot;, &quot;+config.options.txtUserName
		newText +=&quot; imported &quot;+count+&quot; tiddler&quot;+(count==1?&quot;&quot;:&quot;s&quot;)+&quot; from\n[[&quot;+cmi.src+&quot;|&quot;+cmi.src+&quot;]]:\n&quot;;
		if (cmi.addTags &amp;amp;&amp;amp; cmi.newTags.trim().length)
			newText += &quot;imported tiddlers were tagged with: \&quot;&quot;+cmi.newTags+&quot;\&quot;\n&quot;;
		newText += &quot;&amp;lt;&amp;lt;&amp;lt;\n&quot;;
		for (var t=0; t&amp;lt;tiddlers.length; t++) if (tiddlers[t].status) newText += &quot;#[[&quot;+tiddlers[t].title+&quot;]] - &quot;+tiddlers[t].status+&quot;\n&quot;;
		newText += &quot;&amp;lt;&amp;lt;&amp;lt;\n&quot;;
		// update the ImportedTiddlers content and show the tiddler
		theReport.text	 = newText+((theReport.text!=&quot;&quot;)?'\n----\n':&quot;&quot;)+theReport.text;
		theReport.modifier = config.options.txtUserName;
		theReport.modified = new Date();
                store.saveTiddler(theReport.title, theReport.title, theReport.text, theReport.modifier, theReport.modified, theReport.tags, theReport.fields);
		story.displayTiddler(null,theReport.title,1,null,null,false);
		story.refreshTiddler(theReport.title,1,true);
	}

	// reset status flags
	for (var t=0; t&amp;lt;cmi.inbound.length; t++) cmi.inbound[t].status=&quot;&quot;;

	// mark document as dirty and let display update as needed
	if (count) { store.setDirty(true); store.notifyAll(); }

	// always show final message when tiddlers were actually loaded
	if (count) displayMessage(cmi.importedMsg.format([count,tiddlers.length,cmi.src.replace(/%20/g,&quot; &quot;)]));
}
&lt;/pre&gt;&lt;br&gt;&lt;em&gt; &lt;/em&gt; File and XMLHttpRequest I/O&lt;br&gt;&lt;pre&gt;config.macros.importTiddlers.askForFilename=function(here) {
	var msg=here.title; // use tooltip as dialog box message
	var path=getLocalPath(document.location.href);
	var slashpos=path.lastIndexOf(&quot;/&quot;); if (slashpos==-1) slashpos=path.lastIndexOf(&quot;\\&quot;); 
	if (slashpos!=-1) path = path.substr(0,slashpos+1); // remove filename from path, leave the trailing slash
	var file=&quot;&quot;;
	var result=&quot;&quot;;
	if(window.Components) { // moz
		try {
			netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
			var nsIFilePicker = window.Components.interfaces.nsIFilePicker;
			var picker = Components.classes['@mozilla.org/filepicker;1'].createInstance(nsIFilePicker);
			picker.init(window, msg, nsIFilePicker.modeOpen);
			var thispath = Components.classes['@mozilla.org/file/local;1'].createInstance(Components.interfaces.nsILocalFile);
			thispath.initWithPath(path);
			picker.displayDirectory=thispath;
			picker.defaultExtension='html';
			picker.defaultString=file;
			picker.appendFilters(nsIFilePicker.filterAll|nsIFilePicker.filterText|nsIFilePicker.filterHTML);
			if (picker.show()!=nsIFilePicker.returnCancel) var result=picker.file.persistentDescriptor;
		}
		catch(e) { alert('error during local file access: '+e.toString()) }
	}
	else { // IE
		try { // XPSP2 IE only
			var s = new ActiveXObject('UserAccounts.CommonDialog');
			s.Filter='All files|*.*|Text files|*.txt|HTML files|*.htm;*.html|';
			s.FilterIndex=3; // default to HTML files;
			s.InitialDir=path;
			s.FileName=file;
			if (s.showOpen()) var result=s.FileName;
		}
		catch(e) {  // fallback
			var result=prompt(msg,path+file);
		}
	}
	return result;
}

config.macros.importTiddlers.fileExists=function(theFile) {
	var found=false;
	if(window.Components) {
		try { netscape.security.PrivilegeManager.enablePrivilege(&quot;UniversalXPConnect&quot;); }
		catch(e) { return false; } // security access denied
		var file = Components.classes[&quot;@mozilla.org/file/local;1&quot;].createInstance(Components.interfaces.nsILocalFile);
		try { file.initWithPath(theFile); }
		catch(e) { return false; } // invalid directory
		found = file.exists();
	}
	else { // use ActiveX FSO object for MSIE 
		var fso = new ActiveXObject(&quot;Scripting.FileSystemObject&quot;);
		found = fso.FileExists(theFile)
	}
	return found;

}

config.macros.importTiddlers.loadRemoteFile = function(src,callback) {
	if (src==undefined || !src.length) return null; // filename is required
	var original=src; // URL as specified
	var hashpos=src.indexOf(&quot;#&quot;); if (hashpos!=-1) src=src.substr(0,hashpos); // URL with #... suffix removed (needed for IE)
	clearMessage();
	displayMessage(this.openMsg.format([src.replace(/%20/g,&quot; &quot;)]));
	if (src.substr(0,5)!=&quot;http:&quot; &amp;amp;&amp;amp; src.substr(0,5)!=&quot;file:&quot;) { // if src is relative (i.e., not a URL)
		if (!this.fileExists(src)) { // if file cannot be found, might be relative path.. try fixup
			var pathPrefix=document.location.href;  // get current document path and trim off filename
			var slashpos=pathPrefix.lastIndexOf(&quot;/&quot;); if (slashpos==-1) slashpos=pathPrefix.lastIndexOf(&quot;\\&quot;); 
			if (slashpos!=-1 &amp;amp;&amp;amp; slashpos!=pathPrefix.length-1) pathPrefix=pathPrefix.substr(0,slashpos+1);
			src=pathPrefix+src;
			if (pathPrefix.substr(0,5)!=&quot;http:&quot;) src=getLocalPath(src);
		}
	}
	if (src.substr(0,5)!=&quot;http:&quot; &amp;amp;&amp;amp; src.substr(0,5)!=&quot;file:&quot;) { // if not remote URL, read from local filesystem
		var txt=loadFile(src);
		if ((txt==null)||(txt==false)) // file didn't load
			{ displayMessage(config.macros.importTiddlers.openErrMsg.format([src.replace(/%20/g,&quot; &quot;),&quot;(filesystem error)&quot;])); }
		else {
			displayMessage(config.macros.importTiddlers.readMsg.format([txt.length,src.replace(/%20/g,&quot; &quot;)]));
			if (callback) callback(true,original,convertUTF8ToUnicode(txt),src,null);
		}
	}
	else {
		var name=config.options.txtRemoteUsername; var pass=config.options.txtRemotePassword;
		var xhr=doHttp(&quot;GET&quot;,src,null,null,name,pass,callback,original,null)
		if (!xhr) displayMessage(config.macros.importTiddlers.openErrMsg.format([src,&quot;(XMLHTTPRequest error)&quot;]));
	}
}

config.macros.importTiddlers.readTiddlersFromHTML=function(html)
{
	var remoteStore=new TiddlyWiki();
	remoteStore.importTiddlyWiki(html);
	return remoteStore.getTiddlers(&quot;title&quot;);	
}
&lt;/pre&gt;</description>
<category>ImportExportPackage</category>
<category>systemConfig</category>
<category>includeNew</category>
<category>editing</category>
<link>http://www.ngo-framework.net/#ImportTiddlersPlugin</link>
<pubDate>Tue, 29 Jul 2008 13:45:00 GMT</pubDate>
</item>
<item>
<title>TagglyTaggingPlugin</title>
<description>&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;TagglyTaggingPlugin&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Description:&lt;/td&gt;&lt;td&gt;tagglyTagging macro is a replacement for the builtin tagging macro in your &lt;a tiddlylink=&quot;ViewTemplate&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.ngo-framework.net/#ViewTemplate&quot; href=&quot;http://www.ngo-framework.net/#ViewTemplate&quot; class=&quot;externalLink null&quot;&gt;ViewTemplate&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;3.3.1 ($Rev: 6100 $)&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Date:&lt;/td&gt;&lt;td&gt;$Date: 2008-07-27 01:42:07 +1000 (Sun, 27 Jul 2008) $&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://mptw.tiddlyspot.com/#TagglyTaggingPlugin&quot; href=&quot;http://mptw.tiddlyspot.com/#TagglyTaggingPlugin&quot; class=&quot;externalLink&quot;&gt;http://mptw.tiddlyspot.com/#TagglyTaggingPlugin&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Author:&lt;/td&gt;&lt;td&gt;Simon Baird &amp;lt;simon.baird@gmail.com&amp;gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;License:&lt;/td&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://mptw.tiddlyspot.com/#TheBSDLicense&quot; href=&quot;http://mptw.tiddlyspot.com/#TheBSDLicense&quot; class=&quot;externalLink&quot;&gt;http://mptw.tiddlyspot.com/#TheBSDLicense&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h1&gt;Notes&lt;/h1&gt;See &lt;a target=&quot;_blank&quot; title=&quot;External link to http://mptw.tiddlyspot.com/#TagglyTagging&quot; href=&quot;http://mptw.tiddlyspot.com/#TagglyTagging&quot; class=&quot;externalLink&quot;&gt;http://mptw.tiddlyspot.com/#TagglyTagging&lt;/a&gt;&lt;br&gt;&lt;pre&gt;merge(String.prototype,{

	parseTagExpr: function(debug) {

		if (this.trim() == &quot;&quot;)
			return &quot;(true)&quot;;

		var anyLogicOp = /(!|&amp;amp;&amp;amp;|\|\||\(|\))/g;
		var singleLogicOp = /^(!|&amp;amp;&amp;amp;|\|\||\(|\))$/;

		var spaced = this.
			// because square brackets in templates are no good
			// this means you can use [(With Spaces)] instead of [[With Spaces]]
			replace(/\[\(/g,&quot; [[&quot;).
			replace(/\)\]/g,&quot;]] &quot;). 
			// space things out so we can use readBracketedList. tricky eh?
			replace(anyLogicOp,&quot; $1 &quot;);

		var expr = &quot;&quot;;

		var tokens = spaced.readBracketedList(false); // false means don't uniq the list. nice one JR!

		for (var i=0;i&amp;lt;tokens.length;i++)
			if (tokens[i].match(singleLogicOp))
				expr += tokens[i];
			else
				expr += &quot;tiddler.tags.contains('%0')&quot;.format([tokens[i].replace(/'/,&quot;\\'&quot;)]); // fix single quote bug. still have round bracket bug i think

		if (debug)
			alert(expr);

		return '('+expr+')';
	}

});

merge(TiddlyWiki.prototype,{
	getTiddlersByTagExpr: function(tagExpr,sortField) {

		var result = [];

		var expr = tagExpr.parseTagExpr();

		store.forEachTiddler(function(title,tiddler) {
			if (eval(expr))
				result.push(tiddler);
		});

		if(!sortField)
			sortField = &quot;title&quot;;

		result.sort(function(a,b) {return a[sortField] &amp;lt; b[sortField] ? -1 : (a[sortField] == b[sortField] ? 0 : +1);});
		
		return result;
	}
});

config.taggly = {

	// for translations
	lingo: {
		labels: {
			asc:        &quot;\u2191&quot;, // down arrow
			desc:       &quot;\u2193&quot;, // up arrow
			title:      &quot;title&quot;,
			modified:   &quot;modified&quot;,
			created:    &quot;created&quot;,
			show:       &quot;+&quot;,
			hide:       &quot;-&quot;,
			normal:     &quot;normal&quot;,
			group:      &quot;group&quot;,
			commas:     &quot;commas&quot;,
			sitemap:    &quot;sitemap&quot;,
			numCols:    &quot;cols\u00b1&quot;, // plus minus sign
			label:      &quot;Tagged as '%0':&quot;,
			exprLabel:  &quot;Matching tag expression '%0':&quot;,
			excerpts:   &quot;excerpts&quot;,
			descr:      &quot;descr&quot;,
			slices:     &quot;slices&quot;,
			contents:   &quot;contents&quot;,
			sliders:    &quot;sliders&quot;,
			noexcerpts: &quot;title only&quot;,
			noneFound:  &quot;(none)&quot;
		},

		tooltips: {
			title:      &quot;Click to sort by title&quot;,
			modified:   &quot;Click to sort by modified date&quot;,
			created:    &quot;Click to sort by created date&quot;,
			show:       &quot;Click to show tagging list&quot;,
			hide:       &quot;Click to hide tagging list&quot;,
			normal:     &quot;Click to show a normal ungrouped list&quot;,
			group:      &quot;Click to show list grouped by tag&quot;,
			sitemap:    &quot;Click to show a sitemap style list&quot;,
			commas:     &quot;Click to show a comma separated list&quot;,
			numCols:    &quot;Click to change number of columns&quot;,
			excerpts:   &quot;Click to show excerpts&quot;,
			descr:      &quot;Click to show the description slice&quot;,
			slices:     &quot;Click to show all slices&quot;,
			contents:   &quot;Click to show entire tiddler contents&quot;,
			sliders:    &quot;Click to show tiddler contents in sliders&quot;,
			noexcerpts: &quot;Click to show entire title only&quot;
		},

		tooDeepMessage: &quot;* //sitemap too deep...//&quot;
	},

	config: {
		showTaggingCounts: true,
		listOpts: {
			// the first one will be the default
			sortBy:     [&quot;title&quot;,&quot;modified&quot;,&quot;created&quot;],
			sortOrder:  [&quot;asc&quot;,&quot;desc&quot;],
			hideState:  [&quot;show&quot;,&quot;hide&quot;],
			listMode:   [&quot;normal&quot;,&quot;group&quot;,&quot;sitemap&quot;,&quot;commas&quot;],
			numCols:    [&quot;1&quot;,&quot;2&quot;,&quot;3&quot;,&quot;4&quot;,&quot;5&quot;,&quot;6&quot;],
			excerpts:   [&quot;noexcerpts&quot;,&quot;excerpts&quot;,&quot;descr&quot;,&quot;slices&quot;,&quot;contents&quot;,&quot;sliders&quot;]
		},
		valuePrefix: &quot;taggly.&quot;,
		excludeTags: [&quot;excludeLists&quot;,&quot;excludeTagging&quot;],
		excerptSize: 50,
		excerptMarker: &quot;/%&quot;+&quot;%/&quot;,
		siteMapDepthLimit: 25
	},

	getTagglyOpt: function(title,opt) {
		var val = store.getValue(title,this.config.valuePrefix+opt);
		return val ? val : this.config.listOpts[opt][0];
	},

	setTagglyOpt: function(title,opt,value) {
		if (!store.tiddlerExists(title))
			// create it silently
			store.saveTiddler(title,title,config.views.editor.defaultText.format([title]),config.options.txtUserName,new Date(),&quot;&quot;);
		// if value is default then remove it to save space
		return store.setValue(title,
			this.config.valuePrefix+opt,
			value == this.config.listOpts[opt][0] ? null : value);
	},

	getNextValue: function(title,opt) {
		var current = this.getTagglyOpt(title,opt);
		var pos = this.config.listOpts[opt].indexOf(current);
		// a little usability enhancement. actually it doesn't work right for grouped or sitemap
		var limit = (opt == &quot;numCols&quot; ? store.getTiddlersByTagExpr(title).length : this.config.listOpts[opt].length);
		var newPos = (pos + 1) % limit;
		return this.config.listOpts[opt][newPos];
	},

	toggleTagglyOpt: function(title,opt) {
		var newVal = this.getNextValue(title,opt);
		this.setTagglyOpt(title,opt,newVal);
	}, 

	createListControl: function(place,title,type) {
		var lingo = config.taggly.lingo;
		var label;
		var tooltip;
		var onclick;

		if ((type == &quot;title&quot; || type == &quot;modified&quot; || type == &quot;created&quot;)) {
			// &quot;special&quot; controls. a little tricky. derived from sortOrder and sortBy
			label = lingo.labels[type];
			tooltip = lingo.tooltips[type];

			if (this.getTagglyOpt(title,&quot;sortBy&quot;) == type) {
				label += lingo.labels[this.getTagglyOpt(title,&quot;sortOrder&quot;)];
				onclick = function() {
					config.taggly.toggleTagglyOpt(title,&quot;sortOrder&quot;);
					return false;
				}
			}
			else {
				onclick = function() {
					config.taggly.setTagglyOpt(title,&quot;sortBy&quot;,type);
					config.taggly.setTagglyOpt(title,&quot;sortOrder&quot;,config.taggly.config.listOpts.sortOrder[0]);
					return false;
				}
			}
		}
		else {
			// &quot;regular&quot; controls, nice and simple
			label = lingo.labels[type == &quot;numCols&quot; ? type : this.getNextValue(title,type)];
			tooltip = lingo.tooltips[type == &quot;numCols&quot; ? type : this.getNextValue(title,type)];
			onclick = function() {
				config.taggly.toggleTagglyOpt(title,type);
				return false;
			}
		}

		// hide button because commas don't have columns
		if (!(this.getTagglyOpt(title,&quot;listMode&quot;) == &quot;commas&quot; &amp;amp;&amp;amp; type == &quot;numCols&quot;))
			createTiddlyButton(place,label,tooltip,onclick,type == &quot;hideState&quot; ? &quot;hidebutton&quot; : &quot;button&quot;);
	},

	makeColumns: function(orig,numCols) {
		var listSize = orig.length;
		var colSize = listSize/numCols;
		var remainder = listSize % numCols;

		var upperColsize = colSize;
		var lowerColsize = colSize;

		if (colSize != Math.floor(colSize)) {
			// it's not an exact fit so..
			upperColsize = Math.floor(colSize) + 1;
			lowerColsize = Math.floor(colSize);
		}

		var output = [];
		var c = 0;
		for (var j=0;j&amp;lt;numCols;j++) {
			var singleCol = [];
			var thisSize = j &amp;lt; remainder ? upperColsize : lowerColsize;
			for (var i=0;i&amp;lt;thisSize;i++) 
				singleCol.push(orig[c++]);
			output.push(singleCol);
		}

		return output;
	},

	drawTable: function(place,columns,theClass) {
		var newTable = createTiddlyElement(place,&quot;table&quot;,null,theClass);
		var newTbody = createTiddlyElement(newTable,&quot;tbody&quot;);
		var newTr = createTiddlyElement(newTbody,&quot;tr&quot;);
		for (var j=0;j&amp;lt;columns.length;j++) {
			var colOutput = &quot;&quot;;
			for (var i=0;i&amp;lt;columns[j].length;i++) 
				colOutput += columns[j][i];
			var newTd = createTiddlyElement(newTr,&quot;td&quot;,null,&quot;tagglyTagging&quot;); // todo should not need this class
			wikify(colOutput,newTd);
		}
		return newTable;
	},

	createTagglyList: function(place,title,isTagExpr) {
		switch(this.getTagglyOpt(title,&quot;listMode&quot;)) {
			case &quot;group&quot;:  return this.createTagglyListGrouped(place,title,isTagExpr); break;
			case &quot;normal&quot;: return this.createTagglyListNormal(place,title,false,isTagExpr); break;
			case &quot;commas&quot;: return this.createTagglyListNormal(place,title,true,isTagExpr); break;
			case &quot;sitemap&quot;:return this.createTagglyListSiteMap(place,title,isTagExpr); break;
		}
	},

	getTaggingCount: function(title,isTagExpr) {
		// thanks to Doug Edmunds
		if (this.config.showTaggingCounts) {
			var tagCount = config.taggly.getTiddlers(title,'title',isTagExpr).length;
			if (tagCount &amp;gt; 0)
				return &quot; (&quot;+tagCount+&quot;)&quot;;
		}
		return &quot;&quot;;
	},

	getTiddlers: function(titleOrExpr,sortBy,isTagExpr) {
		return isTagExpr ? store.getTiddlersByTagExpr(titleOrExpr,sortBy) : store.getTaggedTiddlers(titleOrExpr,sortBy);
	},

	getExcerpt: function(inTiddlerTitle,title,indent) {
		if (!indent)
			indent = 1;

		var displayMode = this.getTagglyOpt(inTiddlerTitle,&quot;excerpts&quot;);
		var t = store.getTiddler(title);

		if (t &amp;amp;&amp;amp; displayMode == &quot;excerpts&quot;) {
			var text = t.text.replace(/\n/,&quot; &quot;);
			var marker = text.indexOf(this.config.excerptMarker);
			if (marker != -1) {
				return &quot; {{excerpt{&amp;lt;nowiki&amp;gt;&quot; + text.substr(0,marker) + &quot;&amp;lt;/nowiki&amp;gt;}}}&quot;;
			}
			else if (text.length &amp;lt; this.config.excerptSize) {
				return &quot; {{excerpt{&amp;lt;nowiki&amp;gt;&quot; + t.text + &quot;&amp;lt;/nowiki&amp;gt;}}}&quot;;
			}
			else {
				return &quot; {{excerpt{&amp;lt;nowiki&amp;gt;&quot; + t.text.substr(0,this.config.excerptSize) + &quot;...&quot; + &quot;&amp;lt;/nowiki&amp;gt;}}}&quot;;
			}
		}
		else if (t &amp;amp;&amp;amp; displayMode == &quot;contents&quot;) {
			return &quot;\n{{contents indent&quot;+indent+&quot;{\n&quot; + t.text + &quot;\n}}}&quot;;
		}
		else if (t &amp;amp;&amp;amp; displayMode == &quot;sliders&quot;) {
			return &quot;&amp;lt;slider slide&amp;gt;\n{{contents{\n&quot; + t.text + &quot;\n}}}\n&amp;lt;/slider&amp;gt;&quot;;
		}
		else if (t &amp;amp;&amp;amp; displayMode == &quot;descr&quot;) {
			var descr = store.getTiddlerSlice(title,'Description');
			return descr ? &quot; {{excerpt{&quot; + descr  + &quot;}}}&quot; : &quot;&quot;;
		}
		else if (t &amp;amp;&amp;amp; displayMode == &quot;slices&quot;) {
			var result = &quot;&quot;;
			var slices = store.calcAllSlices(title);
			for (var s in slices)
				result += &quot;|%0|&amp;lt;nowiki&amp;gt;%1&amp;lt;/nowiki&amp;gt;|\n&quot;.format([s,slices[s]]);
			return result ? &quot;\n{{excerpt excerptIndent{\n&quot; + result  + &quot;}}}&quot; : &quot;&quot;;
		}
		return &quot;&quot;;
	},

	notHidden: function(t,inTiddler) {
		if (typeof t == &quot;string&quot;) 
			t = store.getTiddler(t);
		return (!t || !t.tags.containsAny(this.config.excludeTags) ||
				(inTiddler &amp;amp;&amp;amp; this.config.excludeTags.contains(inTiddler)));
	},

	// this is for normal and commas mode
	createTagglyListNormal: function(place,title,useCommas,isTagExpr) {

		var list = config.taggly.getTiddlers(title,this.getTagglyOpt(title,&quot;sortBy&quot;),isTagExpr);

		if (this.getTagglyOpt(title,&quot;sortOrder&quot;) == &quot;desc&quot;)
			list = list.reverse();

		var output = [];
		var first = true;
		for (var i=0;i&amp;lt;list.length;i++) {
			if (this.notHidden(list[i],title)) {
				var countString = this.getTaggingCount(list[i].title);
				var excerpt = this.getExcerpt(title,list[i].title);
				if (useCommas)
					output.push((first ? &quot;&quot; : &quot;, &quot;) + &quot;[[&quot; + list[i].title + &quot;]]&quot; + countString + excerpt);
				else
					output.push(&quot;*[[&quot; + list[i].title + &quot;]]&quot; + countString + excerpt + &quot;\n&quot;);

				first = false;
			}
		}

		return this.drawTable(place,
			this.makeColumns(output,useCommas ? 1 : parseInt(this.getTagglyOpt(title,&quot;numCols&quot;))),
			useCommas ? &quot;commas&quot; : &quot;normal&quot;);
	},

	// this is for the &quot;grouped&quot; mode
	createTagglyListGrouped: function(place,title,isTagExpr) {
		var sortBy = this.getTagglyOpt(title,&quot;sortBy&quot;);
		var sortOrder = this.getTagglyOpt(title,&quot;sortOrder&quot;);

		var list = config.taggly.getTiddlers(title,sortBy,isTagExpr);

		if (sortOrder == &quot;desc&quot;)
			list = list.reverse();

		var leftOvers = []
		for (var i=0;i&amp;lt;list.length;i++)
			leftOvers.push(list[i].title);

		var allTagsHolder = {};
		for (var i=0;i&amp;lt;list.length;i++) {
			for (var j=0;j&amp;lt;list[i].tags.length;j++) {

				if (list[i].tags[j] != title) { // not this tiddler

					if (this.notHidden(list[i].tags[j],title)) {

						if (!allTagsHolder[list[i].tags[j]])
							allTagsHolder[list[i].tags[j]] = &quot;&quot;;

						if (this.notHidden(list[i],title)) {
							allTagsHolder[list[i].tags[j]] += &quot;**[[&quot;+list[i].title+&quot;]]&quot;
										+ this.getTaggingCount(list[i].title) + this.getExcerpt(title,list[i].title) + &quot;\n&quot;;

							leftOvers.setItem(list[i].title,-1); // remove from leftovers. at the end it will contain the leftovers

						}
					}
				}
			}
		}

		var allTags = [];
		for (var t in allTagsHolder)
			allTags.push(t);

		var sortHelper = function(a,b) {
			if (a == b) return 0;
			if (a &amp;lt; b) return -1;
			return 1;
		};

		allTags.sort(function(a,b) {
			var tidA = store.getTiddler(a);
			var tidB = store.getTiddler(b);
			if (sortBy == &quot;title&quot;) return sortHelper(a,b);
			else if (!tidA &amp;amp;&amp;amp; !tidB) return 0;
			else if (!tidA) return -1;
			else if (!tidB) return +1;
			else return sortHelper(tidA[sortBy],tidB[sortBy]);
		});

		var leftOverOutput = &quot;&quot;;
		for (var i=0;i&amp;lt;leftOvers.length;i++)
			if (this.notHidden(leftOvers[i],title))
				leftOverOutput += &quot;*[[&quot;+leftOvers[i]+&quot;]]&quot; + this.getTaggingCount(leftOvers[i]) + this.getExcerpt(title,leftOvers[i]) + &quot;\n&quot;;

		var output = [];

		if (sortOrder == &quot;desc&quot;)
			allTags.reverse();
		else if (leftOverOutput != &quot;&quot;)
			// leftovers first...
			output.push(leftOverOutput);

		for (var i=0;i&amp;lt;allTags.length;i++)
			if (allTagsHolder[allTags[i]] != &quot;&quot;)
				output.push(&quot;*[[&quot;+allTags[i]+&quot;]]&quot; + this.getTaggingCount(allTags[i]) + this.getExcerpt(title,allTags[i]) + &quot;\n&quot; + allTagsHolder[allTags[i]]);

		if (sortOrder == &quot;desc&quot; &amp;amp;&amp;amp; leftOverOutput != &quot;&quot;)
			// leftovers last...
			output.push(leftOverOutput);

		return this.drawTable(place,
				this.makeColumns(output,parseInt(this.getTagglyOpt(title,&quot;numCols&quot;))),
				&quot;grouped&quot;);

	},

	// used to build site map
	treeTraverse: function(title,depth,sortBy,sortOrder,isTagExpr) {

		var list = config.taggly.getTiddlers(title,sortBy,isTagExpr);

		if (sortOrder == &quot;desc&quot;)
			list.reverse();

		var indent = &quot;&quot;;
		for (var j=0;j&amp;lt;depth;j++)
			indent += &quot;*&quot;

		var childOutput = &quot;&quot;;

		if (depth &amp;gt; this.config.siteMapDepthLimit)
			childOutput += indent + this.lingo.tooDeepMessage;
		else
			for (var i=0;i&amp;lt;list.length;i++)
				if (list[i].title != title)
					if (this.notHidden(list[i].title,this.config.inTiddler))
						childOutput += this.treeTraverse(list[i].title,depth+1,sortBy,sortOrder,false);

		if (depth == 0)
			return childOutput;
		else
			return indent + &quot;[[&quot;+title+&quot;]]&quot; + this.getTaggingCount(title) + this.getExcerpt(this.config.inTiddler,title,depth) + &quot;\n&quot; + childOutput;
	},

	// this if for the site map mode
	createTagglyListSiteMap: function(place,title,isTagExpr) {
		this.config.inTiddler = title; // nasty. should pass it in to traverse probably
		var output = this.treeTraverse(title,0,this.getTagglyOpt(title,&quot;sortBy&quot;),this.getTagglyOpt(title,&quot;sortOrder&quot;),isTagExpr);
		return this.drawTable(place,
				this.makeColumns(output.split(/(?=^\*\[)/m),parseInt(this.getTagglyOpt(title,&quot;numCols&quot;))), // regexp magic
				&quot;sitemap&quot;
				);
	},

	macros: {
		tagglyTagging: {
			handler: function (place,macroName,params,wikifier,paramString,tiddler) {
				var parsedParams = paramString.parseParams(&quot;tag&quot;,null,true);
				var refreshContainer = createTiddlyElement(place,&quot;div&quot;);

				// do some refresh magic to make it keep the list fresh - thanks Saq
				refreshContainer.setAttribute(&quot;refresh&quot;,&quot;macro&quot;);
				refreshContainer.setAttribute(&quot;macroName&quot;,macroName);

				var tag = getParam(parsedParams,&quot;tag&quot;);
				var expr = getParam(parsedParams,&quot;expr&quot;);

				if (expr) {
					refreshContainer.setAttribute(&quot;isTagExpr&quot;,&quot;true&quot;);
					refreshContainer.setAttribute(&quot;title&quot;,expr);
					refreshContainer.setAttribute(&quot;showEmpty&quot;,&quot;true&quot;);
				}
				else {
					refreshContainer.setAttribute(&quot;isTagExpr&quot;,&quot;false&quot;);
					if (tag) {
        				refreshContainer.setAttribute(&quot;title&quot;,tag);
						refreshContainer.setAttribute(&quot;showEmpty&quot;,&quot;true&quot;);
					}
					else {
        				refreshContainer.setAttribute(&quot;title&quot;,tiddler.title);
						refreshContainer.setAttribute(&quot;showEmpty&quot;,&quot;false&quot;);
					}
				}
				this.refresh(refreshContainer);
			},

			refresh: function(place) {
				var title = place.getAttribute(&quot;title&quot;);
				var isTagExpr = place.getAttribute(&quot;isTagExpr&quot;) == &quot;true&quot;;
				var showEmpty = place.getAttribute(&quot;showEmpty&quot;) == &quot;true&quot;;
				removeChildren(place);
				addClass(place,&quot;tagglyTagging&quot;);
				var countFound = config.taggly.getTiddlers(title,'title',isTagExpr).length
				if (countFound &amp;gt; 0 || showEmpty) {
					var lingo = config.taggly.lingo;
					config.taggly.createListControl(place,title,&quot;hideState&quot;);
					if (config.taggly.getTagglyOpt(title,&quot;hideState&quot;) == &quot;show&quot;) {
						createTiddlyElement(place,&quot;span&quot;,null,&quot;tagglyLabel&quot;,
								isTagExpr ? lingo.labels.exprLabel.format([title]) : lingo.labels.label.format([title]));
						config.taggly.createListControl(place,title,&quot;title&quot;);
						config.taggly.createListControl(place,title,&quot;modified&quot;);
						config.taggly.createListControl(place,title,&quot;created&quot;);
						config.taggly.createListControl(place,title,&quot;listMode&quot;);
						config.taggly.createListControl(place,title,&quot;excerpts&quot;);
						config.taggly.createListControl(place,title,&quot;numCols&quot;);
						config.taggly.createTagglyList(place,title,isTagExpr);
						if (countFound == 0 &amp;amp;&amp;amp; showEmpty)
							createTiddlyElement(place,&quot;div&quot;,null,&quot;tagglyNoneFound&quot;,lingo.labels.noneFound);
					}
				}
			}
		}
	},

	// todo fix these up a bit
	styles: [
&quot;/*{{{*/&quot;,
&quot;/* created by TagglyTaggingPlugin */&quot;,
&quot;.tagglyTagging { padding-top:0.5em; }&quot;,
&quot;.tagglyTagging li.listTitle { display:none; }&quot;,
&quot;.tagglyTagging ul {&quot;,
&quot;	margin-top:0px; padding-top:0.5em; padding-left:2em;&quot;,
&quot;	margin-bottom:0px; padding-bottom:0px;&quot;,
&quot;}&quot;,
&quot;.tagglyTagging { vertical-align: top; margin:0px; padding:0px; }&quot;,
&quot;.tagglyTagging table { margin:0px; padding:0px; }&quot;,
&quot;.tagglyTagging .button { visibility:hidden; margin-left:3px; margin-right:3px; }&quot;,
&quot;.tagglyTagging .button, .tagglyTagging .hidebutton {&quot;,
&quot;	color:[[ColorPalette::TertiaryLight]]; font-size:90%;&quot;,
&quot;	border:0px; padding-left:0.3em;padding-right:0.3em;&quot;,
&quot;}&quot;,
&quot;.tagglyTagging .button:hover, .hidebutton:hover, &quot;,
&quot;.tagglyTagging .button:active, .hidebutton:active  {&quot;,
&quot;	border:0px; background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]];&quot;,
&quot;}&quot;,
&quot;.selected .tagglyTagging .button { visibility:visible; }&quot;,
&quot;.tagglyTagging .hidebutton { color:[[ColorPalette::Background]]; }&quot;,
&quot;.selected .tagglyTagging .hidebutton { color:[[ColorPalette::TertiaryLight]] }&quot;,
&quot;.tagglyLabel { color:[[ColorPalette::TertiaryMid]]; font-size:90%; }&quot;,
&quot;.tagglyTagging ul {padding-top:0px; padding-bottom:0.5em; margin-left:1em; }&quot;,
&quot;.tagglyTagging ul ul {list-style-type:disc; margin-left:-1em;}&quot;,
&quot;.tagglyTagging ul ul li {margin-left:0.5em; }&quot;,
&quot;.editLabel { font-size:90%; padding-top:0.5em; }&quot;,
&quot;.tagglyTagging .commas { padding-left:1.8em; }&quot;,
&quot;/* not technically tagglytagging but will put them here anyway */&quot;,
&quot;.tagglyTagged li.listTitle { display:none; }&quot;,
&quot;.tagglyTagged li { display: inline; font-size:90%; }&quot;,
&quot;.tagglyTagged ul { margin:0px; padding:0px; }&quot;,
&quot;.excerpt { color:[[ColorPalette::TertiaryDark]]; }&quot;,
&quot;.excerptIndent { margin-left:4em; }&quot;,
&quot;div.tagglyTagging table,&quot;,
&quot;div.tagglyTagging table tr,&quot;,
&quot;td.tagglyTagging&quot;,
&quot; {border-style:none!important; }&quot;,
&quot;.tagglyTagging .contents { border-bottom:2px solid [[ColorPalette::TertiaryPale]]; padding:0 1em 1em 0.5em;&quot;,
&quot;  margin-bottom:0.5em; }&quot;,
&quot;.tagglyTagging .indent1  { margin-left:3em;  }&quot;,
&quot;.tagglyTagging .indent2  { margin-left:4em;  }&quot;,
&quot;.tagglyTagging .indent3  { margin-left:5em;  }&quot;,
&quot;.tagglyTagging .indent4  { margin-left:6em;  }&quot;,
&quot;.tagglyTagging .indent5  { margin-left:7em;  }&quot;,
&quot;.tagglyTagging .indent6  { margin-left:8em;  }&quot;,
&quot;.tagglyTagging .indent7  { margin-left:9em;  }&quot;,
&quot;.tagglyTagging .indent8  { margin-left:10em; }&quot;,
&quot;.tagglyTagging .indent9  { margin-left:11em; }&quot;,
&quot;.tagglyTagging .indent10 { margin-left:12em; }&quot;,
&quot;.tagglyNoneFound { margin-left:2em; color:[[ColorPalette::TertiaryMid]]; font-size:90%; font-style:italic; }&quot;,
&quot;/*}}}*/&quot;,
		&quot;&quot;].join(&quot;\n&quot;),

	init: function() {
		merge(config.macros,this.macros);
		config.shadowTiddlers[&quot;TagglyTaggingStyles&quot;] = this.styles;
		store.addNotification(&quot;TagglyTaggingStyles&quot;,refreshStyles);
	}
};

config.taggly.init();
&lt;/pre&gt;&lt;br&gt;InlineSlidersPlugin&lt;br&gt;By Saq Imtiaz&lt;br&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://tw.lewcid.org/sandbox/#InlineSlidersPlugin&quot; href=&quot;http://tw.lewcid.org/sandbox/#InlineSlidersPlugin&quot; class=&quot;externalLink&quot;&gt;http://tw.lewcid.org/sandbox/#InlineSlidersPlugin&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;em&gt; syntax adjusted to not clash with NestedSlidersPlugin&lt;br&gt;&lt;/em&gt; added + syntax to start open instead of closed&lt;br&gt;&lt;br&gt;&lt;pre&gt;config.formatters.unshift( {
	name: &quot;inlinesliders&quot;,
	// match: &quot;\\+\\+\\+\\+|\\&amp;lt;slider&quot;,
	match: &quot;\\&amp;lt;slider&quot;,
	// lookaheadRegExp: /(?:\+\+\+\+|&amp;lt;slider) (.*?)(?:&amp;gt;?)\n((?:.|\n)*?)\n(?:====|&amp;lt;\/slider&amp;gt;)/mg,
	lookaheadRegExp: /(?:&amp;lt;slider)(\+?) (.*?)(?:&amp;gt;)\n((?:.|\n)*?)\n(?:&amp;lt;\/slider&amp;gt;)/mg,
	handler: function(w) {
		this.lookaheadRegExp.lastIndex = w.matchStart;
		var lookaheadMatch = this.lookaheadRegExp.exec(w.source)
		if(lookaheadMatch &amp;amp;&amp;amp; lookaheadMatch.index == w.matchStart ) {
			var btn = createTiddlyButton(w.output,lookaheadMatch[2] + &quot; &quot;+&quot;\u00BB&quot;,lookaheadMatch[2],this.onClickSlider,&quot;button sliderButton&quot;);
			var panel = createTiddlyElement(w.output,&quot;div&quot;,null,&quot;sliderPanel&quot;);
			panel.style.display = (lookaheadMatch[1] == '+' ? &quot;block&quot; : &quot;none&quot;);
			wikify(lookaheadMatch[3],panel);
			w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
		}
   },
   onClickSlider : function(e) {
		if(!e) var e = window.event;
		var n = this.nextSibling;
		n.style.display = (n.style.display==&quot;none&quot;) ? &quot;block&quot; : &quot;none&quot;;
		return false;
	}
});
&lt;/pre&gt;&lt;br&gt;</description>
<category>systemConfig</category>
<category>3rd party plugin</category>
<category>Simon Baird</category>
<category>tagglytagging</category>
<link>http://www.ngo-framework.net/#TagglyTaggingPlugin</link>
<pubDate>Sat, 26 Jul 2008 15:42:00 GMT</pubDate>
</item>
<item>
<title>HoverMenuPlugin</title>
<description>&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;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;&lt;a tiddlylink=&quot;Saq Imtiaz&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.ngo-framework.net/#Saq Imtiaz&quot; href=&quot;http://www.ngo-framework.net/#Saq%20Imtiaz&quot; class=&quot;externalLink null&quot;&gt;Saq Imtiaz&lt;/a&gt;&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;tr class=&quot;oddRow&quot;&gt;&lt;td align=&quot;left&quot;&gt;Description:&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Provides a hovering menu on the edge of the screen for commonly used commands, that scrolls with the page.&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td align=&quot;left&quot;&gt;Demo:&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Observe the hovering menu on the right edge of the screen.&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td align=&quot;left&quot;&gt;Installation:&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Copy the contents of this tiddler to your TW, tag with systemConfig, save and reload your TW.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;To customize your &lt;a tiddlylink=&quot;HoverMenu&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.ngo-framework.net/#HoverMenu&quot; href=&quot;http://www.ngo-framework.net/#HoverMenu&quot; class=&quot;externalLink null&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 http://www.ngo-framework.net/#HoverMenu&quot; href=&quot;http://www.ngo-framework.net/#HoverMenu&quot; class=&quot;externalLink null&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 http://www.ngo-framework.net/#HoverMenu&quot; href=&quot;http://www.ngo-framework.net/#HoverMenu&quot; class=&quot;externalLink null&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 http://www.ngo-framework.net/#HoverMenu&quot; href=&quot;http://www.ngo-framework.net/#HoverMenu&quot; class=&quot;externalLink null&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 http://www.ngo-framework.net/#HoverMenu&quot; href=&quot;http://www.ngo-framework.net/#HoverMenu&quot; class=&quot;externalLink null&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 http://www.ngo-framework.net/#HoverMenu&quot; href=&quot;http://www.ngo-framework.net/#HoverMenu&quot; class=&quot;externalLink null&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: 18,              // horizontal distance of menu from side of screen, increase to your liking.
               y: 200            //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 http://www.ngo-framework.net/#HoverMenu&quot; href=&quot;http://www.ngo-framework.net/#HoverMenu&quot; class=&quot;externalLink null&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>customLewcidTWPlugin</category>
<category>excludeLists</category>
<category>excludeSearch</category>
<category>systemConfig</category>
<link>http://www.ngo-framework.net/#HoverMenuPlugin</link>
<pubDate>Wed, 16 Jul 2008 19:46:00 GMT</pubDate>
</item>
<item>
<title>Config Tweaks</title>
<description>config.options.chkDisableNonExistingWikiLinks=true;&lt;br&gt;config.options.chkSearchTitles=true;&lt;br&gt;config.options.chkSearchText=false;&lt;br&gt;config.options.chkSearchTags=false;</description>
<category>systemConfig</category>
<category>search options</category>
<category>non-existing-wikilinks</category>
<link>http://www.ngo-framework.net/#%5B%5BConfig%20Tweaks%5D%5D</link>
<pubDate>Wed, 11 Jun 2008 20:36:00 GMT</pubDate>
</item>
<item>
<title>NestedSlidersPlugin</title>
<description>&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;NestedSlidersPlugin&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Source&lt;/td&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.TiddlyTools.com/#NestedSlidersPlugin&quot; href=&quot;http://www.TiddlyTools.com/#NestedSlidersPlugin&quot; class=&quot;externalLink&quot;&gt;http://www.TiddlyTools.com/#NestedSlidersPlugin&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Documentation&lt;/td&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.TiddlyTools.com/#NestedSlidersPluginInfo&quot; href=&quot;http://www.TiddlyTools.com/#NestedSlidersPluginInfo&quot; class=&quot;externalLink&quot;&gt;http://www.TiddlyTools.com/#NestedSlidersPluginInfo&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;2.4.5&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Author&lt;/td&gt;&lt;td&gt;Eric Shulman - ELS Design Studios&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;License&lt;/td&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.TiddlyTools.com/#LegalStatements&quot; href=&quot;http://www.TiddlyTools.com/#LegalStatements&quot; class=&quot;externalLink&quot;&gt;http://www.TiddlyTools.com/#LegalStatements&lt;/a&gt; &lt;br&gt;and &lt;a target=&quot;_blank&quot; title=&quot;External link to http://creativecommons.org/licenses/by-sa/2.5/&quot; href=&quot;http://creativecommons.org/licenses/by-sa/2.5/&quot; class=&quot;externalLink&quot;&gt;Creative Commons Attribution-ShareAlike 2.5 License&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;CoreVersion&lt;/td&gt;&lt;td&gt;2.1&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Type&lt;/td&gt;&lt;td&gt;plugin&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Requires&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Overrides&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Options&lt;/td&gt;&lt;td&gt;##Configuration&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Description&lt;/td&gt;&lt;td&gt;show content in nest-able sliding/floating panels, without creating separate tiddlers for each panel's content&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h5&gt;Documentation&lt;/h5&gt;&lt;blockquote&gt;see &lt;a tiddlylink=&quot;NestedSlidersPluginInfo&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.ngo-framework.net/#NestedSlidersPluginInfo&quot; href=&quot;http://www.ngo-framework.net/#NestedSlidersPluginInfo&quot; class=&quot;externalLink null&quot;&gt;NestedSlidersPluginInfo&lt;/a&gt;&lt;br&gt;&lt;/blockquote&gt;&lt;h5&gt;Configuration&lt;/h5&gt;&lt;blockquote&gt;&lt;input class=&quot;chkOptionInput&quot; option=&quot;chkFloatingSlidersAnimate&quot; type=&quot;checkbox&quot;&gt; allow floating sliders to animate when opening/closing&lt;br&gt;&lt;blockquote&gt;Note: This setting can cause 'clipping' problems in some versions of InternetExplorer.&lt;br&gt;In addition, for floating slider animation to occur you must also allow animation in general (see &lt;a tiddlylink=&quot;AdvancedOptions&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.ngo-framework.net/#AdvancedOptions&quot; href=&quot;http://www.ngo-framework.net/#AdvancedOptions&quot; class=&quot;externalLink null&quot;&gt;AdvancedOptions&lt;/a&gt;).&lt;br&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;h5&gt;Revisions&lt;/h5&gt;&lt;blockquote&gt;2008.06.07 - 2.4.5 in 'onmouseover' handler for 'open on hover' slider buttons,&lt;br&gt;use call() method when invoking document.onclick function (avoids error in IE)&lt;br&gt;&lt;table class=&quot;twtable&quot;&gt;&lt;tbody&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;please see &lt;a tiddlylink=&quot;NestedSlidersPluginInfo&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.ngo-framework.net/#NestedSlidersPluginInfo&quot; href=&quot;http://www.ngo-framework.net/#NestedSlidersPluginInfo&quot; class=&quot;externalLink null&quot;&gt;NestedSlidersPluginInfo&lt;/a&gt; for additional revision details&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;2005.11.03 - 1.0.0 initial public release.  Thanks to RodneyGomes, GeoffSlocock, and PaulPetterson for suggestions and experiments.&lt;br&gt;&lt;/blockquote&gt;&lt;h5&gt;Code&lt;/h5&gt;&lt;pre&gt;version.extensions.nestedSliders = {major: 2, minor: 4, revision: 5, date: new Date(2008,6,7)};

// options for deferred rendering of sliders that are not initially displayed
if (config.options.chkFloatingSlidersAnimate===undefined)
	config.options.chkFloatingSlidersAnimate=false; // avoid clipping problems in IE

// default styles for 'floating' class
setStylesheet(&quot;.floatingPanel { position:absolute; z-index:10; padding:0.5em; margin:0em; \
	background-color:#eee; color:#000; border:1px solid #000; text-align:left; }&quot;,&quot;floatingPanelStylesheet&quot;);

config.formatters.push( {
	name: &quot;nestedSliders&quot;,
	match: &quot;\\n?\\+{3}&quot;,
	terminator: &quot;\\s*\\={3}\\n?&quot;,
	lookahead: &quot;\\n?\\+{3}(\\+)?(\\([^\\)]*\\))?(\\!*)?(\\^(?:[^\\^\\*\\@\\[\\&amp;gt;]*\\^)?)?(\\*)?(\\@)?(?:\\{\\{([\\w]+[\\s\\w]*)\\{)?(\\[[^\\]]*\\])?(\\[[^\\]]*\\])?(?:\\}{3})?(\\#[^:]*\\:)?(\\&amp;gt;)?(\\.\\.\\.)?\\s*&quot;,
	handler: function(w)
		{
			lookaheadRegExp = new RegExp(this.lookahead,&quot;mg&quot;);
			lookaheadRegExp.lastIndex = w.matchStart;
			var lookaheadMatch = lookaheadRegExp.exec(w.source)
			if(lookaheadMatch &amp;amp;&amp;amp; lookaheadMatch.index == w.matchStart)
			{
				var defopen=lookaheadMatch[1];
				var cookiename=lookaheadMatch[2];
				var header=lookaheadMatch[3];
				var panelwidth=lookaheadMatch[4];
				var transient=lookaheadMatch[5];
				var hover=lookaheadMatch[6];
				var buttonClass=lookaheadMatch[7];
				var label=lookaheadMatch[8];
				var openlabel=lookaheadMatch[9];
				var panelID=lookaheadMatch[10];
				var blockquote=lookaheadMatch[11];
				var deferred=lookaheadMatch[12];

				// location for rendering button and panel
				var place=w.output;

				// default to closed, no cookie, no accesskey, no alternate text/tip
				var show=&quot;none&quot;; var cookie=&quot;&quot;; var key=&quot;&quot;;
				var closedtext=&quot;&amp;gt;&quot;; var closedtip=&quot;&quot;;
				var openedtext=&quot;&amp;lt;&quot;; var openedtip=&quot;&quot;;

				// extra &quot;+&quot;, default to open
				if (defopen) show=&quot;block&quot;;

				// cookie, use saved open/closed state
				if (cookiename) {
					cookie=cookiename.trim().slice(1,-1);
					cookie=&quot;chkSlider&quot;+cookie;
					if (config.options[cookie]==undefined)
						{ config.options[cookie] = (show==&quot;block&quot;) }
					show=config.options[cookie]?&quot;block&quot;:&quot;none&quot;;
				}

				// parse label/tooltip/accesskey: [label=X|tooltip]
				if (label) {
					var parts=label.trim().slice(1,-1).split(&quot;|&quot;);
					closedtext=parts.shift();
					if (closedtext.substr(closedtext.length-2,1)==&quot;=&quot;)	
						{ key=closedtext.substr(closedtext.length-1,1); closedtext=closedtext.slice(0,-2); }
					openedtext=closedtext;
					if (parts.length) closedtip=openedtip=parts.join(&quot;|&quot;);
					else { closedtip=&quot;show &quot;+closedtext; openedtip=&quot;hide &quot;+closedtext; }
				}

				// parse alternate label/tooltip: [label|tooltip]
				if (openlabel) {
					var parts=openlabel.trim().slice(1,-1).split(&quot;|&quot;);
					openedtext=parts.shift();
					if (parts.length) openedtip=parts.join(&quot;|&quot;);
					else openedtip=&quot;hide &quot;+openedtext;
				}

				var title=show=='block'?openedtext:closedtext;
				var tooltip=show=='block'?openedtip:closedtip;

				// create the button
				if (header) { // use &quot;Hn&quot; header format instead of button/link
					var lvl=(header.length&amp;gt;5)?5:header.length;
					var btn = createTiddlyElement(createTiddlyElement(place,&quot;h&quot;+lvl,null,null,null),&quot;a&quot;,null,buttonClass,title);
					btn.onclick=onClickNestedSlider;
					btn.setAttribute(&quot;href&quot;,&quot;javascript:;&quot;);
					btn.setAttribute(&quot;title&quot;,tooltip);
				}
				else
					var btn = createTiddlyButton(place,title,tooltip,onClickNestedSlider,buttonClass);
				btn.innerHTML=title; // enables use of HTML entities in label

				// set extra button attributes
				btn.setAttribute(&quot;closedtext&quot;,closedtext);
				btn.setAttribute(&quot;closedtip&quot;,closedtip);
				btn.setAttribute(&quot;openedtext&quot;,openedtext);
				btn.setAttribute(&quot;openedtip&quot;,openedtip);
				btn.sliderCookie = cookie; // save the cookiename (if any) in the button object
				btn.defOpen=defopen!=null; // save default open/closed state (boolean)
				btn.keyparam=key; // save the access key letter (&quot;&quot; if none)
				if (key.length) {
					btn.setAttribute(&quot;accessKey&quot;,key); // init access key
					btn.onfocus=function(){this.setAttribute(&quot;accessKey&quot;,this.keyparam);}; // **reclaim** access key on focus
				}
				btn.setAttribute(&quot;hover&quot;,hover?&quot;true&quot;:&quot;false&quot;);
				btn.onmouseover=function(ev) {
					// optional 'open on hover' handling
					if (this.getAttribute(&quot;hover&quot;)==&quot;true&quot; &amp;amp;&amp;amp; this.sliderPanel.style.display=='none') {
						document.onclick.call(document,ev); // close transients
						onClickNestedSlider(ev); // open this slider
					}
					// mouseover on button aligns floater position with button
					if (window.adjustSliderPos) window.adjustSliderPos(this.parentNode,this,this.sliderPanel);
				}

				// create slider panel
				var panelClass=panelwidth?&quot;floatingPanel&quot;:&quot;sliderPanel&quot;;
				if (panelID) panelID=panelID.slice(1,-1); // trim off delimiters
				var panel=createTiddlyElement(place,&quot;div&quot;,panelID,panelClass,null);
				panel.button = btn; // so the slider panel know which button it belongs to
				btn.sliderPanel=panel; // so the button knows which slider panel it belongs to
				panel.defaultPanelWidth=(panelwidth &amp;amp;&amp;amp; panelwidth.length&amp;gt;2)?panelwidth.slice(1,-1):&quot;&quot;;
				panel.setAttribute(&quot;transient&quot;,transient==&quot;*&quot;?&quot;true&quot;:&quot;false&quot;);
				panel.style.display = show;
				panel.style.width=panel.defaultPanelWidth;
				panel.onmouseover=function(event) // mouseover on panel aligns floater position with button
					{ if (window.adjustSliderPos) window.adjustSliderPos(this.parentNode,this.button,this); }

				// render slider (or defer until shown) 
				w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
				if ((show==&quot;block&quot;)||!deferred) {
					// render now if panel is supposed to be shown or NOT deferred rendering
					w.subWikify(blockquote?createTiddlyElement(panel,&quot;blockquote&quot;):panel,this.terminator);
					// align floater position with button
					if (window.adjustSliderPos) window.adjustSliderPos(place,btn,panel);
				}
				else {
					var src = w.source.substr(w.nextMatch);
					var endpos=findMatchingDelimiter(src,&quot;+++&quot;,&quot;===&quot;);
					panel.setAttribute(&quot;raw&quot;,src.substr(0,endpos));
					panel.setAttribute(&quot;blockquote&quot;,blockquote?&quot;true&quot;:&quot;false&quot;);
					panel.setAttribute(&quot;rendered&quot;,&quot;false&quot;);
					w.nextMatch += endpos+3;
					if (w.source.substr(w.nextMatch,1)==&quot;\n&quot;) w.nextMatch++;
				}
			}
		}
	}
)

function findMatchingDelimiter(src,starttext,endtext) {
	var startpos = 0;
	var endpos = src.indexOf(endtext);
	// check for nested delimiters
	while (src.substring(startpos,endpos-1).indexOf(starttext)!=-1) {
		// count number of nested 'starts'
		var startcount=0;
		var temp = src.substring(startpos,endpos-1);
		var pos=temp.indexOf(starttext);
		while (pos!=-1)  { startcount++; pos=temp.indexOf(starttext,pos+starttext.length); }
		// set up to check for additional 'starts' after adjusting endpos
		startpos=endpos+endtext.length;
		// find endpos for corresponding number of matching 'ends'
		while (startcount &amp;amp;&amp;amp; endpos!=-1) {
			endpos = src.indexOf(endtext,endpos+endtext.length);
			startcount--;
		}
	}
	return (endpos==-1)?src.length:endpos;
}
&lt;/pre&gt;&lt;pre&gt;window.onClickNestedSlider=function(e)
{
	if (!e) var e = window.event;
	var theTarget = resolveTarget(e);
	while (theTarget &amp;amp;&amp;amp; theTarget.sliderPanel==undefined) theTarget=theTarget.parentNode;
	if (!theTarget) return false;
	var theSlider = theTarget.sliderPanel;
	var isOpen = theSlider.style.display!=&quot;none&quot;;

	// toggle label
	theTarget.innerHTML=isOpen?theTarget.getAttribute(&quot;closedText&quot;):theTarget.getAttribute(&quot;openedText&quot;);
	// toggle tooltip
	theTarget.setAttribute(&quot;title&quot;,isOpen?theTarget.getAttribute(&quot;closedTip&quot;):theTarget.getAttribute(&quot;openedTip&quot;));

	// deferred rendering (if needed)
	if (theSlider.getAttribute(&quot;rendered&quot;)==&quot;false&quot;) {
		var place=theSlider;
		if (theSlider.getAttribute(&quot;blockquote&quot;)==&quot;true&quot;)
			place=createTiddlyElement(place,&quot;blockquote&quot;);
		wikify(theSlider.getAttribute(&quot;raw&quot;),place);
		theSlider.setAttribute(&quot;rendered&quot;,&quot;true&quot;);
	}
	// show/hide the slider
	if(config.options.chkAnimate &amp;amp;&amp;amp; (!hasClass(theSlider,'floatingPanel') || config.options.chkFloatingSlidersAnimate))
		anim.startAnimating(new Slider(theSlider,!isOpen,e.shiftKey || e.altKey,&quot;none&quot;));
	else
		theSlider.style.display = isOpen ? &quot;none&quot; : &quot;block&quot;;
	// reset to default width (might have been changed via plugin code)
	theSlider.style.width=theSlider.defaultPanelWidth;
	// align floater panel position with target button
	if (!isOpen &amp;amp;&amp;amp; window.adjustSliderPos) window.adjustSliderPos(theSlider.parentNode,theTarget,theSlider);
	// if showing panel, set focus to first 'focus-able' element in panel
	if (theSlider.style.display!=&quot;none&quot;) {
		var ctrls=theSlider.getElementsByTagName(&quot;*&quot;);
		for (var c=0; c&amp;lt;ctrls.length; c++) {
			var t=ctrls[c].tagName.toLowerCase();
			if ((t==&quot;input&quot; &amp;amp;&amp;amp; ctrls[c].type!=&quot;hidden&quot;) || t==&quot;textarea&quot; || t==&quot;select&quot;)
				{ ctrls[c].focus(); break; }
		}
	}
	var cookie=theTarget.sliderCookie;
	if (cookie &amp;amp;&amp;amp; cookie.length) {
		config.options[cookie]=!isOpen;
		if (config.options[cookie]!=theTarget.defOpen)
			saveOptionCookie(cookie);
		else { // remove cookie if slider is in default display state
			var ex=new Date(); ex.setTime(ex.getTime()-1000);
			document.cookie = cookie+&quot;=novalue; path=/; expires=&quot;+ex.toGMTString();
		}
	}

	// prevent SHIFT-CLICK from being processed by browser (opens blank window... yuck!)
	// prevent clicks *within* a slider button from being processed by browser
	// but allow plain click to bubble up to page background (to close transients, if any)
	if (e.shiftKey || theTarget!=resolveTarget(e))
		{ e.cancelBubble=true; if (e.stopPropagation) e.stopPropagation(); }
	Popup.remove(); // close open popup (if any)
	return false;
}
&lt;/pre&gt;&lt;pre&gt;// click in document background closes transient panels 
document.nestedSliders_savedOnClick=document.onclick;
document.onclick=function(ev) { if (!ev) var ev=window.event; var target=resolveTarget(ev);

	if (document.nestedSliders_savedOnClick)
		var retval=document.nestedSliders_savedOnClick.apply(this,arguments);
	// if click was inside a popup... leave transient panels alone
	var p=target; while (p) if (hasClass(p,&quot;popup&quot;)) break; else p=p.parentNode;
	if (p) return retval;
	// if click was inside transient panel (or something contained by a transient panel), leave it alone
	var p=target; while (p) {
		if ((hasClass(p,&quot;floatingPanel&quot;)||hasClass(p,&quot;sliderPanel&quot;))&amp;amp;&amp;amp;p.getAttribute(&quot;transient&quot;)==&quot;true&quot;) break;
		p=p.parentNode;
	}
	if (p) return retval;
	// otherwise, find and close all transient panels...
	var all=document.all?document.all:document.getElementsByTagName(&quot;DIV&quot;);
	for (var i=0; i&amp;lt;all.length; i++) {
		 // if it is not a transient panel, or the click was on the button that opened this panel, don't close it.
		if (all[i].getAttribute(&quot;transient&quot;)!=&quot;true&quot; || all[i].button==target) continue;
		// otherwise, if the panel is currently visible, close it by clicking it's button
		if (all[i].style.display!=&quot;none&quot;) window.onClickNestedSlider({target:all[i].button}) 
	}
	return retval;
};
&lt;/pre&gt;&lt;pre&gt;// adjust floating panel position based on button position
if (window.adjustSliderPos==undefined) window.adjustSliderPos=function(place,btn,panel) {
	if (hasClass(panel,&quot;floatingPanel&quot;)) {
		var rightEdge=document.body.offsetWidth-1;
		var panelWidth=panel.offsetWidth;
		var left=0;
		var top=btn.offsetHeight; 
		if (place.style.position==&quot;relative&quot; &amp;amp;&amp;amp; findPosX(btn)+panelWidth&amp;gt;rightEdge) {
			left-=findPosX(btn)+panelWidth-rightEdge; // shift panel relative to button
			if (findPosX(btn)+left&amp;lt;0) left=-findPosX(btn); // stay within left edge
		}
		if (place.style.position!=&quot;relative&quot;) {
			var left=findPosX(btn);
			var top=findPosY(btn)+btn.offsetHeight;
			var p=place; while (p &amp;amp;&amp;amp; !hasClass(p,'floatingPanel')) p=p.parentNode;
			if (p) { left-=findPosX(p); top-=findPosY(p); }
			if (left+panelWidth&amp;gt;rightEdge) left=rightEdge-panelWidth;
			if (left&amp;lt;0) left=0;
		}
		panel.style.left=left+&quot;px&quot;; panel.style.top=top+&quot;px&quot;;
	}
}
&lt;/pre&gt;&lt;pre&gt;// TW2.1 and earlier:
// hijack Slider stop handler so overflow is visible after animation has completed
Slider.prototype.coreStop = Slider.prototype.stop;
Slider.prototype.stop = function()
	{ this.coreStop.apply(this,arguments); this.element.style.overflow = &quot;visible&quot;; }

// TW2.2+
// hijack Morpher stop handler so sliderPanel/floatingPanel overflow is visible after animation has completed
if (version.major+.1*version.minor+.01*version.revision&amp;gt;=2.2) {
	Morpher.prototype.coreStop = Morpher.prototype.stop;
	Morpher.prototype.stop = function() {
		this.coreStop.apply(this,arguments);
		var e=this.element;
		if (hasClass(e,&quot;sliderPanel&quot;)||hasClass(e,&quot;floatingPanel&quot;)) {
			// adjust panel overflow and position after animation
			e.style.overflow = &quot;visible&quot;;
			if (window.adjustSliderPos) window.adjustSliderPos(e.parentNode,e.button,e);
		}
	};
}
&lt;/pre&gt;</description>
<category>DiscoveryPackage</category>
<category>TaskPackage</category>
<category>TidIDEPackage</category>
<category>systemConfig</category>
<category>includeNew</category>
<category>authoring</category>
<category>menus</category>
<category>slider</category>
<category>3rd party plugin</category>
<category>els design</category>
<link>http://www.ngo-framework.net/#NestedSlidersPlugin</link>
<pubDate>Sat, 07 Jun 2008 20:45:00 GMT</pubDate>
</item>
<item>
<title>ExportTiddlersPlugin</title>
<description>&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;ExportTiddlersPlugin&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Source&lt;/td&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.TiddlyTools.com/#ExportTiddlersPlugin&quot; href=&quot;http://www.TiddlyTools.com/#ExportTiddlersPlugin&quot; class=&quot;externalLink&quot;&gt;http://www.TiddlyTools.com/#ExportTiddlersPlugin&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Documentation&lt;/td&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.TiddlyTools.com/#ExportTiddlersPluginInfo&quot; href=&quot;http://www.TiddlyTools.com/#ExportTiddlersPluginInfo&quot; class=&quot;externalLink&quot;&gt;http://www.TiddlyTools.com/#ExportTiddlersPluginInfo&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;2.7.0&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Author&lt;/td&gt;&lt;td&gt;Eric Shulman - ELS Design Studios&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;License&lt;/td&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.TiddlyTools.com/#LegalStatements&quot; href=&quot;http://www.TiddlyTools.com/#LegalStatements&quot; class=&quot;externalLink&quot;&gt;http://www.TiddlyTools.com/#LegalStatements&lt;/a&gt; &lt;br&gt;and &lt;a target=&quot;_blank&quot; title=&quot;External link to http://creativecommons.org/licenses/by-sa/2.5/&quot; href=&quot;http://creativecommons.org/licenses/by-sa/2.5/&quot; class=&quot;externalLink&quot;&gt;Creative Commons Attribution-ShareAlike 2.5 License&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;CoreVersion&lt;/td&gt;&lt;td&gt;2.1&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Type&lt;/td&gt;&lt;td&gt;plugin&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Requires&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Overrides&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Description&lt;/td&gt;&lt;td&gt;select and extract tiddlers from your TiddlyWiki documents and save them to a separate file&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;ExportTiddlersPlugin lets you select and extract tiddlers from your TiddlyWiki documents using interactive control panel lets you specify a destination, and then select which tiddlers to export. Tiddler data can be output as complete, stand-alone TiddlyWiki documents, or just the selected tiddlers (&quot;PureStore&quot; format &lt;span&gt;—&lt;/span&gt; smaller files!) that can be imported directly into another TiddlyWiki, or as an RSS-compatible XML file that can be published for RSS syndication.&lt;br&gt;&lt;h5&gt;Documentation&lt;/h5&gt;&lt;blockquote&gt;see &lt;a tiddlylink=&quot;ExportTiddlersPluginInfo&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.ngo-framework.net/#ExportTiddlersPluginInfo&quot; href=&quot;http://www.ngo-framework.net/#ExportTiddlersPluginInfo&quot; class=&quot;externalLink null&quot;&gt;ExportTiddlersPluginInfo&lt;/a&gt;&lt;br&gt;&lt;/blockquote&gt;&lt;h5&gt;Inline control panel (live):&lt;/h5&gt;&lt;blockquote&gt;&lt;span style=&quot;position: static; display: block;&quot; id=&quot;exportPanel&quot;&gt;&lt;!-- target path/file  --&gt;&lt;div&gt;export to path/filename:&lt;br&gt;&lt;input id=&quot;exportFilename&quot; size=&quot;40&quot; style=&quot;width: 93%;&quot; type=&quot;text&quot;&gt;&lt;input id=&quot;exportBrowse&quot; value=&quot;...&quot; title=&quot;select or enter a local folder/file...&quot; style=&quot;width: 5%;&quot; onclick=&quot;var fn=window.promptForExportFilename(this); if (fn.length) this.previousSibling.value=fn; &quot; type=&quot;button&quot;&gt;&lt;/div&gt;&lt;!-- output format --&gt;&lt;div&gt;output file format:&lt;select id=&quot;exportFormat&quot; size=&quot;1&quot;&gt;&lt;option value=&quot;TW&quot;&gt;TiddlyWiki document (includes core code)&lt;/option&gt;&lt;option value=&quot;DIV&quot;&gt;TiddlyWiki &quot;PureStore&quot; file (tiddler data only)&lt;/option&gt;&lt;option value=&quot;XML&quot;&gt;XML (for RSS newsfeed)&lt;/option&gt;&lt;/select&gt;&lt;/div&gt;&lt;!-- notes --&gt;&lt;div&gt;notes:&lt;br&gt;&lt;textarea id=&quot;exportNotes&quot; rows=&quot;3&quot; cols=&quot;40&quot; style=&quot;height: 4em; margin-bottom: 5px;&quot; onfocus=&quot;this.select()&quot;&gt;&lt;/textarea&gt; &lt;/div&gt;&lt;!-- list of tiddlers --&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr align=&quot;left&quot;&gt;&lt;td&gt;	select:	&lt;a href=&quot;JavaScript:;&quot; id=&quot;exportSelectAll&quot; onclick=&quot;onClickExportButton(this)&quot; title=&quot;select all tiddlers&quot;&gt;		&amp;nbsp;all&amp;nbsp;&lt;/a&gt;	&lt;a href=&quot;JavaScript:;&quot; id=&quot;exportSelectChanges&quot; onclick=&quot;onClickExportButton(this)&quot; title=&quot;select tiddlers changed since last save&quot;&gt;		&amp;nbsp;changes&amp;nbsp;&lt;/a&gt; 	&lt;a href=&quot;JavaScript:;&quot; id=&quot;exportSelectOpened&quot; onclick=&quot;onClickExportButton(this)&quot; title=&quot;select tiddlers currently being displayed&quot;&gt;		&amp;nbsp;opened&amp;nbsp;&lt;/a&gt; 	&lt;a href=&quot;JavaScript:;&quot; id=&quot;exportSelectRelated&quot; onclick=&quot;onClickExportButton(this)&quot; title=&quot;select all tiddlers related (by link or transclusion) to the currently selected tiddlers&quot;&gt;		&amp;nbsp;related&amp;nbsp;&lt;/a&gt; 	&lt;a href=&quot;JavaScript:;&quot; id=&quot;exportToggleFilter&quot; onclick=&quot;onClickExportButton(this)&quot; title=&quot;show/hide selection filter&quot;&gt;		&amp;nbsp;filter&amp;nbsp;&lt;/a&gt;  &lt;/td&gt;&lt;td align=&quot;right&quot;&gt;	&lt;a href=&quot;JavaScript:;&quot; id=&quot;exportListSmaller&quot; onclick=&quot;onClickExportButton(this)&quot; title=&quot;reduce list size&quot;&gt;		&amp;nbsp;–&amp;nbsp;&lt;/a&gt;	&lt;a href=&quot;JavaScript:;&quot; id=&quot;exportListLarger&quot; onclick=&quot;onClickExportButton(this)&quot; title=&quot;increase list size&quot;&gt;		&amp;nbsp;+&amp;nbsp;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;select id=&quot;exportList&quot; multiple=&quot;multiple&quot; size=&quot;10&quot; style=&quot;margin-bottom: 5px;&quot; onchange=&quot;refreshExportList(this.selectedIndex)&quot;&gt;&lt;option value=&quot;&quot;&gt;517 tiddlers in document&lt;/option&gt;&lt;option value=&quot;&quot;&gt;&amp;nbsp;&amp;nbsp; [by title]&lt;/option&gt;&lt;option value=&quot;&quot;&gt;&amp;gt; [by date]&lt;/option&gt;&lt;option value=&quot;&quot;&gt;&amp;nbsp;&amp;nbsp; [by author]&lt;/option&gt;&lt;option value=&quot;&quot;&gt;&amp;nbsp;&amp;nbsp; [by tags]&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, August 22, 2008&lt;/option&gt;&lt;option value=&quot;New Human Rights Dialogue Series  3, From manifest failure to collective action: Realizing the responsibility to protect&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;New Human Rights Dialogue Series  3, From manifest failure to collective action: Realizing the responsibility to protect&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Tuesday, August 19, 2008&lt;/option&gt;&lt;option value=&quot;Human Rights Fact Sheets&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Human Rights Fact Sheets&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, August 18, 2008&lt;/option&gt;&lt;option value=&quot;DefaultTiddlers&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DefaultTiddlers&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Wednesday, August 06, 2008&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 15 (Rev.1), Civil and Political Rights: The Human Rights Committee&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OHCHR Fact Sheet No. 15 (Rev.1), Civil and Political Rights: The Human Rights Committee&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 22, Discrimination against Women: The Convention and the Committee&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OHCHR Fact Sheet No. 22, Discrimination against Women: The Convention and the Committee&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 24 (Rev.1), The Rights of Migrant Workers&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OHCHR Fact Sheet No. 24 (Rev.1), The Rights of Migrant Workers&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No.  2 (Rev.1), The International Bill of Human Rights&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OHCHR Fact Sheet No.  2 (Rev.1), The International Bill of Human Rights&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Saturday, August 02, 2008&lt;/option&gt;&lt;option value=&quot;SiteTitle&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SiteTitle&lt;/option&gt;&lt;option value=&quot;Custom Main Menu&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Custom Main Menu&lt;/option&gt;&lt;option value=&quot;Administrative Menu&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Administrative Menu&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, August 01, 2008&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 15, Civil and Political Rights: The Human Rights Committee&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OHCHR Fact Sheet No. 15, Civil and Political Rights: The Human Rights Committee&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 29, Human Rights Defenders: Protecting the Right to Defend Human Rights&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OHCHR Fact Sheet No. 29, Human Rights Defenders: Protecting the Right to Defend Human Rights&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 31, The Right to Health&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OHCHR Fact Sheet No. 31, The Right to Health&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 30, The United Nations Human Rights Treaty System&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OHCHR Fact Sheet No. 30, The United Nations Human Rights Treaty System&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 32, Terrorism and Counter-terrorism&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OHCHR Fact Sheet No. 32, Terrorism and Counter-terrorism&lt;/option&gt;&lt;option value=&quot;Custom Main Menu x 2008.08.01&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Custom Main Menu x 2008.08.01&lt;/option&gt;&lt;option value=&quot;Reaffirming Human Rights of All: The Universal Declaration at 60&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reaffirming Human Rights of All: The Universal Declaration at 60&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;61st Annual DPI/NGO Conference&lt;/option&gt;&lt;option value=&quot;Reaffirming Human Rights: The Universal Declaration at 60 - Provisional Conference Agenda&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reaffirming Human Rights: The Universal Declaration at 60 - Provisional Conference Agenda&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference Information Bulletin #1 - 2007.12.26&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;61st Annual DPI/NGO Conference Information Bulletin #1 - 2007.12.26&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 27, Seventeen Frequently Asked Questions about United Nations Special Rapporteurs&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OHCHR Fact Sheet No. 27, Seventeen Frequently Asked Questions about United Nations Special Rapporteurs&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 28, The Impact of Mercenary Activities on the Right of Peoples to Self-Determination&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OHCHR Fact Sheet No. 28, The Impact of Mercenary Activities on the Right of Peoples to Self-Determination&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No.  4 (Rev.1), Combating Torture&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OHCHR Fact Sheet No.  4 (Rev.1), Combating Torture&lt;/option&gt;&lt;option value=&quot;Fact Sheet No. 24 (Rev.1): Introduction&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Fact Sheet No. 24 (Rev.1): Introduction&lt;/option&gt;&lt;option value=&quot;Fact Sheet No. 24 (Rev.1): Front Matter&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Fact Sheet No. 24 (Rev.1): Front Matter&lt;/option&gt;&lt;option value=&quot;Fact Sheet No. 24 (Rev.1): IV. The Convention in the Context of Other International Instruments&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Fact Sheet No. 24 (Rev.1): IV. The Convention in the Context of Other International Instruments&lt;/option&gt;&lt;option value=&quot;Fact Sheet No. 24 (Rev.1): I. Drafting History of the Convention&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Fact Sheet No. 24 (Rev.1): I. Drafting History of the Convention&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 24, The Rights of Migrant Workers&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OHCHR Fact Sheet No. 24, The Rights of Migrant Workers&lt;/option&gt;&lt;option value=&quot;Fact Sheet No. 24 (Rev.1): V. Recent Developments&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Fact Sheet No. 24 (Rev.1): V. Recent Developments&lt;/option&gt;&lt;option value=&quot;Fact Sheet No. 24 (Rev.1): Annex II. States that have signed, ratified or acceded to the International Convention on the Protection of the Rights of All Migrant Workers and Members of Their Families&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Fact Sheet No. 24 (Rev.1): Annex II. States that have signed, ratified or acceded to the International Convention on the Protection of the Rights of All Migrant Workers and Members of Their Families&lt;/option&gt;&lt;option value=&quot;Fact Sheet No. 24 (Rev.1): II. Structure and Scope of the Convention&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Fact Sheet No. 24 (Rev.1): II. Structure and Scope of the Convention&lt;/option&gt;&lt;option value=&quot;Fact Sheet No. 24 (Rev.1): III. The Committee on Migrant Workers&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Fact Sheet No. 24 (Rev.1): III. The Committee on Migrant Workers&lt;/option&gt;&lt;option value=&quot;Committee on Migrant Workers web site&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Committee on Migrant Workers web site&lt;/option&gt;&lt;option value=&quot;International Convention on the Protection of the Rights of All Migrant Workers and Members of Their Families&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;International Convention on the Protection of the Rights of All Migrant Workers and Members of Their Families&lt;/option&gt;&lt;option value=&quot;Special Rapporteur of the Commission on Human Rights on the human rights of migrants&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Special Rapporteur of the Commission on Human Rights on the human rights of migrants&lt;/option&gt;&lt;option value=&quot;Fact Sheet No. 24 (Rev.1): Useful addresses&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Fact Sheet No. 24 (Rev.1): Useful addresses&lt;/option&gt;&lt;option value=&quot;fs24temp&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fs24temp&lt;/option&gt;&lt;option value=&quot;217 (III). International Bill of Human Rights&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;217 (III). International Bill of Human Rights&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Thursday, July 31, 2008&lt;/option&gt;&lt;option value=&quot;Human Rights Abbreviations&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Human Rights Abbreviations&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Wednesday, July 30, 2008&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No.  7 (Rev.1), Complaint Procedures&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OHCHR Fact Sheet No.  7 (Rev.1), Complaint Procedures&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 25, Forced Evictions and Human Rights&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OHCHR Fact Sheet No. 25, Forced Evictions and Human Rights&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No.  9 (Rev.1), The Rights of Indigenous Peoples&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OHCHR Fact Sheet No.  9 (Rev.1), The Rights of Indigenous Peoples&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 13, International Humanitarian Law and Human Rights&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OHCHR Fact Sheet No. 13, International Humanitarian Law and Human Rights&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 12, The Committee on the Elimination of Racial Discrimination&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OHCHR Fact Sheet No. 12, The Committee on the Elimination of Racial Discrimination&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 11 (Rev.1), Extrajudicial, Summary or Arbitrary Executions&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OHCHR Fact Sheet No. 11 (Rev.1), Extrajudicial, Summary or Arbitrary Executions&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 10 (Rev.1), The Rights of the Child&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OHCHR Fact Sheet No. 10 (Rev.1), The Rights of the Child&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No.  6 (Rev.2), Enforced or Involuntary Disappearances&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OHCHR Fact Sheet No.  6 (Rev.2), Enforced or Involuntary Disappearances&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No.  3 (Rev.1), Advisory Services and Technical Cooperation in the Field of Human Rights&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OHCHR Fact Sheet No.  3 (Rev.1), Advisory Services and Technical Cooperation in the Field of Human Rights&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 14, Contemporary Forms of Slavery&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OHCHR Fact Sheet No. 14, Contemporary Forms of Slavery&lt;/option&gt;&lt;option value=&quot;bookmarked pdf&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bookmarked pdf&lt;/option&gt;&lt;option value=&quot;United Nations Declaration on the Rights of Indigenous Peoples&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;United Nations Declaration on the Rights of Indigenous Peoples&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 26, The Working Group on Arbitrary Detention&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OHCHR Fact Sheet No. 26, The Working Group on Arbitrary Detention&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 16 (Rev.1), The Committee on Economic, Social and Cultural Rights&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OHCHR Fact Sheet No. 16 (Rev.1), The Committee on Economic, Social and Cultural Rights&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 23, Harmful Traditional Practices Affecting the Health of Women and Children&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OHCHR Fact Sheet No. 23, Harmful Traditional Practices Affecting the Health of Women and Children&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 21, The Human Right to Adequate Housing&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OHCHR Fact Sheet No. 21, The Human Right to Adequate Housing&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 20, Human Rights and Refugees&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OHCHR Fact Sheet No. 20, Human Rights and Refugees&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 19, National Institutions for the Promotion and Protection of Human Rights&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OHCHR Fact Sheet No. 19, National Institutions for the Promotion and Protection of Human Rights&lt;/option&gt;&lt;option value=&quot;Declaration on the Rights of Persons Belonging to National or Ethnic, Religious and Linguistic Minorities&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Declaration on the Rights of Persons Belonging to National or Ethnic, Religious and Linguistic Minorities&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 18 (Rev.1), Minority Rights&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OHCHR Fact Sheet No. 18 (Rev.1), Minority Rights&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 17, The Committee against Torture&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OHCHR Fact Sheet No. 17, The Committee against Torture&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Tuesday, July 29, 2008&lt;/option&gt;&lt;option value=&quot;ImportTiddlersPlugin&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ImportTiddlersPlugin&lt;/option&gt;&lt;option value=&quot;ImportedTiddlers&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ImportedTiddlers&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Saturday, July 26, 2008&lt;/option&gt;&lt;option value=&quot;TagglyTaggingPlugin&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TagglyTaggingPlugin&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Thursday, July 24, 2008&lt;/option&gt;&lt;option value=&quot;Conference Roundtables&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Conference Roundtables&lt;/option&gt;&lt;option value=&quot;Roundtable Session 5: Addressing Gross Human Rights Violations: Prevention and Accountability&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Roundtable Session 5: Addressing Gross Human Rights Violations: Prevention and Accountability&lt;/option&gt;&lt;option value=&quot;Most Recent Tiddlers&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Most Recent Tiddlers&lt;/option&gt;&lt;option value=&quot;Roundtable Session 4: Human Rights Education and Learning as a Way of Life&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Roundtable Session 4: Human Rights Education and Learning as a Way of Life&lt;/option&gt;&lt;option value=&quot;Roundtable Session 1: Upholding the Universal Declaration of Human Rights&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Roundtable Session 1: Upholding the Universal Declaration of Human Rights&lt;/option&gt;&lt;option value=&quot;Security Council Resolution 1325 on Women, Peace, and Security&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Security Council Resolution 1325 on Women, Peace, and Security&lt;/option&gt;&lt;option value=&quot;Roundtable Session 3: Human Rights and Human Security&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Roundtable Session 3: Human Rights and Human Security&lt;/option&gt;&lt;option value=&quot;Roundtable Session 2: Overcoming Discrimination to Realize Human Rights and Dignity for All&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Roundtable Session 2: Overcoming Discrimination to Realize Human Rights and Dignity for All&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Wednesday, July 16, 2008&lt;/option&gt;&lt;option value=&quot;Welcome&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Welcome&lt;/option&gt;&lt;option value=&quot;HoverMenuPlugin&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HoverMenuPlugin&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference: Working paper: Timeline&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;61st Annual DPI/NGO Conference: Working paper: Timeline&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference website&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;61st Annual DPI/NGO Conference website&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Wednesday, June 25, 2008&lt;/option&gt;&lt;option value=&quot;Menu Widgets&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Menu Widgets&lt;/option&gt;&lt;option value=&quot;Register for Conference&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Register for Conference&lt;/option&gt;&lt;option value=&quot;Link to this site&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Link to this site&lt;/option&gt;&lt;option value=&quot;Kofi Annan on the 50th Anniversry of the Universal Declaration of Human Rights&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Kofi Annan on the 50th Anniversry of the Universal Declaration of Human Rights&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, June 23, 2008&lt;/option&gt;&lt;option value=&quot;MarkupPreHead&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MarkupPreHead&lt;/option&gt;&lt;option value=&quot;Splash Screen&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Splash Screen&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Wednesday, June 11, 2008&lt;/option&gt;&lt;option value=&quot;Config Tweaks&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Config Tweaks&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Saturday, June 07, 2008&lt;/option&gt;&lt;option value=&quot;NestedSlidersPlugin&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NestedSlidersPlugin&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Thursday, June 05, 2008&lt;/option&gt;&lt;option value=&quot;udhr@60+&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;udhr@60+&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, June 02, 2008&lt;/option&gt;&lt;option value=&quot;The child's right to freedom of expression&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;The child's right to freedom of expression&lt;/option&gt;&lt;option value=&quot;Current Menu&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Current Menu&lt;/option&gt;&lt;option value=&quot;Setup Menu&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Setup Menu&lt;/option&gt;&lt;option value=&quot;SiteSubtitle&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SiteSubtitle&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Tuesday, May 27, 2008&lt;/option&gt;&lt;option value=&quot;ExportTiddlersPlugin&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ExportTiddlersPlugin&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Sunday, May 18, 2008&lt;/option&gt;&lt;option value=&quot;GettingStarted&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GettingStarted&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Wednesday, May 07, 2008&lt;/option&gt;&lt;option value=&quot;Working with OHCHR: A Handbook for NGOs&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Working with OHCHR: A Handbook for NGOs&lt;/option&gt;&lt;option value=&quot;Office of the United Nations High Commissioner for Human Rights web site&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Office of the United Nations High Commissioner for Human Rights web site&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, May 05, 2008&lt;/option&gt;&lt;option value=&quot;MainMenuStyles&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MainMenuStyles&lt;/option&gt;&lt;option value=&quot;MainMenu&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MainMenu&lt;/option&gt;&lt;option value=&quot;Minutes of Research, Communications, &amp;amp; Website Sub-Committee Meeting, April 11, 2008&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Minutes of Research, Communications, &amp;amp; Website Sub-Committee Meeting, April 11, 2008&lt;/option&gt;&lt;option value=&quot;The UDHR@60+ icon&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;The UDHR@60+ icon&lt;/option&gt;&lt;option value=&quot;Research, Communications &amp;amp; Website Sub-Committee&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Research, Communications &amp;amp; Website Sub-Committee&lt;/option&gt;&lt;option value=&quot;HeaderStyles&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HeaderStyles&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, April 25, 2008&lt;/option&gt;&lt;option value=&quot;Database on Human Rights Education and Training - OHCHR&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Database on Human Rights Education and Training - OHCHR&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Saturday, April 19, 2008&lt;/option&gt;&lt;option value=&quot;Human Rights Fact Sheets:&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Human Rights Fact Sheets:&lt;/option&gt;&lt;option value=&quot;HoverMenu&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HoverMenu&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, April 04, 2008&lt;/option&gt;&lt;option value=&quot;Google Translate&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Google Translate&lt;/option&gt;&lt;option value=&quot;Luarca Draft Declaration on the Human Right to Peace&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Luarca Draft Declaration on the Human Right to Peace&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Thursday, April 03, 2008&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference Planning Committee Meeting Minutes: 12 March 2008&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;61st Annual DPI/NGO Conference Planning Committee Meeting Minutes: 12 March 2008&lt;/option&gt;&lt;option value=&quot;Planning Committee Minutes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Planning Committee Minutes&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Wednesday, April 02, 2008&lt;/option&gt;&lt;option value=&quot;CommonStyles&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CommonStyles&lt;/option&gt;&lt;option value=&quot;Book Travel &amp;amp; Accommodations&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Book Travel &amp;amp; Accommodations&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, March 31, 2008&lt;/option&gt;&lt;option value=&quot;Nominate a Speaker&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Nominate a Speaker&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, March 28, 2008&lt;/option&gt;&lt;option value=&quot;Minutes of Co-Chairs Meetings&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Minutes of Co-Chairs Meetings&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Thursday, March 20, 2008&lt;/option&gt;&lt;option value=&quot;Information Bulletin #2 - 12 March 2008&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Information Bulletin #2 - 12 March 2008&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Tuesday, March 18, 2008&lt;/option&gt;&lt;option value=&quot;Provisional Conference Agenda&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Provisional Conference Agenda&lt;/option&gt;&lt;option value=&quot;Conference Overview&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Conference Overview&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, March 17, 2008&lt;/option&gt;&lt;option value=&quot;Planning Committee Co-Chairs&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Planning Committee Co-Chairs&lt;/option&gt;&lt;option value=&quot;Key Human Rights documents&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Key Human Rights documents&lt;/option&gt;&lt;option value=&quot;International Covenants&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;International Covenants&lt;/option&gt;&lt;option value=&quot;Minutes of the 28 February 2008 Meeting of Co-Chairs&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Minutes of the 28 February 2008 Meeting of Co-Chairs&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Sunday, March 16, 2008&lt;/option&gt;&lt;option value=&quot;Minutes of the 14 February 2008 Meeting of Co-Chairs&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Minutes of the 14 February 2008 Meeting of Co-Chairs&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, March 10, 2008&lt;/option&gt;&lt;option value=&quot;SplitTiddler&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SplitTiddler&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Thursday, February 28, 2008&lt;/option&gt;&lt;option value=&quot;Site RSS feeds&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Site RSS feeds&lt;/option&gt;&lt;option value=&quot;Laws and Customs of War on Land. Section II. On Hostilities. Chapter I.  On means of injuring the Enemy, Sieges, and Bombardments&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Laws and Customs of War on Land. Section II. On Hostilities. Chapter I.  On means of injuring the Enemy, Sieges, and Bombardments&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference Planning Committee Meeting Minutes: 4 January 2008&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;61st Annual DPI/NGO Conference Planning Committee Meeting Minutes: 4 January 2008&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Wednesday, February 27, 2008&lt;/option&gt;&lt;option value=&quot;60th Annual DPI/NGO Conference&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;60th Annual DPI/NGO Conference&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference Planning Committee Meeting Minutes: 31 January 2008&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;61st Annual DPI/NGO Conference Planning Committee Meeting Minutes: 31 January 2008&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Tuesday, February 26, 2008&lt;/option&gt;&lt;option value=&quot;HoverMenuStyles&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HoverMenuStyles&lt;/option&gt;&lt;option value=&quot;StyleSheet&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StyleSheet&lt;/option&gt;&lt;option value=&quot;PrintStyles&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PrintStyles&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, February 25, 2008&lt;/option&gt;&lt;option value=&quot;CustomStyleSheet&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CustomStyleSheet&lt;/option&gt;&lt;option value=&quot;TemplateShowColor&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TemplateShowColor&lt;/option&gt;&lt;option value=&quot;StyleSheetColors&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StyleSheetColors&lt;/option&gt;&lt;option value=&quot;CustomStyleSheetColors&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CustomStyleSheetColors&lt;/option&gt;&lt;option value=&quot;Formatting Tiddlers&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Formatting Tiddlers&lt;/option&gt;&lt;option value=&quot;TwHelpSearchPlugin&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TwHelpSearchPlugin&lt;/option&gt;&lt;option value=&quot;Style Sheets&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Style Sheets&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, February 22, 2008&lt;/option&gt;&lt;option value=&quot;TiddlyWiki Cooperation Circles&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TiddlyWiki Cooperation Circles&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Wednesday, February 20, 2008&lt;/option&gt;&lt;option value=&quot;Jeffery Huffines&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Jeffery Huffines&lt;/option&gt;&lt;option value=&quot;About this web site&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;About this web site&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, February 18, 2008&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference: Working paper: Planning Committee Sub-Committees&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;61st Annual DPI/NGO Conference: Working paper: Planning Committee Sub-Committees&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Sunday, February 17, 2008&lt;/option&gt;&lt;option value=&quot;Colour Palette&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Colour Palette&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference: Working paper&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;61st Annual DPI/NGO Conference: Working paper&lt;/option&gt;&lt;option value=&quot;SidebarStyles&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SidebarStyles&lt;/option&gt;&lt;option value=&quot;Climate Change &amp;amp; Human Rights, Mary Robinson&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Climate Change &amp;amp; Human Rights, Mary Robinson&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Saturday, February 16, 2008&lt;/option&gt;&lt;option value=&quot;Templates &amp;amp; Stylesheets&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Templates &amp;amp; Stylesheets&lt;/option&gt;&lt;option value=&quot;Import Tiddlers&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Import Tiddlers&lt;/option&gt;&lt;option value=&quot;Site Splash Screen&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Site Splash Screen&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, February 15, 2008&lt;/option&gt;&lt;option value=&quot;ToggleTagPlugin&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ToggleTagPlugin&lt;/option&gt;&lt;option value=&quot;TagglyTaggingStyles&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TagglyTaggingStyles&lt;/option&gt;&lt;option value=&quot;Simon Baird's BSD License&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Simon Baird's BSD License&lt;/option&gt;&lt;option value=&quot;ModifiedStyleSheetColors&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ModifiedStyleSheetColors&lt;/option&gt;&lt;option value=&quot;SiteTitle-edu&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SiteTitle-edu&lt;/option&gt;&lt;option value=&quot;TiddlyWiki Working Group&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TiddlyWiki Working Group&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Wednesday, February 13, 2008&lt;/option&gt;&lt;option value=&quot;iframe template&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iframe template&lt;/option&gt;&lt;option value=&quot;Estelle Perry&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Estelle Perry&lt;/option&gt;&lt;option value=&quot;NGO/DPI Executive Committee&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NGO/DPI Executive Committee&lt;/option&gt;&lt;option value=&quot;Charles Hitchcock&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Charles Hitchcock&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Sunday, February 10, 2008&lt;/option&gt;&lt;option value=&quot;TwHelpSearchDoc&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TwHelpSearchDoc&lt;/option&gt;&lt;option value=&quot;Creative Commons licenses&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Creative Commons licenses&lt;/option&gt;&lt;option value=&quot;Creative Commons Attribution Non-Commercial Share-Alike Licence&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Creative Commons Attribution Non-Commercial Share-Alike Licence&lt;/option&gt;&lt;option value=&quot;Template for an NGO Framework for Action&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Template for an NGO Framework for Action&lt;/option&gt;&lt;option value=&quot;TiddlyWiki.org - MediaWiki site for TiddlyWiki&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TiddlyWiki.org - MediaWiki site for TiddlyWiki&lt;/option&gt;&lt;option value=&quot;The Wealth of Networks: How Social Production Transforms Markets and Freedom&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;The Wealth of Networks: How Social Production Transforms Markets and Freedom&lt;/option&gt;&lt;option value=&quot;The Wealth of Networks: How Social Production Transforms Markets and Freedom - HTML&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;The Wealth of Networks: How Social Production Transforms Markets and Freedom - HTML&lt;/option&gt;&lt;option value=&quot;The Wealth of Networks - MediaWiki site&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;The Wealth of Networks - MediaWiki site&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference Planning Committee&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;61st Annual DPI/NGO Conference Planning Committee&lt;/option&gt;&lt;option value=&quot;Human Rights Special Rapporteurs: Country Mandates&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Human Rights Special Rapporteurs: Country Mandates&lt;/option&gt;&lt;option value=&quot;Human Rights Special Rapporteurs: Thematic Mandates&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Human Rights Special Rapporteurs: Thematic Mandates&lt;/option&gt;&lt;option value=&quot;Template snippets&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Template snippets&lt;/option&gt;&lt;option value=&quot;Shamina de Gonzaga&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Shamina de Gonzaga&lt;/option&gt;&lt;option value=&quot;Fundación Cultural Baur, A.C.&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Fundación Cultural Baur, A.C.&lt;/option&gt;&lt;option value=&quot;John Stuart Mill, On Liberty&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;John Stuart Mill, On Liberty&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Thursday, February 07, 2008&lt;/option&gt;&lt;option value=&quot;Human Rights Torch - 200x230&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Human Rights Torch - 200x230&lt;/option&gt;&lt;option value=&quot;Dignity and Justice for All&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dignity and Justice for All&lt;/option&gt;&lt;option value=&quot;User Options&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;User Options&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Wednesday, February 06, 2008&lt;/option&gt;&lt;option value=&quot;Unofficial Proposed Design for a logo to inspire realization of the Universal Declaration on Human Rights @ 60+&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Unofficial Proposed Design for a logo to inspire realization of the Universal Declaration on Human Rights @ 60+&lt;/option&gt;&lt;option value=&quot;UDHR60+ Logo 400x182&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UDHR60+ Logo 400x182&lt;/option&gt;&lt;option value=&quot;PageTemplate&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PageTemplate&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Tuesday, February 05, 2008&lt;/option&gt;&lt;option value=&quot;UDHR60+ Logo 800x364&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UDHR60+ Logo 800x364&lt;/option&gt;&lt;option value=&quot;UDHR60+ Logo 160x73&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UDHR60+ Logo 160x73&lt;/option&gt;&lt;option value=&quot;UDHR PageTemplate&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UDHR PageTemplate&lt;/option&gt;&lt;option value=&quot;UDHR60+ Logo 100x46&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UDHR60+ Logo 100x46&lt;/option&gt;&lt;option value=&quot;UDHR60+ Logo 320x146&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UDHR60+ Logo 320x146&lt;/option&gt;&lt;option value=&quot;PageTemplate 2008.02.05&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PageTemplate 2008.02.05&lt;/option&gt;&lt;option value=&quot;SiteUrl&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SiteUrl&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, February 04, 2008&lt;/option&gt;&lt;option value=&quot;10 December 2007 Launch of a Year-Long Celebration of the 60th Anniversary of the UDHR&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;10 December 2007 Launch of a Year-Long Celebration of the 60th Anniversary of the UDHR&lt;/option&gt;&lt;option value=&quot;KnowYourRights2008&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;KnowYourRights2008&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Sunday, February 03, 2008&lt;/option&gt;&lt;option value=&quot;Peace &amp;amp; Human Rights Education - UNESCO&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Peace &amp;amp; Human Rights Education - UNESCO&lt;/option&gt;&lt;option value=&quot;Committee on Economic, Social and Cultural Rights web site&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Committee on Economic, Social and Cultural Rights web site&lt;/option&gt;&lt;option value=&quot;UN Human Rights sites&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UN Human Rights sites&lt;/option&gt;&lt;option value=&quot;Committee Against Torture web site&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Committee Against Torture web site&lt;/option&gt;&lt;option value=&quot;Committee on the Elimination of Racial Discrimination web site&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Committee on the Elimination of Racial Discrimination web site&lt;/option&gt;&lt;option value=&quot;Committee on the Elimination of Discrimination Against Women web site&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Committee on the Elimination of Discrimination Against Women web site&lt;/option&gt;&lt;option value=&quot;Committee on the Rights of the Child web site&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Committee on the Rights of the Child web site&lt;/option&gt;&lt;option value=&quot;Human Rights Committee web site&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Human Rights Committee web site&lt;/option&gt;&lt;option value=&quot;Subcommittee on Prevention of Torture web site&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Subcommittee on Prevention of Torture web site&lt;/option&gt;&lt;option value=&quot;General Assembly approves International Year of Human Rights Learning&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;General Assembly approves International Year of Human Rights Learning&lt;/option&gt;&lt;option value=&quot;Human Rights Council web site&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Human Rights Council web site&lt;/option&gt;&lt;option value=&quot;Sub-Commission on the Promotion and Protection of Human Rights web site&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Sub-Commission on the Promotion and Protection of Human Rights web site&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Wednesday, January 30, 2008&lt;/option&gt;&lt;option value=&quot;DPI/NGO Section&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DPI/NGO Section&lt;/option&gt;&lt;option value=&quot;References to the Univeral Declaration on Human Rights&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;References to the Univeral Declaration on Human Rights&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Sunday, January 27, 2008&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference: Working paper: Planning Committee structure&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;61st Annual DPI/NGO Conference: Working paper: Planning Committee structure&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference: Working paper: Conference Format&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;61st Annual DPI/NGO Conference: Working paper: Conference Format&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference: Working paper: Structure of New York Planning Committee&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;61st Annual DPI/NGO Conference: Working paper: Structure of New York Planning Committee&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference: Working paper: Context&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;61st Annual DPI/NGO Conference: Working paper: Context&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Thursday, January 17, 2008&lt;/option&gt;&lt;option value=&quot;United Nations Yearbook Summary, 1948&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;United Nations Yearbook Summary, 1948&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Wednesday, January 16, 2008&lt;/option&gt;&lt;option value=&quot;The Universal Declaration of Human Rights: A Magna Carta for all humanity&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;The Universal Declaration of Human Rights: A Magna Carta for all humanity&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Tuesday, January 15, 2008&lt;/option&gt;&lt;option value=&quot;The Right to Education&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;The Right to Education&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Sunday, January 13, 2008&lt;/option&gt;&lt;option value=&quot;Palais de Chaillot, Paris - from Google Maps&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Palais de Chaillot, Paris - from Google Maps&lt;/option&gt;&lt;option value=&quot;Palais des Nations, Geneva - from Google Maps&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Palais des Nations, Geneva - from Google Maps&lt;/option&gt;&lt;option value=&quot;United Nations Headquarters, New York - from Google Maps&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;United Nations Headquarters, New York - from Google Maps&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Wednesday, January 09, 2008&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference: Working paper:  Timeline&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;61st Annual DPI/NGO Conference: Working paper:  Timeline&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference: Working paper:  Conference Format&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;61st Annual DPI/NGO Conference: Working paper:  Conference Format&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference: Working paper: Suggested themes and perspectives&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;61st Annual DPI/NGO Conference: Working paper: Suggested themes and perspectives&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference: Working paper: Goals&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;61st Annual DPI/NGO Conference: Working paper: Goals&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference: Working paper: Overview&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;61st Annual DPI/NGO Conference: Working paper: Overview&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Saturday, January 05, 2008&lt;/option&gt;&lt;option value=&quot;Google Reader&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Google Reader&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Tuesday, January 01, 2008&lt;/option&gt;&lt;option value=&quot;Recent Tiddlers&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Recent Tiddlers&lt;/option&gt;&lt;option value=&quot;United Nations Charter&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;United Nations Charter&lt;/option&gt;&lt;option value=&quot;61/295. United Nations Declaration on the Rights of Indigenous Peoples&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;61/295. United Nations Declaration on the Rights of Indigenous Peoples&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, December 31, 2007&lt;/option&gt;&lt;option value=&quot;Tiddler Timeline&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Tiddler Timeline&lt;/option&gt;&lt;option value=&quot;International Covenants on Human Rights&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;International Covenants on Human Rights&lt;/option&gt;&lt;option value=&quot;human rights&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;human rights&lt;/option&gt;&lt;option value=&quot;Human Rights @ UN Documents Cooperation Circles&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Human Rights @ UN Documents Cooperation Circles&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Sunday, December 30, 2007&lt;/option&gt;&lt;option value=&quot;Education, Youth &amp;amp; Technology for Sustainable Development&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Education, Youth &amp;amp; Technology for Sustainable Development&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Saturday, December 29, 2007&lt;/option&gt;&lt;option value=&quot;Tiddler Tweaker&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Tiddler Tweaker&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Thursday, December 27, 2007&lt;/option&gt;&lt;option value=&quot;Climate Change 2.0 - Talking Points&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Climate Change 2.0 - Talking Points&lt;/option&gt;&lt;option value=&quot;information ecology&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;information ecology&lt;/option&gt;&lt;option value=&quot;Integrated Monitoring Frameworks: NGO Recommendations for Actions and Commitments at Earth Summit II&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Integrated Monitoring Frameworks: NGO Recommendations for Actions and Commitments at Earth Summit II&lt;/option&gt;&lt;option value=&quot;Information Ecology: NGO Recommendations for Actions and Commitments at Earth Summit II&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Information Ecology: NGO Recommendations for Actions and Commitments at Earth Summit II&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Wednesday, December 26, 2007&lt;/option&gt;&lt;option value=&quot;TiddlerTweakerPlugin&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TiddlerTweakerPlugin&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, December 24, 2007&lt;/option&gt;&lt;option value=&quot;Extended Options&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Extended Options&lt;/option&gt;&lt;option value=&quot;Nuclear Non-Proliferation Treaty&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Nuclear Non-Proliferation Treaty&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Sunday, December 23, 2007&lt;/option&gt;&lt;option value=&quot;Declaration of the United Nations Conference on the Human Environment&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Declaration of the United Nations Conference on the Human Environment&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Saturday, December 22, 2007&lt;/option&gt;&lt;option value=&quot;Declaration on a Culture of Peace&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Declaration on a Culture of Peace&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Tuesday, December 18, 2007&lt;/option&gt;&lt;option value=&quot;62/171. International Year of Human Rights Learning&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;62/171. International Year of Human Rights Learning&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, December 14, 2007&lt;/option&gt;&lt;option value=&quot;CONGO Resolution on Information and Communications&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CONGO Resolution on Information and Communications&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, December 10, 2007&lt;/option&gt;&lt;option value=&quot;ViewTemplate&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ViewTemplate&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Thursday, December 06, 2007&lt;/option&gt;&lt;option value=&quot;Search Box&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Search Box&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Tuesday, December 04, 2007&lt;/option&gt;&lt;option value=&quot;NewDocumentPlugin&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NewDocumentPlugin&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Tuesday, November 20, 2007&lt;/option&gt;&lt;option value=&quot;PaletteViewMacro&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PaletteViewMacro&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Saturday, November 10, 2007&lt;/option&gt;&lt;option value=&quot;Joan Kirby&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Joan Kirby&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, November 09, 2007&lt;/option&gt;&lt;option value=&quot;Richard Jordan&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Richard Jordan&lt;/option&gt;&lt;option value=&quot;William Gellermann&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;William Gellermann&lt;/option&gt;&lt;option value=&quot;MarkupPostBody&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MarkupPostBody&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, October 26, 2007&lt;/option&gt;&lt;option value=&quot;What are News Feeds / RSS?&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;What are News Feeds / RSS?&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, October 15, 2007&lt;/option&gt;&lt;option value=&quot;TiddlyWiki&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TiddlyWiki&lt;/option&gt;&lt;option value=&quot;Climate Change 2.0 - Elements&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Climate Change 2.0 - Elements&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Saturday, October 13, 2007&lt;/option&gt;&lt;option value=&quot;DeprecatedFunctionsPlugin&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DeprecatedFunctionsPlugin&lt;/option&gt;&lt;option value=&quot;SparklinePlugin&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SparklinePlugin&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, October 08, 2007&lt;/option&gt;&lt;option value=&quot;Economics of information&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Economics of information&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Saturday, October 06, 2007&lt;/option&gt;&lt;option value=&quot;International Decade for a Culture of Peace and Non-Violence for the Children of the World&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;International Decade for a Culture of Peace and Non-Violence for the Children of the World&lt;/option&gt;&lt;option value=&quot;Declaration on the Granting of Independence to Colonial Countries and Peoples&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Declaration on the Granting of Independence to Colonial Countries and Peoples&lt;/option&gt;&lt;option value=&quot;Optional Protocol to the International Covenant on Civil and Political Rights&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Optional Protocol to the International Covenant on Civil and Political Rights&lt;/option&gt;&lt;option value=&quot;Declaration on a Culture of Peace. Article 3&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Declaration on a Culture of Peace. Article 3&lt;/option&gt;&lt;option value=&quot;Declaration on a Culture of Peace. Article 1&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Declaration on a Culture of Peace. Article 1&lt;/option&gt;&lt;option value=&quot;Culture of Peace&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Culture of Peace&lt;/option&gt;&lt;option value=&quot;MultiRssPlugin&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MultiRssPlugin&lt;/option&gt;&lt;option value=&quot;Information Ecology&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Information Ecology&lt;/option&gt;&lt;option value=&quot;Properties of information&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Properties of information&lt;/option&gt;&lt;option value=&quot;Climate Change 2.0&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Climate Change 2.0&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, October 05, 2007&lt;/option&gt;&lt;option value=&quot;Protocol on Prohibitions or Restrictions on the Use of Incendiary Weapons&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Protocol on Prohibitions or Restrictions on the Use of Incendiary Weapons&lt;/option&gt;&lt;option value=&quot;Resolution 1997/36. International peace and security as an essential condition for the enjoyment of human rights, above all the right to life&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Resolution 1997/36. International peace and security as an essential condition for the enjoyment of human rights, above all the right to life&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Thursday, October 04, 2007&lt;/option&gt;&lt;option value=&quot;Draft General Assembly Resolution: Concerns About Weapons Containing Depleted Uranium&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Draft General Assembly Resolution: Concerns About Weapons Containing Depleted Uranium&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Sunday, September 30, 2007&lt;/option&gt;&lt;option value=&quot;The Avalon Project at Yale Law School: The Laws of War&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;The Avalon Project at Yale Law School: The Laws of War&lt;/option&gt;&lt;option value=&quot;Declaration on the Use of Projectiles the Object of Which is the Diffusion of Asphyxiating or Deleterious Gases; July 29, 1899&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Declaration on the Use of Projectiles the Object of Which is the Diffusion of Asphyxiating or Deleterious Gases; July 29, 1899&lt;/option&gt;&lt;option value=&quot;St. Petersburg Declaration of 1868&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;St. Petersburg Declaration of 1868&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Tuesday, September 25, 2007&lt;/option&gt;&lt;option value=&quot;siteMap plugin macro&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;siteMap plugin macro&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Sunday, September 23, 2007&lt;/option&gt;&lt;option value=&quot;dataperfect&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dataperfect&lt;/option&gt;&lt;option value=&quot;SliderSiteMap&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SliderSiteMap&lt;/option&gt;&lt;option value=&quot;Better timeline plugin macro&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Better timeline plugin macro&lt;/option&gt;&lt;option value=&quot;IntelliTaggerPlugin&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IntelliTaggerPlugin&lt;/option&gt;&lt;option value=&quot;Settings plugin macro&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Settings plugin macro&lt;/option&gt;&lt;option value=&quot;ImportExportPackage&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ImportExportPackage&lt;/option&gt;&lt;option value=&quot;FormattingPackage&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FormattingPackage&lt;/option&gt;&lt;option value=&quot;SearchOptions plugin&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SearchOptions plugin&lt;/option&gt;&lt;option value=&quot;InputPackage&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;InputPackage&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Saturday, September 22, 2007&lt;/option&gt;&lt;option value=&quot;declaration&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;declaration&lt;/option&gt;&lt;option value=&quot;EditTemplate&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EditTemplate&lt;/option&gt;&lt;option value=&quot;css&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;css&lt;/option&gt;&lt;option value=&quot;Plugin Macros&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Plugin Macros&lt;/option&gt;&lt;option value=&quot;systemConfig&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;systemConfig&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, September 21, 2007&lt;/option&gt;&lt;option value=&quot;Knowledge-based universe&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Knowledge-based universe&lt;/option&gt;&lt;option value=&quot;Subscribe to the Climate Change 2.0 Google Group&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Subscribe to the Climate Change 2.0 Google Group&lt;/option&gt;&lt;option value=&quot;cc2.0&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cc2.0&lt;/option&gt;&lt;option value=&quot;Rio Declaration on Environment and Development&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Rio Declaration on Environment and Development&lt;/option&gt;&lt;option value=&quot;DPI/NGO Conference Planning Committee&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DPI/NGO Conference Planning Committee&lt;/option&gt;&lt;option value=&quot;TiddlyWikiPerfect: An emerging hybrid information species&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TiddlyWikiPerfect: An emerging hybrid information species&lt;/option&gt;&lt;option value=&quot;RSS feeds&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RSS feeds&lt;/option&gt;&lt;option value=&quot;Tiddlers&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Tiddlers&lt;/option&gt;&lt;option value=&quot;tiddlywiki&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tiddlywiki&lt;/option&gt;&lt;option value=&quot;Menus&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Menus&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Thursday, September 20, 2007&lt;/option&gt;&lt;option value=&quot;un-documents.net&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;un-documents.net&lt;/option&gt;&lt;option value=&quot;convention&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;convention&lt;/option&gt;&lt;option value=&quot;google groups&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;google groups&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Wednesday, September 19, 2007&lt;/option&gt;&lt;option value=&quot;Networking Sub-Committee&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Networking Sub-Committee&lt;/option&gt;&lt;option value=&quot;Networking Sub-Committee's Google Group&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Networking Sub-Committee's Google Group&lt;/option&gt;&lt;option value=&quot;Subscribe to the TiddlyWiki Google Group&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Subscribe to the TiddlyWiki Google Group&lt;/option&gt;&lt;option value=&quot;Subscribe to the NGO Committee on Education Google Group&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Subscribe to the NGO Committee on Education Google Group&lt;/option&gt;&lt;option value=&quot;Google Groups&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Google Groups&lt;/option&gt;&lt;option value=&quot;Economics of Climate Change: The Stern Review&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Economics of Climate Change: The Stern Review&lt;/option&gt;&lt;option value=&quot;Rescuing a Planet Under Stress and a Civilization in Trouble: Plan B 2.1 (beta)&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Rescuing a Planet Under Stress and a Civilization in Trouble: Plan B 2.1 (beta)&lt;/option&gt;&lt;option value=&quot;tiddlywikiperfect&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tiddlywikiperfect&lt;/option&gt;&lt;option value=&quot;Subscribe to the Information Ecology Yahoo! Group&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Subscribe to the Information Ecology Yahoo! Group&lt;/option&gt;&lt;option value=&quot;Refresh macro&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Refresh macro&lt;/option&gt;&lt;option value=&quot;convention of war&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;convention of war&lt;/option&gt;&lt;option value=&quot;60th Annual DPI/NGO Conference Declaration:  Climate Change Threats - An NGO Framework for Action&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;60th Annual DPI/NGO Conference Declaration:  Climate Change Threats - An NGO Framework for Action&lt;/option&gt;&lt;option value=&quot;Hover Menu&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Hover Menu&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Tuesday, September 18, 2007&lt;/option&gt;&lt;option value=&quot;Peace Caucus: The Wild Cards in Climate Change&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Peace Caucus: The Wild Cards in Climate Change&lt;/option&gt;&lt;option value=&quot;FeedBlitz&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FeedBlitz&lt;/option&gt;&lt;option value=&quot;MicroContent&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MicroContent&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, September 17, 2007&lt;/option&gt;&lt;option value=&quot;Subscribe to the Peace Caucus Yahoo! Group&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Subscribe to the Peace Caucus Yahoo! Group&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, September 14, 2007&lt;/option&gt;&lt;option value=&quot;Information and Communications Sub-Committee&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Information and Communications Sub-Committee&lt;/option&gt;&lt;option value=&quot;Conference Of NGOs&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Conference Of NGOs&lt;/option&gt;&lt;option value=&quot;Templates for Light &amp;amp; Colour Cubes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Templates for Light &amp;amp; Colour Cubes&lt;/option&gt;&lt;option value=&quot;NGO Committee on Education&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NGO Committee on Education&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, September 03, 2007&lt;/option&gt;&lt;option value=&quot;UN Documents Cooperation Circles: Gathering a Body of Global Agreements&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UN Documents Cooperation Circles: Gathering a Body of Global Agreements&lt;/option&gt;&lt;option value=&quot;Istanbul Declaration on Human Settlements&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Istanbul Declaration on Human Settlements&lt;/option&gt;&lt;option value=&quot;NGO Committee on Education: Executive Committee&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NGO Committee on Education: Executive Committee&lt;/option&gt;&lt;option value=&quot;Pauline Cantwell&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Pauline Cantwell&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, August 31, 2007&lt;/option&gt;&lt;option value=&quot;ListboxPlugin&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ListboxPlugin&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Thursday, August 02, 2007&lt;/option&gt;&lt;option value=&quot;Convention on Prohibitions or Restrictions on the Use of Certain Conventional Weapons Which May be Deemed to be Excessively Injurious or to Have Indiscriminate Effects&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Convention on Prohibitions or Restrictions on the Use of Certain Conventional Weapons Which May be Deemed to be Excessively Injurious or to Have Indiscriminate Effects&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Wednesday, August 01, 2007&lt;/option&gt;&lt;option value=&quot;Protocol II Additional to the Geneva Conventions of 12 August 1949, and relating to the Protection of Victims of Non-International Armed Conflicts&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Protocol II Additional to the Geneva Conventions of 12 August 1949, and relating to the Protection of Victims of Non-International Armed Conflicts&lt;/option&gt;&lt;option value=&quot;Protocol I Additional to the Geneva Conventions of 12 August 1949, and relating to the Protection of Victims of International Armed Conflicts&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Protocol I Additional to the Geneva Conventions of 12 August 1949, and relating to the Protection of Victims of International Armed Conflicts&lt;/option&gt;&lt;option value=&quot;Geneva Convention IV: relative to the Protection of Civilian Persons in Time of War&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Geneva Convention IV: relative to the Protection of Civilian Persons in Time of War&lt;/option&gt;&lt;option value=&quot;Geneva Convention III: relative to the Treatment of Prisoners of War&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Geneva Convention III: relative to the Treatment of Prisoners of War&lt;/option&gt;&lt;option value=&quot;Geneva Convention II: for the Amelioration of the Condition of the Wounded and Sick and Shipwrecked Members of Armed Forces at Sea&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Geneva Convention II: for the Amelioration of the Condition of the Wounded and Sick and Shipwrecked Members of Armed Forces at Sea&lt;/option&gt;&lt;option value=&quot;Convention on the Prohibition of Military or Any Other Hostile Use of Environmental Modification Techniques&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Convention on the Prohibition of Military or Any Other Hostile Use of Environmental Modification Techniques&lt;/option&gt;&lt;option value=&quot;Geneva Convention I: for the Amelioration of the Condition of the Wounded and Sick in Armed Forces in the Field&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Geneva Convention I: for the Amelioration of the Condition of the Wounded and Sick in Armed Forces in the Field&lt;/option&gt;&lt;option value=&quot;Geneva Conventions&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Geneva Conventions&lt;/option&gt;&lt;option value=&quot;Convention on the Prohibition of the Use, Stockpiling, Production and Transfer of Anti-personnel Mines and on Their Destruction&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Convention on the Prohibition of the Use, Stockpiling, Production and Transfer of Anti-personnel Mines and on Their Destruction&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, July 30, 2007&lt;/option&gt;&lt;option value=&quot;ForEachTiddlerMacro&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ForEachTiddlerMacro&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, July 27, 2007&lt;/option&gt;&lt;option value=&quot;RecentChangesPlugin&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RecentChangesPlugin&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Thursday, July 19, 2007&lt;/option&gt;&lt;option value=&quot;UN Department of Public Information&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UN Department of Public Information&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Wednesday, July 18, 2007&lt;/option&gt;&lt;option value=&quot;Our Common Future&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Our Common Future&lt;/option&gt;&lt;option value=&quot;NGOs in Consultative Status with the Economic and Social Council&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NGOs in Consultative Status with the Economic and Social Council&lt;/option&gt;&lt;option value=&quot;NGOs associated with DPI&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NGOs associated with DPI&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, July 13, 2007&lt;/option&gt;&lt;option value=&quot;RelatedTiddlersPlugin&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RelatedTiddlersPlugin&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, June 25, 2007&lt;/option&gt;&lt;option value=&quot;Images from the peace cubes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Images from the peace cubes&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, June 11, 2007&lt;/option&gt;&lt;option value=&quot;Information ecosystems&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Information ecosystems&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, June 08, 2007&lt;/option&gt;&lt;option value=&quot;DisableWikiLinksPlugin&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DisableWikiLinksPlugin&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, April 23, 2007&lt;/option&gt;&lt;option value=&quot;Formatting Text&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Formatting Text&lt;/option&gt;&lt;option value=&quot;Subscribe to Climate Change 2.0&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Subscribe to Climate Change 2.0&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Wednesday, April 18, 2007&lt;/option&gt;&lt;option value=&quot;TiddlyWikiPerfect Sites&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TiddlyWikiPerfect Sites&lt;/option&gt;&lt;option value=&quot;Contact form&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Contact form&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Thursday, April 12, 2007&lt;/option&gt;&lt;option value=&quot;ForEachTiddlerPlugin&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ForEachTiddlerPlugin&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Saturday, April 07, 2007&lt;/option&gt;&lt;option value=&quot;Twin Light &amp;amp; Colour Cubes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Twin Light &amp;amp; Colour Cubes&lt;/option&gt;&lt;option value=&quot;Images&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Images&lt;/option&gt;&lt;option value=&quot;Administrative Menus&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Administrative Menus&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, April 06, 2007&lt;/option&gt;&lt;option value=&quot;Alphabetical Tiddlers&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Alphabetical Tiddlers&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Tuesday, April 03, 2007&lt;/option&gt;&lt;option value=&quot;Gandhi-King Season for Nonviolence&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Gandhi-King Season for Nonviolence&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Tuesday, March 13, 2007&lt;/option&gt;&lt;option value=&quot;Integrated Monitoring Frameworks: NGO Recommendations&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Integrated Monitoring Frameworks: NGO Recommendations&lt;/option&gt;&lt;option value=&quot;Information Ecology: NGO Recommendations&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Information Ecology: NGO Recommendations&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, March 12, 2007&lt;/option&gt;&lt;option value=&quot;Shadow Tiddlers&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Shadow Tiddlers&lt;/option&gt;&lt;option value=&quot;Purposes and Principles of the United Nations&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Purposes and Principles of the United Nations&lt;/option&gt;&lt;option value=&quot;Johannesburg Declaration on Sustainable Development&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Johannesburg Declaration on Sustainable Development&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Sunday, March 11, 2007&lt;/option&gt;&lt;option value=&quot;Basic Tiddler Lists&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Basic Tiddler Lists&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Thursday, March 08, 2007&lt;/option&gt;&lt;option value=&quot;Executive Committee&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Executive Committee&lt;/option&gt;&lt;option value=&quot;Tiddler Administration&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Tiddler Administration&lt;/option&gt;&lt;option value=&quot;Robert Pollard&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Robert Pollard&lt;/option&gt;&lt;option value=&quot;By-laws&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;By-laws&lt;/option&gt;&lt;option value=&quot;Imported Tiddlers&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Imported Tiddlers&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, February 26, 2007&lt;/option&gt;&lt;option value=&quot;ColorPalette&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ColorPalette&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Sunday, February 25, 2007&lt;/option&gt;&lt;option value=&quot;AdvancedOptions&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AdvancedOptions&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Tuesday, February 20, 2007&lt;/option&gt;&lt;option value=&quot;Millennium Development Goals&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Millennium Development Goals&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, February 12, 2007&lt;/option&gt;&lt;option value=&quot;Search Options&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Search Options&lt;/option&gt;&lt;option value=&quot;Headings &amp;amp; Outlines&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Headings &amp;amp; Outlines&lt;/option&gt;&lt;option value=&quot;Tiddler Lists&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Tiddler Lists&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, January 26, 2007&lt;/option&gt;&lt;option value=&quot;InlineSlidersPlugin&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;InlineSlidersPlugin&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Wednesday, January 17, 2007&lt;/option&gt;&lt;option value=&quot;Missing Tiddlers&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Missing Tiddlers&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Sunday, January 07, 2007&lt;/option&gt;&lt;option value=&quot;ExternalLinkPreviewPlugin&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ExternalLinkPreviewPlugin&lt;/option&gt;&lt;option value=&quot;TiddlerPreviewsPlugin&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TiddlerPreviewsPlugin&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Tuesday, December 26, 2006&lt;/option&gt;&lt;option value=&quot;MonkeyTaggerMacro&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MonkeyTaggerMacro&lt;/option&gt;&lt;option value=&quot;Shadowed Tiddlers&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Shadowed Tiddlers&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Wednesday, December 13, 2006&lt;/option&gt;&lt;option value=&quot;61/106. Convention on the Rights of Persons with Disabilities&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;61/106. Convention on the Rights of Persons with Disabilities&lt;/option&gt;&lt;option value=&quot;Convention on the Rights of Persons with Disabilities&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Convention on the Rights of Persons with Disabilities&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, November 06, 2006&lt;/option&gt;&lt;option value=&quot;Information Habitat: Where Information Lives&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Information Habitat: Where Information Lives&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Saturday, November 04, 2006&lt;/option&gt;&lt;option value=&quot;allTagsExcept plugin macro&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;allTagsExcept plugin macro&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, November 03, 2006&lt;/option&gt;&lt;option value=&quot;60/11. Promotion of religious and cultural understanding, harmony and cooperation&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;60/11. Promotion of religious and cultural understanding, harmony and cooperation&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, October 30, 2006&lt;/option&gt;&lt;option value=&quot;Faye C. Feller&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Faye C. Feller&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Thursday, October 19, 2006&lt;/option&gt;&lt;option value=&quot;CloseOnCancelPlugin&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CloseOnCancelPlugin&lt;/option&gt;&lt;option value=&quot;HideWhenPlugin&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HideWhenPlugin&lt;/option&gt;&lt;option value=&quot;QuickOpenTagPlugin&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;QuickOpenTagPlugin&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Tuesday, July 25, 2006&lt;/option&gt;&lt;option value=&quot;fontSize plugin macro&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fontSize plugin macro&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, July 24, 2006&lt;/option&gt;&lt;option value=&quot;fullscreen plugin macros&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fullscreen plugin macros&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Thursday, July 20, 2006&lt;/option&gt;&lt;option value=&quot;SplashScreenPlugin&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SplashScreenPlugin&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Wednesday, July 19, 2006&lt;/option&gt;&lt;option value=&quot;TagAdderMacro&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TagAdderMacro&lt;/option&gt;&lt;option value=&quot;monkeyTagger plugin macro&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;monkeyTagger plugin macro&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Wednesday, March 15, 2006&lt;/option&gt;&lt;option value=&quot;60/251. Human Rights Council&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;60/251. Human Rights Council&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, December 16, 2005&lt;/option&gt;&lt;option value=&quot;60/163. Promotion of peace as a vital requirement for the full enjoyment of all human rights by all&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;60/163. Promotion of peace as a vital requirement for the full enjoyment of all human rights by all&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Thursday, December 08, 2005&lt;/option&gt;&lt;option value=&quot;ForEachTiddlerExamples&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ForEachTiddlerExamples&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, December 02, 2005&lt;/option&gt;&lt;option value=&quot;wikipedia plugin macro&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wikipedia plugin macro&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, September 16, 2005&lt;/option&gt;&lt;option value=&quot;60/1. 2005 World Summit Outcome&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;60/1. 2005 World Summit Outcome&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, March 21, 2005&lt;/option&gt;&lt;option value=&quot;In larger freedom: towards development, security and human rights for all&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;In larger freedom: towards development, security and human rights for all&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, December 20, 2004&lt;/option&gt;&lt;option value=&quot;Elimination of all forms of religious intolerance&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Elimination of all forms of religious intolerance&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Wednesday, December 15, 2004&lt;/option&gt;&lt;option value=&quot;59/142. Promotion of religious and cultural understanding, harmony and cooperation&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;59/142. Promotion of religious and cultural understanding, harmony and cooperation&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, December 19, 2003&lt;/option&gt;&lt;option value=&quot;58/128. Promotion of religious and cultural understanding, harmony and cooperation&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;58/128. Promotion of religious and cultural understanding, harmony and cooperation&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, December 12, 2003&lt;/option&gt;&lt;option value=&quot;Declaration of Principles: Building the Information Society: a global challenge in the new Millennium&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Declaration of Principles: Building the Information Society: a global challenge in the new Millennium&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Wednesday, December 19, 2001&lt;/option&gt;&lt;option value=&quot;56/116. United Nations Literacy Decade: education for all&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;56/116. United Nations Literacy Decade: education for all&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, November 09, 2001&lt;/option&gt;&lt;option value=&quot;56/6. Global Agenda for Dialogue among Civilizations&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;56/6. Global Agenda for Dialogue among Civilizations&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, November 02, 2001&lt;/option&gt;&lt;option value=&quot;Universal Declaration on Cultural Diversity&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Universal Declaration on Cultural Diversity&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Saturday, September 08, 2001&lt;/option&gt;&lt;option value=&quot;Durban Programme of Action&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Durban Programme of Action&lt;/option&gt;&lt;option value=&quot;Durban Declaration&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Durban Declaration&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Thursday, May 31, 2001&lt;/option&gt;&lt;option value=&quot;Protection of religious sites&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Protection of religious sites&lt;/option&gt;&lt;option value=&quot;55/254. Protection of religious sites&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;55/254. Protection of religious sites&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, April 20, 2001&lt;/option&gt;&lt;option value=&quot;2001/29. The right to education&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2001/29. The right to education&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, December 04, 2000&lt;/option&gt;&lt;option value=&quot;55/97. Elimination of all forms of religious intolerance&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;55/97. Elimination of all forms of religious intolerance&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, September 08, 2000&lt;/option&gt;&lt;option value=&quot;55/2. United Nations Millennium Declaration&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;55/2. United Nations Millennium Declaration&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Thursday, May 25, 2000&lt;/option&gt;&lt;option value=&quot;Optional Protocol to the Convention on the Rights of the Child on the involvement of children in armed conflict&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Optional Protocol to the Convention on the Rights of the Child on the involvement of children in armed conflict&lt;/option&gt;&lt;option value=&quot;Optional Protocol to the Convention on the Rights of the Child on the sale of children, child prostitution and child pornography&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Optional Protocol to the Convention on the Rights of the Child on the sale of children, child prostitution and child pornography&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, April 28, 2000&lt;/option&gt;&lt;option value=&quot;Dakar Framework for Action. Education For All: Meeting Our Collective Commitments&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dakar Framework for Action. Education For All: Meeting Our Collective Commitments&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, December 17, 1999&lt;/option&gt;&lt;option value=&quot;54/122. A United Nations literacy decade: education for all&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;54/122. A United Nations literacy decade: education for all&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Saturday, October 09, 1999&lt;/option&gt;&lt;option value=&quot;World Declaration on Higher Education for the Twenty-First Century: Vision and Action&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;World Declaration on Higher Education for the Twenty-First Century: Vision and Action&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Wednesday, October 06, 1999&lt;/option&gt;&lt;option value=&quot;Optional Protocol to the Convention on the Elimination of All Forms of Discrimination against Women&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Optional Protocol to the Convention on the Elimination of All Forms of Discrimination against Women&lt;/option&gt;&lt;option value=&quot;54/4. Optional Protocol to the Convention on the Elimination of All Forms of Discrimination against Women&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;54/4. Optional Protocol to the Convention on the Elimination of All Forms of Discrimination against Women&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, September 13, 1999&lt;/option&gt;&lt;option value=&quot;53/243 A. Declaration on a Culture of Peace&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;53/243 A. Declaration on a Culture of Peace&lt;/option&gt;&lt;option value=&quot;53/243 B. Programme of Action on a Culture of Peace&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;53/243 B. Programme of Action on a Culture of Peace&lt;/option&gt;&lt;option value=&quot;53/243. Declaration and Programme of Action on a Culture of Peace&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;53/243. Declaration and Programme of Action on a Culture of Peace&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Thursday, July 01, 1999&lt;/option&gt;&lt;option value=&quot;Declaration on Science and the Use of Scientific Knowledge&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Declaration on Science and the Use of Scientific Knowledge&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Wednesday, December 09, 1998&lt;/option&gt;&lt;option value=&quot;United Nations Decade for Human Rights Education, 1995-2004, and public information activities in the field of human rights&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;United Nations Decade for Human Rights Education, 1995-2004, and public information activities in the field of human rights&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Tuesday, November 11, 1997&lt;/option&gt;&lt;option value=&quot;Universal Declaration on the Human Genome and Human Rights&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Universal Declaration on the Human Genome and Human Rights&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, September 15, 1997&lt;/option&gt;&lt;option value=&quot;International Treaties from Cornell&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;International Treaties from Cornell&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Thursday, December 12, 1996&lt;/option&gt;&lt;option value=&quot;United Nations Decade for Human Rights Education&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;United Nations Decade for Human Rights Education&lt;/option&gt;&lt;option value=&quot;51/104. United Nations Decade for Human Rights Education and public information activities in the field of human rights&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;51/104. United Nations Decade for Human Rights Education and public information activities in the field of human rights&lt;/option&gt;&lt;option value=&quot;51/95. Follow-up to the United Nations Year for Tolerance&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;51/95. Follow-up to the United Nations Year for Tolerance&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Thursday, July 25, 1996&lt;/option&gt;&lt;option value=&quot;1996/31. Consultative relationship between the United Nations and non-governmental organizations&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1996/31. Consultative relationship between the United Nations and non-governmental organizations&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Wednesday, July 10, 1996&lt;/option&gt;&lt;option value=&quot;Human Rights Questions: Human Rights Questions, Including Alternative Approaches for Improving the Effective Enjoyment of Human Rights and Fundamental Freedoms&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Human Rights Questions: Human Rights Questions, Including Alternative Approaches for Improving the Effective Enjoyment of Human Rights and Fundamental Freedoms&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, June 14, 1996&lt;/option&gt;&lt;option value=&quot;The Habitat Agenda: Chapter II: Goals and Principles&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;The Habitat Agenda: Chapter II: Goals and Principles&lt;/option&gt;&lt;option value=&quot;The Habitat Agenda: Chapter IV: B. Adequate shelter for all&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;The Habitat Agenda: Chapter IV: B. Adequate shelter for all&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Thursday, February 29, 1996&lt;/option&gt;&lt;option value=&quot;50/157. Programme of activities for the International Decade of the World's Indigenous People&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;50/157. Programme of activities for the International Decade of the World's Indigenous People&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Thursday, November 16, 1995&lt;/option&gt;&lt;option value=&quot;Declaration of Principles on Tolerance&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Declaration of Principles on Tolerance&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, September 15, 1995&lt;/option&gt;&lt;option value=&quot;Beijing Platform for Action. Chapter IV. D. Violence against women&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Beijing Platform for Action. Chapter IV. D. Violence against women&lt;/option&gt;&lt;option value=&quot;Beijing Platform for Action. Chapter IV. I. Human rights of women&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Beijing Platform for Action. Chapter IV. I. Human rights of women&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Tuesday, March 14, 1995&lt;/option&gt;&lt;option value=&quot;Copenhagen Declaration on Social Development&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Copenhagen Declaration on Social Development&lt;/option&gt;&lt;option value=&quot;Programme of Action of the World Summit for Social Development&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Programme of Action of the World Summit for Social Development&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, December 23, 1994&lt;/option&gt;&lt;option value=&quot;49/213. United Nations Year for Tolerance&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;49/213. United Nations Year for Tolerance&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, July 18, 1994&lt;/option&gt;&lt;option value=&quot;Preparation for a United Nations decade for human rights education&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Preparation for a United Nations decade for human rights education&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, December 20, 1993&lt;/option&gt;&lt;option value=&quot;High Commissioner for the promotion and protection of all human rights&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;High Commissioner for the promotion and protection of all human rights&lt;/option&gt;&lt;option value=&quot;Human rights education decade&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Human rights education decade&lt;/option&gt;&lt;option value=&quot;48/127. Human rights education decade&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;48/127. Human rights education decade&lt;/option&gt;&lt;option value=&quot;48/141. High Commissioner for the promotion and protection of all human rights&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;48/141. High Commissioner for the promotion and protection of all human rights&lt;/option&gt;&lt;option value=&quot;48/95. Positive and full inclusion of persons with disabilities in all aspects of society and the leadership role of the United Nations therein&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;48/95. Positive and full inclusion of persons with disabilities in all aspects of society and the leadership role of the United Nations therein&lt;/option&gt;&lt;option value=&quot;48/96. Standard Rules on the Equalization of Opportunities for Persons with Disabilities&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;48/96. Standard Rules on the Equalization of Opportunities for Persons with Disabilities&lt;/option&gt;&lt;option value=&quot;Standard Rules on the Equalization of Opportunities for Persons with Disabilities&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Standard Rules on the Equalization of Opportunities for Persons with Disabilities&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, June 25, 1993&lt;/option&gt;&lt;option value=&quot;Vienna Declaration and Programme of Action&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Vienna Declaration and Programme of Action&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Thursday, March 11, 1993&lt;/option&gt;&lt;option value=&quot;World Plan of Action for Education on Human Rights and Democracy&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;World Plan of Action for Education on Human Rights and Democracy&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, December 18, 1992&lt;/option&gt;&lt;option value=&quot;United Nations year for tolerance&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;United Nations year for tolerance&lt;/option&gt;&lt;option value=&quot;47/122. World Conference on Human Rights&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;47/122. World Conference on Human Rights&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Tuesday, December 17, 1991&lt;/option&gt;&lt;option value=&quot;World Conference on Human Rights&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;World Conference on Human Rights&lt;/option&gt;&lt;option value=&quot;46/119. The protection of persons with mental illness and the improvement of mental health care&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;46/119. The protection of persons with mental illness and the improvement of mental health care&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, December 16, 1991&lt;/option&gt;&lt;option value=&quot;46/91. Implementation of the International Plan of Action on Ageing and related activities&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;46/91. Implementation of the International Plan of Action on Ageing and related activities&lt;/option&gt;&lt;option value=&quot;United Nations Principles for Older Persons&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;United Nations Principles for Older Persons&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Saturday, November 02, 1991&lt;/option&gt;&lt;option value=&quot;Consultations with the United Nations with a view to declaring 1995 United Nations year for tolerance&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Consultations with the United Nations with a view to declaring 1995 United Nations year for tolerance&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Tuesday, December 18, 1990&lt;/option&gt;&lt;option value=&quot;45/158. International Convention on the Protection of the Rights of All Migrant Workers and Members of Their Families&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;45/158. International Convention on the Protection of the Rights of All Migrant Workers and Members of Their Families&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, September 14, 1990&lt;/option&gt;&lt;option value=&quot;Paris Declaration and Programme of Action for the Least Developed Countries for the 1990s&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Paris Declaration and Programme of Action for the Least Developed Countries for the 1990s&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, December 15, 1989&lt;/option&gt;&lt;option value=&quot;Summary or arbitrary executions&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Summary or arbitrary executions&lt;/option&gt;&lt;option value=&quot;44/159. Summary or arbitrary executions&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;44/159. Summary or arbitrary executions&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, November 20, 1989&lt;/option&gt;&lt;option value=&quot;Convention on the Rights of the Child&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Convention on the Rights of the Child&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Wednesday, May 24, 1989&lt;/option&gt;&lt;option value=&quot;1989/65. Effective Prevention and Investigation of Extra-legal, Arbitrary and Summary Executions&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1989/65. Effective Prevention and Investigation of Extra-legal, Arbitrary and Summary Executions&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Thursday, December 04, 1986&lt;/option&gt;&lt;option value=&quot;Setting international standards in the field of human rights&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Setting international standards in the field of human rights&lt;/option&gt;&lt;option value=&quot;41/128. Declaration on the Right to Development&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;41/128. Declaration on the Right to Development&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, July 26, 1985&lt;/option&gt;&lt;option value=&quot;Nairobi Forward-looking Strategies. Footnotes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Nairobi Forward-looking Strategies. Footnotes&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, December 10, 1984&lt;/option&gt;&lt;option value=&quot;39/46. Convention against Torture and Other Cruel, Inhuman or Degrading Treatment or Punishment&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;39/46. Convention against Torture and Other Cruel, Inhuman or Degrading Treatment or Punishment&lt;/option&gt;&lt;option value=&quot;Convention against Torture and Other Cruel, Inhuman or Degrading Treatment or Punishment&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Convention against Torture and Other Cruel, Inhuman or Degrading Treatment or Punishment&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Thursday, October 18, 1984&lt;/option&gt;&lt;option value=&quot;Programme of Action of the International Conference on Population and Development&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Programme of Action of the International Conference on Population and Development&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, December 16, 1983&lt;/option&gt;&lt;option value=&quot;Torture and other cruel, inhuman or degrading treatment or punishment&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Torture and other cruel, inhuman or degrading treatment or punishment&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, December 03, 1982&lt;/option&gt;&lt;option value=&quot;37/63. Declaration on the Participation of Women in Promoting International Peace and Co-operation&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;37/63. Declaration on the Participation of Women in Promoting International Peace and Co-operation&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Wednesday, November 25, 1981&lt;/option&gt;&lt;option value=&quot;Declaration on the Elimination of All Forms of Intolerance and of Discrimination Based on Religion or Belief&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Declaration on the Elimination of All Forms of Intolerance and of Discrimination Based on Religion or Belief&lt;/option&gt;&lt;option value=&quot;36/55. Declaration on the Elimination of All Forms of Intolerance and of Discrimination Based on Religion or Belief&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;36/55. Declaration on the Elimination of All Forms of Intolerance and of Discrimination Based on Religion or Belief&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, October 27, 1980&lt;/option&gt;&lt;option value=&quot;Recommendation concerning the Status of the Artist&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Recommendation concerning the Status of the Artist&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Tuesday, December 18, 1979&lt;/option&gt;&lt;option value=&quot;Convention on the Elimination of All Forms of Discrimination&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Convention on the Elimination of All Forms of Discrimination&lt;/option&gt;&lt;option value=&quot;Convention on the Elimination of All Forms of Discrimination against Women&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Convention on the Elimination of All Forms of Discrimination against Women&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, November 27, 1978&lt;/option&gt;&lt;option value=&quot;Declaration on Race and Racial Prejudice&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Declaration on Race and Racial Prejudice&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, November 26, 1976&lt;/option&gt;&lt;option value=&quot;Recommendation on Participation by the People at Large in Cultural Life and their Contribution to It&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Recommendation on Participation by the People at Large in Cultural Life and their Contribution to It&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, June 11, 1976&lt;/option&gt;&lt;option value=&quot;The Vancouver Action Plan. B. Settlement planning&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;The Vancouver Action Plan. B. Settlement planning&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Tuesday, December 09, 1975&lt;/option&gt;&lt;option value=&quot;Declaration on the Protection of All Persons from Being Subjected to Torture and Other Cruel, Inhuman or Degrading Treatment or Punishment&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Declaration on the Protection of All Persons from Being Subjected to Torture and Other Cruel, Inhuman or Degrading Treatment or Punishment&lt;/option&gt;&lt;option value=&quot;3447 (XXX). Declaration on the Rights of Disabled Persons&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3447 (XXX). Declaration on the Rights of Disabled Persons&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, November 10, 1975&lt;/option&gt;&lt;option value=&quot;3384 (XXX). Declaration on the Use of Scientific and Technological Progress in the Interests of Peace and for the Benefit of Mankind&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3384 (XXX). Declaration on the Use of Scientific and Technological Progress in the Interests of Peace and for the Benefit of Mankind&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Wednesday, July 02, 1975&lt;/option&gt;&lt;option value=&quot;Declaration of Mexico on the Equality of Women and Their Contribution to Development and Peace, 1975&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Declaration of Mexico on the Equality of Women and Their Contribution to Development and Peace, 1975&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, December 20, 1971&lt;/option&gt;&lt;option value=&quot;2856 (XXVI). Declaration on the Rights of Mentally Retarded Persons&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2856 (XXVI). Declaration on the Rights of Mentally Retarded Persons&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Thursday, December 11, 1969&lt;/option&gt;&lt;option value=&quot;2542 (XXIV). Declaration on Social Progress and Development&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2542 (XXIV). Declaration on Social Progress and Development&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Tuesday, November 07, 1967&lt;/option&gt;&lt;option value=&quot;2263 (XXII). Declaration on the Elimination of Discrimination against Women&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2263 (XXII). Declaration on the Elimination of Discrimination against Women&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Tuesday, January 31, 1967&lt;/option&gt;&lt;option value=&quot;Protocol relating to the Status of Refugees&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Protocol relating to the Status of Refugees&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, December 16, 1966&lt;/option&gt;&lt;option value=&quot;International Covenant on Civil and Political Rights&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;International Covenant on Civil and Political Rights&lt;/option&gt;&lt;option value=&quot;International Covenant on Economic, Social and Cultural Rights&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;International Covenant on Economic, Social and Cultural Rights&lt;/option&gt;&lt;option value=&quot;International Covenant on Economic, Social and Cultural Rights, International Covenant on Civil and Political Rights and Optional Protocol to the International Covenant on Civil and Political Rights&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;International Covenant on Economic, Social and Cultural Rights, International Covenant on Civil and Political Rights and Optional Protocol to the International Covenant on Civil and Political Rights&lt;/option&gt;&lt;option value=&quot;Optional Protocol to Covenant on Civil and Political Rights&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Optional Protocol to Covenant on Civil and Political Rights&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Tuesday, December 21, 1965&lt;/option&gt;&lt;option value=&quot;2106 (XX). International Convention on the Elimination of All Forms of Racial Discrimination&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2106 (XX). International Convention on the Elimination of All Forms of Racial Discrimination&lt;/option&gt;&lt;option value=&quot;2131 (XX). Declaration on the Inadmissibility of Intervention in the Domestic Affairs of States and the Protection of Their Independence and Sovereignty&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2131 (XX). Declaration on the Inadmissibility of Intervention in the Domestic Affairs of States and the Protection of Their Independence and Sovereignty&lt;/option&gt;&lt;option value=&quot;International Convention on the Elimination of All Forms of Racial Discrimination&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;International Convention on the Elimination of All Forms of Racial Discrimination&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Tuesday, December 07, 1965&lt;/option&gt;&lt;option value=&quot;2037 (XX). Declaration on the Promotion Among Youth of the Ideals of Peace, Mutual Respect and Understanding Between Peoples&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2037 (XX). Declaration on the Promotion Among Youth of the Ideals of Peace, Mutual Respect and Understanding Between Peoples&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Wednesday, November 20, 1963&lt;/option&gt;&lt;option value=&quot;United Nations Declaration on the Elimination of All Forms of Racial Discrimination&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;United Nations Declaration on the Elimination of All Forms of Racial Discrimination&lt;/option&gt;&lt;option value=&quot;1904 (XVIII). United Nations Declaration on the Elimination of All Forms of Racial Discrimination&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1904 (XVIII). United Nations Declaration on the Elimination of All Forms of Racial Discrimination&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Wednesday, December 14, 1960&lt;/option&gt;&lt;option value=&quot;Declaration on the Granting of Independence to Colonial Countries&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Declaration on the Granting of Independence to Colonial Countries&lt;/option&gt;&lt;option value=&quot;1514 (XV). Declaration on the Granting of Independence to Colonial Countries and Peoples&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1514 (XV). Declaration on the Granting of Independence to Colonial Countries and Peoples&lt;/option&gt;&lt;option value=&quot;Convention against Discrimination in Education&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Convention against Discrimination in Education&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, November 20, 1959&lt;/option&gt;&lt;option value=&quot;1386 (XIV). Declaration of the Rights of the Child&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1386 (XIV). Declaration of the Rights of the Child&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Wednesday, June 25, 1958&lt;/option&gt;&lt;option value=&quot;Convention concerning Discrimination in Respect of Employment and Occupation&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Convention concerning Discrimination in Respect of Employment and Occupation&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Monday, December 29, 1952&lt;/option&gt;&lt;option value=&quot;Convention on the Political Rights of Women&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Convention on the Political Rights of Women&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Saturday, December 20, 1952&lt;/option&gt;&lt;option value=&quot;640 (VII). Convention on the Political Rights of Women&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;640 (VII). Convention on the Political Rights of Women&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Saturday, July 28, 1951&lt;/option&gt;&lt;option value=&quot;Convention relating to the Status of Refugees&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Convention relating to the Status of Refugees&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, December 02, 1949&lt;/option&gt;&lt;option value=&quot;Convention for the Suppression of the Traffic in Persons and of the Exploitation of the Prostitution of Others&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Convention for the Suppression of the Traffic in Persons and of the Exploitation of the Prostitution of Others&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Thursday, December 01, 1949&lt;/option&gt;&lt;option value=&quot;290 (IV). Essentials of Peace&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;290 (IV). Essentials of Peace&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, August 12, 1949&lt;/option&gt;&lt;option value=&quot;Geneva Convention for the Amelioration of the Condition of the Wounded and Sick and Shipwrecked Members of Armed Forces at Sea&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Geneva Convention for the Amelioration of the Condition of the Wounded and Sick and Shipwrecked Members of Armed Forces at Sea&lt;/option&gt;&lt;option value=&quot;Geneva Convention for the Amelioration of the Condition of the Wounded and Sick in Armed Forces in the Field&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Geneva Convention for the Amelioration of the Condition of the Wounded and Sick in Armed Forces in the Field&lt;/option&gt;&lt;option value=&quot;Geneva Convention relative to the Protection of Civilian Persons in Time of War&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Geneva Convention relative to the Protection of Civilian Persons in Time of War&lt;/option&gt;&lt;option value=&quot;Geneva Convention relative to the Treatment of Prisoners of War&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Geneva Convention relative to the Treatment of Prisoners of War&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, December 10, 1948&lt;/option&gt;&lt;option value=&quot;217 A (III). Universal Declaration of Human Rights&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;217 A (III). Universal Declaration of Human Rights&lt;/option&gt;&lt;option value=&quot;217 B (III). Right of Petition&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;217 B (III). Right of Petition&lt;/option&gt;&lt;option value=&quot;217 C (III). Fate of Minorities&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;217 C (III). Fate of Minorities&lt;/option&gt;&lt;option value=&quot;217 D (III). Publicity to be Given to the Universal Declaration of Human Rights&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;217 D (III). Publicity to be Given to the Universal Declaration of Human Rights&lt;/option&gt;&lt;option value=&quot;217 E (III). Preparation of a Draft Covenant on Human Rights and Draft Measures of Implementation&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;217 E (III). Preparation of a Draft Covenant on Human Rights and Draft Measures of Implementation&lt;/option&gt;&lt;option value=&quot;Fate of Minorities&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Fate of Minorities&lt;/option&gt;&lt;option value=&quot;Preparation of a Draft Covenant on Human Rights and Draft Measures of Implementation&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Preparation of a Draft Covenant on Human Rights and Draft Measures of Implementation&lt;/option&gt;&lt;option value=&quot;Publicity to be Given to the Universal Declaration of Human Rights&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Publicity to be Given to the Universal Declaration of Human Rights&lt;/option&gt;&lt;option value=&quot;Right of Petition&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Right of Petition&lt;/option&gt;&lt;option value=&quot;Universal Declaration of Human Rights&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Universal Declaration of Human Rights&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Thursday, December 09, 1948&lt;/option&gt;&lt;option value=&quot;Convention on the Prevention and Punishment of the Crime of Genocide&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Convention on the Prevention and Punishment of the Crime of Genocide&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Tuesday, June 26, 1945&lt;/option&gt;&lt;option value=&quot;Charter of the United Nations&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Charter of the United Nations&lt;/option&gt;&lt;option value=&quot;&quot;&gt;Friday, September 26, 1924&lt;/option&gt;&lt;option value=&quot;Geneva Declaration of the Rights of the Child&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Geneva Declaration of the Rights of the Child&lt;/option&gt;&lt;/select&gt;&lt;br&gt;&lt;!--box--&gt;&lt;!-- selection filter --&gt;&lt;div id=&quot;exportFilterPanel&quot; style=&quot;display: none;&quot;&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr align=&quot;left&quot;&gt;&lt;td&gt;	selection filter&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;	&lt;a href=&quot;JavaScript:;&quot; id=&quot;exportHideFilter&quot; onclick=&quot;onClickExportButton(this)&quot; title=&quot;hide selection filter&quot;&gt;hide&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class=&quot;box&quot;&gt;&lt;input class=&quot;chk&quot; id=&quot;exportFilterStart&quot; value=&quot;1&quot; onclick=&quot;exportShowFilterFields(this)&quot; type=&quot;checkbox&quot;&gt; starting date/time&lt;br&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr valign=&quot;center&quot;&gt;&lt;td width=&quot;50%&quot;&gt;	&lt;select style=&quot;display: none;&quot; size=&quot;1&quot; id=&quot;exportFilterStartBy&quot; onchange=&quot;exportShowFilterFields(this);&quot;&gt;		&lt;option value=&quot;0&quot;&gt;today&lt;/option&gt;		&lt;option value=&quot;1&quot;&gt;yesterday&lt;/option&gt;		&lt;option value=&quot;7&quot;&gt;a week ago&lt;/option&gt;		&lt;option value=&quot;30&quot;&gt;a month ago&lt;/option&gt;		&lt;option value=&quot;site&quot;&gt;SiteDate&lt;/option&gt;		&lt;option value=&quot;file&quot;&gt;file date&lt;/option&gt;		&lt;option value=&quot;other&quot;&gt;other (mm/dd/yyyy hh:mm)&lt;/option&gt;	&lt;/select&gt;&lt;/td&gt;&lt;td width=&quot;50%&quot;&gt;	&lt;input style=&quot;display: none;&quot; id=&quot;exportStartDate&quot; onfocus=&quot;this.select()&quot; onchange=&quot;document.getElementById('exportFilterStartBy').value='other';&quot; type=&quot;text&quot;&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;input class=&quot;chk&quot; id=&quot;exportFilterEnd&quot; value=&quot;1&quot; onclick=&quot;exportShowFilterFields(this)&quot; type=&quot;checkbox&quot;&gt; ending date/time&lt;br&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr valign=&quot;center&quot;&gt;&lt;td width=&quot;50%&quot;&gt;	&lt;select style=&quot;display: none;&quot; size=&quot;1&quot; id=&quot;exportFilterEndBy&quot; onchange=&quot;exportShowFilterFields(this);&quot;&gt;		&lt;option value=&quot;0&quot;&gt;today&lt;/option&gt;		&lt;option value=&quot;1&quot;&gt;yesterday&lt;/option&gt;		&lt;option value=&quot;7&quot;&gt;a week ago&lt;/option&gt;		&lt;option value=&quot;30&quot;&gt;a month ago&lt;/option&gt;		&lt;option value=&quot;site&quot;&gt;SiteDate&lt;/option&gt;		&lt;option value=&quot;file&quot;&gt;file date&lt;/option&gt;		&lt;option value=&quot;other&quot;&gt;other (mm/dd/yyyy hh:mm)&lt;/option&gt;	&lt;/select&gt;&lt;/td&gt;&lt;td width=&quot;50%&quot;&gt;	&lt;input style=&quot;display: none;&quot; id=&quot;exportEndDate&quot; onfocus=&quot;this.select()&quot; onchange=&quot;document.getElementById('exportFilterEndBy').value='other';&quot; type=&quot;text&quot;&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;input class=&quot;chk&quot; id=&quot;exportFilterTags&quot; value=&quot;1&quot; onclick=&quot;exportShowFilterFields(this)&quot; type=&quot;checkbox&quot;&gt; match tags&lt;br&gt;&lt;input style=&quot;display: none;&quot; id=&quot;exportTags&quot; onfocus=&quot;this.select()&quot; type=&quot;text&quot;&gt;&lt;input class=&quot;chk&quot; id=&quot;exportFilterText&quot; value=&quot;1&quot; onclick=&quot;exportShowFilterFields(this)&quot; type=&quot;checkbox&quot;&gt; match titles/tiddler text&lt;br&gt;&lt;input style=&quot;display: none;&quot; id=&quot;exportText&quot; onfocus=&quot;this.select()&quot; type=&quot;text&quot;&gt;&lt;/div&gt; &lt;!--box--&gt;&lt;/div&gt; &lt;!--panel--&gt;&lt;!-- action buttons --&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;input class=&quot;btn4&quot; onclick=&quot;onClickExportButton(this)&quot; id=&quot;exportFilter&quot; value=&quot;apply filter&quot; type=&quot;button&quot;&gt;&lt;input disabled=&quot;disabled&quot; class=&quot;btn4&quot; onclick=&quot;onClickExportButton(this)&quot; id=&quot;exportStart&quot; value=&quot;export tiddlers&quot; type=&quot;button&quot;&gt;&lt;input disabled=&quot;disabled&quot; class=&quot;btn4&quot; onclick=&quot;onClickExportButton(this)&quot; id=&quot;exportDelete&quot; value=&quot;delete tiddlers&quot; type=&quot;button&quot;&gt;&lt;input class=&quot;btn4&quot; onclick=&quot;onClickExportButton(this)&quot; id=&quot;exportClose&quot; value=&quot;close&quot; type=&quot;button&quot;&gt;&lt;/div&gt;&lt;!--center--&gt;&lt;/span&gt;&lt;br&gt;&lt;/blockquote&gt;&lt;h5&gt;Revisions&lt;/h5&gt;&lt;blockquote&gt;2008.05.27 [2.7.0] added ability to 'merge' with existing export file. Also, revised 'matchTags' functionality to be more robust and more efficient&lt;br&gt;&lt;table class=&quot;twtable&quot;&gt;&lt;tbody&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;please see &lt;a tiddlylink=&quot;ExportTiddlersPluginInfo&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.ngo-framework.net/#ExportTiddlersPluginInfo&quot; href=&quot;http://www.ngo-framework.net/#ExportTiddlersPluginInfo&quot; class=&quot;externalLink null&quot;&gt;ExportTiddlersPluginInfo&lt;/a&gt; for additional revision details&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;2005.10.09 [0.0.0] development started&lt;br&gt;&lt;/blockquote&gt;&lt;h5&gt;Code&lt;/h5&gt;&lt;pre&gt;// version
version.extensions.exportTiddlers = {major: 2, minor: 7, revision: 0, date: new Date(2008,5,27)};

// default shadow definition
config.shadowTiddlers.ExportTiddlers=&quot;&amp;lt;&amp;lt;exportTiddlers inline&amp;gt;&amp;gt;&quot;;

// add 'export' backstage task (following built-in import task)
if (config.tasks) { // TW2.2 or above
	config.tasks.exportTask = {
		text:&quot;export&quot;,
		tooltip:&quot;Export selected tiddlers to another file&quot;,
		content:&quot;&amp;lt;&amp;lt;exportTiddlers inline&amp;gt;&amp;gt;&quot;
	}
	config.backstageTasks.splice(config.backstageTasks.indexOf(&quot;importTask&quot;)+1,0,&quot;exportTask&quot;);
}

// macro handler
config.macros.exportTiddlers = {
	label: &quot;export tiddlers&quot;,
	prompt: &quot;Copy selected tiddlers to an export document&quot;,
	newdefault: &quot;export.html&quot;,
	datetimefmt: &quot;0MM/0DD/YYYY 0hh:0mm:0ss&quot; // for &quot;filter date/time&quot; edit fields
};

config.macros.exportTiddlers.handler = function(place,macroName,params) {
	if (params[0]!=&quot;inline&quot;)
		{ createTiddlyButton(place,this.label,this.prompt,onClickExportMenu); return; }
	var panel=createExportPanel(place);
	panel.style.position=&quot;static&quot;;
	panel.style.display=&quot;block&quot;;
}

function createExportPanel(place) {
	var panel=document.getElementById(&quot;exportPanel&quot;);
	if (panel) { panel.parentNode.removeChild(panel); }
	setStylesheet(config.macros.exportTiddlers.css,&quot;exportTiddlers&quot;);
	panel=createTiddlyElement(place,&quot;span&quot;,&quot;exportPanel&quot;,null,null)
	panel.innerHTML=config.macros.exportTiddlers.html;
	exportInitFilter();
	refreshExportList(0);
	var fn=document.getElementById(&quot;exportFilename&quot;);
	if (window.location.protocol==&quot;file:&quot; &amp;amp;&amp;amp; !fn.value.length) {
		// get new target path/filename
		var newPath=getLocalPath(window.location.href);
		var slashpos=newPath.lastIndexOf(&quot;/&quot;); if (slashpos==-1) slashpos=newPath.lastIndexOf(&quot;\\&quot;); 
		if (slashpos!=-1) newPath=newPath.substr(0,slashpos+1); // trim filename
		fn.value=newPath+config.macros.exportTiddlers.newdefault;
	}
	return panel;
}

function onClickExportMenu(e)
{
	if (!e) var e = window.event;
	var parent=resolveTarget(e).parentNode;
	var panel = document.getElementById(&quot;exportPanel&quot;);
	if (panel==undefined || panel.parentNode!=parent)
		panel=createExportPanel(parent);
	var isOpen = panel.style.display==&quot;block&quot;;
	if(config.options.chkAnimate)
		anim.startAnimating(new Slider(panel,!isOpen,e.shiftKey || e.altKey,&quot;none&quot;));
	else
		panel.style.display = isOpen ? &quot;none&quot; : &quot;block&quot; ;
	if (panel.style.display!=&quot;none&quot;) { // update list and set focus when panel is made visible
		refreshExportList(0);
		var fn=document.getElementById(&quot;exportFilename&quot;); fn.focus(); fn.select();
	}
	e.cancelBubble = true;
	if (e.stopPropagation) e.stopPropagation();
	return(false);
}
&lt;/pre&gt;&lt;br&gt;&lt;em&gt; &lt;/em&gt; IE needs explicit scoping for functions called by browser events&lt;br&gt;&lt;pre&gt;window.onClickExportMenu=onClickExportMenu;
window.onClickExportButton=onClickExportButton;
window.exportShowFilterFields=exportShowFilterFields;
window.refreshExportList=refreshExportList;
&lt;/pre&gt;&lt;br&gt;&lt;em&gt; &lt;/em&gt; CSS for floating export control panel&lt;br&gt;&lt;pre&gt;config.macros.exportTiddlers.css = '\
#exportPanel {\
	display: none; position:absolute; z-index:12; width:35em; right:105%; top:6em;\
	background-color: #eee; color:#000; font-size: 8pt; line-height:110%;\
	border:1px solid black; border-bottom-width: 3px; border-right-width: 3px;\
	padding: 0.5em; margin:0em; -moz-border-radius:1em;\
}\
#exportPanel a, #exportPanel td a { color:#009; display:inline; margin:0px; padding:1px; }\
#exportPanel table { width:100%; border:0px; padding:0px; margin:0px; font-size:8pt; line-height:110%; background:transparent; }\
#exportPanel tr { border:0px;padding:0px;margin:0px; background:transparent; }\
#exportPanel td { color:#000; border:0px;padding:0px;margin:0px; background:transparent; }\
#exportPanel select { width:98%;margin:0px;font-size:8pt;line-height:110%;}\
#exportPanel input  { width:98%;padding:0px;margin:0px;font-size:8pt;line-height:110%; }\
#exportPanel textarea  { width:98%;padding:0px;margin:0px;overflow:auto;font-size:8pt; }\
#exportPanel .box { border:1px solid black; padding:3px; margin-bottom:5px; background:#f8f8f8; -moz-border-radius:5px; }\
#exportPanel .topline { border-top:2px solid black; padding-top:3px; margin-bottom:5px; }\
#exportPanel .rad { width:auto;border:0 }\
#exportPanel .chk { width:auto;border:0 }\
#exportPanel .btn { width:auto; }\
#exportPanel .btn1 { width:98%; }\
#exportPanel .btn2 { width:48%; }\
#exportPanel .btn3 { width:32%; }\
#exportPanel .btn4 { width:24%; }\
#exportPanel .btn5 { width:19%; }\
';
&lt;/pre&gt;&lt;br&gt;&lt;em&gt; &lt;/em&gt; HTML for export control panel interface&lt;br&gt;&lt;pre&gt;config.macros.exportTiddlers.html = '\
&amp;lt;!-- target path/file  --&amp;gt;\
&amp;lt;div&amp;gt;\
export to path/filename:&amp;lt;br&amp;gt;\
&amp;lt;input type=&quot;text&quot; id=&quot;exportFilename&quot; size=40 style=&quot;width:93%&quot;&amp;gt;&amp;lt;input \
	type=&quot;button&quot; id=&quot;exportBrowse&quot; value=&quot;...&quot; title=&quot;select or enter a local folder/file...&quot; style=&quot;width:5%&quot; \
	onclick=&quot;var fn=window.promptForExportFilename(this); if (fn.length) this.previousSibling.value=fn; &quot;&amp;gt;\
&amp;lt;/div&amp;gt;\
\
&amp;lt;!-- output format --&amp;gt;\
&amp;lt;div&amp;gt;\
output file format:\
&amp;lt;select id=&quot;exportFormat&quot; size=1&amp;gt;\
&amp;lt;option value=&quot;TW&quot;&amp;gt;TiddlyWiki document (includes core code)&amp;lt;/option&amp;gt;\
&amp;lt;option value=&quot;DIV&quot;&amp;gt;TiddlyWiki &quot;PureStore&quot; file (tiddler data only)&amp;lt;/option&amp;gt;\
&amp;lt;option value=&quot;XML&quot;&amp;gt;XML (for RSS newsfeed)&amp;lt;/option&amp;gt;\
&amp;lt;/select&amp;gt;\
&amp;lt;/div&amp;gt;\
\
&amp;lt;!-- notes --&amp;gt;\
&amp;lt;div&amp;gt;\
notes:&amp;lt;br&amp;gt;\
&amp;lt;textarea id=&quot;exportNotes&quot; rows=3 cols=40 style=&quot;height:4em;margin-bottom:5px;&quot; onfocus=&quot;this.select()&quot;&amp;gt;&amp;lt;/textarea&amp;gt; \
&amp;lt;/div&amp;gt;\
\
&amp;lt;!-- list of tiddlers --&amp;gt;\
&amp;lt;table&amp;gt;&amp;lt;tr align=&quot;left&quot;&amp;gt;&amp;lt;td&amp;gt;\
	select:\
	&amp;lt;a href=&quot;JavaScript:;&quot; id=&quot;exportSelectAll&quot;\
		onclick=&quot;onClickExportButton(this)&quot; title=&quot;select all tiddlers&quot;&amp;gt;\
		&amp;amp;nbsp;all&amp;amp;nbsp;&amp;lt;/a&amp;gt;\
	&amp;lt;a href=&quot;JavaScript:;&quot; id=&quot;exportSelectChanges&quot;\
		onclick=&quot;onClickExportButton(this)&quot; title=&quot;select tiddlers changed since last save&quot;&amp;gt;\
		&amp;amp;nbsp;changes&amp;amp;nbsp;&amp;lt;/a&amp;gt; \
	&amp;lt;a href=&quot;JavaScript:;&quot; id=&quot;exportSelectOpened&quot;\
		onclick=&quot;onClickExportButton(this)&quot; title=&quot;select tiddlers currently being displayed&quot;&amp;gt;\
		&amp;amp;nbsp;opened&amp;amp;nbsp;&amp;lt;/a&amp;gt; \
	&amp;lt;a href=&quot;JavaScript:;&quot; id=&quot;exportSelectRelated&quot;\
		onclick=&quot;onClickExportButton(this)&quot; title=&quot;select all tiddlers related (by link or transclusion) to the currently selected tiddlers&quot;&amp;gt;\
		&amp;amp;nbsp;related&amp;amp;nbsp;&amp;lt;/a&amp;gt; \
	&amp;lt;a href=&quot;JavaScript:;&quot; id=&quot;exportToggleFilter&quot;\
		onclick=&quot;onClickExportButton(this)&quot; title=&quot;show/hide selection filter&quot;&amp;gt;\
		&amp;amp;nbsp;filter&amp;amp;nbsp;&amp;lt;/a&amp;gt;  \
&amp;lt;/td&amp;gt;&amp;lt;td align=&quot;right&quot;&amp;gt;\
	&amp;lt;a href=&quot;JavaScript:;&quot; id=&quot;exportListSmaller&quot;\
		onclick=&quot;onClickExportButton(this)&quot; title=&quot;reduce list size&quot;&amp;gt;\
		&amp;amp;nbsp;&amp;amp;#150;&amp;amp;nbsp;&amp;lt;/a&amp;gt;\
	&amp;lt;a href=&quot;JavaScript:;&quot; id=&quot;exportListLarger&quot;\
		onclick=&quot;onClickExportButton(this)&quot; title=&quot;increase list size&quot;&amp;gt;\
		&amp;amp;nbsp;+&amp;amp;nbsp;&amp;lt;/a&amp;gt;\
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;\
&amp;lt;select id=&quot;exportList&quot; multiple size=&quot;10&quot; style=&quot;margin-bottom:5px;&quot;\
	onchange=&quot;refreshExportList(this.selectedIndex)&quot;&amp;gt;\
&amp;lt;/select&amp;gt;&amp;lt;br&amp;gt;\
&amp;lt;/div&amp;gt;&amp;lt;!--box--&amp;gt;\
\
&amp;lt;!-- selection filter --&amp;gt;\
&amp;lt;div id=&quot;exportFilterPanel&quot; style=&quot;display:none&quot;&amp;gt;\
&amp;lt;table&amp;gt;&amp;lt;tr align=&quot;left&quot;&amp;gt;&amp;lt;td&amp;gt;\
	selection filter\
&amp;lt;/td&amp;gt;&amp;lt;td align=&quot;right&quot;&amp;gt;\
	&amp;lt;a href=&quot;JavaScript:;&quot; id=&quot;exportHideFilter&quot;\
		onclick=&quot;onClickExportButton(this)&quot; title=&quot;hide selection filter&quot;&amp;gt;hide&amp;lt;/a&amp;gt;\
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;\
&amp;lt;div class=&quot;box&quot;&amp;gt;\
&amp;lt;input type=&quot;checkbox&quot; class=&quot;chk&quot; id=&quot;exportFilterStart&quot; value=&quot;1&quot;\
	onclick=&quot;exportShowFilterFields(this)&quot;&amp;gt; starting date/time&amp;lt;br&amp;gt;\
&amp;lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&amp;gt;&amp;lt;tr valign=&quot;center&quot;&amp;gt;&amp;lt;td width=&quot;50%&quot;&amp;gt;\
	&amp;lt;select size=1 id=&quot;exportFilterStartBy&quot; onchange=&quot;exportShowFilterFields(this);&quot;&amp;gt;\
		&amp;lt;option value=&quot;0&quot;&amp;gt;today&amp;lt;/option&amp;gt;\
		&amp;lt;option value=&quot;1&quot;&amp;gt;yesterday&amp;lt;/option&amp;gt;\
		&amp;lt;option value=&quot;7&quot;&amp;gt;a week ago&amp;lt;/option&amp;gt;\
		&amp;lt;option value=&quot;30&quot;&amp;gt;a month ago&amp;lt;/option&amp;gt;\
		&amp;lt;option value=&quot;site&quot;&amp;gt;SiteDate&amp;lt;/option&amp;gt;\
		&amp;lt;option value=&quot;file&quot;&amp;gt;file date&amp;lt;/option&amp;gt;\
		&amp;lt;option value=&quot;other&quot;&amp;gt;other (mm/dd/yyyy hh:mm)&amp;lt;/option&amp;gt;\
	&amp;lt;/select&amp;gt;\
&amp;lt;/td&amp;gt;&amp;lt;td width=&quot;50%&quot;&amp;gt;\
	&amp;lt;input type=&quot;text&quot; id=&quot;exportStartDate&quot; onfocus=&quot;this.select()&quot;\
		onchange=&quot;document.getElementById(\'exportFilterStartBy\').value=\'other\';&quot;&amp;gt;\
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;\
&amp;lt;input type=&quot;checkbox&quot; class=&quot;chk&quot; id=&quot;exportFilterEnd&quot; value=&quot;1&quot;\
	onclick=&quot;exportShowFilterFields(this)&quot;&amp;gt; ending date/time&amp;lt;br&amp;gt;\
&amp;lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&amp;gt;&amp;lt;tr valign=&quot;center&quot;&amp;gt;&amp;lt;td width=&quot;50%&quot;&amp;gt;\
	&amp;lt;select size=1 id=&quot;exportFilterEndBy&quot; onchange=&quot;exportShowFilterFields(this);&quot;&amp;gt;\
		&amp;lt;option value=&quot;0&quot;&amp;gt;today&amp;lt;/option&amp;gt;\
		&amp;lt;option value=&quot;1&quot;&amp;gt;yesterday&amp;lt;/option&amp;gt;\
		&amp;lt;option value=&quot;7&quot;&amp;gt;a week ago&amp;lt;/option&amp;gt;\
		&amp;lt;option value=&quot;30&quot;&amp;gt;a month ago&amp;lt;/option&amp;gt;\
		&amp;lt;option value=&quot;site&quot;&amp;gt;SiteDate&amp;lt;/option&amp;gt;\
		&amp;lt;option value=&quot;file&quot;&amp;gt;file date&amp;lt;/option&amp;gt;\
		&amp;lt;option value=&quot;other&quot;&amp;gt;other (mm/dd/yyyy hh:mm)&amp;lt;/option&amp;gt;\
	&amp;lt;/select&amp;gt;\
&amp;lt;/td&amp;gt;&amp;lt;td width=&quot;50%&quot;&amp;gt;\
	&amp;lt;input type=&quot;text&quot; id=&quot;exportEndDate&quot; onfocus=&quot;this.select()&quot;\
		onchange=&quot;document.getElementById(\'exportFilterEndBy\').value=\'other\';&quot;&amp;gt;\
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;\
&amp;lt;input type=&quot;checkbox&quot; class=&quot;chk&quot; id=exportFilterTags value=&quot;1&quot;\
	onclick=&quot;exportShowFilterFields(this)&quot;&amp;gt; match tags&amp;lt;br&amp;gt;\
&amp;lt;input type=&quot;text&quot; id=&quot;exportTags&quot; onfocus=&quot;this.select()&quot;&amp;gt;\
&amp;lt;input type=&quot;checkbox&quot; class=&quot;chk&quot; id=exportFilterText value=&quot;1&quot;\
	onclick=&quot;exportShowFilterFields(this)&quot;&amp;gt; match titles/tiddler text&amp;lt;br&amp;gt;\
&amp;lt;input type=&quot;text&quot; id=&quot;exportText&quot; onfocus=&quot;this.select()&quot;&amp;gt;\
&amp;lt;/div&amp;gt; &amp;lt;!--box--&amp;gt;\
&amp;lt;/div&amp;gt; &amp;lt;!--panel--&amp;gt;\
\
&amp;lt;!-- action buttons --&amp;gt;\
&amp;lt;div style=&quot;text-align:center&quot;&amp;gt;\
&amp;lt;input type=button class=&quot;btn4&quot; onclick=&quot;onClickExportButton(this)&quot;\
	id=&quot;exportFilter&quot; value=&quot;apply filter&quot;&amp;gt;\
&amp;lt;input type=button class=&quot;btn4&quot; onclick=&quot;onClickExportButton(this)&quot;\
	id=&quot;exportStart&quot; value=&quot;export tiddlers&quot;&amp;gt;\
&amp;lt;input type=button class=&quot;btn4&quot; onclick=&quot;onClickExportButton(this)&quot;\
	id=&quot;exportDelete&quot; value=&quot;delete tiddlers&quot;&amp;gt;\
&amp;lt;input type=button class=&quot;btn4&quot; onclick=&quot;onClickExportButton(this)&quot;\
	id=&quot;exportClose&quot; value=&quot;close&quot;&amp;gt;\
&amp;lt;/div&amp;gt;&amp;lt;!--center--&amp;gt;\
';
&lt;/pre&gt;&lt;br&gt;&lt;em&gt; &lt;/em&gt; initialize interface&lt;br&gt;&lt;br&gt;&lt;em&gt; &lt;/em&gt; exportInitFilter()&lt;br&gt;&lt;pre&gt;function exportInitFilter() {
	// start date
	document.getElementById(&quot;exportFilterStart&quot;).checked=false;
	document.getElementById(&quot;exportStartDate&quot;).value=&quot;&quot;;
	// end date
	document.getElementById(&quot;exportFilterEnd&quot;).checked=false;
	document.getElementById(&quot;exportEndDate&quot;).value=&quot;&quot;;
	// tags
	document.getElementById(&quot;exportFilterTags&quot;).checked=false;
	document.getElementById(&quot;exportTags&quot;).value=&quot;&quot;;
	// text
	document.getElementById(&quot;exportFilterText&quot;).checked=false;
	document.getElementById(&quot;exportText&quot;).value=&quot;&quot;;
	// show/hide filter input fields
	exportShowFilterFields();
}
&lt;/pre&gt;&lt;br&gt;&lt;em&gt; &lt;/em&gt; exportShowFilterFields(which)&lt;br&gt;&lt;pre&gt;function exportShowFilterFields(which) {
	var show;

	show=document.getElementById('exportFilterStart').checked;
	document.getElementById('exportFilterStartBy').style.display=show?&quot;block&quot;:&quot;none&quot;;
	document.getElementById('exportStartDate').style.display=show?&quot;block&quot;:&quot;none&quot;;
	var val=document.getElementById('exportFilterStartBy').value;
	document.getElementById('exportStartDate').value
		=getFilterDate(val,'exportStartDate').formatString(config.macros.exportTiddlers.datetimefmt);
	 if (which &amp;amp;&amp;amp; (which.id=='exportFilterStartBy') &amp;amp;&amp;amp; (val=='other'))
		document.getElementById('exportStartDate').focus();

	show=document.getElementById('exportFilterEnd').checked;
	document.getElementById('exportFilterEndBy').style.display=show?&quot;block&quot;:&quot;none&quot;;
	document.getElementById('exportEndDate').style.display=show?&quot;block&quot;:&quot;none&quot;;
	var val=document.getElementById('exportFilterEndBy').value;
	document.getElementById('exportEndDate').value
		=getFilterDate(val,'exportEndDate').formatString(config.macros.exportTiddlers.datetimefmt);
	 if (which &amp;amp;&amp;amp; (which.id=='exportFilterEndBy') &amp;amp;&amp;amp; (val=='other'))
		document.getElementById('exportEndDate').focus();

	show=document.getElementById('exportFilterTags').checked;
	document.getElementById('exportTags').style.display=show?&quot;block&quot;:&quot;none&quot;;

	show=document.getElementById('exportFilterText').checked;
	document.getElementById('exportText').style.display=show?&quot;block&quot;:&quot;none&quot;;
}
&lt;/pre&gt;&lt;br&gt;&lt;em&gt; &lt;/em&gt; onClickExportButton(which): control interactions&lt;br&gt;&lt;pre&gt;function onClickExportButton(which)
{
	// DEBUG alert(which.id);
	var theList=document.getElementById('exportList'); if (!theList) return;
	var count = 0;
	var total = store.getTiddlers('title').length;
	switch (which.id)
		{
		case 'exportFilter':
			count=filterExportList();
			var panel=document.getElementById('exportFilterPanel');
			if (count==-1) { panel.style.display='block'; break; }
			document.getElementById(&quot;exportStart&quot;).disabled=(count==0);
			document.getElementById(&quot;exportDelete&quot;).disabled=(count==0);
			clearMessage(); displayMessage(&quot;filtered &quot;+formatExportMessage(count,total));
			if (count==0) { alert(&quot;No tiddlers were selected&quot;); panel.style.display='block'; }
			break;
		case 'exportStart':
			exportTiddlers();
			break;
		case 'exportDelete':
			exportDeleteTiddlers();
			break;
		case 'exportHideFilter':
		case 'exportToggleFilter':
			var panel=document.getElementById('exportFilterPanel')
			panel.style.display=(panel.style.display=='block')?'none':'block';
			break;
		case 'exportSelectChanges':
			var lastmod=new Date(document.lastModified);
			for (var t = 0; t &amp;lt; theList.options.length; t++) {
				if (theList.options[t].value==&quot;&quot;) continue;
				var tiddler=store.getTiddler(theList.options[t].value); if (!tiddler) continue;
				theList.options[t].selected=(tiddler.modified&amp;gt;lastmod);
				count += (tiddler.modified&amp;gt;lastmod)?1:0;
			}
			document.getElementById(&quot;exportStart&quot;).disabled=(count==0);
			document.getElementById(&quot;exportDelete&quot;).disabled=(count==0);
			clearMessage(); displayMessage(formatExportMessage(count,total));
			if (count==0) alert(&quot;There are no unsaved changes&quot;);
			break;
		case 'exportSelectAll':
			for (var t = 0; t &amp;lt; theList.options.length; t++) {
				if (theList.options[t].value==&quot;&quot;) continue;
				theList.options[t].selected=true;
				count += 1;
			}
			document.getElementById(&quot;exportStart&quot;).disabled=(count==0);
			document.getElementById(&quot;exportDelete&quot;).disabled=(count==0);
			clearMessage(); displayMessage(formatExportMessage(count,count));
			break;
		case 'exportSelectOpened':
			for (var t = 0; t &amp;lt; theList.options.length; t++) theList.options[t].selected=false;
			var tiddlerDisplay = document.getElementById(&quot;tiddlerDisplay&quot;); // for TW2.1-
			if (!tiddlerDisplay) tiddlerDisplay = document.getElementById(&quot;storyDisplay&quot;); // for TW2.2+
			for (var t=0;t&amp;lt;tiddlerDisplay.childNodes.length;t++) {
				var tiddler=tiddlerDisplay.childNodes[t].id.substr(7);
				for (var i = 0; i &amp;lt; theList.options.length; i++) {
					if (theList.options[i].value!=tiddler) continue;
					theList.options[i].selected=true; count++; break;
				}
			}
			document.getElementById(&quot;exportStart&quot;).disabled=(count==0);
			document.getElementById(&quot;exportDelete&quot;).disabled=(count==0);
			clearMessage(); displayMessage(formatExportMessage(count,total));
			if (count==0) alert(&quot;There are no tiddlers currently opened&quot;);
			break;
		case 'exportSelectRelated':
			// recursively build list of related tiddlers
			function getRelatedTiddlers(tid,tids) {
				var t=store.getTiddler(tid); if (!t || tids.contains(tid)) return tids;
				tids.push(t.title);
				if (!t.linksUpdated) t.changed();
				for (var i=0; i&amp;lt;t.links.length; i++)
					if (t.links[i]!=tid) tids=getRelatedTiddlers(t.links[i],tids);
				return tids;
			}
			// for all currently selected tiddlers, gather up the related tiddlers (including self) and select them as well
			var tids=[];
			for (var i=0; i&amp;lt;theList.options.length; i++)
				if (theList.options[i].selected) tids=getRelatedTiddlers(theList.options[i].value,tids);
			// select related tiddlers (includes original selected tiddlers)
			for (var i=0; i&amp;lt;theList.options.length; i++)
				theList.options[i].selected=tids.contains(theList.options[i].value);
			clearMessage(); displayMessage(formatExportMessage(tids.length,total));
			break;
		case 'exportListSmaller':	// decrease current listbox size
			var min=5;
			theList.size-=(theList.size&amp;gt;min)?1:0;
			break;
		case 'exportListLarger':	// increase current listbox size
			var max=(theList.options.length&amp;gt;25)?theList.options.length:25;
			theList.size+=(theList.size&amp;lt;max)?1:0;
			break;
		case 'exportClose':
			document.getElementById('exportPanel').style.display='none';
			break;
		}
}
&lt;/pre&gt;&lt;br&gt;&lt;em&gt; &lt;/em&gt; promptForFilename(msg,path,file) uses platform/browser specific functions to get local filespec&lt;br&gt;&lt;pre&gt;window.promptForExportFilename=function(here)
{
	var msg=here.title; // use tooltip as dialog box message
	var path=getLocalPath(document.location.href);
	var slashpos=path.lastIndexOf(&quot;/&quot;); if (slashpos==-1) slashpos=path.lastIndexOf(&quot;\\&quot;); 
	if (slashpos!=-1) path = path.substr(0,slashpos+1); // remove filename from path, leave the trailing slash
	var file=config.macros.exportTiddlers.newdefault;
	var result=&quot;&quot;;
	if(window.Components) { // moz
		try {
			netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
			var nsIFilePicker = window.Components.interfaces.nsIFilePicker;
			var picker = Components.classes['@mozilla.org/filepicker;1'].createInstance(nsIFilePicker);
			picker.init(window, msg, nsIFilePicker.modeSave);
			var thispath = Components.classes['@mozilla.org/file/local;1'].createInstance(Components.interfaces.nsILocalFile);
			thispath.initWithPath(path);
			picker.displayDirectory=thispath;
			picker.defaultExtension='html';
			picker.defaultString=file;
			picker.appendFilters(nsIFilePicker.filterAll|nsIFilePicker.filterText|nsIFilePicker.filterHTML);
			if (picker.show()!=nsIFilePicker.returnCancel) var result=picker.file.persistentDescriptor;
		}
		catch(e) { alert('error during local file access: '+e.toString()) }
	}
	else { // IE
		try { // XPSP2 IE only
			var s = new ActiveXObject('UserAccounts.CommonDialog');
			s.Filter='All files|*.*|Text files|*.txt|HTML files|*.htm;*.html|';
			s.FilterIndex=3; // default to HTML files;
			s.InitialDir=path;
			s.FileName=file;
			if (s.showOpen()) var result=s.FileName;
		}
		catch(e) {  // fallback
			var result=prompt(msg,path+file);
		}
	}
	return result;
}
&lt;/pre&gt;&lt;br&gt;&lt;em&gt; &lt;/em&gt; list display&lt;br&gt;&lt;pre&gt;function formatExportMessage(count,total)
{
	var txt=total+' tiddler'+((total!=1)?'s':'')+&quot; - &quot;;
	txt += (count==0)?&quot;none&quot;:(count==total)?&quot;all&quot;:count;
	txt += &quot; selected for export&quot;;
	return txt;
}

function refreshExportList(selectedIndex)
{
	var theList  = document.getElementById(&quot;exportList&quot;);
	var sort;
	if (!theList) return;
	// get the sort order
	if (!selectedIndex)   selectedIndex=0;
	if (selectedIndex==0) sort='modified';
	if (selectedIndex==1) sort='title';
	if (selectedIndex==2) sort='modified';
	if (selectedIndex==3) sort='modifier';
	if (selectedIndex==4) sort='tags';

	// unselect headings and count number of tiddlers actually selected
	var count=0;
	for (var t=5; t &amp;lt; theList.options.length; t++) {
		if (!theList.options[t].selected) continue;
		if (theList.options[t].value!=&quot;&quot;)
			count++;
		else { // if heading is selected, deselect it, and then select and count all in section
			theList.options[t].selected=false;
			for ( t++; t&amp;lt;theList.options.length &amp;amp;&amp;amp; theList.options[t].value!=&quot;&quot;; t++) {
				theList.options[t].selected=true;
				count++;
			}
		}
	}

	// disable &quot;export&quot; and &quot;delete&quot; buttons if no tiddlers selected
	document.getElementById(&quot;exportStart&quot;).disabled=(count==0);
	document.getElementById(&quot;exportDelete&quot;).disabled=(count==0);
	// show selection count
	var tiddlers = store.getTiddlers('title');
	if (theList.options.length) { clearMessage(); displayMessage(formatExportMessage(count,tiddlers.length)); }

	// if a [command] item, reload list... otherwise, no further refresh needed
	if (selectedIndex&amp;gt;4)  return;

	// clear current list contents
	while (theList.length &amp;gt; 0) { theList.options[0] = null; }
	// add heading and control items to list
	var i=0;
	var indent=String.fromCharCode(160)+String.fromCharCode(160);
	theList.options[i++]=
		new Option(tiddlers.length+&quot; tiddlers in document&quot;, &quot;&quot;,false,false);
	theList.options[i++]=
		new Option(((sort==&quot;title&quot;        )?&quot;&amp;gt;&quot;:indent)+' [by title]', &quot;&quot;,false,false);
	theList.options[i++]=
		new Option(((sort==&quot;modified&quot;)?&quot;&amp;gt;&quot;:indent)+' [by date]', &quot;&quot;,false,false);
	theList.options[i++]=
		new Option(((sort==&quot;modifier&quot;)?&quot;&amp;gt;&quot;:indent)+' [by author]', &quot;&quot;,false,false);
	theList.options[i++]=
		new Option(((sort==&quot;tags&quot;	)?&quot;&amp;gt;&quot;:indent)+' [by tags]', &quot;&quot;,false,false);
	// output the tiddler list
	switch(sort)
		{
		case &quot;title&quot;:
			for(var t = 0; t &amp;lt; tiddlers.length; t++)
				theList.options[i++] = new Option(tiddlers[t].title,tiddlers[t].title,false,false);
			break;
		case &quot;modifier&quot;:
		case &quot;modified&quot;:
			var tiddlers = store.getTiddlers(sort);
			// sort descending for newest date first
			tiddlers.sort(function (a,b) {if(a[sort] == b[sort]) return(0); else return (a[sort] &amp;gt; b[sort]) ? -1 : +1; });
			var lastSection = &quot;&quot;;
			for(var t = 0; t &amp;lt; tiddlers.length; t++)
				{
				var tiddler = tiddlers[t];
				var theSection = &quot;&quot;;
				if (sort==&quot;modified&quot;) theSection=tiddler.modified.toLocaleDateString();
				if (sort==&quot;modifier&quot;) theSection=tiddler.modifier;
				if (theSection != lastSection)
					{
					theList.options[i++] = new Option(theSection,&quot;&quot;,false,false);
					lastSection = theSection;
					}
				theList.options[i++] = new Option(indent+indent+tiddler.title,tiddler.title,false,false);
				}
			 break;
		case &quot;tags&quot;:
			var theTitles = {}; // all tiddler titles, hash indexed by tag value
			var theTags = new Array();
			for(var t=0; t&amp;lt;tiddlers.length; t++) {
				var title=tiddlers[t].title;
				var tags=tiddlers[t].tags;
				if (!tags || !tags.length) {
					if (theTitles[&quot;untagged&quot;]==undefined) { theTags.push(&quot;untagged&quot;); theTitles[&quot;untagged&quot;]=new Array(); }
					theTitles[&quot;untagged&quot;].push(title);
				}
				else for(var s=0; s&amp;lt;tags.length; s++) {
					if (theTitles[tags[s]]==undefined) { theTags.push(tags[s]); theTitles[tags[s]]=new Array(); }
					theTitles[tags[s]].push(title);
				}
			}
			theTags.sort();
			for(var tagindex=0; tagindex&amp;lt;theTags.length; tagindex++) {
				var theTag=theTags[tagindex];
				theList.options[i++]=new Option(theTag,&quot;&quot;,false,false);
				for(var t=0; t&amp;lt;theTitles[theTag].length; t++)
					theList.options[i++]=new Option(indent+indent+theTitles[theTag][t],theTitles[theTag][t],false,false);
			}
			break;
		}
	theList.selectedIndex=selectedIndex;		  // select current control item
	document.getElementById(&quot;exportStart&quot;).disabled=true;
	document.getElementById(&quot;exportDelete&quot;).disabled=true;
	clearMessage(); displayMessage(formatExportMessage(0,tiddlers.length));
}
&lt;/pre&gt;&lt;br&gt;&lt;em&gt; &lt;/em&gt; list filtering&lt;br&gt;&lt;pre&gt;function getFilterDate(val,id)
{
	var result=0;
	switch (val) {
		case 'site':
			var timestamp=store.getTiddlerText(&quot;SiteDate&quot;);
			if (!timestamp) timestamp=document.lastModified;
			result=new Date(timestamp);
			break;
		case 'file':
			result=new Date(document.lastModified);
			break;
		case 'other':
			result=new Date(document.getElementById(id).value);
			break;
		default: // today=0, yesterday=1, one week=7, two weeks=14, a month=31
			var now=new Date(); var tz=now.getTimezoneOffset()*60000; now-=tz;
			var oneday=86400000;
			if (id=='exportStartDate')
				result=new Date((Math.floor(now/oneday)-val)*oneday+tz);
			else
				result=new Date((Math.floor(now/oneday)-val+1)*oneday+tz-1);
			break;
	}
	// DEBUG alert('getFilterDate('+val+','+id+')=='+result+&quot;\nnow=&quot;+now);
	return result;
}

function filterExportList()
{
	var theList  = document.getElementById(&quot;exportList&quot;); if (!theList) return -1;

	var filterStart=document.getElementById(&quot;exportFilterStart&quot;).checked;
	var val=document.getElementById(&quot;exportFilterStartBy&quot;).value;
	var startDate=getFilterDate(val,'exportStartDate');

	var filterEnd=document.getElementById(&quot;exportFilterEnd&quot;).checked;
	var val=document.getElementById(&quot;exportFilterEndBy&quot;).value;
	var endDate=getFilterDate(val,'exportEndDate');

	var filterTags=document.getElementById(&quot;exportFilterTags&quot;).checked;
	var tags=document.getElementById(&quot;exportTags&quot;).value;

	var filterText=document.getElementById(&quot;exportFilterText&quot;).checked;
	var text=document.getElementById(&quot;exportText&quot;).value;

	if (!(filterStart||filterEnd||filterTags||filterText)) {
		alert(&quot;Please set the selection filter&quot;);
		document.getElementById('exportFilterPanel').style.display=&quot;block&quot;;
		return -1;
	}
	if (filterStart&amp;amp;&amp;amp;filterEnd&amp;amp;&amp;amp;(startDate&amp;gt;endDate)) {
		var msg=&quot;starting date/time:\n&quot;
		msg+=startDate.toLocaleString()+&quot;\n&quot;;
		msg+=&quot;is later than ending date/time:\n&quot;
		msg+=endDate.toLocaleString()
		alert(msg);
		return -1;
	}

	// if filter by tags, set up conditional expression
	if (filterTags) {
		var all = store.getTags(); // get list of all tags
		for (var i=0; i&amp;lt;all.length; i++) all[i]=all[i][0]; // remove tag counts
		// convert &quot;tag1 AND ( tag2 OR NOT tag3 )&quot;
		// into javascript expression containing regexp tests:
		// &quot;/\~tag1\~/.test(...) &amp;amp;&amp;amp; ( /\~tag2\~/.test(...) || ! /\~tag2\~/.test(...) )&quot;
		var c=tags;
		c = c.replace(/[\[\]]/g,&quot;&quot;); // remove [[...]] quoting around tagvalues
		// change AND/OR/NOT/parens to javascript operators and delimit terms with &quot;~&quot;
		c = c.replace(/\sand\s/ig,&quot;~&amp;amp;&amp;amp;~&quot;);
		c = c.replace(/\sor\s/ig,&quot;~||~&quot;);
		c = c.replace(/(\s)?not([\s\(])/ig,&quot;~!~$2&quot;);
		c = c.replace(/([\(\)])/ig,&quot;~$1~&quot;);
		// change existing tags to regexp tests and non-existing tags to &quot;false&quot;
		var terms=c.split(&quot;~&quot;);
		for (var i=0; i&amp;lt;terms.length; i++) { var t=terms[i];
			if (/(&amp;amp;&amp;amp;)|(\|\|)|[!\(\)]/.test(t) || t==&quot;&quot;) continue; // skip operators/parens/spaces
			terms[i]=!all.contains(t)?&quot;false&quot;:(&quot;/\\~&quot;+t+&quot;\\~/.test(tiddlertags)&quot;);
		}
		c=terms.join(&quot; &quot;);
	}
	function matchTags(t,c) {
		if (!c||!c.trim().length) return false;
		// assemble tags from tiddler into string &quot;~tag1~tag2~tag3~&quot;
		var tiddlertags = &quot;~&quot;+t.tags.join(&quot;~&quot;)+&quot;~&quot;;
		// eval string against boolean test expression
		try { if(eval(c)) return true; }
		catch(e) { displayMessage(e.toString()); }
		return false;
	}
	
	// scan list and select tiddlers that match all applicable criteria
	var total=0;
	var count=0;
	for (var i=0; i&amp;lt;theList.options.length; i++) {
		// get item, skip non-tiddler list items (section headings)
		var opt=theList.options[i]; if (opt.value==&quot;&quot;) continue;
		// get tiddler, skip missing tiddlers (this should NOT happen)
		var tiddler=store.getTiddler(opt.value); if (!tiddler) continue; 
		var sel=true;
		if ( (filterStart &amp;amp;&amp;amp; tiddler.modified&amp;lt;startDate)
		|| (filterEnd &amp;amp;&amp;amp; tiddler.modified&amp;gt;endDate)
		|| (filterTags &amp;amp;&amp;amp; !matchTags(tiddler,c))
		|| (filterText &amp;amp;&amp;amp; (tiddler.text.indexOf(text)==-1) &amp;amp;&amp;amp; (tiddler.title.indexOf(text)==-1)))
			sel=false;
		opt.selected=sel;
		count+=sel?1:0;
		total++;
	}
	return count;
}
&lt;/pre&gt;&lt;br&gt;&lt;em&gt; &lt;/em&gt; OUTPUT FORMATTING AND FILE I/O&lt;br&gt;&lt;pre&gt;function exportTWHeader()
{
	// get the TiddlyWiki core code source
	var sourcefile=getLocalPath(document.location.href);
	var source=loadFile(sourcefile);
	if(source==null) { alert(config.messages.cantSaveError); return null; }
	// reset existing HTML source markup
	source=updateMarkupBlock(source,&quot;PRE-HEAD&quot;);
	source=updateMarkupBlock(source,&quot;POST-HEAD&quot;);
	source=updateMarkupBlock(source,&quot;PRE-BODY&quot;);
	source=updateMarkupBlock(source,&quot;POST-BODY&quot;);
	// find store area
	var posOpeningDiv=source.indexOf(startSaveArea);
	var posClosingDiv=source.lastIndexOf(endSaveArea);
	if((posOpeningDiv==-1)||(posClosingDiv==-1))
		{ alert(config.messages.invalidFileError.format([sourcefile])); return; }
	// return everything up to store area
	return source.substr(0,posOpeningDiv+startSaveArea.length);
}

function exportTWFooter()
{
	// get the TiddlyWiki core code source
	var sourcefile=getLocalPath(document.location.href);
	var source=loadFile(sourcefile);
	if(source==null) { alert(config.messages.cantSaveError); return null; }
	// reset existing HTML source markup
	source=updateMarkupBlock(source,&quot;PRE-HEAD&quot;);
	source=updateMarkupBlock(source,&quot;POST-HEAD&quot;);
	source=updateMarkupBlock(source,&quot;PRE-BODY&quot;);
	source=updateMarkupBlock(source,&quot;POST-BODY&quot;);
	// find store area
	var posOpeningDiv=source.indexOf(startSaveArea);
	var posClosingDiv=source.lastIndexOf(endSaveArea);
	if((posOpeningDiv==-1)||(posClosingDiv==-1))
		{ alert(config.messages.invalidFileError.format([sourcefile])); return; }
	// return everything after store area
	return source.substr(posClosingDiv);
}

function exportDIVHeader()
{
	var out=[];
	var now = new Date();
	var title = convertUnicodeToUTF8(wikifyPlain(&quot;SiteTitle&quot;).htmlEncode());
	var subtitle = convertUnicodeToUTF8(wikifyPlain(&quot;SiteSubtitle&quot;).htmlEncode());
	var user = convertUnicodeToUTF8(config.options.txtUserName.htmlEncode());
	var twver = version.major+&quot;.&quot;+version.minor+&quot;.&quot;+version.revision;
	var pver = version.extensions.exportTiddlers.major+&quot;.&quot;
		+version.extensions.exportTiddlers.minor+&quot;.&quot;+version.extensions.exportTiddlers.revision;
	out.push(&quot;&amp;lt;html&amp;gt;&amp;lt;body&amp;gt;&quot;);
	out.push(&quot;&amp;lt;style type=\&quot;text/css\&quot;&amp;gt;&quot;);
	out.push(&quot;#storeArea {display:block;margin:1em;}&quot;);
	out.push(&quot;#storeArea div&quot;);
	out.push(&quot;{padding:0.5em;margin:1em;border:2px solid black;height:10em;overflow:auto;}&quot;);
	out.push(&quot;#javascriptWarning&quot;);
	out.push(&quot;{width:100%;text-align:left;background-color:#eeeeee;padding:1em;}&quot;);
	out.push(&quot;&amp;lt;/style&amp;gt;&quot;);
	out.push(&quot;&amp;lt;div id=\&quot;javascriptWarning\&quot;&amp;gt;&quot;);
	out.push(&quot;TiddlyWiki export file&amp;lt;br&amp;gt;&quot;);
	out.push(&quot;Source&quot;+&quot;: &amp;lt;b&amp;gt;&quot;+convertUnicodeToUTF8(document.location.href)+&quot;&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&quot;);
	out.push(&quot;Title: &amp;lt;b&amp;gt;&quot;+title+&quot;&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&quot;);
	out.push(&quot;Subtitle: &amp;lt;b&amp;gt;&quot;+subtitle+&quot;&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&quot;);
	out.push(&quot;Created: &amp;lt;b&amp;gt;&quot;+now.toLocaleString()+&quot;&amp;lt;/b&amp;gt; by &amp;lt;b&amp;gt;&quot;+user+&quot;&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&quot;);
	out.push(&quot;TiddlyWiki &quot;+twver+&quot; / &quot;+&quot;ExportTiddlersPlugin &quot;+pver+&quot;&amp;lt;br&amp;gt;&quot;);
	out.push(&quot;Notes:&amp;lt;hr&amp;gt;&amp;lt;pre&amp;gt;&quot;+document.getElementById(&quot;exportNotes&quot;).value.replace(/\n/g,&quot;&amp;lt;br&amp;gt;&quot;)+&quot;&amp;lt;/pre&amp;gt;&quot;);
	out.push(&quot;&amp;lt;/div&amp;gt;&quot;);
	out.push(&quot;&amp;lt;div id=\&quot;storeArea\&quot;&amp;gt;&quot;);
	return out;
}

function exportDIVFooter()
{
	return [&quot;&amp;lt;/div&amp;gt;&amp;lt;!--POST-BODY-START--&amp;gt;\n&amp;lt;!--POST-BODY-END--&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&quot;];
}

function exportXMLHeader()
{
	var out=[];
	var now = new Date();
	var u = store.getTiddlerText(&quot;SiteUrl&quot;,null);
	var title = convertUnicodeToUTF8(wikifyPlain(&quot;SiteTitle&quot;).htmlEncode());
	var subtitle = convertUnicodeToUTF8(wikifyPlain(&quot;SiteSubtitle&quot;).htmlEncode());
	var user = convertUnicodeToUTF8(config.options.txtUserName.htmlEncode());
	var twver = version.major+&quot;.&quot;+version.minor+&quot;.&quot;+version.revision;
	var pver = version.extensions.exportTiddlers.major+&quot;.&quot;
		+version.extensions.exportTiddlers.minor+&quot;.&quot;+version.extensions.exportTiddlers.revision;
	out.push(&quot;&amp;lt;&quot; + &quot;?xml version=\&quot;1.0\&quot;?&quot; + &quot;&amp;gt;&quot;);
	out.push(&quot;&amp;lt;rss version=\&quot;2.0\&quot;&amp;gt;&quot;);
	out.push(&quot;&amp;lt;channel&amp;gt;&quot;);
	out.push(&quot;&amp;lt;title&amp;gt;&quot; + title + &quot;&amp;lt;/title&amp;gt;&quot;);
	if(u) out.push(&quot;&amp;lt;link&amp;gt;&quot; + convertUnicodeToUTF8(u.htmlEncode()) + &quot;&amp;lt;/link&amp;gt;&quot;);
	out.push(&quot;&amp;lt;description&amp;gt;&quot; + subtitle + &quot;&amp;lt;/description&amp;gt;&quot;);
	out.push(&quot;&amp;lt;language&amp;gt;en-us&amp;lt;/language&amp;gt;&quot;);
	out.push(&quot;&amp;lt;copyright&amp;gt;Copyright &quot; + now.getFullYear() + &quot; &quot; + user + &quot;&amp;lt;/copyright&amp;gt;&quot;);
	out.push(&quot;&amp;lt;pubDate&amp;gt;&quot; + now.toGMTString() + &quot;&amp;lt;/pubDate&amp;gt;&quot;);
	out.push(&quot;&amp;lt;lastBuildDate&amp;gt;&quot; + now.toGMTString() + &quot;&amp;lt;/lastBuildDate&amp;gt;&quot;);
	out.push(&quot;&amp;lt;docs&amp;gt;http://blogs.law.harvard.edu/tech/rss&amp;lt;/docs&amp;gt;&quot;);
	out.push(&quot;&amp;lt;generator&amp;gt;TiddlyWiki &quot;+twver+&quot; plus ExportTiddlersPlugin &quot;+pver+&quot;&amp;lt;/generator&amp;gt;&quot;);
	return out;
}

function exportXMLFooter()
{
	return [&quot;&amp;lt;/channel&amp;gt;&amp;lt;/rss&amp;gt;&quot;];
}

function exportData(target,list,fmt)
{
	function getData(s,f,t) { var r=&quot;&quot;;
		switch (f) {
			case &quot;TW&quot;: r=s.getSaver().externalizeTiddler(s,t); break;
			case &quot;DIV&quot;: r=t.title+&quot;\n&quot;+s.getSaver().externalizeTiddler(s,t); break;
			case &quot;XML&quot;: r=t.saveToRss(store.getTiddlerText(&quot;SiteUrl&quot;,&quot;&quot;)); break;
		}
		return convertUnicodeToUTF8(r);
	}

	var out=[]; var tids=[];
	// get selected tiddlers
	for (var i=0; i&amp;lt;list.options.length; i++) {
		var opt=list.options[i]; if (!opt.selected||!opt.value.length) continue;
		var tid=store.getTiddler(opt.value); if (!tid) continue;
		tids.push(tid.title);
		out.push(getData(store,fmt,tid));
	}
	var count=out.length;
	// merge with existing tiddlers
	var text=loadFile(target);
	if (text &amp;amp;&amp;amp; text.length) {
		var msg=target+&quot;\nalready contains tiddler definitions.\n&quot;;
		msg+=&quot;\nPress OK to add new/revised tiddlers to current file contents.&quot;;
		msg+=&quot;\nPress Cancel to completely replace file contents&quot;;
		var remoteStore=new TiddlyWiki();
		if (remoteStore.importTiddlyWiki(text) &amp;amp;&amp;amp; confirm(msg)) {
			var existing=remoteStore.getTiddlers(&quot;title&quot;);
			for (var i=0; i&amp;lt;existing.length; i++)
				if (!tids.contains(existing[i].title))
					out.push(getData(remoteStore,fmt,existing[i]));
			var msg=&quot;Merged %0 new/revised tiddlers and %1 existing tiddlers&quot;;
			displayMessage(msg.format([count,out.length-count]));
		}
	}
	return out;
}
&lt;/pre&gt;&lt;br&gt;&lt;em&gt; &lt;/em&gt; exportTiddlers(): output selected data to local file&lt;br&gt;&lt;pre&gt;function exportTiddlers()
{
	clearMessage();
	var list  = document.getElementById(&quot;exportList&quot;); if (!list) return;
	var fmt = document.getElementById(&quot;exportFormat&quot;).value;
	var target = document.getElementById(&quot;exportFilename&quot;).value.trim();
	if (!target.length) {
		displayMessage(&quot;A local target path/filename is required&quot;,target);
		return;
	}
	switch (fmt) {
		case &quot;TW&quot;:	var head=exportTWHeader(); break;
		case &quot;DIV&quot;:	var head=exportDIVHeader(); break;
		case &quot;XML&quot;:	var head=exportXMLHeader(); break;
	}
	var theData=exportData(target,list,fmt);
	var c=theData.length;
	switch (fmt) {
		case &quot;TW&quot;:	var foot=exportTWFooter(); break;
		case &quot;DIV&quot;:	var foot=exportDIVFooter(); break;
		case &quot;XML&quot;:	var foot=exportXMLFooter(); break;
	}
	var out=[]; var txt=out.concat(head,theData,foot).join(&quot;\n&quot;);
	var msg=&quot;An error occurred while saving to &quot;+target;
	if (saveFile(target,txt)) msg=c+&quot; tiddler&quot;+((c!=1)?&quot;s&quot;:&quot;&quot;)+&quot; written to &quot;+target;
	displayMessage(msg,&quot;file:///&quot;+target);
}
&lt;/pre&gt;&lt;br&gt;&lt;em&gt; &lt;/em&gt; exportDeleteTiddlers(): delete selected tiddlers from file&lt;br&gt;&lt;pre&gt;function exportDeleteTiddlers()
{
	var list=document.getElementById(&quot;exportList&quot;); if (!list) return;
	var tids=[];
	for (i=0;i&amp;lt;list.length;i++)
		if (list.options[i].selected &amp;amp;&amp;amp; list.options[i].value.length)
			tids.push(list.options[i].value);
	if (!confirm(&quot;Are you sure you want to delete these tiddlers:\n\n&quot;+tids.join(', '))) return;
	store.suspendNotifications();
	for (t=0;t&amp;lt;tids.length;t++) {
		var tid=store.getTiddler(tids[t]); if (!tid) continue;
		if (tid.tags.contains(&quot;systemConfig&quot;))
			if (!confirm(&quot;'&quot;+tid.title+&quot;' is tagged with 'systemConfig'.\n\nRemoving this tiddler may cause unexpected results.  Are you sure?&quot;))
				continue;
		store.removeTiddler(tid.title);
		story.closeTiddler(tid.title);
	}
	store.resumeNotifications();
	alert(tids.length+&quot; tiddlers deleted&quot;);
	refreshExportList(0); // reload listbox
	store.notifyAll(); // update page display
}
&lt;/pre&gt;</description>
<category>systemConfig</category>
<category>ImportExportPackage</category>
<link>http://www.ngo-framework.net/#ExportTiddlersPlugin</link>
<pubDate>Tue, 27 May 2008 21:23:00 GMT</pubDate>
</item>
<item>
<title>TwHelpSearchPlugin</title>
<description>&lt;div class=&quot;clear&quot;&gt;&lt;table class=&quot;twtable&quot;&gt;&lt;tbody&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td align=&quot;left&quot;&gt;Plugin name&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;strong&gt;TwHelpSearchPlugin&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td align=&quot;left&quot;&gt;Author&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;strong&gt;Morris S. Gray&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td align=&quot;left&quot;&gt;Source&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://twhelp.tiddlyspot.com/#TwHelpSearchPlugin&quot; href=&quot;http://twhelp.tiddlyspot.com/#TwHelpSearchPlugin&quot; class=&quot;externalLink&quot;&gt;http://twhelp.tiddlyspot.com/#TwHelpSearchPlugin&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td align=&quot;left&quot;&gt;More Documentation&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;a tiddlylink=&quot;TwHelpSearchDoc&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.ngo-framework.net/#TwHelpSearchDoc&quot; href=&quot;http://www.ngo-framework.net/#TwHelpSearchDoc&quot; class=&quot;externalLink null&quot;&gt;TwHelpSearchDoc&lt;/a&gt; or &lt;br&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://twhelp.tiddlyspot.com/#TwHelpSearchDoc&quot; href=&quot;http://twhelp.tiddlyspot.com/#TwHelpSearchDoc&quot; class=&quot;externalLink&quot;&gt;http://twhelp.tiddlyspot.com/#TwHelpSearchDoc&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td align=&quot;left&quot;&gt;License&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://creativecommons.org/licenses/by-sa/2.5/&quot; href=&quot;http://creativecommons.org/licenses/by-sa/2.5/&quot; class=&quot;externalLink&quot;&gt;Creative Commons Attribution-ShareAlike 2.5 License&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td align=&quot;left&quot;&gt;Requires&lt;/td&gt;&lt;td&gt;TiddlyWiki 2.0.x + &lt;br&gt;&lt;a tiddlylink=&quot;SearchOptions plugin&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.ngo-framework.net/#SearchOptions plugin&quot; href=&quot;http://www.ngo-framework.net/#SearchOptions%20plugin&quot; class=&quot;externalLink null&quot;&gt;SearchOptions plugin&lt;/a&gt; - &lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.tiddlytools.com/#SearchOptionsPlugin&quot; href=&quot;http://www.tiddlytools.com/#SearchOptionsPlugin&quot; class=&quot;externalLink&quot;&gt;http://www.tiddlytools.com/#SearchOptionsPlugin&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td align=&quot;left&quot;&gt;Tweaked&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Colours of Search Results set by default table styles, by &lt;a tiddlylink=&quot;Robert Pollard&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.ngo-framework.net/#Robert Pollard&quot; href=&quot;http://www.ngo-framework.net/#Robert%20Pollard&quot; class=&quot;externalLink null&quot;&gt;Robert Pollard&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&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;4&quot; align=&quot;left&quot;&gt;&lt;a class=&quot;button&quot; title=&quot;Search this TiddlyWiki&quot; href=&quot;javascript:;&quot;&gt;search&lt;/a&gt;&lt;input autocomplete=&quot;off&quot; accesskey=&quot;F&quot; size=&quot;15&quot; type=&quot;text&quot;&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td colspan=&quot;3&quot; align=&quot;center&quot;&gt;look for in&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td align=&quot;center&quot;&gt;&lt;input class=&quot;chkOptionInput&quot; option=&quot;chkSearchTitles&quot; type=&quot;checkbox&quot;&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;input class=&quot;chkOptionInput&quot; option=&quot;chkSearchText&quot; type=&quot;checkbox&quot;&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;input class=&quot;chkOptionInput&quot; option=&quot;chkSearchTags&quot; type=&quot;checkbox&quot;&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;input class=&quot;chkOptionInput&quot; option=&quot;chkHoldSearches&quot; type=&quot;checkbox&quot;&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td align=&quot;center&quot;&gt;titles&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;text&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;tags&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;hold&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br&gt;&lt;strong&gt;A Plugin Tweak for:&lt;/strong&gt; &lt;a tiddlylink=&quot;SearchOptionsPlugin&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.ngo-framework.net/#SearchOptionsPlugin&quot; href=&quot;http://www.ngo-framework.net/#SearchOptionsPlugin&quot; class=&quot;externalLink null&quot;&gt;SearchOptionsPlugin&lt;/a&gt;&lt;br&gt;&lt;h5&gt;Description&lt;/h5&gt;&lt;blockquote&gt;This plugin defines an alternative format for the SearchResults tiddler that is generated by the SearchOptionsPlugin . It presents the search results in tabular form numbering the rows; and showing the tiddler title, the size in bytes, and the tags.  It is ready to be used with the &lt;a target=&quot;_blank&quot; title=&quot;External link to http://solo.dc3.com/tw/#SortableGridPlugin&quot; href=&quot;http://solo.dc3.com/tw/#SortableGridPlugin&quot; class=&quot;externalLink&quot;&gt;SortableGridPlugin&lt;/a&gt; (check versions) so any column can be sorted; such as size in ascending or descending order.&lt;br&gt;&lt;/blockquote&gt;&lt;h5&gt;Installation&lt;/h5&gt;&lt;blockquote&gt;Import (or copy/paste) the following tiddlers into your TiddlyWiki:&lt;br&gt;&lt;ul&gt;&lt;li&gt; &lt;a target=&quot;_blank&quot; title=&quot;External link to http://twhelp.tiddlyspot.com/#TwHelpSearchPlugin&quot; href=&quot;http://twhelp.tiddlyspot.com/#TwHelpSearchPlugin&quot; class=&quot;externalLink&quot;&gt;http://twhelp.tiddlyspot.com/#TwHelpSearchPlugin&lt;/a&gt;&lt;/li&gt;&lt;li&gt;SearchOptionsPlugin from &lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.tiddlytools.com/#SearchOptionsPlugin&quot; href=&quot;http://www.tiddlytools.com/#SearchOptionsPlugin&quot; class=&quot;externalLink&quot;&gt;http://www.tiddlytools.com/#SearchOptionsPlugin&lt;/a&gt;&lt;/li&gt;&lt;li&gt; Get more documentation here &lt;a tiddlylink=&quot;TwHelpSearchDoc&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.ngo-framework.net/#TwHelpSearchDoc&quot; href=&quot;http://www.ngo-framework.net/#TwHelpSearchDoc&quot; class=&quot;externalLink null&quot;&gt;TwHelpSearchDoc&lt;/a&gt; or here:&lt;/li&gt;&lt;li&gt; &lt;a target=&quot;_blank&quot; title=&quot;External link to http://twhelp.tiddlyspot.com/#TwHelpSearchDoc&quot; href=&quot;http://twhelp.tiddlyspot.com/#TwHelpSearchDoc&quot; class=&quot;externalLink&quot;&gt;http://twhelp.tiddlyspot.com/#TwHelpSearchDoc&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;&lt;h5&gt;Revision History&lt;/h5&gt;&lt;blockquote&gt;&lt;br&gt;&lt;strong&gt;2007.09.12  [1.0.6]&lt;/strong&gt;&lt;br&gt;Added overflow scroll to TWHelp-SearchResults for long titles or tags.&lt;br&gt;&lt;strong&gt;2006.02.03  [1.0.5]&lt;/strong&gt;&lt;br&gt;Added facility for holding the results of multiple searches with tick box on dashboard.&lt;br&gt;&lt;strong&gt;2006.02.02  [1.0.4]&lt;/strong&gt;&lt;br&gt;Added several options, cleaned up design.Planning one version basic and one with added options this is the added options version.&lt;br&gt;&lt;strong&gt;2006.01.27  [1.0.3&lt;/strong&gt;&lt;br&gt;Added a column for the size of the text in each tiddler, this does not include the size of the title or tags.  Added overall TW statistics button requires TiddlerStatsPlugin.&lt;br&gt;&lt;strong&gt;2006.01.23 [1.0.2 ]&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;a)&lt;/strong&gt;Changed function reportSearchResults(text,matches) to  window.reportSearchResults=function(text,matches)&lt;br&gt;&lt;strong&gt;b)&lt;/strong&gt;Added a line so that Incremental Search is automatically disabled config.options.chkSearchIncremental=false; turn off key-by-key searching&lt;br&gt;&lt;strong&gt;c)&lt;/strong&gt;Removed space inside parens. bgcolor(#fe8 )&quot; to &quot;bgcolor(#fe8)&quot;.  This&lt;br&gt;is what was causing IE to 'crap out' halfway through drawing the table&lt;br&gt;headings.&lt;br&gt;&lt;strong&gt;d)&lt;/strong&gt;Added &lt;code&gt;config.options.chkSearchList=true;&lt;/code&gt;&lt;br&gt;&lt;strong&gt;2006.01.20 [1.0.1]&lt;/strong&gt;&lt;br&gt;ELS: reportSearchResults() definition moved to this Plugin Tweak tiddler and removed extranous code&lt;br&gt;&lt;strong&gt;2006.01.19 [1.0.0]&lt;/strong&gt;&lt;br&gt;This is an adaptation of Eric Shulman's SearchOptionsPlugin. Adapted by MorrisGray to provide search results in table form. All the necessary controls for refining the search is provided within the table including slide-down access to &lt;a tiddlylink=&quot;AdvancedOptions&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.ngo-framework.net/#AdvancedOptions&quot; href=&quot;http://www.ngo-framework.net/#AdvancedOptions&quot; class=&quot;externalLink null&quot;&gt;AdvancedOptions&lt;/a&gt;.&lt;br&gt;&lt;/blockquote&gt;&lt;h5&gt;Code&lt;/h5&gt;&lt;br&gt;&lt;pre&gt;if (config.options.chkSinglePageMode==undefined) config.options.chkSinglePageMode=false;
if (config.options.chkRegExpSearch==undefined) config.options.chkRegExpSearch=true;
if (config.options.chkSearchTitles==undefined) config.options.chkSearchTitles=false;
if (config.options.chkSearchText==undefined) config.options.chkSearchText=true;
if (config.options.chkSearchTags==undefined) config.options.chkSearchTags=false;
if (config.options.chkSearchTitlesFirst==undefined) config.options.chkSearchTitlesFirst=true;
if (config.options.chkSearchList==undefined) config.options.chkSearchList=true;
if (config.options.chkSearchIncremental==undefined) config.options.chkSearchIncremental=false;
if (config.options.chkToggleLinks==true) config.options.chkToggleLinks=false;
if (config.options.chkHoldSearches==undefined) config.options.chkHoldSearches=false;
if (config.options.chkSortTags==undefined) config.options.chkSortTags=false;

config.options.chkToggleLinks=false;
config.options.chkSinglePageMode=false;
config.options.chkHoldSearches=false;
config.options.chkSearchIncremental=false;
config.options.chkHttpReadOnly = false;
config.options.chkRegExpSearch=true;
config.options.chkSearchList=true;
config.options.chkToggleLinks=false;

config.shadowTiddlers.AdvancedOptions += &quot;\n&amp;lt;&amp;lt;option chkHoldSearches&amp;gt;&amp;gt; Hold search results&quot;;
&lt;/pre&gt;&lt;br&gt;&lt;pre&gt;// Give the report a custom name
config.macros.search.reportTitle=&quot;TWHelp-SearchResults&quot;;

// Override default SearchOptionsPlugin formatting for SearchResults tiddler
window.reportSearchResults=function(text,matches)

{
  
        var title=config.macros.search.reportTitle
	config.macros.search.reportTitle;
	var q = config.options.chkRegExpSearch ? &quot;/&quot; : &quot;'&quot;;
        if (!config.options.chkHoldSearches)  body=&quot;&quot;;

body+=&quot;\n|&amp;gt;|''&quot;+config.macros.search.successMsg.format([matches.length,q+&quot;{{{&quot;+text+&quot;}}}&quot;+q])+&quot;''|[[Search Help|TwHelpSearchDoc]] &quot;+&quot;|h\n&quot;;
        body+=&quot;|&amp;gt;|&amp;gt;|&amp;lt;&amp;lt;search&amp;gt;&amp;gt; &amp;lt;&amp;lt;option chkSearchTitles&amp;gt;&amp;gt; Titles &amp;lt;&amp;lt;option chkSearchText&amp;gt;&amp;gt; Text &amp;lt;&amp;lt;option chkSearchTags&amp;gt;&amp;gt;Tags &amp;lt;&amp;lt;option chkHoldSearches&amp;gt;&amp;gt; Hold |h\n&quot;;
        body+=&quot;\n|&amp;amp;nbsp;|sort by: ''Titles''|''Size'' (bytes) |''Tags'' |h&quot;;
	for(var t=0;t&amp;lt;matches.length;t++) 
        body+=&quot;\n&quot;+&quot;| &quot;+(t+1)+&quot;|[[&quot;+matches[t].title+&quot;]]| &quot;+matches[t].text.length+&quot;|&quot;+matches[t].tags+&quot;|&quot;;
        body+=&quot;\n&quot;;
       


	// create/update the tiddler
	var tiddler=store.getTiddler(title); if (!tiddler) tiddler=new Tiddler();
	tiddler.set(title,body,config.options.txtUserName,(new Date()),&quot;excludeLists excludeSearch killbookmark&quot;);
	store.addTiddler(tiddler); story.closeTiddler(title);


	// render tiddler
	var oldprompt=config.macros.search.label;
	config.macros.search.label=&quot;search again&quot;; // use alternate &quot;search again&quot; label
        story.displayTiddler(null,title,1); // force refresh
	config.macros.search.label=oldprompt;	// restore standard search label
}
&lt;/pre&gt;</description>
<category>quickedit</category>
<category>systemConfig</category>
<category>search</category>
<link>http://www.ngo-framework.net/#TwHelpSearchPlugin</link>
<pubDate>Mon, 25 Feb 2008 21:37:00 GMT</pubDate>
</item>
<item>
<title>ToggleTagPlugin</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;ToggleTagPlugin&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td align=&quot;right&quot;&gt;Description:&lt;/td&gt;&lt;td&gt;Makes a checkbox which toggles a tag in a tiddler&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td align=&quot;right&quot;&gt;Version&lt;/td&gt;&lt;td&gt;3.0 ($Rev: 1845 $)&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td align=&quot;right&quot;&gt;Date&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;strong&gt;2007.03.16&lt;/strong&gt; 15:19:22 +1000 (&lt;strong&gt;Fri, 16 Mar 2007&lt;/strong&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td align=&quot;right&quot;&gt;Source:&lt;/td&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://tiddlyspot.com/mptw/#ToggleTagPlugin&quot; href=&quot;http://tiddlyspot.com/mptw/#ToggleTagPlugin&quot; class=&quot;externalLink&quot;&gt;http://tiddlyspot.com/mptw/#ToggleTagPlugin&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td align=&quot;right&quot;&gt;Author&lt;/td&gt;&lt;td&gt;Simon Baird &amp;lt;simon.baird@gmail.com&amp;gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td align=&quot;right&quot;&gt;License:&lt;/td&gt;&lt;td&gt;&lt;a tiddlylink=&quot;Simon Baird's BSD license&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.ngo-framework.net/#Simon Baird's BSD license&quot; href=&quot;http://www.ngo-framework.net/#Simon%20Baird%27s%20BSD%20license&quot; class=&quot;externalLink null&quot;&gt;Simon Baird's BSD license&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td align=&quot;right&quot;&gt;CoreVersion:&lt;/td&gt;&lt;td&gt;2.1&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td align=&quot;right&quot;&gt;Description&lt;/td&gt;&lt;td&gt;Makes a checkbox which toggles a tag in a tiddler&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h1&gt;Usage&lt;/h1&gt;&lt;code&gt;&amp;lt;&amp;lt;toggleTag &lt;/code&gt;&lt;em&gt;&lt;code&gt;TagName TiddlerName LabelText&lt;/code&gt;&lt;/em&gt;&lt;code&gt;&amp;gt;&amp;gt;&lt;/code&gt;&lt;br&gt;&lt;ul&gt;&lt;li&gt; TagName - the tag to be toggled, default value &quot;checked&quot;&lt;/li&gt;&lt;li&gt; TiddlerName - the tiddler to toggle the tag in, default value the current tiddler&lt;/li&gt;&lt;li&gt; LabelText - the text (gets wikified) to put next to the check box, default value is '&lt;code&gt;[[TagName]]&lt;/code&gt;' or '&lt;code&gt;[[TagName]] [[TiddlerName]]&lt;/code&gt;'&lt;/li&gt;&lt;/ul&gt;(If a parameter is '.' then the default will be used)&lt;br&gt;&lt;br&gt;Examples:&lt;br&gt;&lt;br&gt;&lt;table class=&quot;twtable&quot;&gt;&lt;thead&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Code&lt;/td&gt;&lt;td&gt;Description&lt;/td&gt;&lt;td&gt;Example&lt;/td&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;toggleTag&amp;gt;&amp;gt;&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Toggles the default tag (checked) in this tiddler&lt;/td&gt;&lt;td&gt;&lt;input class=&quot;chkOptionInput&quot; type=&quot;checkbox&quot;&gt;&lt;a tiddlylink=&quot;checked&quot; refresh=&quot;link&quot; tip=&quot;The tiddler 'checked' doesn't yet exist&quot; class=&quot;tiddlyLink tiddlyLinkNonExisting&quot; title=&quot;&quot; href=&quot;javascript:;&quot;&gt;checked&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;toggleTag TagName&amp;gt;&amp;gt;&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Toggles the TagName tag in this tiddler&lt;/td&gt;&lt;td&gt;&lt;input class=&quot;chkOptionInput&quot; type=&quot;checkbox&quot;&gt;&lt;a tiddlylink=&quot;TagName&quot; refresh=&quot;link&quot; tip=&quot;The tiddler 'TagName' doesn't yet exist&quot; class=&quot;tiddlyLink tiddlyLinkNonExisting&quot; title=&quot;&quot; href=&quot;javascript:;&quot;&gt;TagName&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;&lt;code&gt;&amp;lt;&amp;lt;toggleTag TagName TiddlerName&amp;gt;&amp;gt;&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Toggles the TagName tag in the TiddlerName tiddler&lt;/td&gt;&lt;td&gt;&lt;input class=&quot;chkOptionInput&quot; type=&quot;checkbox&quot;&gt;&lt;a tiddlylink=&quot;TagName&quot; refresh=&quot;link&quot; tip=&quot;The tiddler 'TagName' doesn't yet exist&quot; class=&quot;tiddlyLink tiddlyLinkNonExisting&quot; title=&quot;&quot; href=&quot;javascript:;&quot;&gt;TagName&lt;/a&gt; &lt;a tiddlylink=&quot;TiddlerName&quot; refresh=&quot;link&quot; tip=&quot;The tiddler 'TiddlerName' doesn't yet exist&quot; class=&quot;tiddlyLink tiddlyLinkNonExisting&quot; title=&quot;&quot; href=&quot;javascript:;&quot;&gt;TiddlerName&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;toggleTag TagName TiddlerName 'click me'&amp;gt;&amp;gt;&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Same but with custom label&lt;/td&gt;&lt;td&gt;&lt;input class=&quot;chkOptionInput&quot; type=&quot;checkbox&quot;&gt;click me&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;&lt;code&gt;&amp;lt;&amp;lt;toggleTag . . 'click me'&amp;gt;&amp;gt;&lt;/code&gt;&lt;/td&gt;&lt;td&gt;dot means use default value&lt;/td&gt;&lt;td&gt;&lt;input class=&quot;chkOptionInput&quot; type=&quot;checkbox&quot;&gt;click me&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;Notes:&lt;br&gt;&lt;ul&gt;&lt;li&gt; If TiddlerName doesn't exist it will be silently created&lt;/li&gt;&lt;li&gt; Set label to '-' to specify no label&lt;/li&gt;&lt;li&gt; See also &lt;a target=&quot;_blank&quot; title=&quot;External link to http://mgtd-alpha.tiddlyspot.com/#ToggleTag2&quot; href=&quot;http://mgtd-alpha.tiddlyspot.com/#ToggleTag2&quot; class=&quot;externalLink&quot;&gt;http://mgtd-alpha.tiddlyspot.com/#ToggleTag2&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;h1&gt;Known issues&lt;/h1&gt;&lt;ul&gt;&lt;li&gt; Doesn't smoothly handle the case where you toggle a tag in a tiddler that is current open for editing&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;pre&gt;merge(config.macros,{

	toggleTag: {

		doRefreshAll: true,
		createIfRequired: true,
		shortLabel: &quot;[[%0]]&quot;,
		longLabel: &quot;[[%0]] [[%1]]&quot;,

		handler: function(place,macroName,params,wikifier,paramString,tiddler) {
			var tag = (params[0] &amp;amp;&amp;amp; params[0] != '.') ? params[0] : &quot;checked&quot;;
			var title = (params[1] &amp;amp;&amp;amp; params[1] != '.') ? params[1] : tiddler.title;
			var defaultLabel = (title == tiddler.title ? this.shortLabel : this.longLabel);
			var label = (params[2] &amp;amp;&amp;amp; params[2] != '.') ? params[2] : defaultLabel;
			label = (label == '-' ? '' : label);
			var theTiddler =  title == tiddler.title ? tiddler : store.getTiddler(title);
			var cb = createTiddlyCheckbox(place, label.format([tag,title]), theTiddler &amp;amp;&amp;amp; theTiddler.isTagged(tag), function(e) {
				if (!store.tiddlerExists(title)) {
					if (config.macros.toggleTag.createIfRequired) {
						var content = store.getTiddlerText(title); // just in case it's a shadow
						store.saveTiddler(title,title,content?content:&quot;&quot;,config.options.txtUserName,new Date(),null);
					}
					else 
						return false;
				}
				store.setTiddlerTag(title,this.checked,tag);
				return true;
			});
		}
	}
});
&lt;/pre&gt;&lt;br&gt;</description>
<category>systemConfig</category>
<category>excludeLists</category>
<category>excludeSearch</category>
<link>http://www.ngo-framework.net/#ToggleTagPlugin</link>
<pubDate>Sat, 16 Feb 2008 00:15:00 GMT</pubDate>
</item>
<item>
<title>TiddlerTweakerPlugin</title>
<description>&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;TiddlerTweakerPlugin&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Source&lt;/td&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.TiddlyTools.com/#TiddlerTweakerPlugin&quot; href=&quot;http://www.TiddlyTools.com/#TiddlerTweakerPlugin&quot; class=&quot;externalLink&quot;&gt;http://www.TiddlyTools.com/#TiddlerTweakerPlugin&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;2.1.0&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Author&lt;/td&gt;&lt;td&gt;Eric Shulman - ELS Design Studios&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;License&lt;/td&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.TiddlyTools.com/#LegalStatements&quot; href=&quot;http://www.TiddlyTools.com/#LegalStatements&quot; class=&quot;externalLink&quot;&gt;http://www.TiddlyTools.com/#LegalStatements&lt;/a&gt; &lt;br&gt;and &lt;a target=&quot;_blank&quot; title=&quot;External link to http://creativecommons.org/licenses/by-sa/2.5/&quot; href=&quot;http://creativecommons.org/licenses/by-sa/2.5/&quot; class=&quot;externalLink&quot;&gt;Creative Commons Attribution-ShareAlike 2.5 License&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;CoreVersion&lt;/td&gt;&lt;td&gt;2.1&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Type&lt;/td&gt;&lt;td&gt;plugin&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Requires&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Overrides&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Description&lt;/td&gt;&lt;td&gt;select multiple tiddlers and modify author, created, modified and/or tag values&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br&gt;TiddlerTweaker is a tool for TiddlyWiki authors.  It allows you to select multiple tiddlers from a listbox, and then modify the author, created, modified and/or tag values of those tiddlers using a compact set of form fields.  The values you enter into the fields overwrite the existing values in all tiddlers you have selected.&lt;br&gt;&lt;br&gt;&lt;h5&gt;Usage&lt;/h5&gt;&lt;blockquote&gt;TiddlerTweaker also allows you to quickly filter specified tags from the selected tiddlers, while leaving any other tags assigned to those tiddlers unchanged.  Any tag preceded by a &quot;+&quot; (plus) or &quot;-&quot; (minus), will be added or removed from the existing tags instead of simply *replacing* the entire tag definition of each tiddler (e.g., enter &quot;-excludeLists&quot; to remove that tag from all selected tiddlers.&lt;br&gt;&lt;br&gt;Note: Because you may be working with many tags on many tiddlers, selecting and updating all tiddlers in a document operation may take a while and FireFox might warn about an &quot;unresponsive script&quot;... you should give it a whole bunch of time to 'continue'... it will complete the processing... eventually.&lt;br&gt;&lt;br&gt;Also, by design, TiddlerTweaker does NOT update the 'modified' date of tiddlers simply by making changes to their tags.  The tiddlers' dates are ONLY updated when the corresponding 'created' and/or 'modified' checkboxes are selected.  Be sure to SAVE YOUR DOCUMENT WHEN YOU ARE DONE tweaking tiddlers, even if the tiddler timeline tab does not show any recently modified tiddlers.&lt;br&gt;&lt;br&gt;Important: &lt;strong&gt;inasmuch as TiddlerTweaker is a 'power user' tool that can perform 'batch' functions (operating on many tiddlers at once), you should always have a recent backup of your document (or &quot;save changes&quot; just *before* tweaking the tiddlers), just in case you &quot;shoot yourself in the foot&quot;.&lt;/strong&gt;&lt;br&gt;&lt;/blockquote&gt;&lt;h5&gt;Examples&lt;/h5&gt;&lt;blockquote&gt;&lt;code&gt;&amp;lt;&amp;lt;tiddlerTweaker&amp;gt;&amp;gt;&lt;/code&gt;&lt;br&gt;&lt;span class=&quot;smallform&quot;&gt;&lt;span&gt;&lt;form style=&quot;display: inline;&quot;&gt;&lt;!--		--&gt;&lt;table style=&quot;border: 0pt none ; margin: 0pt; padding: 0pt; width: 100%;&quot;&gt;&lt;tbody&gt;&lt;tr style=&quot;border: 0pt none ; margin: 0pt; padding: 0pt;&quot; valign=&quot;top&quot;&gt;&lt;!--		--&gt;&lt;td style=&quot;border: 0pt none ; margin: 0pt; padding: 0pt; text-align: center; white-space: nowrap; width: 99%;&quot;&gt;&lt;!--			--&gt;&lt;font size=&quot;-2&quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;select tiddlers:&lt;/div&gt;&lt;!--			--&gt;&lt;/font&gt;&lt;select multiple=&quot;multiple&quot; name=&quot;list&quot; size=&quot;10&quot; style=&quot;width: 99.99%;&quot; title=&quot;use click, shift-click and/or ctrl-click to select multiple tiddler titles&quot; onclick=&quot;config.macros.tiddlerTweaker.selecttiddlers(this)&quot; onchange=&quot;config.macros.tiddlerTweaker.setfields(this)&quot;&gt;&lt;!--			--&gt;&lt;option value=&quot;New Human Rights Dialogue Series  3, From manifest failure to collective action: Realizing the responsibility to protect&quot;&gt;08.08.22 15:55 New Human Rights Dialogue Series  3, From manifest failure to collective action: Realizing the responsibility to protect&lt;/option&gt;&lt;option value=&quot;Human Rights Fact Sheets&quot;&gt;08.08.19 12:25 Human Rights Fact Sheets&lt;/option&gt;&lt;option value=&quot;DefaultTiddlers&quot;&gt;08.08.18 15:07 DefaultTiddlers&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 15 (Rev.1), Civil and Political Rights: The Human Rights Committee&quot;&gt;08.08.06 15:02 OHCHR Fact Sheet No. 15 (Rev.1), Civil and Political Rights: The Human Rights Committee&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 22, Discrimination against Women: The Convention and the Committee&quot;&gt;08.08.06 14:23 OHCHR Fact Sheet No. 22, Discrimination against Women: The Convention and the Committee&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 24 (Rev.1), The Rights of Migrant Workers&quot;&gt;08.08.06 14:23 OHCHR Fact Sheet No. 24 (Rev.1), The Rights of Migrant Workers&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No.  2 (Rev.1), The International Bill of Human Rights&quot;&gt;08.08.06 14:06 OHCHR Fact Sheet No.  2 (Rev.1), The International Bill of Human Rights&lt;/option&gt;&lt;option value=&quot;SiteTitle&quot;&gt;08.08.02 10:22 SiteTitle&lt;/option&gt;&lt;option value=&quot;Custom Main Menu&quot;&gt;08.08.02 10:14 Custom Main Menu&lt;/option&gt;&lt;option value=&quot;Administrative Menu&quot;&gt;08.08.02 10:11 Administrative Menu&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 15, Civil and Political Rights: The Human Rights Committee&quot;&gt;08.08.01 23:35 OHCHR Fact Sheet No. 15, Civil and Political Rights: The Human Rights Committee&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 29, Human Rights Defenders: Protecting the Right to Defend Human Rights&quot;&gt;08.08.01 23:30 OHCHR Fact Sheet No. 29, Human Rights Defenders: Protecting the Right to Defend Human Rights&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 31, The Right to Health&quot;&gt;08.08.01 23:18 OHCHR Fact Sheet No. 31, The Right to Health&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 30, The United Nations Human Rights Treaty System&quot;&gt;08.08.01 23:17 OHCHR Fact Sheet No. 30, The United Nations Human Rights Treaty System&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 32, Terrorism and Counter-terrorism&quot;&gt;08.08.01 23:02 OHCHR Fact Sheet No. 32, Terrorism and Counter-terrorism&lt;/option&gt;&lt;option value=&quot;Custom Main Menu x 2008.08.01&quot;&gt;08.08.01 22:52 Custom Main Menu x 2008.08.01&lt;/option&gt;&lt;option value=&quot;Reaffirming Human Rights of All: The Universal Declaration at 60&quot;&gt;08.08.01 22:30 Reaffirming Human Rights of All: The Universal Declaration at 60&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference&quot;&gt;08.08.01 22:29 61st Annual DPI/NGO Conference&lt;/option&gt;&lt;option value=&quot;Reaffirming Human Rights: The Universal Declaration at 60 - Provisional Conference Agenda&quot;&gt;08.08.01 22:26 Reaffirming Human Rights: The Universal Declaration at 60 - Provisional Conference Agenda&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference Information Bulletin #1 - 2007.12.26&quot;&gt;08.08.01 22:14 61st Annual DPI/NGO Conference Information Bulletin #1 - 2007.12.26&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 27, Seventeen Frequently Asked Questions about United Nations Special Rapporteurs&quot;&gt;08.08.01 16:49 OHCHR Fact Sheet No. 27, Seventeen Frequently Asked Questions about United Nations Special Rapporteurs&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 28, The Impact of Mercenary Activities on the Right of Peoples to Self-Determination&quot;&gt;08.08.01 16:49 OHCHR Fact Sheet No. 28, The Impact of Mercenary Activities on the Right of Peoples to Self-Determination&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No.  4 (Rev.1), Combating Torture&quot;&gt;08.08.01 16:07 OHCHR Fact Sheet No.  4 (Rev.1), Combating Torture&lt;/option&gt;&lt;option value=&quot;Fact Sheet No. 24 (Rev.1): Introduction&quot;&gt;08.08.01 15:27 Fact Sheet No. 24 (Rev.1): Introduction&lt;/option&gt;&lt;option value=&quot;Fact Sheet No. 24 (Rev.1): Front Matter&quot;&gt;08.08.01 15:26 Fact Sheet No. 24 (Rev.1): Front Matter&lt;/option&gt;&lt;option value=&quot;Fact Sheet No. 24 (Rev.1): IV. The Convention in the Context of Other International Instruments&quot;&gt;08.08.01 15:20 Fact Sheet No. 24 (Rev.1): IV. The Convention in the Context of Other International Instruments&lt;/option&gt;&lt;option value=&quot;Fact Sheet No. 24 (Rev.1): I. Drafting History of the Convention&quot;&gt;08.08.01 14:29 Fact Sheet No. 24 (Rev.1): I. Drafting History of the Convention&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 24, The Rights of Migrant Workers&quot;&gt;08.08.01 14:28 OHCHR Fact Sheet No. 24, The Rights of Migrant Workers&lt;/option&gt;&lt;option value=&quot;Fact Sheet No. 24 (Rev.1): V. Recent Developments&quot;&gt;08.08.01 14:20 Fact Sheet No. 24 (Rev.1): V. Recent Developments&lt;/option&gt;&lt;option value=&quot;Fact Sheet No. 24 (Rev.1): Annex II. States that have signed, ratified or acceded to the International Convention on the Protection of the Rights of All Migrant Workers and Members of Their Families&quot;&gt;08.08.01 14:13 Fact Sheet No. 24 (Rev.1): Annex II. States that have signed, ratified or acceded to the International Convention on the Protection of the Rights of All Migrant Workers and Members of Their Families&lt;/option&gt;&lt;option value=&quot;Fact Sheet No. 24 (Rev.1): II. Structure and Scope of the Convention&quot;&gt;08.08.01 11:53 Fact Sheet No. 24 (Rev.1): II. Structure and Scope of the Convention&lt;/option&gt;&lt;option value=&quot;Fact Sheet No. 24 (Rev.1): III. The Committee on Migrant Workers&quot;&gt;08.08.01 11:52 Fact Sheet No. 24 (Rev.1): III. The Committee on Migrant Workers&lt;/option&gt;&lt;option value=&quot;Committee on Migrant Workers web site&quot;&gt;08.08.01 11:24 Committee on Migrant Workers web site&lt;/option&gt;&lt;option value=&quot;International Convention on the Protection of the Rights of All Migrant Workers and Members of Their Families&quot;&gt;08.08.01 11:23 International Convention on the Protection of the Rights of All Migrant Workers and Members of Their Families&lt;/option&gt;&lt;option value=&quot;Special Rapporteur of the Commission on Human Rights on the human rights of migrants&quot;&gt;08.08.01 10:42 Special Rapporteur of the Commission on Human Rights on the human rights of migrants&lt;/option&gt;&lt;option value=&quot;Fact Sheet No. 24 (Rev.1): Useful addresses&quot;&gt;08.08.01 09:52 Fact Sheet No. 24 (Rev.1): Useful addresses&lt;/option&gt;&lt;option value=&quot;fs24temp&quot;&gt;08.08.01 09:50 fs24temp&lt;/option&gt;&lt;option value=&quot;217 (III). International Bill of Human Rights&quot;&gt;08.08.01 08:59 217 (III). International Bill of Human Rights&lt;/option&gt;&lt;option value=&quot;Human Rights Abbreviations&quot;&gt;08.07.31 01:47 Human Rights Abbreviations&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No.  7 (Rev.1), Complaint Procedures&quot;&gt;08.07.30 16:21 OHCHR Fact Sheet No.  7 (Rev.1), Complaint Procedures&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 25, Forced Evictions and Human Rights&quot;&gt;08.07.30 16:18 OHCHR Fact Sheet No. 25, Forced Evictions and Human Rights&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No.  9 (Rev.1), The Rights of Indigenous Peoples&quot;&gt;08.07.30 16:13 OHCHR Fact Sheet No.  9 (Rev.1), The Rights of Indigenous Peoples&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 13, International Humanitarian Law and Human Rights&quot;&gt;08.07.30 16:10 OHCHR Fact Sheet No. 13, International Humanitarian Law and Human Rights&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 12, The Committee on the Elimination of Racial Discrimination&quot;&gt;08.07.30 16:04 OHCHR Fact Sheet No. 12, The Committee on the Elimination of Racial Discrimination&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 11 (Rev.1), Extrajudicial, Summary or Arbitrary Executions&quot;&gt;08.07.30 15:55 OHCHR Fact Sheet No. 11 (Rev.1), Extrajudicial, Summary or Arbitrary Executions&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 10 (Rev.1), The Rights of the Child&quot;&gt;08.07.30 15:53 OHCHR Fact Sheet No. 10 (Rev.1), The Rights of the Child&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No.  6 (Rev.2), Enforced or Involuntary Disappearances&quot;&gt;08.07.30 15:46 OHCHR Fact Sheet No.  6 (Rev.2), Enforced or Involuntary Disappearances&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No.  3 (Rev.1), Advisory Services and Technical Cooperation in the Field of Human Rights&quot;&gt;08.07.30 15:44 OHCHR Fact Sheet No.  3 (Rev.1), Advisory Services and Technical Cooperation in the Field of Human Rights&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 14, Contemporary Forms of Slavery&quot;&gt;08.07.30 15:21 OHCHR Fact Sheet No. 14, Contemporary Forms of Slavery&lt;/option&gt;&lt;option value=&quot;bookmarked pdf&quot;&gt;08.07.30 15:19 bookmarked pdf&lt;/option&gt;&lt;option value=&quot;United Nations Declaration on the Rights of Indigenous Peoples&quot;&gt;08.07.30 14:34 United Nations Declaration on the Rights of Indigenous Peoples&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 26, The Working Group on Arbitrary Detention&quot;&gt;08.07.30 14:05 OHCHR Fact Sheet No. 26, The Working Group on Arbitrary Detention&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 16 (Rev.1), The Committee on Economic, Social and Cultural Rights&quot;&gt;08.07.30 14:03 OHCHR Fact Sheet No. 16 (Rev.1), The Committee on Economic, Social and Cultural Rights&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 23, Harmful Traditional Practices Affecting the Health of Women and Children&quot;&gt;08.07.30 13:59 OHCHR Fact Sheet No. 23, Harmful Traditional Practices Affecting the Health of Women and Children&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 21, The Human Right to Adequate Housing&quot;&gt;08.07.30 13:41 OHCHR Fact Sheet No. 21, The Human Right to Adequate Housing&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 20, Human Rights and Refugees&quot;&gt;08.07.30 13:37 OHCHR Fact Sheet No. 20, Human Rights and Refugees&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 19, National Institutions for the Promotion and Protection of Human Rights&quot;&gt;08.07.30 13:31 OHCHR Fact Sheet No. 19, National Institutions for the Promotion and Protection of Human Rights&lt;/option&gt;&lt;option value=&quot;Declaration on the Rights of Persons Belonging to National or Ethnic, Religious and Linguistic Minorities&quot;&gt;08.07.30 13:27 Declaration on the Rights of Persons Belonging to National or Ethnic, Religious and Linguistic Minorities&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 18 (Rev.1), Minority Rights&quot;&gt;08.07.30 13:26 OHCHR Fact Sheet No. 18 (Rev.1), Minority Rights&lt;/option&gt;&lt;option value=&quot;OHCHR Fact Sheet No. 17, The Committee against Torture&quot;&gt;08.07.30 13:22 OHCHR Fact Sheet No. 17, The Committee against Torture&lt;/option&gt;&lt;option value=&quot;ImportTiddlersPlugin&quot;&gt;08.07.29 09:45 ImportTiddlersPlugin&lt;/option&gt;&lt;option value=&quot;ImportedTiddlers&quot;&gt;08.07.29 09:32 ImportedTiddlers&lt;/option&gt;&lt;option value=&quot;TagglyTaggingPlugin&quot;&gt;08.07.26 11:42 TagglyTaggingPlugin&lt;/option&gt;&lt;option value=&quot;Conference Roundtables&quot;&gt;08.07.24 13:52 Conference Roundtables&lt;/option&gt;&lt;option value=&quot;Roundtable Session 5: Addressing Gross Human Rights Violations: Prevention and Accountability&quot;&gt;08.07.24 13:51 Roundtable Session 5: Addressing Gross Human Rights Violations: Prevention and Accountability&lt;/option&gt;&lt;option value=&quot;Most Recent Tiddlers&quot;&gt;08.07.24 13:46 Most Recent Tiddlers&lt;/option&gt;&lt;option value=&quot;Roundtable Session 4: Human Rights Education and Learning as a Way of Life&quot;&gt;08.07.24 13:19 Roundtable Session 4: Human Rights Education and Learning as a Way of Life&lt;/option&gt;&lt;option value=&quot;Roundtable Session 1: Upholding the Universal Declaration of Human Rights&quot;&gt;08.07.24 13:12 Roundtable Session 1: Upholding the Universal Declaration of Human Rights&lt;/option&gt;&lt;option value=&quot;Security Council Resolution 1325 on Women, Peace, and Security&quot;&gt;08.07.24 13:10 Security Council Resolution 1325 on Women, Peace, and Security&lt;/option&gt;&lt;option value=&quot;Roundtable Session 3: Human Rights and Human Security&quot;&gt;08.07.24 13:07 Roundtable Session 3: Human Rights and Human Security&lt;/option&gt;&lt;option value=&quot;Roundtable Session 2: Overcoming Discrimination to Realize Human Rights and Dignity for All&quot;&gt;08.07.24 13:03 Roundtable Session 2: Overcoming Discrimination to Realize Human Rights and Dignity for All&lt;/option&gt;&lt;option value=&quot;Welcome&quot;&gt;08.07.16 15:53 Welcome&lt;/option&gt;&lt;option value=&quot;HoverMenuPlugin&quot;&gt;08.07.16 15:46 HoverMenuPlugin&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference: Working paper: Timeline&quot;&gt;08.07.16 10:18 61st Annual DPI/NGO Conference: Working paper: Timeline&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference website&quot;&gt;08.07.16 09:56 61st Annual DPI/NGO Conference website&lt;/option&gt;&lt;option value=&quot;Menu Widgets&quot;&gt;08.06.25 12:55 Menu Widgets&lt;/option&gt;&lt;option value=&quot;Register for Conference&quot;&gt;08.06.25 12:44 Register for Conference&lt;/option&gt;&lt;option value=&quot;Link to this site&quot;&gt;08.06.25 11:36 Link to this site&lt;/option&gt;&lt;option value=&quot;Kofi Annan on the 50th Anniversry of the Universal Declaration of Human Rights&quot;&gt;08.06.25 11:12 Kofi Annan on the 50th Anniversry of the Universal Declaration of Human Rights&lt;/option&gt;&lt;option value=&quot;MarkupPreHead&quot;&gt;08.06.23 17:20 MarkupPreHead&lt;/option&gt;&lt;option value=&quot;Splash Screen&quot;&gt;08.06.23 17:19 Splash Screen&lt;/option&gt;&lt;option value=&quot;Config Tweaks&quot;&gt;08.06.11 16:36 Config Tweaks&lt;/option&gt;&lt;option value=&quot;NestedSlidersPlugin&quot;&gt;08.06.07 16:45 NestedSlidersPlugin&lt;/option&gt;&lt;option value=&quot;udhr@60+&quot;&gt;08.06.05 16:53 udhr@60+&lt;/option&gt;&lt;option value=&quot;The child's right to freedom of expression&quot;&gt;08.06.02 13:36 The child's right to freedom of expression&lt;/option&gt;&lt;option value=&quot;Current Menu&quot;&gt;08.06.02 13:34 Current Menu&lt;/option&gt;&lt;option value=&quot;Setup Menu&quot;&gt;08.06.02 13:33 Setup Menu&lt;/option&gt;&lt;option value=&quot;SiteSubtitle&quot;&gt;08.06.02 13:23 SiteSubtitle&lt;/option&gt;&lt;option value=&quot;ExportTiddlersPlugin&quot;&gt;08.05.27 17:23 ExportTiddlersPlugin&lt;/option&gt;&lt;option value=&quot;GettingStarted&quot;&gt;08.05.18 22:15 GettingStarted&lt;/option&gt;&lt;option value=&quot;Working with OHCHR: A Handbook for NGOs&quot;&gt;08.05.07 21:29 Working with OHCHR: A Handbook for NGOs&lt;/option&gt;&lt;option value=&quot;Office of the United Nations High Commissioner for Human Rights web site&quot;&gt;08.05.07 21:00 Office of the United Nations High Commissioner for Human Rights web site&lt;/option&gt;&lt;option value=&quot;MainMenuStyles&quot;&gt;08.05.05 20:27 MainMenuStyles&lt;/option&gt;&lt;option value=&quot;MainMenu&quot;&gt;08.05.05 13:02 MainMenu&lt;/option&gt;&lt;option value=&quot;Minutes of Research, Communications, &amp;amp; Website Sub-Committee Meeting, April 11, 2008&quot;&gt;08.05.05 13:02 Minutes of Research, Communications, &amp;amp; Website Sub-Committee Meeting, April 11, 2008&lt;/option&gt;&lt;option value=&quot;The UDHR@60+ icon&quot;&gt;08.05.05 12:54 The UDHR@60+ icon&lt;/option&gt;&lt;option value=&quot;Research, Communications &amp;amp; Website Sub-Committee&quot;&gt;08.05.05 12:43 Research, Communications &amp;amp; Website Sub-Committee&lt;/option&gt;&lt;option value=&quot;HeaderStyles&quot;&gt;08.05.05 10:59 HeaderStyles&lt;/option&gt;&lt;option value=&quot;Database on Human Rights Education and Training - OHCHR&quot;&gt;08.04.25 15:37 Database on Human Rights Education and Training - OHCHR&lt;/option&gt;&lt;option value=&quot;Human Rights Fact Sheets:&quot;&gt;08.04.19 15:57 Human Rights Fact Sheets:&lt;/option&gt;&lt;option value=&quot;HoverMenu&quot;&gt;08.04.19 15:56 HoverMenu&lt;/option&gt;&lt;option value=&quot;Google Translate&quot;&gt;08.04.04 09:45 Google Translate&lt;/option&gt;&lt;option value=&quot;Luarca Draft Declaration on the Human Right to Peace&quot;&gt;08.04.04 09:34 Luarca Draft Declaration on the Human Right to Peace&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference Planning Committee Meeting Minutes: 12 March 2008&quot;&gt;08.04.03 20:29 61st Annual DPI/NGO Conference Planning Committee Meeting Minutes: 12 March 2008&lt;/option&gt;&lt;option value=&quot;Planning Committee Minutes&quot;&gt;08.04.03 20:29 Planning Committee Minutes&lt;/option&gt;&lt;option value=&quot;CommonStyles&quot;&gt;08.04.02 18:26 CommonStyles&lt;/option&gt;&lt;option value=&quot;Book Travel &amp;amp; Accommodations&quot;&gt;08.04.02 18:21 Book Travel &amp;amp; Accommodations&lt;/option&gt;&lt;option value=&quot;Nominate a Speaker&quot;&gt;08.03.31 08:17 Nominate a Speaker&lt;/option&gt;&lt;option value=&quot;Minutes of Co-Chairs Meetings&quot;&gt;08.03.28 20:40 Minutes of Co-Chairs Meetings&lt;/option&gt;&lt;option value=&quot;Information Bulletin #2 - 12 March 2008&quot;&gt;08.03.20 11:33 Information Bulletin #2 - 12 March 2008&lt;/option&gt;&lt;option value=&quot;Provisional Conference Agenda&quot;&gt;08.03.18 10:54 Provisional Conference Agenda&lt;/option&gt;&lt;option value=&quot;Conference Overview&quot;&gt;08.03.18 10:49 Conference Overview&lt;/option&gt;&lt;option value=&quot;Planning Committee Co-Chairs&quot;&gt;08.03.17 20:45 Planning Committee Co-Chairs&lt;/option&gt;&lt;option value=&quot;Key Human Rights documents&quot;&gt;08.03.17 12:34 Key Human Rights documents&lt;/option&gt;&lt;option value=&quot;International Covenants&quot;&gt;08.03.17 12:33 International Covenants&lt;/option&gt;&lt;option value=&quot;Minutes of the 28 February 2008 Meeting of Co-Chairs&quot;&gt;08.03.17 10:08 Minutes of the 28 February 2008 Meeting of Co-Chairs&lt;/option&gt;&lt;option value=&quot;Minutes of the 14 February 2008 Meeting of Co-Chairs&quot;&gt;08.03.16 21:29 Minutes of the 14 February 2008 Meeting of Co-Chairs&lt;/option&gt;&lt;option value=&quot;SplitTiddler&quot;&gt;08.03.10 02:42 SplitTiddler&lt;/option&gt;&lt;option value=&quot;Site RSS feeds&quot;&gt;08.02.28 08:57 Site RSS feeds&lt;/option&gt;&lt;option value=&quot;Laws and Customs of War on Land. Section II. On Hostilities. Chapter I.  On means of injuring the Enemy, Sieges, and Bombardments&quot;&gt;08.02.28 08:02 Laws and Customs of War on Land. Section II. On Hostilities. Chapter I.  On means of injuring the Enemy, Sieges, and Bombardments&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference Planning Committee Meeting Minutes: 4 January 2008&quot;&gt;08.02.28 08:01 61st Annual DPI/NGO Conference Planning Committee Meeting Minutes: 4 January 2008&lt;/option&gt;&lt;option value=&quot;60th Annual DPI/NGO Conference&quot;&gt;08.02.27 22:52 60th Annual DPI/NGO Conference&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference Planning Committee Meeting Minutes: 31 January 2008&quot;&gt;08.02.27 22:49 61st Annual DPI/NGO Conference Planning Committee Meeting Minutes: 31 January 2008&lt;/option&gt;&lt;option value=&quot;HoverMenuStyles&quot;&gt;08.02.26 10:46 HoverMenuStyles&lt;/option&gt;&lt;option value=&quot;StyleSheet&quot;&gt;08.02.26 10:46 StyleSheet&lt;/option&gt;&lt;option value=&quot;PrintStyles&quot;&gt;08.02.26 10:37 PrintStyles&lt;/option&gt;&lt;option value=&quot;CustomStyleSheet&quot;&gt;08.02.25 23:01 CustomStyleSheet&lt;/option&gt;&lt;option value=&quot;TemplateShowColor&quot;&gt;08.02.25 17:19 TemplateShowColor&lt;/option&gt;&lt;option value=&quot;StyleSheetColors&quot;&gt;08.02.25 17:17 StyleSheetColors&lt;/option&gt;&lt;option value=&quot;CustomStyleSheetColors&quot;&gt;08.02.25 17:16 CustomStyleSheetColors&lt;/option&gt;&lt;option value=&quot;Formatting Tiddlers&quot;&gt;08.02.25 17:05 Formatting Tiddlers&lt;/option&gt;&lt;option value=&quot;TwHelpSearchPlugin&quot;&gt;08.02.25 16:37 TwHelpSearchPlugin&lt;/option&gt;&lt;option value=&quot;Style Sheets&quot;&gt;08.02.25 16:08 Style Sheets&lt;/option&gt;&lt;option value=&quot;TiddlyWiki Cooperation Circles&quot;&gt;08.02.22 19:13 TiddlyWiki Cooperation Circles&lt;/option&gt;&lt;option value=&quot;Jeffery Huffines&quot;&gt;08.02.20 13:01 Jeffery Huffines&lt;/option&gt;&lt;option value=&quot;About this web site&quot;&gt;08.02.20 12:47 About this web site&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference: Working paper: Planning Committee Sub-Committees&quot;&gt;08.02.18 10:06 61st Annual DPI/NGO Conference: Working paper: Planning Committee Sub-Committees&lt;/option&gt;&lt;option value=&quot;Colour Palette&quot;&gt;08.02.17 15:27 Colour Palette&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference: Working paper&quot;&gt;08.02.17 15:13 61st Annual DPI/NGO Conference: Working paper&lt;/option&gt;&lt;option value=&quot;SidebarStyles&quot;&gt;08.02.17 07:06 SidebarStyles&lt;/option&gt;&lt;option value=&quot;Climate Change &amp;amp; Human Rights, Mary Robinson&quot;&gt;08.02.17 06:56 Climate Change &amp;amp; Human Rights, Mary Robinson&lt;/option&gt;&lt;option value=&quot;Templates &amp;amp; Stylesheets&quot;&gt;08.02.16 18:13 Templates &amp;amp; Stylesheets&lt;/option&gt;&lt;option value=&quot;Import Tiddlers&quot;&gt;08.02.16 18:02 Import Tiddlers&lt;/option&gt;&lt;option value=&quot;Site Splash Screen&quot;&gt;08.02.16 10:04 Site Splash Screen&lt;/option&gt;&lt;option value=&quot;ToggleTagPlugin&quot;&gt;08.02.15 19:15 ToggleTagPlugin&lt;/option&gt;&lt;option value=&quot;TagglyTaggingStyles&quot;&gt;08.02.15 19:10 TagglyTaggingStyles&lt;/option&gt;&lt;option value=&quot;Simon Baird's BSD License&quot;&gt;08.02.15 19:05 Simon Baird's BSD License&lt;/option&gt;&lt;option value=&quot;ModifiedStyleSheetColors&quot;&gt;08.02.15 18:15 ModifiedStyleSheetColors&lt;/option&gt;&lt;option value=&quot;SiteTitle-edu&quot;&gt;08.02.15 16:09 SiteTitle-edu&lt;/option&gt;&lt;option value=&quot;TiddlyWiki Working Group&quot;&gt;08.02.15 08:56 TiddlyWiki Working Group&lt;/option&gt;&lt;option value=&quot;iframe template&quot;&gt;08.02.13 22:23 iframe template&lt;/option&gt;&lt;option value=&quot;Estelle Perry&quot;&gt;08.02.13 19:53 Estelle Perry&lt;/option&gt;&lt;option value=&quot;NGO/DPI Executive Committee&quot;&gt;08.02.13 19:23 NGO/DPI Executive Committee&lt;/option&gt;&lt;option value=&quot;Charles Hitchcock&quot;&gt;08.02.13 18:59 Charles Hitchcock&lt;/option&gt;&lt;option value=&quot;TwHelpSearchDoc&quot;&gt;08.02.10 20:07 TwHelpSearchDoc&lt;/option&gt;&lt;option value=&quot;Creative Commons licenses&quot;&gt;08.02.10 19:13 Creative Commons licenses&lt;/option&gt;&lt;option value=&quot;Creative Commons Attribution Non-Commercial Share-Alike Licence&quot;&gt;08.02.10 19:12 Creative Commons Attribution Non-Commercial Share-Alike Licence&lt;/option&gt;&lt;option value=&quot;Template for an NGO Framework for Action&quot;&gt;08.02.10 18:24 Template for an NGO Framework for Action&lt;/option&gt;&lt;option value=&quot;TiddlyWiki.org - MediaWiki site for TiddlyWiki&quot;&gt;08.02.10 17:49 TiddlyWiki.org - MediaWiki site for TiddlyWiki&lt;/option&gt;&lt;option value=&quot;The Wealth of Networks: How Social Production Transforms Markets and Freedom&quot;&gt;08.02.10 17:44 The Wealth of Networks: How Social Production Transforms Markets and Freedom&lt;/option&gt;&lt;option value=&quot;The Wealth of Networks: How Social Production Transforms Markets and Freedom - HTML&quot;&gt;08.02.10 17:35 The Wealth of Networks: How Social Production Transforms Markets and Freedom - HTML&lt;/option&gt;&lt;option value=&quot;The Wealth of Networks - MediaWiki site&quot;&gt;08.02.10 17:32 The Wealth of Networks - MediaWiki site&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference Planning Committee&quot;&gt;08.02.10 17:28 61st Annual DPI/NGO Conference Planning Committee&lt;/option&gt;&lt;option value=&quot;Human Rights Special Rapporteurs: Country Mandates&quot;&gt;08.02.10 17:24 Human Rights Special Rapporteurs: Country Mandates&lt;/option&gt;&lt;option value=&quot;Human Rights Special Rapporteurs: Thematic Mandates&quot;&gt;08.02.10 17:23 Human Rights Special Rapporteurs: Thematic Mandates&lt;/option&gt;&lt;option value=&quot;Template snippets&quot;&gt;08.02.10 17:19 Template snippets&lt;/option&gt;&lt;option value=&quot;Shamina de Gonzaga&quot;&gt;08.02.10 13:30 Shamina de Gonzaga&lt;/option&gt;&lt;option value=&quot;Fundación Cultural Baur, A.C.&quot;&gt;08.02.10 10:49 Fundación Cultural Baur, A.C.&lt;/option&gt;&lt;option value=&quot;John Stuart Mill, On Liberty&quot;&gt;08.02.10 10:03 John Stuart Mill, On Liberty&lt;/option&gt;&lt;option value=&quot;Human Rights Torch - 200x230&quot;&gt;08.02.07 08:16 Human Rights Torch - 200x230&lt;/option&gt;&lt;option value=&quot;Dignity and Justice for All&quot;&gt;08.02.07 06:42 Dignity and Justice for All&lt;/option&gt;&lt;option value=&quot;User Options&quot;&gt;08.02.07 06:30 User Options&lt;/option&gt;&lt;option value=&quot;Unofficial Proposed Design for a logo to inspire realization of the Universal Declaration on Human Rights @ 60+&quot;&gt;08.02.06 18:51 Unofficial Proposed Design for a logo to inspire realization of the Universal Declaration on Human Rights @ 60+&lt;/option&gt;&lt;option value=&quot;UDHR60+ Logo 400x182&quot;&gt;08.02.06 15:30 UDHR60+ Logo 400x182&lt;/option&gt;&lt;option value=&quot;PageTemplate&quot;&gt;08.02.06 09:15 PageTemplate&lt;/option&gt;&lt;option value=&quot;UDHR60+ Logo 800x364&quot;&gt;08.02.05 19:54 UDHR60+ Logo 800x364&lt;/option&gt;&lt;option value=&quot;UDHR60+ Logo 160x73&quot;&gt;08.02.05 19:40 UDHR60+ Logo 160x73&lt;/option&gt;&lt;option value=&quot;UDHR PageTemplate&quot;&gt;08.02.05 18:39 UDHR PageTemplate&lt;/option&gt;&lt;option value=&quot;UDHR60+ Logo 100x46&quot;&gt;08.02.05 18:37 UDHR60+ Logo 100x46&lt;/option&gt;&lt;option value=&quot;UDHR60+ Logo 320x146&quot;&gt;08.02.05 18:35 UDHR60+ Logo 320x146&lt;/option&gt;&lt;option value=&quot;PageTemplate 2008.02.05&quot;&gt;08.02.05 18:28 PageTemplate 2008.02.05&lt;/option&gt;&lt;option value=&quot;SiteUrl&quot;&gt;08.02.05 17:33 SiteUrl&lt;/option&gt;&lt;option value=&quot;10 December 2007 Launch of a Year-Long Celebration of the 60th Anniversary of the UDHR&quot;&gt;08.02.04 22:42 10 December 2007 Launch of a Year-Long Celebration of the 60th Anniversary of the UDHR&lt;/option&gt;&lt;option value=&quot;KnowYourRights2008&quot;&gt;08.02.04 17:02 KnowYourRights2008&lt;/option&gt;&lt;option value=&quot;Peace &amp;amp; Human Rights Education - UNESCO&quot;&gt;08.02.03 20:16 Peace &amp;amp; Human Rights Education - UNESCO&lt;/option&gt;&lt;option value=&quot;Committee on Economic, Social and Cultural Rights web site&quot;&gt;08.02.03 15:50 Committee on Economic, Social and Cultural Rights web site&lt;/option&gt;&lt;option value=&quot;UN Human Rights sites&quot;&gt;08.02.03 15:50 UN Human Rights sites&lt;/option&gt;&lt;option value=&quot;Committee Against Torture web site&quot;&gt;08.02.03 15:48 Committee Against Torture web site&lt;/option&gt;&lt;option value=&quot;Committee on the Elimination of Racial Discrimination web site&quot;&gt;08.02.03 15:47 Committee on the Elimination of Racial Discrimination web site&lt;/option&gt;&lt;option value=&quot;Committee on the Elimination of Discrimination Against Women web site&quot;&gt;08.02.03 15:46 Committee on the Elimination of Discrimination Against Women web site&lt;/option&gt;&lt;option value=&quot;Committee on the Rights of the Child web site&quot;&gt;08.02.03 15:45 Committee on the Rights of the Child web site&lt;/option&gt;&lt;option value=&quot;Human Rights Committee web site&quot;&gt;08.02.03 15:45 Human Rights Committee web site&lt;/option&gt;&lt;option value=&quot;Subcommittee on Prevention of Torture web site&quot;&gt;08.02.03 15:42 Subcommittee on Prevention of Torture web site&lt;/option&gt;&lt;option value=&quot;General Assembly approves International Year of Human Rights Learning&quot;&gt;08.02.03 09:38 General Assembly approves International Year of Human Rights Learning&lt;/option&gt;&lt;option value=&quot;Human Rights Council web site&quot;&gt;08.02.03 09:22 Human Rights Council web site&lt;/option&gt;&lt;option value=&quot;Sub-Commission on the Promotion and Protection of Human Rights web site&quot;&gt;08.02.03 09:21 Sub-Commission on the Promotion and Protection of Human Rights web site&lt;/option&gt;&lt;option value=&quot;DPI/NGO Section&quot;&gt;08.01.30 21:28 DPI/NGO Section&lt;/option&gt;&lt;option value=&quot;References to the Univeral Declaration on Human Rights&quot;&gt;08.01.30 08:55 References to the Univeral Declaration on Human Rights&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference: Working paper: Planning Committee structure&quot;&gt;08.01.27 15:40 61st Annual DPI/NGO Conference: Working paper: Planning Committee structure&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference: Working paper: Conference Format&quot;&gt;08.01.27 15:34 61st Annual DPI/NGO Conference: Working paper: Conference Format&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference: Working paper: Structure of New York Planning Committee&quot;&gt;08.01.27 15:31 61st Annual DPI/NGO Conference: Working paper: Structure of New York Planning Committee&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference: Working paper: Context&quot;&gt;08.01.27 15:30 61st Annual DPI/NGO Conference: Working paper: Context&lt;/option&gt;&lt;option value=&quot;United Nations Yearbook Summary, 1948&quot;&gt;08.01.17 10:42 United Nations Yearbook Summary, 1948&lt;/option&gt;&lt;option value=&quot;The Universal Declaration of Human Rights: A Magna Carta for all humanity&quot;&gt;08.01.16 13:49 The Universal Declaration of Human Rights: A Magna Carta for all humanity&lt;/option&gt;&lt;option value=&quot;The Right to Education&quot;&gt;08.01.15 10:14 The Right to Education&lt;/option&gt;&lt;option value=&quot;Palais de Chaillot, Paris - from Google Maps&quot;&gt;08.01.13 18:43 Palais de Chaillot, Paris - from Google Maps&lt;/option&gt;&lt;option value=&quot;Palais des Nations, Geneva - from Google Maps&quot;&gt;08.01.13 18:39 Palais des Nations, Geneva - from Google Maps&lt;/option&gt;&lt;option value=&quot;United Nations Headquarters, New York - from Google Maps&quot;&gt;08.01.13 18:39 United Nations Headquarters, New York - from Google Maps&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference: Working paper:  Timeline&quot;&gt;08.01.09 17:54 61st Annual DPI/NGO Conference: Working paper:  Timeline&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference: Working paper:  Conference Format&quot;&gt;08.01.09 17:50 61st Annual DPI/NGO Conference: Working paper:  Conference Format&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference: Working paper: Suggested themes and perspectives&quot;&gt;08.01.09 17:48 61st Annual DPI/NGO Conference: Working paper: Suggested themes and perspectives&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference: Working paper: Goals&quot;&gt;08.01.09 17:45 61st Annual DPI/NGO Conference: Working paper: Goals&lt;/option&gt;&lt;option value=&quot;61st Annual DPI/NGO Conference: Working paper: Overview&quot;&gt;08.01.09 17:44 61st Annual DPI/NGO Conference: Working paper: Overview&lt;/option&gt;&lt;option value=&quot;Google Reader&quot;&gt;08.01.05 20:37 Google Reader&lt;/option&gt;&lt;option value=&quot;Recent Tiddlers&quot;&gt;08.01.01 15:26 Recent Tiddlers&lt;/option&gt;&lt;option value=&quot;United Nations Charter&quot;&gt;08.01.01 15:15 United Nations Charter&lt;/option&gt;&lt;option value=&quot;61/295. United Nations Declaration on the Rights of Indigenous Peoples&quot;&gt;08.01.01 14:42 61/295. United Nations Declaration on the Rights of Indigenous Peoples&lt;/option&gt;&lt;option value=&quot;Tiddler Timeline&quot;&gt;07.12.31 21:23 Tiddler Timeline&lt;/option&gt;&lt;option value=&quot;International Covenants on Human Rights&quot;&gt;07.12.31 21:16 International Covenants on Human Rights&lt;/option&gt;&lt;option value=&quot;human rights&quot;&gt;07.12.31 21:14 human rights&lt;/option&gt;&lt;option value=&quot;Human Rights @ UN Documents Cooperation Circles&quot;&gt;07.12.31 19:59 Human Rights @ UN Documents Cooperation Circles&lt;/option&gt;&lt;option value=&quot;Education, Youth &amp;amp; Technology for Sustainable Development&quot;&gt;07.12.30 12:09 Education, Youth &amp;amp; Technology for Sustainable Development&lt;/option&gt;&lt;option value=&quot;Tiddler Tweaker&quot;&gt;07.12.29 22:34 Tiddler Tweaker&lt;/option&gt;&lt;option value=&quot;Climate Change 2.0 - Talking Points&quot;&gt;07.12.27 12:17 Climate Change 2.0 - Talking Points&lt;/option&gt;&lt;option value=&quot;information ecology&quot;&gt;07.12.27 10:13 information ecology&lt;/option&gt;&lt;option value=&quot;Integrated Monitoring Frameworks: NGO Recommendations for Actions and Commitments at Earth Summit II&quot;&gt;07.12.27 10:06 Integrated Monitoring Frameworks: NGO Recommendations for Actions and Commitments at Earth Summit II&lt;/option&gt;&lt;option value=&quot;Information Ecology: NGO Recommendations for Actions and Commitments at Earth Summit II&quot;&gt;07.12.27 10:01 Information Ecology: NGO Recommendations for Actions and Commitments at Earth Summit II&lt;/option&gt;&lt;option value=&quot;TiddlerTweakerPlugin&quot;&gt;07.12.26 19:06 TiddlerTweakerPlugin&lt;/option&gt;&lt;option value=&quot;Extended Options&quot;&gt;07.12.24 13:10 Extended Options&lt;/option&gt;&lt;option value=&quot;Nuclear Non-Proliferation Treaty&quot;&gt;07.12.24 12:33 Nuclear Non-Proliferation Treaty&lt;/option&gt;&lt;option value=&quot;Declaration of the United Nations Conference on the Human Environment&quot;&gt;07.12.23 11:43 Declaration of the United Nations Conference on the Human Environment&lt;/option&gt;&lt;option value=&quot;Declaration on a Culture of Peace&quot;&gt;07.12.22 10:46 Declaration on a Culture of Peace&lt;/option&gt;&lt;option value=&quot;62/171. International Year of Human Rights Learning&quot;&gt;07.12.18 07:01 62/171. International Year of Human Rights Learning&lt;/option&gt;&lt;option value=&quot;CONGO Resolution on Information and Communications&quot;&gt;07.12.14 16:06 CONGO Resolution on Information and Communications&lt;/option&gt;&lt;option value=&quot;ViewTemplate&quot;&gt;07.12.10 16:35 ViewTemplate&lt;/option&gt;&lt;option value=&quot;Search Box&quot;&gt;07.12.06 10:36 Search Box&lt;/option&gt;&lt;option value=&quot;NewDocumentPlugin&quot;&gt;07.12.04 18:35 NewDocumentPlugin&lt;/option&gt;&lt;option value=&quot;PaletteViewMacro&quot;&gt;07.11.20 17:08 PaletteViewMacro&lt;/option&gt;&lt;option value=&quot;Joan Kirby&quot;&gt;07.11.10 11:35 Joan Kirby&lt;/option&gt;&lt;option value=&quot;Richard Jordan&quot;&gt;07.11.09 20:17 Richard Jordan&lt;/option&gt;&lt;option value=&quot;William Gellermann&quot;&gt;07.11.09 18:59 William Gellermann&lt;/option&gt;&lt;option value=&quot;MarkupPostBody&quot;&gt;07.11.09 14:38 MarkupPostBody&lt;/option&gt;&lt;option value=&quot;What are News Feeds / RSS?&quot;&gt;07.10.26 14:46 What are News Feeds / RSS?&lt;/option&gt;&lt;option value=&quot;TiddlyWiki&quot;&gt;07.10.15 21:36 TiddlyWiki&lt;/option&gt;&lt;option value=&quot;Climate Change 2.0 - Elements&quot;&gt;07.10.15 12:58 Climate Change 2.0 - Elements&lt;/option&gt;&lt;option value=&quot;DeprecatedFunctionsPlugin&quot;&gt;07.10.13 22:59 DeprecatedFunctionsPlugin&lt;/option&gt;&lt;option value=&quot;SparklinePlugin&quot;&gt;07.10.13 22:59 SparklinePlugin&lt;/option&gt;&lt;option value=&quot;Economics of information&quot;&gt;07.10.08 11:22 Economics of information&lt;/option&gt;&lt;option value=&quot;International Decade for a Culture of Peace and Non-Violence for the Children of the World&quot;&gt;07.10.06 17:22 International Decade for a Culture of Peace and Non-Violence for the Children of the World&lt;/option&gt;&lt;option value=&quot;Declaration on the Granting of Independence to Colonial Countries and Peoples&quot;&gt;07.10.06 16:58 Declaration on the Granting of Independence to Colonial Countries and Peoples&lt;/option&gt;&lt;option value=&quot;Optional Protocol to the International Covenant on Civil and Political Rights&quot;&gt;07.10.06 16:55 Optional Protocol to the International Covenant on Civil and Political Rights&lt;/option&gt;&lt;option value=&quot;Declaration on a Culture of Peace. Article 3&quot;&gt;07.10.06 16:41 Declaration on a Culture of Peace. Article 3&lt;/option&gt;&lt;option value=&quot;Declaration on a Culture of Peace. Article 1&quot;&gt;07.10.06 15:48 Declaration on a Culture of Peace. Article 1&lt;/option&gt;&lt;option value=&quot;Culture of Peace&quot;&gt;07.10.06 15:29 Culture of Peace&lt;/option&gt;&lt;option value=&quot;MultiRssPlugin&quot;&gt;07.10.06 15:01 MultiRssPlugin&lt;/option&gt;&lt;option value=&quot;Information Ecology&quot;&gt;07.10.06 10:51 Information Ecology&lt;/option&gt;&lt;option value=&quot;Properties of information&quot;&gt;07.10.06 10:50 Properties of information&lt;/option&gt;&lt;option value=&quot;Climate Change 2.0&quot;&gt;07.10.06 10:43 Climate Change 2.0&lt;/option&gt;&lt;option value=&quot;Protocol on Prohibitions or Restrictions on the Use of Incendiary Weapons&quot;&gt;07.10.05 15:24 Protocol on Prohibitions or Restrictions on the Use of Incendiary Weapons&lt;/option&gt;&lt;option value=&quot;Resolution 1997/36. International peace and security as an essential condition for the enjoyment of human rights, above all the right to life&quot;&gt;07.10.05 15:21 Resolution 1997/36. International peace and security as an essential condition for the enjoyment of human rights, above all the right to life&lt;/option&gt;&lt;option value=&quot;Draft General Assembly Resolution: Concerns About Weapons Containing Depleted Uranium&quot;&gt;07.10.04 18:45 Draft General Assembly Resolution: Concerns About Weapons Containing Depleted Uranium&lt;/option&gt;&lt;option value=&quot;The Avalon Project at Yale Law School: The Laws of War&quot;&gt;07.09.30 16:54 The Avalon Project at Yale Law School: The Laws of War&lt;/option&gt;&lt;option value=&quot;Declaration on the Use of Projectiles the Object of Which is the Diffusion of Asphyxiating or Deleterious Gases; July 29, 1899&quot;&gt;07.09.30 16:48 Declaration on the Use of Projectiles the Object of Which is the Diffusion of Asphyxiating or Deleterious Gases; July 29, 1899&lt;/option&gt;&lt;option value=&quot;St. Petersburg Declaration of 1868&quot;&gt;07.09.30 15:11 St. Petersburg Declaration of 1868&lt;/option&gt;&lt;option value=&quot;siteMap plugin macro&quot;&gt;07.09.25 11:00 siteMap plugin macro&lt;/option&gt;&lt;option value=&quot;dataperfect&quot;&gt;07.09.23 17:34 dataperfect&lt;/option&gt;&lt;option value=&quot;SliderSiteMap&quot;&gt;07.09.23 16:51 SliderSiteMap&lt;/option&gt;&lt;option value=&quot;Better timeline plugin macro&quot;&gt;07.09.23 14:27 Better timeline plugin macro&lt;/option&gt;&lt;option value=&quot;IntelliTaggerPlugin&quot;&gt;07.09.23 13:45 IntelliTaggerPlugin&lt;/option&gt;&lt;option value=&quot;Settings plugin macro&quot;&gt;07.09.23 13:38 Settings plugin macro&lt;/option&gt;&lt;option value=&quot;ImportExportPackage&quot;&gt;07.09.23 13:28 ImportExportPackage&lt;/option&gt;&lt;option value=&quot;FormattingPackage&quot;&gt;07.09.23 13:23 FormattingPackage&lt;/option&gt;&lt;option value=&quot;SearchOptions plugin&quot;&gt;07.09.23 13:12 SearchOptions plugin&lt;/option&gt;&lt;option value=&quot;InputPackage&quot;&gt;07.09.23 12:50 InputPackage&lt;/option&gt;&lt;option value=&quot;declaration&quot;&gt;07.09.22 15:08 declaration&lt;/option&gt;&lt;option value=&quot;EditTemplate&quot;&gt;07.09.22 11:29 EditTemplate&lt;/option&gt;&lt;option value=&quot;css&quot;&gt;07.09.22 11:10 css&lt;/option&gt;&lt;option value=&quot;Plugin Macros&quot;&gt;07.09.22 10:56 Plugin Macros&lt;/option&gt;&lt;option value=&quot;systemConfig&quot;&gt;07.09.22 10:21 systemConfig&lt;/option&gt;&lt;option value=&quot;Knowledge-based universe&quot;&gt;07.09.21 15:43 Knowledge-based universe&lt;/option&gt;&lt;option value=&quot;Subscribe to the Climate Change 2.0 Google Group&quot;&gt;07.09.21 15:33 Subscribe to the Climate Change 2.0 Google Group&lt;/option&gt;&lt;option value=&quot;cc2.0&quot;&gt;07.09.21 15:02 cc2.0&lt;/option&gt;&lt;option value=&quot;Rio Declaration on Environment and Development&quot;&gt;07.09.21 14:51 Rio Declaration on Environment and Development&lt;/option&gt;&lt;option value=&quot;DPI/NGO Conference Planning Committee&quot;&gt;07.09.21 14:41 DPI/NGO Conference Planning Committee&lt;/option&gt;&lt;option value=&quot;TiddlyWikiPerfect: An emerging hybrid information species&quot;&gt;07.09.21 14:30 TiddlyWikiPerfect: An emerging hybrid information species&lt;/option&gt;&lt;option value=&quot;RSS feeds&quot;&gt;07.09.21 14:19 RSS feeds&lt;/option&gt;&lt;option value=&quot;Tiddlers&quot;&gt;07.09.21 14:10 Tiddlers&lt;/option&gt;&lt;option value=&quot;tiddlywiki&quot;&gt;07.09.21 13:53 tiddlywiki&lt;/option&gt;&lt;option value=&quot;Menus&quot;&gt;07.09.21 13:46 Menus&lt;/option&gt;&lt;option value=&quot;un-documents.net&quot;&gt;07.09.20 10:40 un-documents.net&lt;/option&gt;&lt;option value=&quot;convention&quot;&gt;07.09.20 10:29 convention&lt;/option&gt;&lt;option value=&quot;google groups&quot;&gt;07.09.20 10:12 google groups&lt;/option&gt;&lt;option value=&quot;Networking Sub-Committee&quot;&gt;07.09.19 14:52 Networking Sub-Committee&lt;/option&gt;&lt;option value=&quot;Networking Sub-Committee's Google Group&quot;&gt;07.09.19 14:52 Networking Sub-Committee's Google Group&lt;/option&gt;&lt;option value=&quot;Subscribe to the TiddlyWiki Google Group&quot;&gt;07.09.19 14:47 Subscribe to the TiddlyWiki Google Group&lt;/option&gt;&lt;option value=&quot;Subscribe to the NGO Committee on Education Google Group&quot;&gt;07.09.19 14:44 Subscribe to the NGO Committee on Education Google Group&lt;/option&gt;&lt;option value=&quot;Google Groups&quot;&gt;07.09.19 14:43 Google Groups&lt;/option&gt;&lt;option value=&quot;Economics of Climate Change: The Stern Review&quot;&gt;07.09.19 14:12 Economics of Climate Change: The Stern Review&lt;/option&gt;&lt;option value=&quot;Rescuing a Planet Under Stress and a Civilization in Trouble: Plan B 2.1 (beta)&quot;&gt;07.09.19 14:10 Rescuing a Planet Under Stress and a Civilization in Trouble: Plan B 2.1 (beta)&lt;/option&gt;&lt;option value=&quot;tiddlywikiperfect&quot;&gt;07.09.19 14:08 tiddlywikiperfect&lt;/option&gt;&lt;option value=&quot;Subscribe to the Information Ecology Yahoo! Group&quot;&gt;07.09.19 14:00 Subscribe to the Information Ecology Yahoo! Group&lt;/option&gt;&lt;option value=&quot;Refresh macro&quot;&gt;07.09.19 13:22 Refresh macro&lt;/option&gt;&lt;option value=&quot;convention of war&quot;&gt;07.09.19 12:19 convention of war&lt;/option&gt;&lt;option value=&quot;60th Annual DPI/NGO Conference Declaration:  Climate Change Threats - An NGO Framework for Action&quot;&gt;07.09.19 11:59 60th Annual DPI/NGO Conference Declaration:  Climate Change Threats - An NGO Framework for Action&lt;/option&gt;&lt;option value=&quot;Hover Menu&quot;&gt;07.09.19 10:30 Hover Menu&lt;/option&gt;&lt;option value=&quot;Peace Caucus: The Wild Cards in Climate Change&quot;&gt;07.09.18 22:42 Peace Caucus: The Wild Cards in Climate Change&lt;/option&gt;&lt;option value=&quot;FeedBlitz&quot;&gt;07.09.18 21:37 FeedBlitz&lt;/option&gt;&lt;option value=&quot;MicroContent&quot;&gt;07.09.18 18:47 MicroContent&lt;/option&gt;&lt;option value=&quot;Subscribe to the Peace Caucus Yahoo! Group&quot;&gt;07.09.17 17:07 Subscribe to the Peace Caucus Yahoo! Group&lt;/option&gt;&lt;option value=&quot;Information and Communications Sub-Committee&quot;&gt;07.09.14 16:36 Information and Communications Sub-Committee&lt;/option&gt;&lt;option value=&quot;Conference Of NGOs&quot;&gt;07.09.14 16:34 Conference Of NGOs&lt;/option&gt;&lt;option value=&quot;Templates for Light &amp;amp; Colour Cubes&quot;&gt;07.09.14 16:25 Templates for Light &amp;amp; Colour Cubes&lt;/option&gt;&lt;option value=&quot;NGO Committee on Education&quot;&gt;07.09.14 15:47 NGO Committee on Education&lt;/option&gt;&lt;option value=&quot;UN Documents Cooperation Circles: Gathering a Body of Global Agreements&quot;&gt;07.09.03 17:36 UN Documents Cooperation Circles: Gathering a Body of Global Agreements&lt;/option&gt;&lt;option value=&quot;Istanbul Declaration on Human Settlements&quot;&gt;07.09.03 17:26 Istanbul Declaration on Human Settlements&lt;/option&gt;&lt;option value=&quot;NGO Committee on Education: Executive Committee&quot;&gt;07.09.03 13:17 NGO Committee on Education: Executive Committee&lt;/option&gt;&lt;option value=&quot;Pauline Cantwell&quot;&gt;07.09.03 11:46 Pauline Cantwell&lt;/option&gt;&lt;option value=&quot;ListboxPlugin&quot;&gt;07.08.31 19:54 ListboxPlugin&lt;/option&gt;&lt;option value=&quot;Convention on Prohibitions or Restrictions on the Use of Certain Conventional Weapons Which May be Deemed to be Excessively Injurious or to Have Indiscriminate Effects&quot;&gt;07.08.02 19:38 Convention on Prohibitions or Restrictions on the Use of Certain Conventional Weapons Which May be Deemed to be Excessively Injurious or to Have Indiscriminate Effects&lt;/option&gt;&lt;option value=&quot;Protocol II Additional to the Geneva Conventions of 12 August 1949, and relating to the Protection of Victims of Non-International Armed Conflicts&quot;&gt;07.08.01 19:31 Protocol II Additional to the Geneva Conventions of 12 August 1949, and relating to the Protection of Victims of Non-International Armed Conflicts&lt;/option&gt;&lt;option value=&quot;Protocol I Additional to the Geneva Conventions of 12 August 1949, and relating to the Protection of Victims of International Armed Conflicts&quot;&gt;07.08.01 18:58 Protocol I Additional to the Geneva Conventions of 12 August 1949, and relating to the Protection of Victims of International Armed Conflicts&lt;/option&gt;&lt;option value=&quot;Geneva Convention IV: relative to the Protection of Civilian Persons in Time of War&quot;&gt;07.08.01 18:54 Geneva Convention IV: relative to the Protection of Civilian Persons in Time of War&lt;/option&gt;&lt;option value=&quot;Geneva Convention III: relative to the Treatment of Prisoners of War&quot;&gt;07.08.01 18:49 Geneva Convention III: relative to the Treatment of Prisoners of War&lt;/option&gt;&lt;option value=&quot;Geneva Convention II: for the Amelioration of the Condition of the Wounded and Sick and Shipwrecked Members of Armed Forces at Sea&quot;&gt;07.08.01 18:44 Geneva Convention II: for the Amelioration of the Condition of the Wounded and Sick and Shipwrecked Members of Armed Forces at Sea&lt;/option&gt;&lt;option value=&quot;Convention on the Prohibition of Military or Any Other Hostile Use of Environmental Modification Techniques&quot;&gt;07.08.01 18:10 Convention on the Prohibition of Military or Any Other Hostile Use of Environmental Modification Techniques&lt;/option&gt;&lt;option value=&quot;Geneva Convention I: for the Amelioration of the Condition of the Wounded and Sick in Armed Forces in the Field&quot;&gt;07.08.01 18:03 Geneva Convention I: for the Amelioration of the Condition of the Wounded and Sick in Armed Forces in the Field&lt;/option&gt;&lt;option value=&quot;Geneva Conventions&quot;&gt;07.08.01 18:00 Geneva Conventions&lt;/option&gt;&lt;option value=&quot;Convention on the Prohibition of the Use, Stockpiling, Production and Transfer of Anti-personnel Mines and on Their Destruction&quot;&gt;07.08.01 17:54 Convention on the Prohibition of the Use, Stockpiling, Production and Transfer of Anti-personnel Mines and on Their Destruction&lt;/option&gt;&lt;option value=&quot;ForEachTiddlerMacro&quot;&gt;07.07.30 05:22 ForEachTiddlerMacro&lt;/option&gt;&lt;option value=&quot;RecentChangesPlugin&quot;&gt;07.07.27 08:27 RecentChangesPlugin&lt;/option&gt;&lt;option value=&quot;UN Department of Public Information&quot;&gt;07.07.19 09:39 UN Department of Public Information&lt;/option&gt;&lt;option value=&quot;Our Common Future&quot;&gt;07.07.18 22:04 Our Common Future&lt;/option&gt;&lt;option value=&quot;NGOs in Consultative Status with the Economic and Social Council&quot;&gt;07.07.18 16:40 NGOs in Consultative Status with the Economic and Social Council&lt;/option&gt;&lt;option value=&quot;NGOs associated with DPI&quot;&gt;07.07.18 16:36 NGOs associated with DPI&lt;/option&gt;&lt;option value=&quot;RelatedTiddlersPlugin&quot;&gt;07.07.13 12:48 RelatedTiddlersPlugin&lt;/option&gt;&lt;option value=&quot;Images from the peace cubes&quot;&gt;07.06.25 00:27 Images from the peace cubes&lt;/option&gt;&lt;option value=&quot;Information ecosystems&quot;&gt;07.06.11 12:31 Information ecosystems&lt;/option&gt;&lt;option value=&quot;DisableWikiLinksPlugin&quot;&gt;07.06.08 23:13 DisableWikiLinksPlugin&lt;/option&gt;&lt;option value=&quot;Formatting Text&quot;&gt;07.04.23 12:31 Formatting Text&lt;/option&gt;&lt;option value=&quot;Subscribe to Climate Change 2.0&quot;&gt;07.04.23 12:15 Subscribe to Climate Change 2.0&lt;/option&gt;&lt;option value=&quot;TiddlyWikiPerfect Sites&quot;&gt;07.04.18 23:39 TiddlyWikiPerfect Sites&lt;/option&gt;&lt;option value=&quot;Contact form&quot;&gt;07.04.18 22:55 Contact form&lt;/option&gt;&lt;option value=&quot;ForEachTiddlerPlugin&quot;&gt;07.04.12 16:22 ForEachTiddlerPlugin&lt;/option&gt;&lt;option value=&quot;Twin Light &amp;amp; Colour Cubes&quot;&gt;07.04.07 13:23 Twin Light &amp;amp; Colour Cubes&lt;/option&gt;&lt;option value=&quot;Images&quot;&gt;07.04.07 11:46 Images&lt;/option&gt;&lt;option value=&quot;Administrative Menus&quot;&gt;07.04.07 09:11 Administrative Menus&lt;/option&gt;&lt;option value=&quot;Alphabetical Tiddlers&quot;&gt;07.04.06 17:51 Alphabetical Tiddlers&lt;/option&gt;&lt;option value=&quot;Gandhi-King Season for Nonviolence&quot;&gt;07.04.03 11:25 Gandhi-King Season for Nonviolence&lt;/option&gt;&lt;option value=&quot;Integrated Monitoring Frameworks: NGO Recommendations&quot;&gt;07.03.13 11:41 Integrated Monitoring Frameworks: NGO Recommendations&lt;/option&gt;&lt;option value=&quot;Information Ecology: NGO Recommendations&quot;&gt;07.03.13 11:38 Information Ecology: NGO Recommendations&lt;/option&gt;&lt;option value=&quot;Shadow Tiddlers&quot;&gt;07.03.12 09:54 Shadow Tiddlers&lt;/option&gt;&lt;option value=&quot;Purposes and Principles of the United Nations&quot;&gt;07.03.12 09:38 Purposes and Principles of the United Nations&lt;/option&gt;&lt;option value=&quot;Johannesburg Declaration on Sustainable Development&quot;&gt;07.03.12 09:35 Johannesburg Declaration on Sustainable Development&lt;/option&gt;&lt;option value=&quot;Basic Tiddler Lists&quot;&gt;07.03.11 22:13 Basic Tiddler Lists&lt;/option&gt;&lt;option value=&quot;Executive Committee&quot;&gt;07.03.08 07:20 Executive Committee&lt;/option&gt;&lt;option value=&quot;Tiddler Administration&quot;&gt;07.03.08 05:53 Tiddler Administration&lt;/option&gt;&lt;option value=&quot;Robert Pollard&quot;&gt;07.03.08 05:44 Robert Pollard&lt;/option&gt;&lt;option value=&quot;By-laws&quot;&gt;07.03.08 04:27 By-laws&lt;/option&gt;&lt;option value=&quot;Imported Tiddlers&quot;&gt;07.03.08 02:56 Imported Tiddlers&lt;/option&gt;&lt;option value=&quot;ColorPalette&quot;&gt;07.02.26 18:35 ColorPalette&lt;/option&gt;&lt;option value=&quot;AdvancedOptions&quot;&gt;07.02.25 13:05 AdvancedOptions&lt;/option&gt;&lt;option value=&quot;Millennium Development Goals&quot;&gt;07.02.20 10:36 Millennium Development Goals&lt;/option&gt;&lt;option value=&quot;Search Options&quot;&gt;07.02.12 14:47 Search Options&lt;/option&gt;&lt;option value=&quot;Headings &amp;amp; Outlines&quot;&gt;07.02.12 14:13 Headings &amp;amp; Outlines&lt;/option&gt;&lt;option value=&quot;Tiddler Lists&quot;&gt;07.02.12 14:02 Tiddler Lists&lt;/option&gt;&lt;option value=&quot;InlineSlidersPlugin&quot;&gt;07.01.26 11:01 InlineSlidersPlugin&lt;/option&gt;&lt;option value=&quot;Missing Tiddlers&quot;&gt;07.01.17 20:11 Missing Tiddlers&lt;/option&gt;&lt;option value=&quot;ExternalLinkPreviewPlugin&quot;&gt;07.01.07 11:39 ExternalLinkPreviewPlugin&lt;/option&gt;&lt;option value=&quot;TiddlerPreviewsPlugin&quot;&gt;07.01.07 11:37 TiddlerPreviewsPlugin&lt;/option&gt;&lt;option value=&quot;MonkeyTaggerMacro&quot;&gt;06.12.26 11:55 MonkeyTaggerMacro&lt;/option&gt;&lt;option value=&quot;Shadowed Tiddlers&quot;&gt;06.12.26 11:49 Shadowed Tiddlers&lt;/option&gt;&lt;option value=&quot;61/106. Convention on the Rights of Persons with Disabilities&quot;&gt;06.12.13 07:01 61/106. Convention on the Rights of Persons with Disabilities&lt;/option&gt;&lt;option value=&quot;Convention on the Rights of Persons with Disabilities&quot;&gt;06.12.13 07:01 Convention on the Rights of Persons with Disabilities&lt;/option&gt;&lt;option value=&quot;Information Habitat: Where Information Lives&quot;&gt;06.11.06 10:35 Information Habitat: Where Information Lives&lt;/option&gt;&lt;option value=&quot;allTagsExcept plugin macro&quot;&gt;06.11.04 18:44 allTagsExcept plugin macro&lt;/option&gt;&lt;option value=&quot;60/11. Promotion of religious and cultural understanding, harmony and cooperation&quot;&gt;06.11.03 08:00 60/11. Promotion of religious and cultural understanding, harmony and cooperation&lt;/option&gt;&lt;option value=&quot;Faye C. Feller&quot;&gt;06.10.30 08:44 Faye C. Feller&lt;/option&gt;&lt;option value=&quot;CloseOnCancelPlugin&quot;&gt;06.10.19 22:59 CloseOnCancelPlugin&lt;/option&gt;&lt;option value=&quot;HideWhenPlugin&quot;&gt;06.10.19 22:58 HideWhenPlugin&lt;/option&gt;&lt;option value=&quot;QuickOpenTagPlugin&quot;&gt;06.10.19 22:54 QuickOpenTagPlugin&lt;/option&gt;&lt;option value=&quot;fontSize plugin macro&quot;&gt;06.07.25 03:10 fontSize plugin macro&lt;/option&gt;&lt;option value=&quot;fullscreen plugin macros&quot;&gt;06.07.24 06:16 fullscreen plugin macros&lt;/option&gt;&lt;option value=&quot;SplashScreenPlugin&quot;&gt;06.07.20 16:48 SplashScreenPlugin&lt;/option&gt;&lt;option value=&quot;TagAdderMacro&quot;&gt;06.07.19 12:53 TagAdderMacro&lt;/option&gt;&lt;option value=&quot;monkeyTagger plugin macro&quot;&gt;06.07.19 12:53 monkeyTagger plugin macro&lt;/option&gt;&lt;option value=&quot;60/251. Human Rights Council&quot;&gt;06.03.15 08:01 60/251. Human Rights Council&lt;/option&gt;&lt;option value=&quot;60/163. Promotion of peace as a vital requirement for the full enjoyment of all human rights by all&quot;&gt;05.12.16 07:01 60/163. Promotion of peace as a vital requirement for the full enjoyment of all human rights by all&lt;/option&gt;&lt;option value=&quot;ForEachTiddlerExamples&quot;&gt;05.12.08 10:03 ForEachTiddlerExamples&lt;/option&gt;&lt;option value=&quot;wikipedia plugin macro&quot;&gt;05.12.02 17:20 wikipedia plugin macro&lt;/option&gt;&lt;option value=&quot;60/1. 2005 World Summit Outcome&quot;&gt;05.09.16 08:00 60/1. 2005 World Summit Outcome&lt;/option&gt;&lt;option value=&quot;In larger freedom: towards development, security and human rights for all&quot;&gt;05.03.21 08:01 In larger freedom: towards development, security and human rights for all&lt;/option&gt;&lt;option value=&quot;Elimination of all forms of religious intolerance&quot;&gt;04.12.20 07:01 Elimination of all forms of religious intolerance&lt;/option&gt;&lt;option value=&quot;59/142. Promotion of religious and cultural understanding, harmony and cooperation&quot;&gt;04.12.15 07:00 59/142. Promotion of religious and cultural understanding, harmony and cooperation&lt;/option&gt;&lt;option value=&quot;58/128. Promotion of religious and cultural understanding, harmony and cooperation&quot;&gt;03.12.19 07:00 58/128. Promotion of religious and cultural understanding, harmony and cooperation&lt;/option&gt;&lt;option value=&quot;Declaration of Principles: Building the Information Society: a global challenge in the new Millennium&quot;&gt;03.12.12 07:00 Declaration of Principles: Building the Information Society: a global challenge in the new Millennium&lt;/option&gt;&lt;option value=&quot;56/116. United Nations Literacy Decade: education for all&quot;&gt;01.12.19 07:00 56/116. United Nations Literacy Decade: education for all&lt;/option&gt;&lt;option value=&quot;56/6. Global Agenda for Dialogue among Civilizations&quot;&gt;01.11.09 07:00 56/6. Global Agenda for Dialogue among Civilizations&lt;/option&gt;&lt;option value=&quot;Universal Declaration on Cultural Diversity&quot;&gt;01.11.02 08:00 Universal Declaration on Cultural Diversity&lt;/option&gt;&lt;option value=&quot;Durban Programme of Action&quot;&gt;01.09.08 08:01 Durban Programme of Action&lt;/option&gt;&lt;option value=&quot;Durban Declaration&quot;&gt;01.09.08 08:00 Durban Declaration&lt;/option&gt;&lt;option value=&quot;Protection of religious sites&quot;&gt;01.05.31 08:01 Protection of religious sites&lt;/option&gt;&lt;option value=&quot;55/254. Protection of religious sites&quot;&gt;01.05.31 08:00 55/254. Protection of religious sites&lt;/option&gt;&lt;option value=&quot;2001/29. The right to education&quot;&gt;01.04.20 08:00 2001/29. The right to education&lt;/option&gt;&lt;option value=&quot;55/97. Elimination of all forms of religious intolerance&quot;&gt;00.12.04 07:00 55/97. Elimination of all forms of religious intolerance&lt;/option&gt;&lt;option value=&quot;55/2. United Nations Millennium Declaration&quot;&gt;00.09.08 08:00 55/2. United Nations Millennium Declaration&lt;/option&gt;&lt;option value=&quot;Optional Protocol to the Convention on the Rights of the Child on the involvement of children in armed conflict&quot;&gt;00.05.25 08:01 Optional Protocol to the Convention on the Rights of the Child on the involvement of children in armed conflict&lt;/option&gt;&lt;option value=&quot;Optional Protocol to the Convention on the Rights of the Child on the sale of children, child prostitution and child pornography&quot;&gt;00.05.25 08:01 Optional Protocol to the Convention on the Rights of the Child on the sale of children, child prostitution and child pornography&lt;/option&gt;&lt;option value=&quot;Dakar Framework for Action. Education For All: Meeting Our Collective Commitments&quot;&gt;00.04.28 08:00 Dakar Framework for Action. Education For All: Meeting Our Collective Commitments&lt;/option&gt;&lt;option value=&quot;54/122. A United Nations literacy decade: education for all&quot;&gt;-1.12.17 07:00 54/122. A United Nations literacy decade: education for all&lt;/option&gt;&lt;option value=&quot;World Declaration on Higher Education for the Twenty-First Century: Vision and Action&quot;&gt;-1.10.09 08:00 World Declaration on Higher Education for the Twenty-First Century: Vision and Action&lt;/option&gt;&lt;option value=&quot;Optional Protocol to the Convention on the Elimination of All Forms of Discrimination against Women&quot;&gt;-1.10.06 08:01 Optional Protocol to the Convention on the Elimination of All Forms of Discrimination against Women&lt;/option&gt;&lt;option value=&quot;54/4. Optional Protocol to the Convention on the Elimination of All Forms of Discrimination against Women&quot;&gt;-1.10.06 08:00 54/4. Optional Protocol to the Convention on the Elimination of All Forms of Discrimination against Women&lt;/option&gt;&lt;option value=&quot;53/243 A. Declaration on a Culture of Peace&quot;&gt;-1.09.13 08:00 53/243 A. Declaration on a Culture of Peace&lt;/option&gt;&lt;option value=&quot;53/243 B. Programme of Action on a Culture of Peace&quot;&gt;-1.09.13 08:00 53/243 B. Programme of Action on a Culture of Peace&lt;/option&gt;&lt;option value=&quot;53/243. Declaration and Programme of Action on a Culture of Peace&quot;&gt;-1.09.13 08:00 53/243. Declaration and Programme of Action on a Culture of Peace&lt;/option&gt;&lt;option value=&quot;Declaration on Science and the Use of Scientific Knowledge&quot;&gt;-1.07.01 08:00 Declaration on Science and the Use of Scientific Knowledge&lt;/option&gt;&lt;option value=&quot;United Nations Decade for Human Rights Education, 1995-2004, and public information activities in the field of human rights&quot;&gt;-2.12.09 07:01 United Nations Decade for Human Rights Education, 1995-2004, and public information activities in the field of human rights&lt;/option&gt;&lt;option value=&quot;Universal Declaration on the Human Genome and Human Rights&quot;&gt;-3.11.11 07:00 Universal Declaration on the Human Genome and Human Rights&lt;/option&gt;&lt;option value=&quot;International Treaties from Cornell&quot;&gt;-3.09.15 08:01 International Treaties from Cornell&lt;/option&gt;&lt;option value=&quot;United Nations Decade for Human Rights Education&quot;&gt;-4.12.12 07:01 United Nations Decade for Human Rights Education&lt;/option&gt;&lt;option value=&quot;51/104. United Nations Decade for Human Rights Education and public information activities in the field of human rights&quot;&gt;-4.12.12 07:00 51/104. United Nations Decade for Human Rights Education and public information activities in the field of human rights&lt;/option&gt;&lt;option value=&quot;51/95. Follow-up to the United Nations Year for Tolerance&quot;&gt;-4.12.12 07:00 51/95. Follow-up to the United Nations Year for Tolerance&lt;/option&gt;&lt;option value=&quot;1996/31. Consultative relationship between the United Nations and non-governmental organizations&quot;&gt;-4.07.25 08:00 1996/31. Consultative relationship between the United Nations and non-governmental organizations&lt;/option&gt;&lt;option value=&quot;Human Rights Questions: Human Rights Questions, Including Alternative Approaches for Improving the Effective Enjoyment of Human Rights and Fundamental Freedoms&quot;&gt;-4.07.10 08:01 Human Rights Questions: Human Rights Questions, Including Alternative Approaches for Improving the Effective Enjoyment of Human Rights and Fundamental Freedoms&lt;/option&gt;&lt;option value=&quot;The Habitat Agenda: Chapter II: Goals and Principles&quot;&gt;-4.06.14 08:00 The Habitat Agenda: Chapter II: Goals and Principles&lt;/option&gt;&lt;option value=&quot;The Habitat Agenda: Chapter IV: B. Adequate shelter for all&quot;&gt;-4.06.14 08:00 The Habitat Agenda: Chapter IV: B. Adequate shelter for all&lt;/option&gt;&lt;option value=&quot;50/157. Programme of activities for the International Decade of the World's Indigenous People&quot;&gt;-4.02.29 07:00 50/157. Programme of activities for the International Decade of the World's Indigenous People&lt;/option&gt;&lt;option value=&quot;Declaration of Principles on Tolerance&quot;&gt;-5.11.16 07:00 Declaration of Principles on Tolerance&lt;/option&gt;&lt;option value=&quot;Beijing Platform for Action. Chapter IV. D. Violence against women&quot;&gt;-5.09.15 08:00 Beijing Platform for Action. Chapter IV. D. Violence against women&lt;/option&gt;&lt;option value=&quot;Beijing Platform for Action. Chapter IV. I. Human rights of women&quot;&gt;-5.09.15 08:00 Beijing Platform for Action. Chapter IV. I. Human rights of women&lt;/option&gt;&lt;option value=&quot;Copenhagen Declaration on Social Development&quot;&gt;-5.03.14 08:00 Copenhagen Declaration on Social Development&lt;/option&gt;&lt;option value=&quot;Programme of Action of the World Summit for Social Development&quot;&gt;-5.03.14 08:00 Programme of Action of the World Summit for Social Development&lt;/option&gt;&lt;option value=&quot;49/213. United Nations Year for Tolerance&quot;&gt;-6.12.23 07:00 49/213. United Nations Year for Tolerance&lt;/option&gt;&lt;option value=&quot;Preparation for a United Nations decade for human rights education&quot;&gt;-6.07.18 08:01 Preparation for a United Nations decade for human rights education&lt;/option&gt;&lt;option value=&quot;High Commissioner for the promotion and protection of all human rights&quot;&gt;-7.12.20 07:01 High Commissioner for the promotion and protection of all human rights&lt;/option&gt;&lt;option value=&quot;Human rights education decade&quot;&gt;-7.12.20 07:01 Human rights education decade&lt;/option&gt;&lt;option value=&quot;48/127. Human rights education decade&quot;&gt;-7.12.20 07:00 48/127. Human rights education decade&lt;/option&gt;&lt;option value=&quot;48/141. High Commissioner for the promotion and protection of all human rights&quot;&gt;-7.12.20 07:00 48/141. High Commissioner for the promotion and protection of all human rights&lt;/option&gt;&lt;option value=&quot;48/95. Positive and full inclusion of persons with disabilities in all aspects of society and the leadership role of the United Nations therein&quot;&gt;-7.12.20 07:00 48/95. Positive and full inclusion of persons with disabilities in all aspects of society and the leadership role of the United Nations therein&lt;/option&gt;&lt;option value=&quot;48/96. Standard Rules on the Equalization of Opportunities for Persons with Disabilities&quot;&gt;-7.12.20 07:00 48/96. Standard Rules on the Equalization of Opportunities for Persons with Disabilities&lt;/option&gt;&lt;option value=&quot;Standard Rules on the Equalization of Opportunities for Persons with Disabilities&quot;&gt;-7.12.20 07:00 Standard Rules on the Equalization of Opportunities for Persons with Disabilities&lt;/option&gt;&lt;option value=&quot;Vienna Declaration and Programme of Action&quot;&gt;-7.06.25 08:00 Vienna Declaration and Programme of Action&lt;/option&gt;&lt;option value=&quot;World Plan of Action for Education on Human Rights and Democracy&quot;&gt;-7.03.11 07:01 World Plan of Action for Education on Human Rights and Democracy&lt;/option&gt;&lt;option value=&quot;United Nations year for tolerance&quot;&gt;-8.12.18 07:01 United Nations year for tolerance&lt;/option&gt;&lt;option value=&quot;47/122. World Conference on Human Rights&quot;&gt;-8.12.18 07:00 47/122. World Conference on Human Rights&lt;/option&gt;&lt;option value=&quot;World Conference on Human Rights&quot;&gt;-9.12.17 07:01 World Conference on Human Rights&lt;/option&gt;&lt;option value=&quot;46/119. The protection of persons with mental illness and the improvement of mental health care&quot;&gt;-9.12.17 07:00 46/119. The protection of persons with mental illness and the improvement of mental health care&lt;/option&gt;&lt;option value=&quot;46/91. Implementation of the International Plan of Action on Ageing and related activities&quot;&gt;-9.12.16 07:00 46/91. Implementation of the International Plan of Action on Ageing and related activities&lt;/option&gt;&lt;option value=&quot;United Nations Principles for Older Persons&quot;&gt;-9.12.16 07:00 United Nations Principles for Older Persons&lt;/option&gt;&lt;option value=&quot;Consultations with the United Nations with a view to declaring 1995 United Nations year for tolerance&quot;&gt;-9.11.02 08:01 Consultations with the United Nations with a view to declaring 1995 United Nations year for tolerance&lt;/option&gt;&lt;option value=&quot;45/158. International Convention on the Protection of the Rights of All Migrant Workers and Members of Their Families&quot;&gt;-10.12.18 07:00 45/158. International Convention on the Protection of the Rights of All Migrant Workers and Members of Their Families&lt;/option&gt;&lt;option value=&quot;Paris Declaration and Programme of Action for the Least Developed Countries for the 1990s&quot;&gt;-10.09.14 08:00 Paris Declaration and Programme of Action for the Least Developed Countries for the 1990s&lt;/option&gt;&lt;option value=&quot;Summary or arbitrary executions&quot;&gt;-11.12.15 07:01 Summary or arbitrary executions&lt;/option&gt;&lt;option value=&quot;44/159. Summary or arbitrary executions&quot;&gt;-11.12.15 07:00 44/159. Summary or arbitrary executions&lt;/option&gt;&lt;option value=&quot;Convention on the Rights of the Child&quot;&gt;-11.11.20 07:00 Convention on the Rights of the Child&lt;/option&gt;&lt;option value=&quot;1989/65. Effective Prevention and Investigation of Extra-legal, Arbitrary and Summary Executions&quot;&gt;-11.05.24 08:00 1989/65. Effective Prevention and Investigation of Extra-legal, Arbitrary and Summary Executions&lt;/option&gt;&lt;option value=&quot;Setting international standards in the field of human rights&quot;&gt;-14.12.04 07:01 Setting international standards in the field of human rights&lt;/option&gt;&lt;option value=&quot;41/128. Declaration on the Right to Development&quot;&gt;-14.12.04 07:00 41/128. Declaration on the Right to Development&lt;/option&gt;&lt;option value=&quot;Nairobi Forward-looking Strategies. Footnotes&quot;&gt;-15.07.26 08:00 Nairobi Forward-looking Strategies. Footnotes&lt;/option&gt;&lt;option value=&quot;39/46. Convention against Torture and Other Cruel, Inhuman or Degrading Treatment or Punishment&quot;&gt;-16.12.10 07:00 39/46. Convention against Torture and Other Cruel, Inhuman or Degrading Treatment or Punishment&lt;/option&gt;&lt;option value=&quot;Convention against Torture and Other Cruel, Inhuman or Degrading Treatment or Punishment&quot;&gt;-16.12.10 07:00 Convention against Torture and Other Cruel, Inhuman or Degrading Treatment or Punishment&lt;/option&gt;&lt;option value=&quot;Programme of Action of the International Conference on Population and Development&quot;&gt;-16.10.18 08:00 Programme of Action of the International Conference on Population and Development&lt;/option&gt;&lt;option value=&quot;Torture and other cruel, inhuman or degrading treatment or punishment&quot;&gt;-17.12.16 07:01 Torture and other cruel, inhuman or degrading treatment or punishment&lt;/option&gt;&lt;option value=&quot;37/63. Declaration on the Participation of Women in Promoting International Peace and Co-operation&quot;&gt;-18.12.03 07:00 37/63. Declaration on the Participation of Women in Promoting International Peace and Co-operation&lt;/option&gt;&lt;option value=&quot;Declaration on the Elimination of All Forms of Intolerance and of Discrimination Based on Religion or Belief&quot;&gt;-19.11.25 07:01 Declaration on the Elimination of All Forms of Intolerance and of Discrimination Based on Religion or Belief&lt;/option&gt;&lt;option value=&quot;36/55. Declaration on the Elimination of All Forms of Intolerance and of Discrimination Based on Religion or Belief&quot;&gt;-19.11.25 07:00 36/55. Declaration on the Elimination of All Forms of Intolerance and of Discrimination Based on Religion or Belief&lt;/option&gt;&lt;option value=&quot;Recommendation concerning the Status of the Artist&quot;&gt;-20.10.27 08:00 Recommendation concerning the Status of the Artist&lt;/option&gt;&lt;option value=&quot;Convention on the Elimination of All Forms of Discrimination&quot;&gt;-21.12.18 07:01 Convention on the Elimination of All Forms of Discrimination&lt;/option&gt;&lt;option value=&quot;Convention on the Elimination of All Forms of Discrimination against Women&quot;&gt;-21.12.18 07:00 Convention on the Elimination of All Forms of Discrimination against Women&lt;/option&gt;&lt;option value=&quot;Declaration on Race and Racial Prejudice&quot;&gt;-22.11.27 07:00 Declaration on Race and Racial Prejudice&lt;/option&gt;&lt;option value=&quot;Recommendation on Participation by the People at Large in Cultural Life and their Contribution to It&quot;&gt;-24.11.26 07:00 Recommendation on Participation by the People at Large in Cultural Life and their Contribution to It&lt;/option&gt;&lt;option value=&quot;The Vancouver Action Plan. B. Settlement planning&quot;&gt;-24.06.11 08:00 The Vancouver Action Plan. B. Settlement planning&lt;/option&gt;&lt;option value=&quot;Declaration on the Protection of All Persons from Being Subjected to Torture and Other Cruel, Inhuman or Degrading Treatment or Punishment&quot;&gt;-25.12.09 07:01 Declaration on the Protection of All Persons from Being Subjected to Torture and Other Cruel, Inhuman or Degrading Treatment or Punishment&lt;/option&gt;&lt;option value=&quot;3447 (XXX). Declaration on the Rights of Disabled Persons&quot;&gt;-25.12.09 07:00 3447 (XXX). Declaration on the Rights of Disabled Persons&lt;/option&gt;&lt;option value=&quot;3384 (XXX). Declaration on the Use of Scientific and Technological Progress in the Interests of Peace and for the Benefit of Mankind&quot;&gt;-25.11.10 07:00 3384 (XXX). Declaration on the Use of Scientific and Technological Progress in the Interests of Peace and for the Benefit of Mankind&lt;/option&gt;&lt;option value=&quot;Declaration of Mexico on the Equality of Women and Their Contribution to Development and Peace, 1975&quot;&gt;-25.07.02 21:07 Declaration of Mexico on the Equality of Women and Their Contribution to Development and Peace, 1975&lt;/option&gt;&lt;option value=&quot;2856 (XXVI). Declaration on the Rights of Mentally Retarded Persons&quot;&gt;-29.12.20 07:00 2856 (XXVI). Declaration on the Rights of Mentally Retarded Persons&lt;/option&gt;&lt;option value=&quot;2542 (XXIV). Declaration on Social Progress and Development&quot;&gt;-31.12.11 07:00 2542 (XXIV). Declaration on Social Progress and Development&lt;/option&gt;&lt;option value=&quot;2263 (XXII). Declaration on the Elimination of Discrimination against Women&quot;&gt;-33.11.07 07:00 2263 (XXII). Declaration on the Elimination of Discrimination against Women&lt;/option&gt;&lt;option value=&quot;Protocol relating to the Status of Refugees&quot;&gt;-33.01.31 07:01 Protocol relating to the Status of Refugees&lt;/option&gt;&lt;option value=&quot;International Covenant on Civil and Political Rights&quot;&gt;-34.12.16 07:01 International Covenant on Civil and Political Rights&lt;/option&gt;&lt;option value=&quot;International Covenant on Economic, Social and Cultural Rights&quot;&gt;-34.12.16 07:01 International Covenant on Economic, Social and Cultural Rights&lt;/option&gt;&lt;option value=&quot;International Covenant on Economic, Social and Cultural Rights, International Covenant on Civil and Political Rights and Optional Protocol to the International Covenant on Civil and Political Rights&quot;&gt;-34.12.16 07:01 International Covenant on Economic, Social and Cultural Rights, International Covenant on Civil and Political Rights and Optional Protocol to the International Covenant on Civil and Political Rights&lt;/option&gt;&lt;option value=&quot;Optional Protocol to Covenant on Civil and Political Rights&quot;&gt;-34.12.16 07:01 Optional Protocol to Covenant on Civil and Political Rights&lt;/option&gt;&lt;option value=&quot;2106 (XX). International Convention on the Elimination of All Forms of Racial Discrimination&quot;&gt;-35.12.21 07:00 2106 (XX). International Convention on the Elimination of All Forms of Racial Discrimination&lt;/option&gt;&lt;option value=&quot;2131 (XX). Declaration on the Inadmissibility of Intervention in the Domestic Affairs of States and the Protection of Their Independence and Sovereignty&quot;&gt;-35.12.21 07:00 2131 (XX). Declaration on the Inadmissibility of Intervention in the Domestic Affairs of States and the Protection of Their Independence and Sovereignty&lt;/option&gt;&lt;option value=&quot;International Convention on the Elimination of All Forms of Racial Discrimination&quot;&gt;-35.12.21 07:00 International Convention on the Elimination of All Forms of Racial Discrimination&lt;/option&gt;&lt;option value=&quot;2037 (XX). Declaration on the Promotion Among Youth of the Ideals of Peace, Mutual Respect and Understanding Between Peoples&quot;&gt;-35.12.07 07:00 2037 (XX). Declaration on the Promotion Among Youth of the Ideals of Peace, Mutual Respect and Understanding Between Peoples&lt;/option&gt;&lt;option value=&quot;United Nations Declaration on the Elimination of All Forms of Racial Discrimination&quot;&gt;-37.11.20 07:01 United Nations Declaration on the Elimination of All Forms of Racial Discrimination&lt;/option&gt;&lt;option value=&quot;1904 (XVIII). United Nations Declaration on the Elimination of All Forms of Racial Discrimination&quot;&gt;-37.11.20 07:00 1904 (XVIII). United Nations Declaration on the Elimination of All Forms of Racial Discrimination&lt;/option&gt;&lt;option value=&quot;Declaration on the Granting of Independence to Colonial Countries&quot;&gt;-40.12.14 07:01 Declaration on the Granting of Independence to Colonial Countries&lt;/option&gt;&lt;option value=&quot;1514 (XV). Declaration on the Granting of Independence to Colonial Countries and Peoples&quot;&gt;-40.12.14 07:00 1514 (XV). Declaration on the Granting of Independence to Colonial Countries and Peoples&lt;/option&gt;&lt;option value=&quot;Convention against Discrimination in Education&quot;&gt;-40.12.14 07:00 Convention against Discrimination in Education&lt;/option&gt;&lt;option value=&quot;1386 (XIV). Declaration of the Rights of the Child&quot;&gt;-41.11.20 07:00 1386 (XIV). Declaration of the Rights of the Child&lt;/option&gt;&lt;option value=&quot;Convention concerning Discrimination in Respect of Employment and Occupation&quot;&gt;-42.06.25 08:00 Convention concerning Discrimination in Respect of Employment and Occupation&lt;/option&gt;&lt;option value=&quot;Convention on the Political Rights of Women&quot;&gt;-48.12.29 07:00 Convention on the Political Rights of Women&lt;/option&gt;&lt;option value=&quot;640 (VII). Convention on the Political Rights of Women&quot;&gt;-48.12.20 07:00 640 (VII). Convention on the Political Rights of Women&lt;/option&gt;&lt;option value=&quot;Convention relating to the Status of Refugees&quot;&gt;-49.07.28 08:00 Convention relating to the Status of Refugees&lt;/option&gt;&lt;option value=&quot;Convention for the Suppression of the Traffic in Persons and of the Exploitation of the Prostitution of Others&quot;&gt;-51.12.02 07:01 Convention for the Suppression of the Traffic in Persons and of the Exploitation of the Prostitution of Others&lt;/option&gt;&lt;option value=&quot;290 (IV). Essentials of Peace&quot;&gt;-51.12.01 07:00 290 (IV). Essentials of Peace&lt;/option&gt;&lt;option value=&quot;Geneva Convention for the Amelioration of the Condition of the Wounded and Sick and Shipwrecked Members of Armed Forces at Sea&quot;&gt;-51.08.12 08:01 Geneva Convention for the Amelioration of the Condition of the Wounded and Sick and Shipwrecked Members of Armed Forces at Sea&lt;/option&gt;&lt;option value=&quot;Geneva Convention for the Amelioration of the Condition of the Wounded and Sick in Armed Forces in the Field&quot;&gt;-51.08.12 08:01 Geneva Convention for the Amelioration of the Condition of the Wounded and Sick in Armed Forces in the Field&lt;/option&gt;&lt;option value=&quot;Geneva Convention relative to the Protection of Civilian Persons in Time of War&quot;&gt;-51.08.12 08:01 Geneva Convention relative to the Protection of Civilian Persons in Time of War&lt;/option&gt;&lt;option value=&quot;Geneva Convention relative to the Treatment of Prisoners of War&quot;&gt;-51.08.12 08:01 Geneva Convention relative to the Treatment of Prisoners of War&lt;/option&gt;&lt;option value=&quot;217 A (III). Universal Declaration of Human Rights&quot;&gt;-52.12.10 07:01 217 A (III). Universal Declaration of Human Rights&lt;/option&gt;&lt;option value=&quot;217 B (III). Right of Petition&quot;&gt;-52.12.10 07:01 217 B (III). Right of Petition&lt;/option&gt;&lt;option value=&quot;217 C (III). Fate of Minorities&quot;&gt;-52.12.10 07:01 217 C (III). Fate of Minorities&lt;/option&gt;&lt;option value=&quot;217 D (III). Publicity to be Given to the Universal Declaration of Human Rights&quot;&gt;-52.12.10 07:01 217 D (III). Publicity to be Given to the Universal Declaration of Human Rights&lt;/option&gt;&lt;option value=&quot;217 E (III). Preparation of a Draft Covenant on Human Rights and Draft Measures of Implementation&quot;&gt;-52.12.10 07:01 217 E (III). Preparation of a Draft Covenant on Human Rights and Draft Measures of Implementation&lt;/option&gt;&lt;option value=&quot;Fate of Minorities&quot;&gt;-52.12.10 07:01 Fate of Minorities&lt;/option&gt;&lt;option value=&quot;Preparation of a Draft Covenant on Human Rights and Draft Measures of Implementation&quot;&gt;-52.12.10 07:01 Preparation of a Draft Covenant on Human Rights and Draft Measures of Implementation&lt;/option&gt;&lt;option value=&quot;Publicity to be Given to the Universal Declaration of Human Rights&quot;&gt;-52.12.10 07:01 Publicity to be Given to the Universal Declaration of Human Rights&lt;/option&gt;&lt;option value=&quot;Right of Petition&quot;&gt;-52.12.10 07:01 Right of Petition&lt;/option&gt;&lt;option value=&quot;Universal Declaration of Human Rights&quot;&gt;-52.12.10 07:01 Universal Declaration of Human Rights&lt;/option&gt;&lt;option value=&quot;Convention on the Prevention and Punishment of the Crime of Genocide&quot;&gt;-52.12.09 07:01 Convention on the Prevention and Punishment of the Crime of Genocide&lt;/option&gt;&lt;option value=&quot;Charter of the United Nations&quot;&gt;-55.06.26 15:15 Charter of the United Nations&lt;/option&gt;&lt;option value=&quot;Geneva Declaration of the Rights of the Child&quot;&gt;-76.09.26 08:01 Geneva Declaration of the Rights of the Child&lt;/option&gt;&lt;/select&gt;&lt;br&gt;&lt;!--			--&gt;show&lt;input size=&quot;1&quot; value=&quot;10&quot; onchange=&quot;this.form.list.size=this.value; this.form.list.multiple=(this.value&gt;1);&quot; type=&quot;text&quot;&gt;&lt;!--			--&gt;by&lt;!--			--&gt;&lt;select name=&quot;sortby&quot; size=&quot;1&quot; onchange=&quot;config.macros.tiddlerTweaker.init(this.form,this.value)&quot;&gt;&lt;!--			--&gt;&lt;option value=&quot;title&quot;&gt;title&lt;/option&gt;&lt;!--			--&gt;&lt;option value=&quot;size&quot;&gt;size&lt;/option&gt;&lt;!--			--&gt;&lt;option value=&quot;modified&quot;&gt;date&lt;/option&gt;&lt;!--			--&gt;&lt;/select&gt;&lt;!--			--&gt;&lt;input value=&quot;refresh&quot; onclick=&quot;config.macros.tiddlerTweaker.init(this.form,this.form.sortby.value)&quot; type=&quot;button&quot;&gt;&lt;!--			--&gt; &lt;input name=&quot;stats&quot; disabled=&quot;disabled&quot; value=&quot;totals...&quot; onclick=&quot;config.macros.tiddlerTweaker.stats(this)&quot; type=&quot;button&quot;&gt;&lt;!--		--&gt;&lt;/td&gt;&lt;td style=&quot;border: 0pt none ; margin: 0pt; padding: 0pt; white-space: nowrap; width: 1%;&quot;&gt;&lt;!--			--&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;font size=&quot;-2&quot;&gt;modify values&lt;/font&gt;&lt;/div&gt;&lt;!--			--&gt;&lt;table style=&quot;border: 0pt none ; margin: 0pt; padding: 0pt; width: 100%;&quot; border=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr style=&quot;border: 0pt none ; padding: 0pt;&quot;&gt;&lt;!--			--&gt;&lt;td style=&quot;border: 0pt none ; padding: 1px; white-space: nowrap;&quot;&gt;&lt;!--				--&gt;&lt;input name=&quot;settitle&quot; unchecked=&quot;&quot; title=&quot;allow changes to tiddler title (rename tiddler)&quot; onclick=&quot;this.form.title.disabled=!this.checked&quot; type=&quot;checkbox&quot;&gt;title&lt;!--			--&gt;&lt;/td&gt;&lt;td style=&quot;border: 0pt none ; padding: 1px; white-space: nowrap;&quot;&gt;&lt;!--				--&gt;&lt;input name=&quot;title&quot; size=&quot;35&quot; style=&quot;width: 98%;&quot; disabled=&quot;disabled&quot; type=&quot;text&quot;&gt;&lt;!--			--&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;border: 0pt none ; padding: 0pt;&quot;&gt;&lt;td style=&quot;border: 0pt none ; padding: 1px; white-space: nowrap;&quot;&gt;&lt;!--				--&gt;&lt;input name=&quot;setcreator&quot; unchecked=&quot;&quot; title=&quot;allow changes to tiddler creator&quot; onclick=&quot;this.form.creator.disabled=!this.checked&quot; type=&quot;checkbox&quot;&gt;created by&lt;!--			--&gt;&lt;/td&gt;&lt;td style=&quot;border: 0pt none ; padding: 1px; white-space: nowrap;&quot;&gt;&lt;!--				--&gt;&lt;input name=&quot;creator&quot; size=&quot;35&quot; style=&quot;width: 98%;&quot; disabled=&quot;disabled&quot; type=&quot;text&quot;&gt;&lt;!--			--&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;border: 0pt none ; padding: 0pt;&quot;&gt;&lt;td style=&quot;border: 0pt none ; padding: 1px; white-space: nowrap;&quot;&gt;&lt;!--				--&gt;&lt;input name=&quot;setwho&quot; unchecked=&quot;&quot; title=&quot;allow changes to tiddler author&quot; onclick=&quot;this.form.who.disabled=!this.checked&quot; type=&quot;checkbox&quot;&gt;modified by&lt;!--			--&gt;&lt;/td&gt;&lt;td style=&quot;border: 0pt none ; padding: 1px; white-space: nowrap;&quot;&gt;&lt;!--				--&gt;&lt;input name=&quot;who&quot; size=&quot;35&quot; style=&quot;width: 98%;&quot; disabled=&quot;disabled&quot; type=&quot;text&quot;&gt;&lt;!--			--&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;border: 0pt none ; padding: 0pt;&quot;&gt;&lt;td style=&quot;border: 0pt none ; padding: 1px; white-space: nowrap;&quot;&gt;&lt;!--				--&gt;&lt;input name=&quot;setcdate&quot; unchecked=&quot;&quot; title=&quot;allow changes to created date&quot; onclick=&quot;var f=this.form; f.cm.disabled=f.cd.disabled=f.cy.disabled=f.ch.disabled=f.cn.disabled=!this.checked&quot; type=&quot;checkbox&quot;&gt;&lt;!--				--&gt;created on&lt;!--			--&gt;&lt;/td&gt;&lt;td style=&quot;border: 0pt none ; padding: 1px; white-space: nowrap;&quot;&gt;&lt;!--				--&gt;&lt;input name=&quot;cm&quot; size=&quot;2&quot; style=&quot;padding: 0pt; width: 2em; text-align: center;&quot; disabled=&quot;disabled&quot; type=&quot;text&quot;&gt;&lt;!--				--&gt; / &lt;input name=&quot;cd&quot; size=&quot;2&quot; style=&quot;padding: 0pt; width: 2em; text-align: center;&quot; disabled=&quot;disabled&quot; type=&quot;text&quot;&gt;&lt;!--				--&gt; / &lt;input name=&quot;cy&quot; size=&quot;4&quot; style=&quot;padding: 0pt; width: 3em; text-align: center;&quot; disabled=&quot;disabled&quot; type=&quot;text&quot;&gt;&lt;!--				--&gt; at &lt;input name=&quot;ch&quot; size=&quot;2&quot; style=&quot;padding: 0pt; width: 2em; text-align: center;&quot; disabled=&quot;disabled&quot; type=&quot;text&quot;&gt;&lt;!--				--&gt; : &lt;input name=&quot;cn&quot; size=&quot;2&quot; style=&quot;padding: 0pt; width: 2em; text-align: center;&quot; disabled=&quot;disabled&quot; type=&quot;text&quot;&gt;&lt;!--			--&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;border: 0pt none ; padding: 0pt;&quot;&gt;&lt;td style=&quot;border: 0pt none ; padding: 1px; white-space: nowrap;&quot;&gt;&lt;!--				--&gt;&lt;input name=&quot;setmdate&quot; unchecked=&quot;&quot; title=&quot;allow changes to modified date&quot; onclick=&quot;var f=this.form; f.mm.disabled=f.md.disabled=f.my.disabled=f.mh.disabled=f.mn.disabled=!this.checked&quot; type=&quot;checkbox&quot;&gt;&lt;!--				--&gt;modified on&lt;!--			--&gt;&lt;/td&gt;&lt;td style=&quot;border: 0pt none ; padding: 1px; white-space: nowrap;&quot;&gt;&lt;!--				--&gt;&lt;input name=&quot;mm&quot; size=&quot;2&quot; style=&quot;padding: 0pt; width: 2em; text-align: center;&quot; disabled=&quot;disabled&quot; type=&quot;text&quot;&gt;&lt;!--				--&gt; / &lt;input name=&quot;md&quot; size=&quot;2&quot; style=&quot;padding: 0pt; width: 2em; text-align: center;&quot; disabled=&quot;disabled&quot; type=&quot;text&quot;&gt;&lt;!--				--&gt; / &lt;input name=&quot;my&quot; size=&quot;4&quot; style=&quot;padding: 0pt; width: 3em; text-align: center;&quot; disabled=&quot;disabled&quot; type=&quot;text&quot;&gt;&lt;!--				--&gt; at &lt;input name=&quot;mh&quot; size=&quot;2&quot; style=&quot;padding: 0pt; width: 2em; text-align: center;&quot; disabled=&quot;disabled&quot; type=&quot;text&quot;&gt;&lt;!--				--&gt; : &lt;input name=&quot;mn&quot; size=&quot;2&quot; style=&quot;padding: 0pt; width: 2em; text-align: center;&quot; disabled=&quot;disabled&quot; type=&quot;text&quot;&gt;&lt;!--			--&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;border: 0pt none ; padding: 0pt;&quot;&gt;&lt;td style=&quot;border: 0pt none ; padding: 1px; white-space: nowrap;&quot;&gt;&lt;!--				--&gt;&lt;input name=&quot;settags&quot; checked=&quot;checked&quot; title=&quot;allow changes to tiddler tags&quot; onclick=&quot;this.form.tags.disabled=!this.checked&quot; type=&quot;checkbox&quot;&gt;tags&lt;!--			--&gt;&lt;/td&gt;&lt;td style=&quot;border: 0pt none ; padding: 1px; white-space: nowrap;&quot;&gt;&lt;!--				--&gt;&lt;input name=&quot;tags&quot; size=&quot;35&quot; value=&quot;&quot; style=&quot;width: 98%;&quot; title=&quot;enter new tags or use '+tag' and '-tag' to add/remove tags from existing tags&quot; type=&quot;text&quot;&gt;&lt;!--			--&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;!--			--&gt;&lt;div style=&quot;margin-top: 0.8em; text-align: center;&quot;&gt;&lt;!--			--&gt;&lt;nobr&gt;&lt;input name=&quot;display&quot; disabled=&quot;disabled&quot; style=&quot;width: 32%;&quot; value=&quot;display tiddlers&quot; onclick=&quot;config.macros.tiddlerTweaker.displaytiddlers(this)&quot; type=&quot;button&quot;&gt;&lt;!--			--&gt; &lt;input name=&quot;del&quot; disabled=&quot;disabled&quot; style=&quot;width: 32%;&quot; value=&quot;delete tiddlers&quot; onclick=&quot;config.macros.tiddlerTweaker.deltiddlers(this)&quot; type=&quot;button&quot;&gt;&lt;!--			--&gt; &lt;input name=&quot;set&quot; disabled=&quot;disabled&quot; style=&quot;width: 32%;&quot; value=&quot;update tiddlers&quot; onclick=&quot;config.macros.tiddlerTweaker.settiddlers(this)&quot; type=&quot;button&quot;&gt;&lt;/nobr&gt;&lt;!--			--&gt;&lt;/div&gt;&lt;!--		--&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;!--		--&gt;&lt;/form&gt;&lt;span style=&quot;display: none;&quot;&gt;&lt;!--content replaced by tiddler &quot;stats&quot;--&gt;&lt;/span&gt;	&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;/blockquote&gt;&lt;h5&gt;Installation&lt;/h5&gt;&lt;blockquote&gt;import (or copy/paste) the following tiddlers into your document:&lt;br&gt;TiddlerTweakerPlugin&lt;br&gt;&lt;/blockquote&gt;&lt;h5&gt;Revision History&lt;/h5&gt;&lt;blockquote&gt;&lt;strong&gt;2007.12.26 [2.1.0]&lt;/strong&gt; added support for managing 'creator' custom field (see &lt;a tiddlylink=&quot;CoreTweaks&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.ngo-framework.net/#CoreTweaks&quot; href=&quot;http://www.ngo-framework.net/#CoreTweaks&quot; class=&quot;externalLink null&quot;&gt;CoreTweaks&lt;/a&gt;)&lt;br&gt;&lt;strong&gt;2007.11.01 [2.0.3]&lt;/strong&gt; added config.options.txtTweakerSortBy for cookie-based persistence of list display order preference setting.&lt;br&gt;&lt;strong&gt;2007.09.28 [2.0.2]&lt;/strong&gt; in settiddlers() and deltiddlers(), added suspend/resume notification handling (improves performance when operating on multiple tiddlers)&lt;br&gt;&lt;strong&gt;2007.08.03 [2.0.1]&lt;/strong&gt; added shadow definition for &lt;a tiddlylink=&quot;TiddlerTweaker&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.ngo-framework.net/#TiddlerTweaker&quot; href=&quot;http://www.ngo-framework.net/#TiddlerTweaker&quot; class=&quot;externalLink null&quot;&gt;TiddlerTweaker&lt;/a&gt; tiddler for use as parameter references with &lt;code&gt;&amp;lt;&amp;lt;tiddler&amp;gt;&amp;gt;, &amp;lt;&amp;lt;slider&amp;gt;&amp;gt; or &amp;lt;&amp;lt;tabs&amp;gt;&amp;gt;&lt;/code&gt; macros.&lt;br&gt;&lt;strong&gt;2007.08.03 [2.0.0]&lt;/strong&gt; converted from inline script&lt;br&gt;&lt;strong&gt;2006.01.01 [1.0.0]&lt;/strong&gt; initial release&lt;br&gt;&lt;/blockquote&gt;&lt;h5&gt;Credits&lt;/h5&gt;&lt;blockquote&gt;This feature was developed by Eric L Shulman / ELS Design Studios&lt;br&gt;&lt;/blockquote&gt;&lt;h5&gt;Code&lt;/h5&gt;&lt;pre&gt;version.extensions.tiddlerTweaker= {major: 2, minor: 1, revision: 0, date: new Date(2007,12,26)};
config.shadowTiddlers.TiddlerTweaker=&quot;&amp;lt;&amp;lt;tiddlerTweaker&amp;gt;&amp;gt;&quot;;
if (config.options.txtTweakerSortBy==undefined) config.options.txtTweakerSortBy=&quot;title&quot;;
config.macros.tiddlerTweaker = {
	html: '&amp;lt;form style=&quot;display:inline&quot;&amp;gt;&amp;lt;!--\
		--&amp;gt;&amp;lt;table style=&quot;padding:0;margin:0;border:0;width:100%&quot;&amp;gt;&amp;lt;tr valign=&quot;top&quot; style=&quot;padding:0;margin:0;border:0&quot;&amp;gt;&amp;lt;!--\
		--&amp;gt;&amp;lt;td  style=&quot;text-align:center;white-space:nowrap;width:99%;padding:0;margin:0;border:0&quot;&amp;gt;&amp;lt;!--\
			--&amp;gt;&amp;lt;font size=-2&amp;gt;&amp;lt;div style=&quot;text-align:left;&quot;&amp;gt;select tiddlers:&amp;lt;/div&amp;gt;&amp;lt;!--\
			--&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;select multiple name=list size=&quot;10&quot; style=&quot;width:99.99%&quot; \
				title=&quot;use click, shift-click and/or ctrl-click to select multiple tiddler titles&quot; \
				onclick=&quot;config.macros.tiddlerTweaker.selecttiddlers(this)&quot; \
				onchange=&quot;config.macros.tiddlerTweaker.setfields(this)&quot;&amp;gt;&amp;lt;!--\
			--&amp;gt;&amp;lt;/select&amp;gt;&amp;lt;br&amp;gt;&amp;lt;!--\
			--&amp;gt;show&amp;lt;input type=text size=1 value=&quot;10&quot; \
				onchange=&quot;this.form.list.size=this.value; this.form.list.multiple=(this.value&amp;gt;1);&quot;&amp;gt;&amp;lt;!--\
			--&amp;gt;by&amp;lt;!--\
			--&amp;gt;&amp;lt;select name=sortby size=1 \
				onchange=&quot;config.macros.tiddlerTweaker.init(this.form,this.value)&quot;&amp;gt;&amp;lt;!--\
			--&amp;gt;&amp;lt;option value=&quot;title&quot;&amp;gt;title&amp;lt;/option&amp;gt;&amp;lt;!--\
			--&amp;gt;&amp;lt;option value=&quot;size&quot;&amp;gt;size&amp;lt;/option&amp;gt;&amp;lt;!--\
			--&amp;gt;&amp;lt;option value=&quot;modified&quot;&amp;gt;date&amp;lt;/option&amp;gt;&amp;lt;!--\
			--&amp;gt;&amp;lt;/select&amp;gt;&amp;lt;!--\
			--&amp;gt;&amp;lt;input type=&quot;button&quot; value=&quot;refresh&quot; \
				onclick=&quot;config.macros.tiddlerTweaker.init(this.form,this.form.sortby.value)&quot;&amp;lt;!--\
			--&amp;gt; &amp;lt;input type=&quot;button&quot; name=&quot;stats&quot; disabled value=&quot;totals...&quot; \
				onclick=&quot;config.macros.tiddlerTweaker.stats(this)&quot;&amp;gt;&amp;lt;!--\
		--&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td style=&quot;white-space:nowrap;padding:0;margin:0;border:0;width:1%&quot;&amp;gt;&amp;lt;!--\
			--&amp;gt;&amp;lt;div style=&quot;text-align:left&quot;&amp;gt;&amp;lt;font size=-2&amp;gt;modify values&amp;lt;/font&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;!--\
			--&amp;gt;&amp;lt;table border=0 style=&quot;width:100%;padding:0;margin:0;border:0;&quot;&amp;gt;&amp;lt;tr style=&quot;padding:0;border:0;&quot;&amp;gt;&amp;lt;!--\
			--&amp;gt;&amp;lt;td style=&quot;padding:1px;border:0;white-space:nowrap&quot;&amp;gt;&amp;lt;!--\
				--&amp;gt;&amp;lt;input type=checkbox name=settitle unchecked \
					title=&quot;allow changes to tiddler title (rename tiddler)&quot; \
					onclick=&quot;this.form.title.disabled=!this.checked&quot;&amp;gt;title&amp;lt;!--\
			--&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td style=&quot;padding:1px;border:0;white-space:nowrap&quot;&amp;gt;&amp;lt;!--\
				--&amp;gt;&amp;lt;input type=text name=title size=35 style=&quot;width:98%&quot; disabled&amp;gt;&amp;lt;!--\
			--&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr style=&quot;padding:0;border:0;&quot;&amp;gt;&amp;lt;td style=&quot;padding:1px;border:0;white-space:nowrap&quot;&amp;gt;&amp;lt;!--\
				--&amp;gt;&amp;lt;input type=checkbox name=setcreator unchecked \
					title=&quot;allow changes to tiddler creator&quot; \
					onclick=&quot;this.form.creator.disabled=!this.checked&quot;&amp;gt;created by&amp;lt;!--\
			--&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td style=&quot;padding:1px;border:0;white-space:nowrap&quot;&amp;gt;&amp;lt;!--\
				--&amp;gt;&amp;lt;input type=text name=creator size=35 style=&quot;width:98%&quot; disabled&amp;gt;&amp;lt;!--\
			--&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr style=&quot;padding:0;border:0;&quot;&amp;gt;&amp;lt;td style=&quot;padding:1px;border:0;white-space:nowrap&quot;&amp;gt;&amp;lt;!--\
				--&amp;gt;&amp;lt;input type=checkbox name=setwho unchecked \
					title=&quot;allow changes to tiddler author&quot; \
					onclick=&quot;this.form.who.disabled=!this.checked&quot;&amp;gt;modified by&amp;lt;!--\
			--&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td style=&quot;padding:1px;border:0;white-space:nowrap&quot;&amp;gt;&amp;lt;!--\
				--&amp;gt;&amp;lt;input type=text name=who size=35 style=&quot;width:98%&quot; disabled&amp;gt;&amp;lt;!--\
			--&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr style=&quot;padding:0;border:0;&quot;&amp;gt;&amp;lt;td style=&quot;padding:1px;border:0;white-space:nowrap&quot;&amp;gt;&amp;lt;!--\
				--&amp;gt;&amp;lt;input type=checkbox name=setcdate unchecked \
					title=&quot;allow changes to created date&quot; \
					onclick=&quot;var f=this.form; f.cm.disabled=f.cd.disabled=f.cy.disabled=f.ch.disabled=f.cn.disabled=!this.checked&quot;&amp;gt;&amp;lt;!--\
				--&amp;gt;created on&amp;lt;!--\
			--&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td style=&quot;padding:1px;border:0;white-space:nowrap&quot;&amp;gt;&amp;lt;!--\
				--&amp;gt;&amp;lt;input type=text name=cm size=2 style=&quot;width:2em;padding:0;text-align:center&quot; disabled&amp;gt;&amp;lt;!--\
				--&amp;gt; / &amp;lt;input type=text name=cd size=2 style=&quot;width:2em;padding:0;text-align:center&quot; disabled&amp;gt;&amp;lt;!--\
				--&amp;gt; / &amp;lt;input type=text name=cy size=4 style=&quot;width:3em;padding:0;text-align:center&quot; disabled&amp;gt;&amp;lt;!--\
				--&amp;gt; at &amp;lt;input type=text name=ch size=2 style=&quot;width:2em;padding:0;text-align:center&quot; disabled&amp;gt;&amp;lt;!--\
				--&amp;gt; : &amp;lt;input type=text name=cn size=2 style=&quot;width:2em;padding:0;text-align:center&quot; disabled&amp;gt;&amp;lt;!--\
			--&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr style=&quot;padding:0;border:0;&quot;&amp;gt;&amp;lt;td style=&quot;padding:1px;border:0;white-space:nowrap&quot;&amp;gt;&amp;lt;!--\
				--&amp;gt;&amp;lt;input type=checkbox name=setmdate unchecked \
					title=&quot;allow changes to modified date&quot; \
					onclick=&quot;var f=this.form; f.mm.disabled=f.md.disabled=f.my.disabled=f.mh.disabled=f.mn.disabled=!this.checked&quot;&amp;gt;&amp;lt;!--\
				--&amp;gt;modified on&amp;lt;!--\
			--&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td style=&quot;padding:1px;border:0;white-space:nowrap&quot;&amp;gt;&amp;lt;!--\
				--&amp;gt;&amp;lt;input type=text name=mm size=2 style=&quot;width:2em;padding:0;text-align:center&quot; disabled&amp;gt;&amp;lt;!--\
				--&amp;gt; / &amp;lt;input type=text name=md size=2 style=&quot;width:2em;padding:0;text-align:center&quot; disabled&amp;gt;&amp;lt;!--\
				--&amp;gt; / &amp;lt;input type=text name=my size=4 style=&quot;width:3em;padding:0;text-align:center&quot; disabled&amp;gt;&amp;lt;!--\
				--&amp;gt; at &amp;lt;input type=text name=mh size=2 style=&quot;width:2em;padding:0;text-align:center&quot; disabled&amp;gt;&amp;lt;!--\
				--&amp;gt; : &amp;lt;input type=text name=mn size=2 style=&quot;width:2em;padding:0;text-align:center&quot; disabled&amp;gt;&amp;lt;!--\
			--&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr style=&quot;padding:0;border:0;&quot;&amp;gt;&amp;lt;td style=&quot;padding:1px;border:0;white-space:nowrap&quot;&amp;gt;&amp;lt;!--\
				--&amp;gt;&amp;lt;input type=checkbox name=settags checked \
					title=&quot;allow changes to tiddler tags&quot; \
					onclick=&quot;this.form.tags.disabled=!this.checked&quot;&amp;gt;tags&amp;lt;!--\
			--&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td style=&quot;padding:1px;border:0;white-space:nowrap&quot;&amp;gt;&amp;lt;!--\
				--&amp;gt;&amp;lt;input type=text name=tags size=35 value=&quot;&quot; style=&quot;width:98%&quot; \
					title=&quot;enter new tags or use \'+tag\' and \'-tag\' to add/remove tags from existing tags&quot;&amp;gt;&amp;lt;!--\
			--&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;!--\
			--&amp;gt;&amp;lt;div style=&quot;margin-top:.8em;text-align:center&quot;&amp;gt;&amp;lt;!--\
			--&amp;gt;&amp;lt;nobr&amp;gt;&amp;lt;input type=button name=display disabled style=&quot;width:32%&quot; value=&quot;display tiddlers&quot; \
				onclick=&quot;config.macros.tiddlerTweaker.displaytiddlers(this)&quot;&amp;gt;&amp;lt;!--\
			--&amp;gt; &amp;lt;input type=button name=del disabled style=&quot;width:32%&quot; value=&quot;delete tiddlers&quot; \
				onclick=&quot;config.macros.tiddlerTweaker.deltiddlers(this)&quot;&amp;gt;&amp;lt;!--\
			--&amp;gt; &amp;lt;input type=button name=set disabled style=&quot;width:32%&quot; value=&quot;update tiddlers&quot; \
				onclick=&quot;config.macros.tiddlerTweaker.settiddlers(this)&quot;&amp;gt;&amp;lt;/nobr&amp;gt;&amp;lt;!--\
			--&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;!--\
		--&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;!--\
		--&amp;gt;&amp;lt;/form&amp;gt;&amp;lt;span style=&quot;display:none&quot;&amp;gt;&amp;lt;!--content replaced by tiddler &quot;stats&quot;--&amp;gt;&amp;lt;/span&amp;gt;\
	',
	handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		var span=createTiddlyElement(place,&quot;span&quot;);
		span.innerHTML=this.html;
		this.init(span.firstChild,config.options.txtTweakerSortBy);
	},
	init: function(f,sortby) { // initialize form controls
		if (!f) return; // form might not be rendered yet...
		while (f.list.options[0]) f.list.options[0]=null; // empty current list content
		var tids=store.getTiddlers(sortby);
		if (sortby==&quot;size&quot;) // descending order (largest tiddlers listed first)
			tids.sort(function(a,b) {return a.text.length &amp;gt; b.text.length ? -1 : (a.text.length == b.text.length ? 0 : +1);});
		for (i=0; i&amp;lt;tids.length; i++) {
			var label=tids[i].title; var value=tids[i].title;
			if (sortby==&quot;modified&quot;) {
				label=tids[tids.length-i-1].modified.formatString(&quot;YY.0MM.0DD 0hh:0mm &quot;)+tids[tids.length-i-1].title;
				value=tids[tids.length-i-1].title;
			}
			if (sortby==&quot;size&quot;) label=&quot;[&quot;+tids[i].text.length+&quot;] &quot;+label;
			f.list.options[f.list.length]=new Option(label,value,false,false);
		}
		f.title.value=f.who.value=f.creator.value=f.tags.value=&quot;&quot;;
		f.cm.value=f.cd.value=f.cy.value=f.ch.value=f.cn.value=&quot;&quot;;
		f.mm.value=f.md.value=f.my.value=f.mh.value=f.mn.value=&quot;&quot;;
		f.stats.disabled=f.set.disabled=f.del.disabled=f.display.disabled=true;
		f.settitle.disabled=false;
		config.options.txtTweakerSortBy=sortby; // remember current setting
		f.sortby.value=sortby; // sync droplist selection with current setting
		if (sortby!=&quot;title&quot;) // non-default preference... save cookie
			saveOptionCookie(&quot;txtTweakerSortBy&quot;);
		else { // default preference... clear cookie
			var ex=new Date(); ex.setTime(ex.getTime()-1000);
			document.cookie = &quot;txtTweakerSortBy=null; path=/; expires=&quot;+ex.toGMTString();
		}
	},
	selecttiddlers: function(here) { // enable/disable tweaker fields based on number of items selected
		// count how many tiddlers are selected
		var f=here.form; var list=f.list;
		var c=0; for (i=0;i&amp;lt;list.length;i++) if (list.options[i].selected) c++;
		if (c&amp;gt;1) f.title.disabled=true;
		if (c&amp;gt;1) f.settitle.checked=false;
		f.set.disabled=(c==0);
		f.del.disabled=(c==0);
		f.display.disabled=(c==0);
		f.settitle.disabled=(c&amp;gt;1);
		f.stats.disabled=(c==0);
		var msg=(c==0)?'select tiddlers:':(c+' tiddler'+(c!=1?'s':'')+' selected');
		here.previousSibling.firstChild.innerHTML=msg;
	},
	setfields: function(here) { // set tweaker edit fields from first selected tiddler
		var f=here.form;
		if (!here.value.length) {
			f.title.value=f.who.value=f.creator.value=f.tags.value=&quot;&quot;;
			f.cm.value=f.cd.value=f.cy.value=f.ch.value=f.cn.value=&quot;&quot;;
			f.mm.value=f.md.value=f.my.value=f.mh.value=f.mn.value=&quot;&quot;;
			return;
		}
		var tid=store.getTiddler(here.value); if (!tid) return;
		f.title.value=tid.title;
		f.who.value=tid.modifier;
		f.creator.value=tid.fields['creator']||''; // custom field - might not exist
		f.tags.value=tid.tags.join(' ');
		var c=tid.created; var m=tid.modified;
		f.cm.value=c.getMonth()+1;
		f.cd.value=c.getDate();
		f.cy.value=c.getFullYear();
		f.ch.value=c.getHours();
		f.cn.value=c.getMinutes();
		f.mm.value=m.getMonth()+1;
		f.md.value=m.getDate();
		f.my.value=m.getFullYear();
		f.mh.value=m.getHours();
		f.mn.value=m.getMinutes();
	},
	settiddlers: function(here) {
		var f=here.form; var list=f.list;
		var tids=[];
		for (i=0;i&amp;lt;list.length;i++) if (list.options[i].selected) tids.push(list.options[i].value);
		if (!tids.length) { alert(&quot;please select at least one tiddler&quot;); return; }
		var cdate=new Date(f.cy.value,f.cm.value-1,f.cd.value,f.ch.value,f.cn.value);
		var mdate=new Date(f.my.value,f.mm.value-1,f.md.value,f.mh.value,f.mn.value);
		if (tids.length&amp;gt;1 &amp;amp;&amp;amp; !confirm(&quot;Are you sure you want to update these tiddlers:\n\n&quot;+tids.join(', '))) return;
		store.suspendNotifications();
		for (t=0;t&amp;lt;tids.length;t++) {
			var tid=store.getTiddler(tids[t]); if (!tid) continue;
			var title=!f.settitle.checked?tid.title:f.title.value;
			var who=!f.setwho.checked?tid.modifier:f.who.value;
			var tags=tid.tags
			if (f.settags.checked) { 
				var intags=f.tags.value.readBracketedList();
				var addtags=[]; var deltags=[]; var reptags=[];
				for (i=0;i&amp;lt;intags.length;i++) {
					if (intags[i].substr(0,1)=='+')
						addtags.push(intags[i].substr(1));
					else if (intags[i].substr(0,1)=='-')
						deltags.push(intags[i].substr(1));
					else
						reptags.push(intags[i]);
				}
				if (reptags.length)
					tags=reptags;
				if (addtags.length)
					tags=Array.concat(tags,addtags);
				if (deltags.length)
					for (i=0;i&amp;lt;deltags.length;i++)
						{ var pos=tags.indexOf(deltags[i]); if (pos!=-1) tags.splice(pos,1); }
			}
			if (!f.setcdate.checked) cdate=tid.created;
			if (!f.setmdate.checked) mdate=tid.modified;
			store.saveTiddler(tid.title,title,tid.text,who,mdate,tags,tid.fields);
			if (f.setcreator.checked) store.setValue(tid.title,'creator',f.creator.value); // set creator
			if (f.setcdate.checked) tid.assign(null,null,null,null,null,cdate); // set create date
		}
		store.resumeNotifications();
		this.init(f,f.sortby.value);
	},
	displaytiddlers: function(here) {
		var f=here.form; var list=f.list;
		var tids=[];
		for (i=0; i&amp;lt;list.length;i++) if (list.options[i].selected) tids.push(list.options[i].value);
		if (!tids.length) { alert(&quot;please select at least one tiddler&quot;); return; }
		story.displayTiddlers(story.findContainingTiddler(f),tids)
	},
	deltiddlers: function(here) {
		var f=here.form; var list=f.list;
		var tids=[];
		for (i=0;i&amp;lt;list.length;i++) if (list.options[i].selected) tids.push(list.options[i].value);
		if (!tids.length) { alert(&quot;please select at least one tiddler&quot;); return; }
		if (!confirm(&quot;Are you sure you want to delete these tiddlers:\n\n&quot;+tids.join(', '))) return;
		store.suspendNotifications();
		for (t=0;t&amp;lt;tids.length;t++) {
			var tid=store.getTiddler(tids[t]); if (!tid) continue;
			if (tid.tags.contains(&quot;systemConfig&quot;))
				if (!confirm(&quot;'&quot;+tid.title+&quot;' is tagged with 'systemConfig'.\n\nRemoving this tiddler may cause unexpected results.  Are you sure?&quot;))
					continue;
			store.removeTiddler(tid.title);
		}
		store.resumeNotifications();
		this.init(f,f.sortby.value);
	},
	stats: function(here) {
		var f=here.form; var list=f.list; var tids=[]; var out=''; var tot=0;
		var target=f.nextSibling;
		for (i=0;i&amp;lt;list.length;i++) if (list.options[i].selected) tids.push(list.options[i].value);
		if (!tids.length) { alert(&quot;please select at least one tiddler&quot;); return; }
		for (t=0;t&amp;lt;tids.length;t++) {
			var tid=store.getTiddler(tids[t]); if (!tid) continue;
			out+='[['+tid.title+']] '+tid.text.length+'\n'; tot+=tid.text.length;
		}
		var avg=tot/tids.length;
		out=tot+' bytes in '+tids.length+' selected tiddlers ('+avg+' bytes/tiddler)\n&amp;lt;&amp;lt;&amp;lt;\n'+out+'&amp;lt;&amp;lt;&amp;lt;\n';
		removeChildren(target);
		target.innerHTML=&quot;&amp;lt;hr&amp;gt;&amp;lt;font size=-2&amp;gt;&amp;lt;a href='javascript:;' style='float:right' onclick='this.parentNode.parentNode.style.display=\&quot;none\&quot;'&amp;gt;close&amp;lt;/a&amp;gt;&amp;lt;/font&amp;gt;&quot;;
		wikify(out,target);
		target.style.display=&quot;block&quot;;
	}
};
&lt;/pre&gt;</description>
<category>BackstagePackage</category>
<category>TidIDEPackage</category>
<category>systemConfig</category>
<link>http://www.ngo-framework.net/#TiddlerTweakerPlugin</link>
<pubDate>Thu, 27 Dec 2007 00:06:00 GMT</pubDate>
</item>
<item>
<title>NewDocumentPlugin</title>
<description>&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;NewDocumentPlugin&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Source&lt;/td&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.TiddlyTools.com/#NewDocumentPlugin&quot; href=&quot;http://www.TiddlyTools.com/#NewDocumentPlugin&quot; class=&quot;externalLink&quot;&gt;http://www.TiddlyTools.com/#NewDocumentPlugin&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.7.0&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Author&lt;/td&gt;&lt;td&gt;Eric Shulman - ELS Design Studios&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;License&lt;/td&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.TiddlyTools.com/#LegalStatements&quot; href=&quot;http://www.TiddlyTools.com/#LegalStatements&quot; class=&quot;externalLink&quot;&gt;http://www.TiddlyTools.com/#LegalStatements&lt;/a&gt; &lt;br&gt;and &lt;a target=&quot;_blank&quot; title=&quot;External link to http://creativecommons.org/licenses/by-sa/2.5/&quot; href=&quot;http://creativecommons.org/licenses/by-sa/2.5/&quot; class=&quot;externalLink&quot;&gt;Creative Commons Attribution-ShareAlike 2.5 License&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;CoreVersion&lt;/td&gt;&lt;td&gt;2.1&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Type&lt;/td&gt;&lt;td&gt;plugin&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Requires&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;Overrides&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Description&lt;/td&gt;&lt;td&gt;Quickly create new TiddlyWiki documents from your existing document, with just one click&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br&gt;Use the &lt;code&gt;&amp;lt;&amp;lt;newDocument&amp;gt;&amp;gt;&lt;/code&gt; macro to place a &quot;new document&quot; link into your sidebar/mainmenu/any tiddler (wherever you like).  Select this command to automatically create a &quot;new.html&quot; document containing a specific set of tagged tiddlers.  Optional parameters let you specify an alternate path/filename for the new file, or different tags to match.  You can also indicate &quot;ask&quot; for either parameter, which will  trigger a prompt for input when the command is selected.&lt;br&gt;&lt;br&gt;&lt;h5&gt;Usage&lt;/h5&gt;&lt;blockquote&gt;&lt;code&gt;&amp;lt;&amp;lt;newDocument label:text prompt:text filename tag tag tag...&amp;gt;&amp;gt;&lt;/code&gt;&lt;br&gt;&lt;code&gt;&amp;lt;&amp;lt;newDocument label:text prompt:text filename all&amp;gt;&amp;gt;&lt;/code&gt;&lt;br&gt;&lt;code&gt;&amp;lt;&amp;lt;newDocument label:text prompt:text filename snap ID&amp;gt;&amp;gt;&lt;/code&gt;&lt;br&gt;&lt;code&gt;&amp;lt;&amp;lt;newDocument label:text prompt:text filename snap here&amp;gt;&amp;gt;&lt;/code&gt;&lt;br&gt;&lt;code&gt;&amp;lt;&amp;lt;newDocument label:text prompt:text nofile print ID&amp;gt;&amp;gt;&lt;/code&gt;&lt;br&gt;&lt;code&gt;&amp;lt;&amp;lt;newDocument label:text prompt:text nofile print here&amp;gt;&amp;gt;&lt;/code&gt;&lt;br&gt; where:&lt;br&gt;&lt;ul&gt;&lt;li&gt; &lt;strong&gt;label:text&lt;/strong&gt; defines &lt;em&gt;optional&lt;/em&gt; alternative link text (replaces default &quot;new document&quot; display)&lt;/li&gt;&lt;li&gt; &lt;strong&gt;prompt:text&lt;/strong&gt; defines &lt;em&gt;optional&lt;/em&gt; alternative tooltip text for 'mouseover' prompting (replaces default hard-coded tooltip text)&lt;/li&gt;&lt;li&gt; &lt;strong&gt;filename&lt;/strong&gt; is any local path-and-filename.  If no parameters are provided, the default is to create the file &quot;new.html&quot; in the current directory.  If a filename is provided without a path (i.e., there is no &quot;/&quot; in the input), then the current directory is also assumed.  Otherwise, this parameter is expected to contain the complete path and filename needed to write the file to your local hard disk.  If &lt;strong&gt;ask&lt;/strong&gt; is used in place of the filename parameter then, when the command link is selected, a message box will be automatically displayed so you can select/enter the path and filename.&lt;/li&gt;&lt;li&gt; &lt;strong&gt;tag tag tag...&lt;/strong&gt; is a list of one or more space-separated tags (use quotes or &lt;code&gt;[[]]&lt;/code&gt; around tags that contain spaces).  The new document will include all tiddlers that match at least one of the tags in the list.  The default is to include tiddlers tagged with &lt;span class=&quot;quickopentag&quot;&gt;&lt;a tiddlylink=&quot;includeNew&quot; refresh=&quot;link&quot; tip=&quot;The tiddler 'includeNew' doesn't yet exist&quot; class=&quot;tiddlyLink tiddlyLinkNonExisting&quot; title=&quot;&quot; href=&quot;javascript:;&quot;&gt;includeNew&lt;/a&gt;&lt;a tag=&quot;includeNew&quot; class=&quot;button&quot; title=&quot;Show tiddlers tagged with 'includeNew'&quot; href=&quot;javascript:;&quot;&gt;▾&lt;/a&gt;&lt;/span&gt;.    The special value &lt;strong&gt;all&lt;/strong&gt; may be used to match every tiddler (even those without tags).   If &lt;strong&gt;ask&lt;/strong&gt; is used in place of the tags then, when the command link is selected, a message box will be automatically displayed so you can enter the desired tags at that time.&lt;/li&gt;&lt;li&gt; When you use the keyword &lt;strong&gt;snap&lt;/strong&gt; in place of the tags, you can generate a file containing the &lt;em&gt;rendered&lt;/em&gt;  CSS-and-HTML that is currently being displayed in browser.  By default, the snapshop uses the 'contentWrapper' DOM element ID to automatically include all the TiddlyWiki elements, such as the sidebars and header, in addition to the center 'story' column containing the tiddler content.&lt;/li&gt;&lt;li&gt; When you use the keyword &lt;strong&gt;print&lt;/strong&gt; in place of the tags, a snapshot is generated, but the contents are not written to a file.  Instead, they are displayed in a separate browser tab/window, and the print dialog for that tab/window is automatically invoked.&lt;/li&gt;&lt;li&gt; You can limit the snapshot to capture only a portion of the rendered TiddlyWiki elements by specifiying an optional alternate DOM element ID, such as &quot;displayArea&quot; (the entire center 'story' column) or even just a single tiddler (e.g., &quot;tidderMyTiddlerTitle&quot;, assuming that &quot;MyTiddlerTitle&quot; is currently displayed).  Only the portions of the document that are contained &lt;em&gt;within&lt;/em&gt; the specified DOM element will be transcribed to the resulting snapshot file.  If &lt;strong&gt;ask&lt;/strong&gt; is used in place of a DOM element ID, you will be prompted to enter the ID (default is &quot;contentWrapper&quot;) when the snapshot is being taken.  This allows you to easily enter the ID of any currently displayed tiddler to make quick snapshots of specific tiddlers.  If &lt;strong&gt;here&lt;/strong&gt; is used in place of a DOM element ID, the current tiddler id is used.&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;Note: as of version 1.4.0 of this plugin, support for selecting tiddlers by using tag *expressions* has been replaced with simpler, more efficient &quot;containsAny()&quot; logic.  To create new TiddlyWiki documents that contain only those tiddlers selected with advanced AND/OR/NOT Boolean expressions, you can use the filtering features provided by the ExportTiddlersPlugin (see www.TiddlyTools.com/#ExportTiddlersPlugin).&lt;br&gt;&lt;/blockquote&gt;&lt;h5&gt;Examples:&lt;/h5&gt;&lt;blockquote&gt;&lt;code&gt;&amp;lt;&amp;lt;newDocument&amp;gt;&amp;gt;&lt;/code&gt;&lt;br&gt;equivalent to &lt;code&gt;&amp;lt;&amp;lt;newDocument new.htm includeNew systemTiddlers&amp;gt;&amp;gt;&lt;/code&gt;&lt;br&gt;creates default &quot;new.html&quot; containing tiddlers tagged with either&lt;span class=&quot;quickopentag&quot;&gt;&lt;a tiddlylink=&quot;includeNew&quot; refresh=&quot;link&quot; tip=&quot;The tiddler 'includeNew' doesn't yet exist&quot; class=&quot;tiddlyLink tiddlyLinkNonExisting&quot; title=&quot;&quot; href=&quot;javascript:;&quot;&gt;includeNew&lt;/a&gt;&lt;a tag=&quot;includeNew&quot; class=&quot;button&quot; title=&quot;Show tiddlers tagged with 'includeNew'&quot; href=&quot;javascript:;&quot;&gt;▾&lt;/a&gt;&lt;/span&gt;or&lt;span class=&quot;quickopentag&quot;&gt;&lt;a tiddlylink=&quot;systemTiddlers&quot; refresh=&quot;link&quot; tip=&quot;The tiddler 'systemTiddlers' doesn't yet exist&quot; class=&quot;tiddlyLink tiddlyLinkNonExisting&quot; title=&quot;&quot; href=&quot;javascript:;&quot;&gt;systemTiddlers&lt;/a&gt;&lt;a tag=&quot;systemTiddlers&quot; class=&quot;button&quot; title=&quot;Show tiddlers tagged with 'systemTiddlers'&quot; href=&quot;javascript:;&quot;&gt;▾&lt;/a&gt;&lt;/span&gt;&lt;br&gt;try it: &lt;a class=&quot;button&quot; title=&quot;Create a new TiddlyWiki 'starter' document&quot; href=&quot;javascript:;&quot;&gt;new document&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;code&gt;&amp;lt;&amp;lt;newDocument empty.html systemTiddlers&amp;gt;&amp;gt;&lt;/code&gt;&lt;br&gt;creates &quot;empty.html&quot; containing only tiddlers tagged with&lt;span class=&quot;quickopentag&quot;&gt;&lt;a tiddlylink=&quot;systemTiddlers&quot; refresh=&quot;link&quot; tip=&quot;The tiddler 'systemTiddlers' doesn't yet exist&quot; class=&quot;tiddlyLink tiddlyLinkNonExisting&quot; title=&quot;&quot; href=&quot;javascript:;&quot;&gt;systemTiddlers&lt;/a&gt;&lt;a tag=&quot;systemTiddlers&quot; class=&quot;button&quot; title=&quot;Show tiddlers tagged with 'systemTiddlers'&quot; href=&quot;javascript:;&quot;&gt;▾&lt;/a&gt;&lt;/span&gt;&lt;br&gt;&lt;em&gt;(reproduces old-style (pre 2.0.2) empty file)&lt;/em&gt;&lt;br&gt;try it: &lt;a class=&quot;button&quot; title=&quot;Create a new TiddlyWiki 'starter' document&quot; href=&quot;javascript:;&quot;&gt;new document&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;code&gt;&amp;lt;&amp;lt;newDocument &quot;label:create Import/Export starter&quot; ask importexport&amp;gt;&amp;gt;&lt;/code&gt;&lt;br&gt;save importexport tiddlers to a new file, prompts for path/file&lt;br&gt;try it: &lt;a class=&quot;button&quot; title=&quot;Create a new TiddlyWiki 'starter' document&quot; href=&quot;javascript:;&quot;&gt;create Import/Export starter&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;code&gt;&amp;lt;&amp;lt;newDocument ask ask&amp;gt;&amp;gt;&lt;/code&gt;&lt;br&gt;prompts for path/file, prompts for tags to match&lt;br&gt;try it: &lt;a class=&quot;button&quot; title=&quot;Create a new TiddlyWiki 'starter' document&quot; href=&quot;javascript:;&quot;&gt;new document&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;code&gt;&amp;lt;&amp;lt;newDocument ask all&amp;gt;&amp;gt;&lt;/code&gt;&lt;br&gt;save all current TiddlyWiki contents to a new file, prompts for path/file&lt;br&gt;try it: &lt;a class=&quot;button&quot; title=&quot;Save current TiddlyWiki to a different file&quot; href=&quot;javascript:;&quot;&gt;save as...&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;code&gt;&amp;lt;&amp;lt;newDocument ask snap&amp;gt;&amp;gt;&lt;/code&gt;&lt;br&gt;generates snapshot of currently displayed document, prompts for path/file&lt;br&gt;try it: &lt;a class=&quot;button&quot; title=&quot;Create a 'snapshot' of the current TiddlyWiki display&quot; href=&quot;javascript:;&quot;&gt;create a snapshot&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;code&gt;&amp;lt;&amp;lt;newDocument ask snap here&amp;gt;&amp;gt;&lt;/code&gt;&lt;br&gt;generates snapshot of this tiddler ONLY, prompts for path/file&lt;br&gt;try it: &lt;a class=&quot;button&quot; title=&quot;Create a 'snapshot' of the current TiddlyWiki display&quot; href=&quot;javascript:;&quot;&gt;create a snapshot&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;code&gt;&amp;lt;&amp;lt;newDocument ask print here&amp;gt;&amp;gt;&lt;/code&gt;&lt;br&gt;prints a snapshot of this tiddler ONLY&lt;br&gt;try it: &lt;a class=&quot;button&quot; title=&quot;Create a 'snapshot' of the current TiddlyWiki display&quot; href=&quot;javascript:;&quot;&gt;create a snapshot&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;/blockquote&gt;&lt;h5&gt;Installation&lt;/h5&gt;&lt;blockquote&gt;Import (or copy/paste) the following tiddlers into your document:&lt;br&gt;&lt;strong&gt;NewDocumentPlugin&lt;/strong&gt; (tagged with &lt;span class=&quot;quickopentag&quot;&gt;&lt;a tiddlylink=&quot;systemConfig&quot; refresh=&quot;link&quot; tip=&quot;The ''systemConfig'' tag is used for [[Plugin Macros]] and instructs TiddlyWiki to include the plugin in its J&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;&quot; href=&quot;javascript:;&quot;&gt;systemConfig&lt;/a&gt;&lt;a tag=&quot;systemConfig&quot; class=&quot;button&quot; title=&quot;Show tiddlers tagged with 'systemConfig'&quot; href=&quot;javascript:;&quot;&gt;▾&lt;/a&gt;&lt;/span&gt;)&lt;br&gt;&lt;/blockquote&gt;&lt;h5&gt;Revision History&lt;/h5&gt;&lt;blockquote&gt;&lt;strong&gt;2007.12.04 [*.*.*]&lt;/strong&gt; update for TW2.3.0: replaced deprecated core functions, regexps, and macros&lt;br&gt;&lt;strong&gt;2007.03.30 [1.7.0]&lt;/strong&gt; added support for &quot;print&quot; param as alternative for &quot;snap&quot;.  When &quot;print&quot; is used, the filename is ignored and ouput is directed to another browser tab/window, where the print dialog is then automatically triggered.&lt;br&gt;&lt;strong&gt;2007.03.30 [1.6.1]&lt;/strong&gt; added support for &quot;here&quot; keyword for current tiddler elementID and &quot;prompt:text&quot; param for specifying tooltip text&lt;br&gt;&lt;strong&gt;2007.02.12 [1.6.0]&lt;/strong&gt; in onClickNewDocument(), reset HTML source 'markup'&lt;br&gt;&lt;strong&gt;2006.10.23 [1.5.1]&lt;/strong&gt; in onClickNewDocument(), get saved parameter value for snapID instead of using default &quot;contentWrapper&quot; (oops!)&lt;br&gt;&lt;strong&gt;2006.10.18 [1.5.0]&lt;/strong&gt; new optional param for 'snap'... specify alternative DOM element ID (default is still &quot;contentWrapper&quot;).  Based on a suggestion from Xavier Verges.&lt;br&gt;&lt;strong&gt;2006.08.03 [1.4.3]&lt;/strong&gt; in promptForFilename(), for IE (WinXP only), added handling for UserAccounts.CommonDialog&lt;br&gt;&lt;strong&gt;2006.07.29 [1.4.2]&lt;/strong&gt; in onClickNewDocument(), okmsg display is now linked to newly created file&lt;br&gt;&lt;strong&gt;2006.07.24 [1.4.1]&lt;/strong&gt; in promptForFilename(), check for nsIFilePicker.returnCancel to allow nsIFilePicker.returnOK **OR** nsIFilePicker.returnReplace to be processed.&lt;br&gt;&lt;strong&gt;2006.05.23 [1.4.0]&lt;/strong&gt; due to very poor performance, support for tag *expressions* has been removed, in favor of a simpler &quot;containsAny()&quot; scan for tags.&lt;br&gt;&lt;strong&gt;2006.04.09 [1.3.6]&lt;/strong&gt; in onClickNewDocument, added call to convertUnicodeToUTF8() to better handle international characters.&lt;br&gt;&lt;strong&gt;2006.03.15 [1.3.5]&lt;/strong&gt; added nsIFilePicker() handler for selecting filename in moz-based browsers.  IE and other non-moz browsers still use simple prompt() dialog&lt;br&gt;&lt;strong&gt;2006.03.15 [1.3.0]&lt;/strong&gt; added &quot;label:text&quot; param for custom link text.  added special &quot;all&quot; filter parameter for &quot;save as...&quot; handling (writes all tiddlers to output file)&lt;br&gt;&lt;strong&gt;2006.03.09 [1.2.0]&lt;/strong&gt; added special &quot;snap&quot; filter parameter to generate and write &quot;snapshot&quot; files containing static HTML+CSS for currently rendered document.&lt;br&gt;&lt;strong&gt;2006.02.24 [1.1.2]&lt;/strong&gt; Fix incompatiblity with TW 2.0.5 by removing custom definition of getLocalPath() (which is now part of TW core)&lt;br&gt;&lt;strong&gt;2006.02.03 [1.1.1]&lt;/strong&gt; concatentate 'extra' params so that tag expressions don't have to be quoted.   moved all text to 'formatted' string definitions for easier translation.&lt;br&gt;&lt;strong&gt;2006.02.03 [1.1.0]&lt;/strong&gt; added support for tag EXPRESSIONS.  plus improved documentation and code cleanup&lt;br&gt;&lt;strong&gt;2006.02.03 [1.0.0]&lt;/strong&gt; Created.&lt;br&gt;&lt;/blockquote&gt;&lt;h5&gt;Credits&lt;/h5&gt;&lt;blockquote&gt;This feature was developed by EricShulman from &lt;a target=&quot;_blank&quot; title=&quot;External link to http:/www.elsdesign.com&quot; href=&quot;http:/www.elsdesign.com&quot; class=&quot;externalLink&quot;&gt;ELS Design Studios&lt;/a&gt;&lt;br&gt;&lt;/blockquote&gt;&lt;h5&gt;Code&lt;/h5&gt;&lt;pre&gt;version.extensions.newDocument = {major: 1, minor: 7, revision: 0, date: new Date(2007,3,30)};

config.macros.newDocument = {
	newlabel: &quot;new document&quot;,
	newprompt: &quot;Create a new TiddlyWiki 'starter' document&quot;,
	newdefault: &quot;new.html&quot;,
	allparam: &quot;all&quot;,
	saveaslabel: &quot;save as...&quot;,
	saveasprompt: &quot;Save current TiddlyWiki to a different file&quot;,
	printparam: &quot;print&quot;,
	snapparam: &quot;snap&quot;,
	snaplabel: &quot;create a snapshot&quot;,
	snapprompt: &quot;Create a 'snapshot' of the current TiddlyWiki display&quot;,
	snapdefault: &quot;snapshot.html&quot;,
	snapID: &quot;contentWrapper&quot;,
	snapIDprompt: &quot;Please enter a DOM element ID for the desired content&quot;,
	snapIDerrmsg: &quot;Unrecognized document element ID: '%0'&quot;,
	askparam: &quot;ask&quot;,
	hereparam: &quot;here&quot;,
	labelparam: &quot;label:&quot;,
	promptparam: &quot;prompt:&quot;,
	fileprompt: &quot;Please enter a filename&quot;,
	filter: &quot;includeNew&quot;,
	filterprompt: &quot;Match one or more tags:\n(space-separated, use [[...]] around tags containing spaces)&quot;,
	filtererrmsg: &quot;Error in tag filter '%0'&quot;,
	snapmsg: &quot;Document snapshot written to %1&quot;,
	okmsg: &quot;%0 tiddlers written to %1&quot;,
	failmsg: &quot;An error occurred while creating %0&quot;
};

config.macros.newDocument.handler = function(place,macroName,params) {

	var path=getLocalPath(document.location.href);
	var slashpos=path.lastIndexOf(&quot;/&quot;); if (slashpos==-1) slashpos=path.lastIndexOf(&quot;\\&quot;); 
	if (slashpos!=-1) path = path.substr(0,slashpos+1); // remove filename from path, leave the trailing slash

	if (params[0] &amp;amp;&amp;amp; params[0].substr(0,config.macros.newDocument.labelparam.length)==config.macros.newDocument.labelparam)
		var label=params.shift().substr(config.macros.newDocument.labelparam.length)
	if (params[0] &amp;amp;&amp;amp; params[0].substr(0,config.macros.newDocument.promptparam.length)==config.macros.newDocument.promptparam)
		var prompt=params.shift().substr(config.macros.newDocument.promptparam.length)
	var filename=params.shift(); if (!filename) filename=config.macros.newDocument.newdefault;
	if (params[0]==config.macros.newDocument.snapparam || params[0]==config.macros.newDocument.printparam) {
		var printmode=(params[0]==config.macros.newDocument.printparam);
		params.shift();
		if (!label) var label=config.macros.newDocument.snaplabel;
		if (!prompt) var prompt=config.macros.newDocument.snapprompt;
		var defaultfile=config.macros.newDocument.snapdefault;
		var snapID=config.macros.newDocument.snapID;// default to &quot;contentWrapper&quot;
		if (params[0]) var snapID=params.shift(); // alternate DOM element for snapshot
	}
	if (params[0]==config.macros.newDocument.allparam) {
		if (!label) var label=config.macros.newDocument.saveaslabel;
		if (!prompt) var prompt=config.macros.newDocument.saveasprompt;
		var defaultfile=getLocalPath(document.location.href);
		var slashpos=defaultfile.lastIndexOf(&quot;/&quot;); if (slashpos==-1) slashpos=defaultfile.lastIndexOf(&quot;\\&quot;);
		if (slashpos!=-1) defaultfile=defaultfile.substr(slashpos+1); // get filename only
	}
	if (!prompt) var prompt=config.macros.newDocument.newprompt;
	if (!label) var label=config.macros.newDocument.newlabel;
	if (!defaultfile) var defaultfile=config.macros.newDocument.newdefault;

	var btn=createTiddlyButton(place,label,prompt,onClickNewDocument);
	btn.path=path;
	btn.file=filename;
	btn.defaultfile=defaultfile;
	btn.snapID=snapID; // NULL unless snapshot is being taken
	btn.printmode=printmode;
	btn.filter=params.length?params:[config.macros.newDocument.filter]; 
}

// IE needs explicit global scoping for functions called by browser events
window.onClickNewDocument=function(e)
{
	if (!e) var e = window.event; var btn=resolveTarget(e);

	// assemble document content, write file, report result
	var okmsg=config.macros.newDocument.okmsg;
	var failmsg=config.macros.newDocument.failmsg;
	var count=0;
	var out=&quot;&quot;;
	if (btn.snapID) { // HTML+CSS snapshot
		var snapID=btn.snapID;
		if (btn.snapID==config.macros.newDocument.askparam)
			snapID=prompt(config.macros.newDocument.snapIDprompt,config.macros.newDocument.snapID);
		if (btn.snapID==config.macros.newDocument.hereparam)
			{ var here=story.findContainingTiddler(btn); if (here) snapID=here.id; }
		if (!document.getElementById(snapID)) { // if specified element does not exist
			if (snapID) // ID=null if prompt was cancelled by user
				displayMessage(config.macros.newDocument.snapIDerrmsg.format([snapID]));
			e.cancelBubble = true; if (e.stopPropagation) e.stopPropagation(); return(false);
		}
		var styles=document.getElementsByTagName(&quot;style&quot;);
		out+=&quot;&amp;lt;html&amp;gt;\n&amp;lt;head&amp;gt;\n&amp;lt;style&amp;gt;\n&quot;;
		for(var i=0; i &amp;lt; styles.length; i++)
			out +=&quot;/* stylesheet from tiddler:&quot;+styles[i].getAttribute(&quot;id&quot;)+&quot; */\n&quot;+styles[i].innerHTML+&quot;\n\n&quot;;
		out+=&quot;&amp;lt;/style&amp;gt;\n&amp;lt;/head&amp;gt;\n&amp;lt;body&amp;gt;\n\n&quot;+document.getElementById(snapID).innerHTML+&quot;\n\n&amp;lt;/body&amp;gt;\n&amp;lt;/html&amp;gt;&quot;;
		okmsg=config.macros.newDocument.snapmsg;
	} else { // TW starter document
		// get the TiddlyWiki core code source
		var sourcefile=getLocalPath(document.location.href);
		var source=loadFile(sourcefile);
		if(source==null) { alert(config.messages.cantSaveError); return null; }
		// reset existing HTML source markup
		source=updateMarkupBlock(source,&quot;PRE-HEAD&quot;);
		source=updateMarkupBlock(source,&quot;POST-HEAD&quot;);
		source=updateMarkupBlock(source,&quot;PRE-BODY&quot;);
		source=updateMarkupBlock(source,&quot;POST-BODY&quot;);
		// find store area
		var posOpeningDiv=source.indexOf(startSaveArea);
		var posClosingDiv=source.lastIndexOf(endSaveArea);
		if((posOpeningDiv==-1)||(posClosingDiv==-1)) { alert(config.messages.invalidFileError.format([sourcefile])); return; }
		// get the matching tiddler divs
		var match=btn.filter;
		if (match[0]==config.macros.newDocument.askparam) { // ask user for tags
			var newfilt=prompt(config.macros.newDocument.filterprompt,config.macros.newDocument.filter);
			if (!newfilt) return;  // cancelled by user
			match=newfilt.readMacroParams();
		}
		var storeAreaDivs=[];
		var tiddlers=store.getTiddlers('title');
		for (var i=0; i&amp;lt;tiddlers.length; i++)
			if (match[0]==config.macros.newDocument.allparam || (tiddlers[i].tags &amp;amp;&amp;amp; tiddlers[i].tags.containsAny(match)) )
				storeAreaDivs.push(store.getSaver().externalizeTiddler(store,tiddlers[i]));
		out+=source.substr(0,posOpeningDiv+startSaveArea.length);
		out+=convertUnicodeToUTF8(storeAreaDivs.join(&quot;\n&quot;))+&quot;\n\t\t&quot;;
		out+=source.substr(posClosingDiv);
		count=storeAreaDivs.length;
	}
	if (btn.printmode) {
		var win=window.open(&quot;&quot;,&quot;_blank&quot;,&quot;&quot;);
		win.document.open();
		win.document.writeln(out);
		win.document.close();
		win.focus(); // bring to front
		win.print(); // trigger print dialog
	} else {
		// get output path/filename
		var filename=btn.file;
		if (filename==config.macros.newDocument.askparam)
			filename=promptForFilename(config.macros.newDocument.fileprompt,btn.path,btn.defaultfile);
		if (!filename) return; // cancelled by user
		// if specified file does not include a path, assemble fully qualified path and filename
		var slashpos=filename.lastIndexOf(&quot;/&quot;); if (slashpos==-1) slashpos=filename.lastIndexOf(&quot;\\&quot;);
		if (slashpos==-1) filename=btn.path+filename;
		var ok=saveFile(filename,out);
		var msg=ok?okmsg.format([count,filename]):failmsg.format([filename]);
		var link=ok?&quot;file:///&quot;+filename.replace(/\\/g,'/'):&quot;&quot;; // change local path to link text
		clearMessage(); displayMessage(msg,link);
	}
	e.cancelBubble = true; if (e.stopPropagation) e.stopPropagation(); return(false);
}
&lt;/pre&gt;&lt;br&gt;&lt;pre&gt;function promptForFilename(msg,path,file)
{
	if(window.Components) { // moz
		try {
			netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
			var nsIFilePicker = window.Components.interfaces.nsIFilePicker;
			var picker = Components.classes['@mozilla.org/filepicker;1'].createInstance(nsIFilePicker);
			picker.init(window, msg, nsIFilePicker.modeSave);
			var thispath = Components.classes['@mozilla.org/file/local;1'].createInstance(Components.interfaces.nsILocalFile);
			thispath.initWithPath(path);
			picker.displayDirectory=thispath;
			picker.defaultExtension='html';
			picker.defaultString=file;
			picker.appendFilters(nsIFilePicker.filterAll|nsIFilePicker.filterText|nsIFilePicker.filterHTML);
			if (picker.show()!=nsIFilePicker.returnCancel) var result=picker.file.persistentDescriptor;
		}
		catch(e) { alert('error during local file access: '+e.toString()) }
	}
	else { // IE
		try { // XP only
			var s = new ActiveXObject('UserAccounts.CommonDialog');
			s.Filter='All files|*.*|Text files|*.txt|HTML files|*.htm;*.html|';
			s.FilterIndex=3; // default to HTML files;
			s.InitialDir=path;
			s.FileName=file;
			if (s.showOpen()) var result=s.FileName;
		}
		catch(e) { var result=prompt(msg,path+file); } // fallback for non-XP IE
	}
	return result;
}
&lt;/pre&gt;</description>
<category>AttachFilePackage</category>
<category>settings</category>
<category>systemConfig</category>
<category>AuthoringPackage</category>
<category>ImportExportPackage</category>
<category>includeNew</category>
<link>http://www.ngo-framework.net/#NewDocumentPlugin</link>
<pubDate>Tue, 04 Dec 2007 23:35:00 GMT</pubDate>
</item>
<item>
<title>PaletteViewMacro</title>
<description>&lt;table class=&quot;twtable&quot;&gt;&lt;tbody&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;&lt;strong&gt;Name&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;PaletteViewMacro&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;&lt;strong&gt;Version&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;0.2&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;&lt;strong&gt;Author&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;FND&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;&lt;strong&gt;Source&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://devpad.tiddlyspot.com/#PaletteViewMacro&quot; href=&quot;http://devpad.tiddlyspot.com/#PaletteViewMacro&quot; class=&quot;externalLink&quot;&gt;FND's DevPad&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;&lt;strong&gt;License&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://creativecommons.org/licenses/by-sa/3.0/&quot; href=&quot;http://creativecommons.org/licenses/by-sa/3.0/&quot; class=&quot;externalLink&quot;&gt;Creative Commons Attribution-ShareAlike 3.0 License&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;&lt;strong&gt;CoreVersion&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;2.1&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;&lt;strong&gt;Type&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;macro&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;&lt;strong&gt;Requires&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;N/A&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;&lt;strong&gt;Overrides&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;N/A&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Displays color palettes.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h1&gt;Notes&lt;/h1&gt;There is also &lt;a target=&quot;_blank&quot; title=&quot;External link to http://simon.tiddlyspot.com/#ViewPalettePlugin&quot; href=&quot;http://simon.tiddlyspot.com/#ViewPalettePlugin&quot; class=&quot;externalLink&quot;&gt;ViewPalettePlugin&lt;/a&gt;, which currently does not work with TiddlyWiki v2.2 though.&lt;br&gt;&lt;h1&gt;Usage&lt;/h1&gt;&lt;pre&gt;&amp;lt;&amp;lt;paletteView [tiddler name]&amp;gt;&amp;gt;
&lt;/pre&gt;&lt;h2&gt;Example&lt;/h2&gt;&lt;table class=&quot;twtable&quot;&gt;&lt;thead&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;th&gt;Sample&lt;/th&gt;&lt;th&gt;Value&lt;/th&gt;&lt;th&gt;Name&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td style=&quot;padding: 0pt 4em; background-color: rgb(0, 0, 0);&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;#000&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;a tiddlylink=&quot;ColorPalette&quot; refresh=&quot;link&quot; tip=&quot;These values in this shadow tiddler determine the colour scheme of the ~TiddlyWiki user interface&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;&quot; href=&quot;javascript:;&quot;&gt;Foreground&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td style=&quot;padding: 0pt 4em; background-color: rgb(255, 255, 255);&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;#fff&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;a tiddlylink=&quot;ColorPalette&quot; refresh=&quot;link&quot; tip=&quot;These values in this shadow tiddler determine the colour scheme of the ~TiddlyWiki user interface&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;&quot; href=&quot;javascript:;&quot;&gt;Background&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td style=&quot;padding: 0pt 4em; background-color: rgb(136, 204, 255);&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;#8cf&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;a tiddlylink=&quot;ColorPalette&quot; refresh=&quot;link&quot; tip=&quot;These values in this shadow tiddler determine the colour scheme of the ~TiddlyWiki user interface&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;&quot; href=&quot;javascript:;&quot;&gt;PrimaryPale&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td style=&quot;padding: 0pt 4em; background-color: rgb(17, 136, 255);&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;#18f&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;a tiddlylink=&quot;ColorPalette&quot; refresh=&quot;link&quot; tip=&quot;These values in this shadow tiddler determine the colour scheme of the ~TiddlyWiki user interface&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;&quot; href=&quot;javascript:;&quot;&gt;PrimaryLight&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td style=&quot;padding: 0pt 4em; background-color: rgb(0, 68, 187);&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;#04b&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;a tiddlylink=&quot;ColorPalette&quot; refresh=&quot;link&quot; tip=&quot;These values in this shadow tiddler determine the colour scheme of the ~TiddlyWiki user interface&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;&quot; href=&quot;javascript:;&quot;&gt;PrimaryMid&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td style=&quot;padding: 0pt 4em; background-color: rgb(0, 17, 68);&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;#014&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;a tiddlylink=&quot;ColorPalette&quot; refresh=&quot;link&quot; tip=&quot;These values in this shadow tiddler determine the colour scheme of the ~TiddlyWiki user interface&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;&quot; href=&quot;javascript:;&quot;&gt;PrimaryDark&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td style=&quot;padding: 0pt 4em; background-color: rgb(255, 255, 204);&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;#ffc&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;a tiddlylink=&quot;ColorPalette&quot; refresh=&quot;link&quot; tip=&quot;These values in this shadow tiddler determine the colour scheme of the ~TiddlyWiki user interface&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;&quot; href=&quot;javascript:;&quot;&gt;SecondaryPale&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td style=&quot;padding: 0pt 4em; background-color: rgb(255, 238, 136);&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;#fe8&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;a tiddlylink=&quot;ColorPalette&quot; refresh=&quot;link&quot; tip=&quot;These values in this shadow tiddler determine the colour scheme of the ~TiddlyWiki user interface&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;&quot; href=&quot;javascript:;&quot;&gt;SecondaryLight&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td style=&quot;padding: 0pt 4em; background-color: rgb(221, 187, 68);&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;#db4&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;a tiddlylink=&quot;ColorPalette&quot; refresh=&quot;link&quot; tip=&quot;These values in this shadow tiddler determine the colour scheme of the ~TiddlyWiki user interface&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;&quot; href=&quot;javascript:;&quot;&gt;SecondaryMid&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td style=&quot;padding: 0pt 4em; background-color: rgb(136, 68, 17);&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;#841&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;a tiddlylink=&quot;ColorPalette&quot; refresh=&quot;link&quot; tip=&quot;These values in this shadow tiddler determine the colour scheme of the ~TiddlyWiki user interface&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;&quot; href=&quot;javascript:;&quot;&gt;SecondaryDark&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td style=&quot;padding: 0pt 4em; background-color: rgb(238, 238, 238);&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;#eee&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;a tiddlylink=&quot;ColorPalette&quot; refresh=&quot;link&quot; tip=&quot;These values in this shadow tiddler determine the colour scheme of the ~TiddlyWiki user interface&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;&quot; href=&quot;javascript:;&quot;&gt;TertiaryPale&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td style=&quot;padding: 0pt 4em; background-color: rgb(204, 204, 204);&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;#ccc&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;a tiddlylink=&quot;ColorPalette&quot; refresh=&quot;link&quot; tip=&quot;These values in this shadow tiddler determine the colour scheme of the ~TiddlyWiki user interface&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;&quot; href=&quot;javascript:;&quot;&gt;TertiaryLight&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td style=&quot;padding: 0pt 4em; background-color: rgb(153, 153, 153);&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;#999&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;a tiddlylink=&quot;ColorPalette&quot; refresh=&quot;link&quot; tip=&quot;These values in this shadow tiddler determine the colour scheme of the ~TiddlyWiki user interface&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;&quot; href=&quot;javascript:;&quot;&gt;TertiaryMid&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td style=&quot;padding: 0pt 4em; background-color: rgb(102, 102, 102);&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;#666&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;a tiddlylink=&quot;ColorPalette&quot; refresh=&quot;link&quot; tip=&quot;These values in this shadow tiddler determine the colour scheme of the ~TiddlyWiki user interface&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;&quot; href=&quot;javascript:;&quot;&gt;TertiaryDark&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td style=&quot;padding: 0pt 4em; background-color: rgb(255, 136, 136);&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;#f88&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;a tiddlylink=&quot;ColorPalette&quot; refresh=&quot;link&quot; tip=&quot;These values in this shadow tiddler determine the colour scheme of the ~TiddlyWiki user interface&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;&quot; href=&quot;javascript:;&quot;&gt;Error&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br&gt;&lt;h1&gt;Revision History&lt;/h1&gt;&lt;h2&gt;v0.1 (2007-11-18)&lt;/h2&gt;&lt;ul&gt;&lt;li&gt; initial release&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;v0.2 (2007-11-20)&lt;/h2&gt;&lt;ul&gt;&lt;li&gt; limited processing to slices containing &lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.w3.org/TR/CSS21/syndata.html#color-units&quot; href=&quot;http://www.w3.org/TR/CSS21/syndata.html#color-units&quot; class=&quot;externalLink&quot;&gt;actual color values&lt;/a&gt;&lt;/li&gt;&lt;li&gt; changed fallback value to the tiddler the macro is called from (instead of using &lt;a tiddlylink=&quot;ColorPalette&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.ngo-framework.net/#ColorPalette&quot; href=&quot;http://www.ngo-framework.net/#ColorPalette&quot; class=&quot;externalLink null&quot;&gt;ColorPalette&lt;/a&gt;)&lt;/li&gt;&lt;/ul&gt;&lt;h1&gt;To Do&lt;/h1&gt;&lt;ul&gt;&lt;li&gt; selection list for all available palettes (tag-based)&lt;/li&gt;&lt;li&gt; parameter for custom table class&lt;/li&gt;&lt;li&gt; customizable column order&lt;/li&gt;&lt;li&gt; documentation (e.g. using from within &lt;a tiddlylink=&quot;ViewTemplate&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.ngo-framework.net/#ViewTemplate&quot; href=&quot;http://www.ngo-framework.net/#ViewTemplate&quot; class=&quot;externalLink null&quot;&gt;ViewTemplate&lt;/a&gt;)&lt;/li&gt;&lt;/ul&gt;&lt;h1&gt;Code&lt;/h1&gt;&lt;pre&gt;config.macros.paletteView = {};

config.macros.paletteView.handler = function(place, macroName, params, wikifier, paramString, tiddler) {
	var title = params[0] || tiddler.title;
	//var palettes = store.getTaggedTiddlers(params[0]); // DEBUG: yet to be implemented
	var colors = store.calcAllSlices(title);
	var labels = [];
	for(var c in colors) {
		if(this.isColor(colors[c])) {
			labels.push(c);
		}
	}
	if(labels.length &amp;gt; 0) {
		var output = &quot;|!Sample|!Value|!Name|h\n&quot;;
		for(var i = 0; i &amp;lt; labels.length; i++) {
			output += &quot;|padding:0 4em;background-color:&quot; + colors[labels[i]] + &quot;;&amp;amp;nbsp;|&quot;
				+ &quot;{{{&quot; + colors[labels[i]] + &quot;}}}|&quot;
				+ &quot;[[&quot; + labels[i] + &quot;|&quot; + title + &quot;]]|\n&quot;;
		}
		wikify(output, place);
	}
};

config.macros.paletteView.isColor = function(s) {
	var colors = [&quot;Black&quot;, &quot;Green&quot;, &quot;Silver&quot;, &quot;Lime&quot;, &quot;Gray&quot;, &quot;Olive&quot;, &quot;White&quot;, &quot;Yellow&quot;,
		&quot;Maroon&quot;, &quot;Navy&quot;, &quot;Red&quot;, &quot;Blue&quot;, &quot;Purple&quot;, &quot;Teal&quot;, &quot;Fuchsia&quot;, &quot;Aqua&quot;, &quot;Orange&quot;];
	var match = s.match(/^#[0-9A-F]{3}$|^#[0-9A-F]{6}$|^RGB\([\d,\s]{5,}\)$/i);
	if(match) return true;
	if(colors.contains(s)) return true;
	return false;
};
&lt;/pre&gt;</description>
<category>plugins</category>
<category>macros</category>
<category>systemConfig</category>
<link>http://www.ngo-framework.net/#PaletteViewMacro</link>
<pubDate>Tue, 20 Nov 2007 22:08:00 GMT</pubDate>
</item>
<item>
<title>DeprecatedFunctionsPlugin</title>
<description>&lt;table class=&quot;twtable&quot;&gt;&lt;tbody&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;&lt;strong&gt;Name:&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;DeprecatedFunctionsPlugin&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;&lt;strong&gt;Description:&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Support for deprecated functions removed from core&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;pre&gt;if(!version.extensions.DeprecatedFunctionsPlugin) {
version.extensions.DeprecatedFunctionsPlugin = {installed:true};

//--
//-- Deprecated code
//--

// @Deprecated: Use createElementAndWikify and this.termRegExp instead
config.formatterHelpers.charFormatHelper = function(w)
{
	w.subWikify(createTiddlyElement(w.output,this.element),this.terminator);
};

// @Deprecated: Use enclosedTextHelper and this.lookaheadRegExp instead
config.formatterHelpers.monospacedByLineHelper = function(w)
{
	var lookaheadRegExp = new RegExp(this.lookahead,&quot;mg&quot;);
	lookaheadRegExp.lastIndex = w.matchStart;
	var lookaheadMatch = lookaheadRegExp.exec(w.source);
	if(lookaheadMatch &amp;amp;&amp;amp; lookaheadMatch.index == w.matchStart) {
		var text = lookaheadMatch[1];
		if(config.browser.isIE)
			text = text.replace(/\n/g,&quot;\r&quot;);
		createTiddlyElement(w.output,&quot;pre&quot;,null,null,text);
		w.nextMatch = lookaheadRegExp.lastIndex;
	}
};

// @Deprecated: Use &amp;lt;br&amp;gt; or &amp;lt;br /&amp;gt; instead of &amp;lt;&amp;lt;br&amp;gt;&amp;gt;
config.macros.br = {};
config.macros.br.handler = function(place)
{
	createTiddlyElement(place,&quot;br&quot;);
};

// Find an entry in an array. Returns the array index or null
// @Deprecated: Use indexOf instead
Array.prototype.find = function(item)
{
	var i = this.indexOf(item);
	return i == -1 ? null : i;
};

// Load a tiddler from an HTML DIV. The caller should make sure to later call Tiddler.changed()
// @Deprecated: Use store.getLoader().internalizeTiddler instead
Tiddler.prototype.loadFromDiv = function(divRef,title)
{
	return store.getLoader().internalizeTiddler(store,this,title,divRef);
};

// Format the text for storage in an HTML DIV
// @Deprecated Use store.getSaver().externalizeTiddler instead.
Tiddler.prototype.saveToDiv = function()
{
	return store.getSaver().externalizeTiddler(store,this);
};

// @Deprecated: Use store.allTiddlersAsHtml() instead
function allTiddlersAsHtml()
{
	return store.allTiddlersAsHtml();
}

// @Deprecated: Use refreshPageTemplate instead
function applyPageTemplate(title)
{
	refreshPageTemplate(title);
}

// @Deprecated: Use story.displayTiddlers instead
function displayTiddlers(srcElement,titles,template,unused1,unused2,animate,unused3)
{
	story.displayTiddlers(srcElement,titles,template,animate);
}

// @Deprecated: Use story.displayTiddler instead
function displayTiddler(srcElement,title,template,unused1,unused2,animate,unused3)
{
	story.displayTiddler(srcElement,title,template,animate);
}

// @Deprecated: Use functions on right hand side directly instead
var createTiddlerPopup = Popup.create;
var scrollToTiddlerPopup = Popup.show;
var hideTiddlerPopup = Popup.remove;

// @Deprecated: Use right hand side directly instead
var regexpBackSlashEn = new RegExp(&quot;\\\\n&quot;,&quot;mg&quot;);
var regexpBackSlash = new RegExp(&quot;\\\\&quot;,&quot;mg&quot;);
var regexpBackSlashEss = new RegExp(&quot;\\\\s&quot;,&quot;mg&quot;);
var regexpNewLine = new RegExp(&quot;\n&quot;,&quot;mg&quot;);
var regexpCarriageReturn = new RegExp(&quot;\r&quot;,&quot;mg&quot;);

}
&lt;/pre&gt;</description>
<category>systemConfig</category>
<category>excludeLists</category>
<category>excludeSearch</category>
<link>http://www.ngo-framework.net/#DeprecatedFunctionsPlugin</link>
<pubDate>Sun, 14 Oct 2007 02:59:00 GMT</pubDate>
</item>
<item>
<title>SparklinePlugin</title>
<description>&lt;table class=&quot;twtable&quot;&gt;&lt;tbody&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;&lt;strong&gt;Name:&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;SparklinePlugin&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;&lt;strong&gt;Description:&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Sparklines macro&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;pre&gt;if(!version.extensions.SparklinePlugin) {
version.extensions.SparklinePlugin = {installed:true};

//--
//-- Sparklines
//--

config.macros.sparkline = {};
config.macros.sparkline.handler = function(place,macroName,params)
{
	var data = [];
	var min = 0;
	var max = 0;
	var v;
	for(var t=0; t&amp;lt;params.length; t++) {
		v = parseInt(params[t]);
		if(v &amp;lt; min)
			min = v;
		if(v &amp;gt; max)
			max = v;
		data.push(v);
	}
	if(data.length &amp;lt; 1)
		return;
	var box = createTiddlyElement(place,&quot;span&quot;,null,&quot;sparkline&quot;,String.fromCharCode(160));
	box.title = data.join(&quot;,&quot;);
	var w = box.offsetWidth;
	var h = box.offsetHeight;
	box.style.paddingRight = (data.length * 2 - w) + &quot;px&quot;;
	box.style.position = &quot;relative&quot;;
	for(var d=0; d&amp;lt;data.length; d++) {
		var tick = document.createElement(&quot;img&quot;);
		tick.border = 0;
		tick.className = &quot;sparktick&quot;;
		tick.style.position = &quot;absolute&quot;;
		tick.src = &quot;data:image/gif,GIF89a%01%00%01%00%91%FF%00%FF%FF%FF%00%00%00%C0%C0%C0%00%00%00!%F9%04%01%00%00%02%00%2C%00%00%00%00%01%00%01%00%40%02%02T%01%00%3B&quot;;
		tick.style.left = d*2 + &quot;px&quot;;
		tick.style.width = &quot;2px&quot;;
		v = Math.floor(((data[d] - min)/(max-min)) * h);
		tick.style.top = (h-v) + &quot;px&quot;;
		tick.style.height = v + &quot;px&quot;;
		box.appendChild(tick);
	}
};


}
&lt;/pre&gt;</description>
<category>systemConfig</category>
<category>excludeLists</category>
<category>excludeSearch</category>
<link>http://www.ngo-framework.net/#SparklinePlugin</link>
<pubDate>Sun, 14 Oct 2007 02:59:00 GMT</pubDate>
</item>
<item>
<title>MultiRssPlugin</title>
<description>&lt;pre&gt;config.macros.saveRss = {};
config.macros.saveRss.handler = function(place)
{
	if(!readOnly)
		createTiddlyButton(place,'save rss','save rss',function(e){saveMultiRss();return false;});
}

window.getRssMarkers = function()
{
    var s = [];
    myregexp=/\|(?:.*?)\|(?:.*?)\|(.*?)\|(?:.*?)\|(.*?)\|/g;
    while((m = myregexp.exec(store.getTiddlerText(&quot;MultiRssConfig&quot;))) != null)
         s.push(&quot;&amp;lt;link rel='alternate' type='application/rss+xml' title='%0' href='%1'&amp;gt;&quot;.format([m[1].trim(),m[2].trim()]));
    return s.splice(1,s.length).join(&quot;\n&quot;);
}

updateMarkupBlock_old_multirss = window.updateMarkupBlock;
window.updateMarkupBlock = function (s,blockName,tiddlerName)
{
    s = updateMarkupBlock_old_multirss.apply(this,arguments);
    if (blockName == &quot;PRE-HEAD&quot;)
        s = lewcidRSSAddToMarkupBlock(s);
    return s;
}

window.lewcidRSSAddToMarkupBlock = function (s)
{
    var pos = s.indexOf(&quot;&amp;lt;!--PRE-HEAD-END--&amp;gt;&quot;);
    return ( s.substring(0,pos).replace(&quot;&amp;lt;link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml'&amp;gt;&quot;,&quot;&quot;) + &quot;\n&quot; + getRssMarkers() + &quot;\n&quot; + s.substring(pos) );
}

TiddlyWiki.prototype.rssgetTiddlers = function(field,includeTag,excludeTag)
{
          var results = [];
          this.forEachTiddler(function(title,tiddler)
          {
          if(excludeTag == undefined || excludeTag == '' || tiddler.tags.find(excludeTag) == null)
                        if(includeTag == undefined || includeTag == '' || 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;
}

window.generateRss = function (tiddlers,title,subtitle)
{
	var s = [];
	var d = new Date();
	var u = store.getTiddlerText(&quot;SiteUrl&quot;);
	s.push(&quot;&amp;lt;&quot; + &quot;?xml version=\&quot;1.0\&quot;?&quot; + &quot;&amp;gt;&quot;);
	s.push(&quot;&amp;lt;rss version=\&quot;2.0\&quot;&amp;gt;&quot;);
	s.push(&quot;&amp;lt;channel&amp;gt;&quot;);
	s.push(&quot;&amp;lt;title&quot; + &quot;&amp;gt;&quot; + ((title &amp;amp;&amp;amp; title != '') ? wikifyPlain(&quot;SiteTitle&quot;).htmlEncode()+ &quot; | &quot;+ title: wikifyPlain(&quot;SiteTitle&quot;).htmlEncode()) + &quot;&amp;lt;/title&quot; + &quot;&amp;gt;&quot;);
	if(u)
		s.push(&quot;&amp;lt;link&amp;gt;&quot; + u.htmlEncode() + &quot;&amp;lt;/link&amp;gt;&quot;);
	s.push(&quot;&amp;lt;description&amp;gt;&quot; + ((subtitle &amp;amp;&amp;amp; subtitle != '')? subtitle : wikifyPlain(&quot;SiteSubtitle&quot;).htmlEncode()) + &quot;&amp;lt;/description&amp;gt;&quot;);
	s.push(&quot;&amp;lt;language&amp;gt;en-us&amp;lt;/language&amp;gt;&quot;);
	s.push(&quot;&amp;lt;copyright&amp;gt;Copyright &quot; + d.getFullYear() + &quot; &quot; + config.options.txtUserName.htmlEncode() + &quot;&amp;lt;/copyright&amp;gt;&quot;);
	s.push(&quot;&amp;lt;pubDate&amp;gt;&quot; + d.toGMTString() + &quot;&amp;lt;/pubDate&amp;gt;&quot;);
	s.push(&quot;&amp;lt;lastBuildDate&amp;gt;&quot; + d.toGMTString() + &quot;&amp;lt;/lastBuildDate&amp;gt;&quot;);
	s.push(&quot;&amp;lt;docs&amp;gt;http://blogs.law.harvard.edu/tech/rss&amp;lt;/docs&amp;gt;&quot;);
	s.push(&quot;&amp;lt;generator&amp;gt;TiddlyWiki &quot; + version.major + &quot;.&quot; + version.minor + &quot;.&quot; + version.revision + &quot;&amp;lt;/generator&amp;gt;&quot;);
	if (!tiddlers)
        var tiddlers = store.getTiddlers(&quot;modified&quot;,&quot;excludeLists&quot;);
	var n = config.numRssItems &amp;gt; tiddlers.length ? 0 : tiddlers.length-config.numRssItems;
	for (var t=tiddlers.length-1; t&amp;gt;=n; t--)
		s.push(tiddlers[t].saveToRss(u));
	s.push(&quot;&amp;lt;/channel&amp;gt;&quot;);
	s.push(&quot;&amp;lt;/rss&amp;gt;&quot;);
	return s.join(&quot;\n&quot;);
}


old_multiRss_saveChanges = window.saveChanges;
window.saveChanges = function(onlyIfDirty)
{
    var rssStatus = config.options.chkGenerateAnRssFeed;
    config.options.chkGenerateAnRssFeed = false;
    old_multiRss_saveChanges.apply(this,arguments);
    config.options.chkGenerateAnRssFeed = rssStatus;
    if(config.options.chkGenerateAnRssFeed)
        saveMultiRss();
}

window.saveMultiRss = function()
{
      var rssIndex = store.getTiddlerText(&quot;MultiRssConfig&quot;).split(&quot;\n&quot;);
      rssIndex = rssIndex.splice(1,rssIndex.length);
      for (var i=0; i&amp;lt;rssIndex.length; i++)
          {
          var rss = rssIndex[i].split(&quot;|&quot;);
          var localPath = getLocalPath(document.location.toString());
          var rssPath = getRssPath(localPath)+ (rss[5].trim());
          var rssSave = saveFile(rssPath,convertUnicodeToUTF8(generateRss(store.rssgetTiddlers(&quot;modified&quot;,rss[1].trim(),rss[2].trim()),rss[3].trim(),rss[4].trim())));
          if(rssSave)
              displayMessage(config.messages.rssSaved,&quot;file://&quot; + rssPath);
          else
              alert(config.messages.rssFailed);
          }
}

window.getRssPath = function(str) {
    var slash = (str.indexOf('/')!=-1)? '/':'\\';
    return str.substring(0,str.lastIndexOf(slash) + 1);
}

config.shadowTiddlers.MultiRssConfig = &quot;| !includeTag | !excludeTag | !title | !description | !filename |\n| rss | |rss only| this feed has rss tiddlers only | rss-feed.xml |\n|  systemConfig| |plugins| tiddlywiki plugins only |plugins.xml|\n| | systemConfig excludeRSS| Main RSS feed | everything but plugins | rss.xml|&quot;;
&lt;/pre&gt;</description>
<category>systemConfig</category>
<category>rss file</category>
<link>http://www.ngo-framework.net/#MultiRssPlugin</link>
<pubDate>Sat, 06 Oct 2007 19:01:00 GMT</pubDate>
</item>
<item>
<title>siteMap plugin macro</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;SiteMapMacro&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td align=&quot;right&quot;&gt;Author:&lt;/td&gt;&lt;td&gt;Simon Baird&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://mptw2.tiddlyspot.com/#SiteMapMacro&quot; href=&quot;http://mptw2.tiddlyspot.com/#SiteMapMacro&quot; class=&quot;externalLink&quot;&gt;http://mptw2.tiddlyspot.com/#SiteMapMacro&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;1.0.3, 15-Mar-06&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br&gt;&lt;h2&gt;Examples&lt;/h2&gt;See SiteMap and SliderSiteMap for example usage.&lt;br&gt;&lt;br&gt;&lt;h2&gt;Parameters&lt;/h2&gt;&lt;ul&gt;&lt;li&gt; Name of tiddler to start at&lt;/li&gt;&lt;li&gt; Max depth (a number) &lt;/li&gt;&lt;li&gt; Format (eg, nested, see formats below)&lt;/li&gt;&lt;li&gt; Don't show root flag (anything other than null turns it on)&lt;/li&gt;&lt;li&gt; Tags - a string containing a bracketed list of tags that we are interested in&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;h2&gt;History&lt;/h2&gt;&lt;ul&gt;&lt;li&gt; 1.0.3 (15-Mar-06)&lt;ul&gt;&lt;li&gt; added tag filtering&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; 1.0.2 (15-Mar-06)&lt;ul&gt;&lt;li&gt; Added json format and dontshowroot option&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; 1.0.1 (9-Mar-06)&lt;ul&gt;&lt;li&gt; Added selectable formats and fixed nested slider format&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; 1.0.0 (8-Mar-06)&lt;ul&gt;&lt;li&gt; first release&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;pre&gt;version.extensions.SiteMapMacro = {
	major: 1,
	minor: 0,
	revision: 3,
	date: new Date(2006,3,15),
	source: &quot;http://simonbaird.com/mptw/#SiteMapMacro&quot;
};

config.macros.siteMap = {

	formats: {
		bullets: {
			formatString: &quot;%0[[%1]]\n%2&quot;,
			indentString: &quot;*&quot;
		},

		// put this in your StyleSheet to make it look good.
		// .sliderPanel { margin-left: 2em; }

		sliders: {
			formatString: &quot;[[%1]]+++\n%2===\n\n&quot;,
			formatStringLeaf: &quot;[[%1]]\n&quot;
		},

		openSliders: {
			formatString: &quot;[[%1]]++++\n%2===\n\n&quot;,
			formatStringLeaf: &quot;[[%1]]\n&quot;
		},

		popups: {
			formatString: &quot;[[%1]]+++^\n%2===\n\n&quot;,
			formatStringLeaf: &quot;[[%1]]\n&quot;
		},

		// these don't work too well
		openPopups: {
			formatString: &quot;[[%1]]++++^\n%2===\n\n&quot;,
			formatStringLeaf: &quot;[[%1]]\n&quot;
		},
		
		// this is a little nuts but it works
		json: {
			formatString: '\n%0{&quot;%1&quot;:[%2\n%0]}',
			formatStringLeaf: '\n%0&quot;%1&quot;',
			indentString: &quot;  &quot;,
			separatorString: &quot;,&quot;
		}


	},

	defaultFormat: &quot;bullets&quot;,

	treeTraverse: function(title,depth,maxdepth,format,dontshowroot,tags,excludetags) {

		var tiddler = store.getTiddler(title);
		var tagging = store.getTaggedTiddlers(title);

		if (dontshowroot)
			depth = 0;

		var indent = &quot;&quot;;
		if (this.formats[format].indentString)
			for (var j=0;j&amp;lt;depth;j++)
				indent += this.formats[format].indentString;

		var childOutput = &quot;&quot;;
		if (!maxdepth || depth &amp;lt; parseInt(maxdepth)) 
			for (var i=0;i&amp;lt;tagging.length;i++)
				if (tagging[i].title != title) {
					if (this.formats[format].separatorString &amp;amp;&amp;amp; i != 0)
						childOutput += this.formats[format].separatorString;
					childOutput += this.treeTraverse(tagging[i].title,depth+1,maxdepth,format,null,tags,excludetags);
				}

		if (childOutput == &quot;&quot; &amp;amp;&amp;amp; (
				(tags &amp;amp;&amp;amp; tags != &quot;&quot; &amp;amp;&amp;amp; !tiddler.tags.containsAll(tags.readBracketedList())) ||
				(excludetags &amp;amp;&amp;amp; excludetags != &quot;&quot; &amp;amp;&amp;amp; tiddler.tags.containsAny(excludetags.readBracketedList()))
				)
			) {
			// so prune it cos it doesn't have the right tags and neither do any of it's children
			return &quot;&quot;;
		}

		if (dontshowroot)
			return childOutput;

		if (this.formats[format].formatStringLeaf &amp;amp;&amp;amp; childOutput == &quot;&quot;) {
			// required for nestedSliders
			return this.formats[format].formatStringLeaf.format([indent,title,childOutput]);
		}

		return this.formats[format].formatString.format([indent,title,childOutput]);
	},

	handler: function (place,macroName,params,wikifier,paramString,tiddler) {
		wikify(this.treeTraverse(
			params[0] &amp;amp;&amp;amp; params[0] != '.' ? params[0] : tiddler.title, 1, 
			params[1] &amp;amp;&amp;amp; params[1] != '.' ? params[1] : null, // maxdepth
			params[2] &amp;amp;&amp;amp; params[2] != '.' ? params[2] : this.defaultFormat, // format
			params[3] &amp;amp;&amp;amp; params[3] != '.' ? params[3] : null, // dontshowroot
			params[4] &amp;amp;&amp;amp; params[4] != '.' ? params[4] : null, // tags
			params[5] &amp;amp;&amp;amp; params[5] != '.' ? params[5] : null // excludetags
			),place);
	}

}
&lt;/pre&gt;</description>
<category>3rd party plugin</category>
<category>excludeLists</category>
<category>plugin macro</category>
<category>Simon Baird</category>
<category>systemConfig</category>
<link>http://www.ngo-framework.net/#%5B%5BsiteMap%20plugin%20macro%5D%5D</link>
<pubDate>Tue, 25 Sep 2007 15:00: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.ngo-framework.net/#Saq Imtiaz&quot; href=&quot;http://www.ngo-framework.net/#Saq%20Imtiaz&quot; class=&quot;externalLink null&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 better:true 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>systemConfig</category>
<link>http://www.ngo-framework.net/#%5B%5BBetter%20timeline%20plugin%20macro%5D%5D</link>
<pubDate>Sun, 23 Sep 2007 18:27:00 GMT</pubDate>
</item>
<item>
<title>IntelliTaggerPlugin</title>
<description>&lt;table class=&quot;twtable&quot;&gt;&lt;tbody&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;&lt;em&gt;Name:&lt;/em&gt;&lt;/td&gt;&lt;td&gt;IntelliTaggerPlugin&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;&lt;em&gt;Version:&lt;/em&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;1.0.0&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td align=&quot;left&quot;&gt;&lt;em&gt;Date:&lt;/em&gt;&lt;/td&gt;&lt;td&gt;26 April 2006 - 2006-04-26&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;&lt;em&gt;Tags:&lt;/em&gt;&lt;/td&gt;&lt;td&gt;tagging intellitagger plugin 'abego software' intelligence 'key words'&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;&lt;em&gt;Type:&lt;/em&gt;&lt;/td&gt;&lt;td&gt;plugin&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;&lt;em&gt;Source:&lt;/em&gt;&lt;/td&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://tiddlywiki.abego-software.de/#IntelliTaggerPlugin&quot; href=&quot;http://tiddlywiki.abego-software.de/#IntelliTaggerPlugin&quot; class=&quot;externalLink&quot;&gt;http://tiddlywiki.abego-software.de/#IntelliTaggerPlugin&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;&lt;em&gt;Author:&lt;/em&gt;&lt;/td&gt;&lt;td&gt;Udo Borkowski (ub [at] abego-software [dot] de)&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;&lt;em&gt;Documentation:&lt;/em&gt;&lt;/td&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://tiddlywiki.abego-software.de/doc/IntelliTagger.pdf&quot; href=&quot;http://tiddlywiki.abego-software.de/doc/IntelliTagger.pdf&quot; class=&quot;externalLink&quot;&gt;IntelliTaggerPlugin Documentation&lt;/a&gt; (pdf)&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;&lt;em&gt;Source Code:&lt;/em&gt;&lt;/td&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to [http://tiddlywiki.abego-software.de/#IntelliTaggerPlugin SourceCode&quot; href=&quot;%5Bhttp://tiddlywiki.abego-software.de/#IntelliTaggerPlugin%20SourceCode&quot; class=&quot;externalLink&quot;&gt;IntelliTaggerPlugin SourceCode&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;&lt;em&gt;Licence:&lt;/em&gt;&lt;/td&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://tiddlywiki.abego-software.de/#BSD open source license (abego Software)&quot; href=&quot;http://tiddlywiki.abego-software.de/#BSD%20open%20source%20license%20%28abego%20Software%29&quot; class=&quot;externalLink&quot;&gt;BSD open source license (abego Software)&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;&lt;em&gt;TiddlyWiki:&lt;/em&gt;&lt;/td&gt;&lt;td&gt;Version 2.0.8 or better&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;&lt;em&gt;Browser:&lt;/em&gt;&lt;/td&gt;&lt;td&gt;Firefox 1.5.0.2 or better&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;em&gt; &lt;br&gt;&lt;/em&gt;</description>
<category>3rd party plugin</category>
<category>excludeLists</category>
<category>plugin macro</category>
<category>systemConfig</category>
<category>abego software</category>
<category>tag management</category>
<category>systemConfigDisable</category>
<link>http://www.ngo-framework.net/#IntelliTaggerPlugin</link>
<pubDate>Sun, 23 Sep 2007 17:45:00 GMT</pubDate>
</item>
<item>
<title>Settings 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;SettingsPlugin&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;Udo Borkowski&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.ngo-framework.net/#Udo Borkowski&quot; href=&quot;http://www.ngo-framework.net/#Udo%20Borkowski&quot; class=&quot;externalLink null&quot;&gt;Udo Borkowski&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.0 (2006.07.30)&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Description&lt;/td&gt;&lt;td&gt;&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://tiddlywiki.abego-software.de/#SettingsPlugin&quot; href=&quot;http://tiddlywiki.abego-software.de/#SettingsPlugin&quot; class=&quot;externalLink&quot;&gt;http://tiddlywiki.abego-software.de/#SettingsPlugin&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Licence&lt;/td&gt;&lt;td&gt;&lt;a tiddlylink=&quot;BSD open source licence&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.ngo-framework.net/#BSD open source licence&quot; href=&quot;http://www.ngo-framework.net/#BSD%20open%20source%20licence&quot; class=&quot;externalLink null&quot;&gt;BSD open source licence&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;TW Version&lt;/td&gt;&lt;td&gt;2.0.7&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table class=&quot;twtable&quot;&gt;&lt;tbody&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;&lt;strong&gt;Documentation:&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;a tiddlylink=&quot;SettingsPlugin Documentation&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.ngo-framework.net/#SettingsPlugin Documentation&quot; href=&quot;http://www.ngo-framework.net/#SettingsPlugin%20Documentation&quot; class=&quot;externalLink null&quot;&gt;SettingsPlugin Documentation&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;&lt;strong&gt;SourceCode:&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;a tiddlylink=&quot;SettingsPlugin SourceCode&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.ngo-framework.net/#SettingsPlugin SourceCode&quot; href=&quot;http://www.ngo-framework.net/#SettingsPlugin%20SourceCode&quot; class=&quot;externalLink null&quot;&gt;SettingsPlugin SourceCode&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;&lt;strong&gt;Browser:&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Firefox 1.5.0.2 or better; Internet Explorer 6.0&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;sup&gt;This tiddler contains compressed source code. &lt;a tiddlylink=&quot;SettingsPlugin SourceCode&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.ngo-framework.net/#SettingsPlugin SourceCode&quot; href=&quot;http://www.ngo-framework.net/#SettingsPlugin%20SourceCode&quot; class=&quot;externalLink null&quot;&gt;Full Source Code&lt;/a&gt;.&lt;/sup&gt;&lt;br&gt;&lt;em&gt; &lt;br&gt;&lt;br&gt;&lt;/em&gt;</description>
<category>plugin macro</category>
<category>systemConfig</category>
<category>systemConfigX</category>
<category>abego software</category>
<link>http://www.ngo-framework.net/#%5B%5BSettings%20plugin%20macro%5D%5D</link>
<pubDate>Sun, 23 Sep 2007 17:38:00 GMT</pubDate>
</item>
<item>
<title>SearchOptions 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;SearchOptions&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;Eric Shulman&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.ngo-framework.net/#Eric Shulman&quot; href=&quot;http://www.ngo-framework.net/#Eric%20Shulman&quot; class=&quot;externalLink null&quot;&gt;Eric Shulman&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;2.2.1 (2006.02.03)&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Description&lt;/td&gt;&lt;td&gt;Allows modification of search criteria.&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://www.TiddlyTools.com/#SearchOptionsPlugin&quot; href=&quot;http://www.TiddlyTools.com/#SearchOptionsPlugin&quot; class=&quot;externalLink&quot;&gt;http://www.TiddlyTools.com/#SearchOptionsPlugin&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;Licence&lt;/td&gt;&lt;td&gt;&lt;a tiddlylink=&quot;Creative Commons Attribution ShareAlike 2.5 Licence&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.ngo-framework.net/#Creative Commons Attribution ShareAlike 2.5 Licence&quot; href=&quot;http://www.ngo-framework.net/#Creative%20Commons%20Attribution%20ShareAlike%202.5%20Licence&quot; class=&quot;externalLink null&quot;&gt;Creative Commons Attribution ShareAlike 2.5 Licence&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;The TiddlyWiki search function normally looks in both tiddler titles and tiddler body content ('text'). However, narrowing the search so that it examines only titles or only text, or expanding the search to include text contained in tiddler tags can be very helpful, especially when searching on common words or phrases.  In addition, it is often useful for the search results to show tiddlers with matching titles before tiddlers that contain matching text or tags.&lt;br&gt;&lt;br&gt;&lt;h5&gt;Usage&lt;/h5&gt;&lt;blockquote&gt;This plugin adds checkboxes (see below and in &lt;a tiddlylink=&quot;AdvancedOptions&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.ngo-framework.net/#AdvancedOptions&quot; href=&quot;http://www.ngo-framework.net/#AdvancedOptions&quot; class=&quot;externalLink null&quot;&gt;AdvancedOptions&lt;/a&gt;) to let you selectively configure the TiddlyWiki search function to just examine any combination of tiddler titles, text, or tags.  It also provides an option to switch the search results order between 'titles mixed in' (default) and 'titles shown first', as well as an option display the search results as a list of links (in an auto-generated &quot;SearchResults&quot; tiddler), rather than actually displaying all matching tiddlers.  You can also enable/disable the &quot;incremental search&quot; (key-by-key searching), so that a search is only initiated when you press the ENTER key or click on the &quot;search:&quot; prompt text.&lt;br&gt;&lt;/blockquote&gt;&lt;h5&gt;Configuration&lt;/h5&gt;&lt;blockquote&gt;In additional to the checkboxes in &lt;a tiddlylink=&quot;AdvancedOptions&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.ngo-framework.net/#AdvancedOptions&quot; href=&quot;http://www.ngo-framework.net/#AdvancedOptions&quot; class=&quot;externalLink null&quot;&gt;AdvancedOptions&lt;/a&gt;, a self-contained control panel is included here for your convenience:&lt;br&gt;&lt;input class=&quot;chkOptionInput&quot; option=&quot;chkSearchTitles&quot; type=&quot;checkbox&quot;&gt; Search tiddler titles&lt;br&gt;&lt;input class=&quot;chkOptionInput&quot; option=&quot;chkSearchText&quot; type=&quot;checkbox&quot;&gt; Search tiddler text&lt;br&gt;&lt;input class=&quot;chkOptionInput&quot; option=&quot;chkSearchTags&quot; type=&quot;checkbox&quot;&gt; Search in tiddler tags&lt;br&gt;&lt;input class=&quot;chkOptionInput&quot; option=&quot;chkSearchTitlesFirst&quot; type=&quot;checkbox&quot;&gt; Show title matches first&lt;br&gt;&lt;input class=&quot;chkOptionInput&quot; option=&quot;chkSearchList&quot; type=&quot;checkbox&quot;&gt; Show list of matching tiddlers&lt;br&gt;&lt;input class=&quot;chkOptionInput&quot; option=&quot;chkSearchIncremental&quot; type=&quot;checkbox&quot;&gt; Incremental searching&lt;br&gt;&lt;/blockquote&gt;&lt;h5&gt;Installation&lt;/h5&gt;&lt;blockquote&gt;import (or copy/paste) the following tiddlers into your document:&lt;br&gt;&lt;strong&gt;SearchOptionsPlugin&lt;/strong&gt; (tagged with &lt;span class=&quot;quickopentag&quot;&gt;&lt;a tiddlylink=&quot;systemConfig&quot; refresh=&quot;link&quot; tip=&quot;The ''systemConfig'' tag is used for [[Plugin Macros]] and instructs TiddlyWiki to include the plugin in its J&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;&quot; href=&quot;javascript:;&quot;&gt;systemConfig&lt;/a&gt;&lt;a tag=&quot;systemConfig&quot; class=&quot;button&quot; title=&quot;Show tiddlers tagged with 'systemConfig'&quot; href=&quot;javascript:;&quot;&gt;▾&lt;/a&gt;&lt;/span&gt;)&lt;br&gt;&lt;sup&gt;documentation and javascript for SearchOptionsPlugin handling&lt;/sup&gt;&lt;br&gt;&lt;br&gt;When installed, this plugin automatically adds checkboxes in the &lt;a tiddlylink=&quot;AdvancedOptions&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.ngo-framework.net/#AdvancedOptions&quot; href=&quot;http://www.ngo-framework.net/#AdvancedOptions&quot; class=&quot;externalLink null&quot;&gt;AdvancedOptions&lt;/a&gt; shadow tiddler so you can enable/disable the extended search behavior.  However, if you have customized your &lt;a tiddlylink=&quot;AdvancedOptions&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.ngo-framework.net/#AdvancedOptions&quot; href=&quot;http://www.ngo-framework.net/#AdvancedOptions&quot; class=&quot;externalLink null&quot;&gt;AdvancedOptions&lt;/a&gt;, you will need to manually add &lt;code&gt;&amp;lt;&amp;lt;option chkSearchTitles&amp;gt;&amp;gt;&lt;/code&gt;,  &lt;code&gt;&amp;lt;&amp;lt;option chkSearchText&amp;gt;&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;&amp;lt;option chkSearchTitlesFirst&amp;gt;&amp;gt;&lt;/code&gt;  (with suitable prompt text) to your customized tiddler.&lt;br&gt;&lt;/blockquote&gt;&lt;h5&gt;Revision History&lt;/h5&gt;&lt;blockquote&gt;&lt;strong&gt;2006.02.03 [2.2.1]&lt;/strong&gt;&lt;br&gt;rewrite timeout clearing code and blank search text handling to match 2.0.4 core release changes.  note that core no longer permits &quot;blank=all&quot; searches, so neither does this plugin.  To search for all, use &quot;.&quot; with text patterns enabled.&lt;br&gt;&lt;strong&gt;2006.02.02 [2.2.0]&lt;/strong&gt;&lt;br&gt;in search.handler(), KeyHandler() function clears 'left over' timeout when search input is &amp;lt; 3 chars.  Prevents searching on shorter text when shortened by rapid backspaces (&amp;lt;500msec)&lt;br&gt;&lt;strong&gt;2006.02.01 [2.1.9]&lt;/strong&gt;&lt;br&gt;in Story.prototype.search(), correct inverted logic for using/not using regular expressions when searching&lt;br&gt;also, blank search text now presents &quot;No search text.  Continue anyway?&quot; confirm() message box, so search on blank can still be processed if desired by user.&lt;br&gt;&lt;strong&gt;2006.02.01 [2.1.8]&lt;/strong&gt;&lt;br&gt;in doSearch(), added alert/return if search text is blank&lt;br&gt;&lt;strong&gt;2006.01.20 [2.1.7]&lt;/strong&gt;&lt;br&gt;fixed setting of config.macros.search.reportTitle so that Tweaks can override it.&lt;br&gt;&lt;strong&gt;2006.01.19 [2.1.6]&lt;/strong&gt;&lt;br&gt;improved SearchResults formatting, added a &quot;search again&quot; form to the report (based on a suggestion from MorrisGray)&lt;br&gt;define results report title using config.macros.search.reportTitle instead of hard-coding the tiddler title&lt;br&gt;&lt;strong&gt;2006.01.18 [2.1.5]&lt;/strong&gt;&lt;br&gt;Created separate functions for reportSearchResults(text,matches) and discardSearchResults(), so that other developers can create alternative report generators.&lt;br&gt;&lt;strong&gt;2006.01.17 [2.1.4]&lt;/strong&gt;&lt;br&gt;Use regExp.search() instead of regExp.test() to scan for matches.  Correctd the problem where only half the matching tiddlers (the odd-numbered ones) were being reported.&lt;br&gt;&lt;strong&gt;2006.01.15 [2.1.3]&lt;/strong&gt;&lt;br&gt;Added information (date/time, username, search options used) to SearchResults output&lt;br&gt;&lt;strong&gt;2006.01.10 [2.1.2]&lt;/strong&gt;&lt;br&gt;use displayTiddlers() to render matched tiddlers.  This lets you display multiple matching tiddlers, even if SinglePageModePlugin is enabled.&lt;br&gt;&lt;strong&gt;2006.01.08 [2.1.1]&lt;/strong&gt;&lt;br&gt;corrected invalid variable reference, &quot;txt.value&quot; to &quot;text&quot; in story.search()&lt;br&gt;&lt;strong&gt;2006.01.08 [2.1.0]&lt;/strong&gt;&lt;br&gt;re-write to match new store.search(), store.search.handler() and story.search() functions.&lt;br&gt;&lt;strong&gt;2005.12.30 [2.0.0]&lt;/strong&gt;&lt;br&gt;Upgraded to TW2.0&lt;br&gt;when rendering SearchResults tiddler, closeTiddler() first to ensure display is refreshed.&lt;br&gt;&lt;strong&gt;2005.12.26 [1.4.0]&lt;/strong&gt;&lt;br&gt;added option to search for matching text in tiddler tags&lt;br&gt;&lt;strong&gt;2005.12.21 [1.3.7]&lt;/strong&gt;&lt;br&gt;use \\ to 'escape' single quotes in tiddler titles when generating &quot;Open all matching tiddlers&quot; link.  Also, added access key: &quot;O&quot;, to trigger &quot;open all&quot; link.&lt;br&gt;Based on a suggestion by UdoBorkowski.&lt;br&gt;&lt;strong&gt;2005.12.18 [1.3.6]&lt;/strong&gt;&lt;br&gt;call displayMessage() AFTER showing matching tiddlers so message is not cleared too soon&lt;br&gt;&lt;strong&gt;2005.12.17 [1.3.5]&lt;/strong&gt;&lt;br&gt;if no matches found, just display message and delete any existing SearchResults tiddler.&lt;br&gt;&lt;strong&gt;2005.12.17 [1.3.4]&lt;/strong&gt;&lt;br&gt;use &lt;span&gt;{{{&lt;/span&gt;  and &lt;span&gt;}}}&lt;/span&gt; to 'escape' display text in SearchResults tiddler to ensure that formatting contained in search string is not rendered &lt;br&gt;Based on a suggestion by UdoBorkowski.&lt;br&gt;&lt;strong&gt;2005.12.14 [1.3.3]&lt;/strong&gt;&lt;br&gt;tag SearchResults tiddler with 'excludeSearch' so it won't list itself in subsequent searches&lt;br&gt;Based on a suggestion by UdoBorkowski.&lt;br&gt;&lt;strong&gt;2005.12.14 [1.3.2]&lt;/strong&gt;&lt;br&gt;added &quot;open all matching tiddlers...&quot; link to search results output.&lt;br&gt;Based on a suggestion by UdoBorkowski.&lt;br&gt;&lt;strong&gt;2005.12.10 [1.3.1]&lt;/strong&gt;&lt;br&gt;added &quot;discard search results&quot; link to end of search list tiddler output for quick self-removal of 'SearchResults' tiddler.&lt;br&gt;&lt;strong&gt;2005.12.01 [1.3.0]&lt;/strong&gt;&lt;br&gt;added chkSearchIncremental to enable/disable 'incremental' searching (i.e., search after each keystroke) (default is ENABLED).&lt;br&gt;added handling for Enter key so it can be used to start a search.&lt;br&gt;Based on a suggestion by LyallPearce&lt;br&gt;&lt;strong&gt;2005.11.25 [1.2.1]&lt;/strong&gt;&lt;br&gt;renamed from SearchTitleOrTextPlugin to SearchOptionsPlugin&lt;br&gt;&lt;strong&gt;2005.11.25 [1.2.0]&lt;/strong&gt;&lt;br&gt;added chkSearchList option&lt;br&gt;Based on a suggestion by RodneyGomes&lt;br&gt;&lt;strong&gt;2005.10.19 [1.1.0]&lt;/strong&gt;&lt;br&gt;added chkSearchTitlesFirst option.&lt;br&gt;Based on a suggestion by ChristianHauck&lt;br&gt;&lt;strong&gt;2005.10.18 [1.0.0]&lt;/strong&gt;&lt;br&gt;Initial Release&lt;br&gt;&lt;/blockquote&gt;&lt;h5&gt;Credits&lt;/h5&gt;&lt;blockquote&gt;This feature was developed by &lt;a tiddlylink=&quot;Eric Shulman&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.ngo-framework.net/#Eric Shulman&quot; href=&quot;http://www.ngo-framework.net/#Eric%20Shulman&quot; class=&quot;externalLink null&quot;&gt;Eric Shulman&lt;/a&gt; from &lt;a target=&quot;_blank&quot; title=&quot;External link to http:/www.elsdesign.com&quot; href=&quot;http:/www.elsdesign.com&quot; class=&quot;externalLink&quot;&gt;ELS Design Studios&lt;/a&gt;.&lt;br&gt;Based on a suggestion by Lyall Pearce.&lt;br&gt;&lt;/blockquote&gt;&lt;h5&gt;Code&lt;/h5&gt;&lt;pre&gt;version.extensions.SearchTitleOrText = {major: 2, minor: 2, revision: 1, date: new Date(2006,2,3)};
&lt;/pre&gt;&lt;br&gt;&lt;pre&gt;if (config.options.chkSearchTitles==undefined) config.options.chkSearchTitles=true;
if (config.options.chkSearchText==undefined) config.options.chkSearchText=true;
if (config.options.chkSearchTags==undefined) config.options.chkSearchTags=true;
if (config.options.chkSearchTitlesFirst==undefined) config.options.chkSearchTitlesFirst=false;
if (config.options.chkSearchList==undefined) config.options.chkSearchList=false;
if (config.options.chkSearchIncremental==undefined) config.options.chkSearchIncremental=true;

config.shadowTiddlers.AdvancedOptions += &quot;\n&amp;lt;&amp;lt;option chkSearchTitles&amp;gt;&amp;gt; Search in tiddler titles&quot;;
config.shadowTiddlers.AdvancedOptions += &quot;\n&amp;lt;&amp;lt;option chkSearchText&amp;gt;&amp;gt; Search in tiddler text&quot;;
config.shadowTiddlers.AdvancedOptions += &quot;\n&amp;lt;&amp;lt;option chkSearchTags&amp;gt;&amp;gt; Search in tiddler tags&quot;;
config.shadowTiddlers.AdvancedOptions += &quot;\n&amp;lt;&amp;lt;option chkSearchTitlesFirst&amp;gt;&amp;gt; Search results show title matches first&quot;;
config.shadowTiddlers.AdvancedOptions += &quot;\n&amp;lt;&amp;lt;option chkSearchList&amp;gt;&amp;gt; Search results show list of matching tiddlers&quot;;
config.shadowTiddlers.AdvancedOptions += &quot;\n&amp;lt;&amp;lt;option chkSearchIncremental&amp;gt;&amp;gt; Incremental searching&quot;;
&lt;/pre&gt;&lt;br&gt;&lt;pre&gt;if (config.macros.search.reportTitle==undefined)
config.macros.search.reportTitle=&quot;SearchResults&quot;;
&lt;/pre&gt;&lt;br&gt;&lt;pre&gt;config.macros.search.handler = function(place,macroName,params)
{
var lastSearchText = &quot;&quot;;
var searchTimeout = null;
var doSearch = function(txt)
{
if (txt.value.length&amp;gt;0)
{
story.search(txt.value,config.options.chkCaseSensitiveSearch,config.options.chkRegExpSearch);
lastSearchText = txt.value;
}
};
var clickHandler = function(e)
{
doSearch(this.nextSibling);
return false;
};
var keyHandler = function(e)
{
if (!e) var e = window.event;
switch(e.keyCode)
{
case 13: // ELS: handle enter key
doSearch(this);
break;
case 27:
this.value = &quot;&quot;;
clearMessage();
break;
}
if (config.options.chkSearchIncremental)
{
if(this.value.length &amp;gt; 2)
{
if(this.value != lastSearchText)
{
if(searchTimeout) clearTimeout(searchTimeout);
var txt = this;
searchTimeout = setTimeout(function() {doSearch(txt);},500);
}
}
else
if(searchTimeout) clearTimeout(searchTimeout);
}
};
var focusHandler = function(e)
{
this.select();
};
var btn = createTiddlyButton(place,this.label,this.prompt,clickHandler);
var txt = createTiddlyElement(place,&quot;input&quot;,null,null,null);
if(params[0])
txt.value = params[0];
txt.onkeyup = keyHandler;
txt.onfocus = focusHandler;
txt.setAttribute(&quot;size&quot;,this.sizeTextbox);
txt.setAttribute(&quot;accessKey&quot;,this.accessKey);
txt.setAttribute(&quot;autocomplete&quot;,&quot;off&quot;);
if(config.browser.isSafari)
{
txt.setAttribute(&quot;type&quot;,&quot;search&quot;);
txt.setAttribute(&quot;results&quot;,&quot;5&quot;);
}
else
txt.setAttribute(&quot;type&quot;,&quot;text&quot;);
}
&lt;/pre&gt;&lt;br&gt;&lt;pre&gt;Story.prototype.search = function(text,useCaseSensitive,useRegExp)
{
highlightHack = new RegExp(useRegExp ? text : text.escapeRegExp(),useCaseSensitive ? &quot;mg&quot; : &quot;img&quot;);
var matches = store.search(highlightHack,&quot;title&quot;,&quot;excludeSearch&quot;);
var q = useRegExp ? &quot;/&quot; : &quot;'&quot;;
clearMessage();
if (!matches.length) {
if (config.options.chkSearchList) discardSearchResults();
displayMessage(config.macros.search.failureMsg.format([q+text+q]));
} else {
if (config.options.chkSearchList) 
reportSearchResults(text,matches);
else {
var titles = []; for(var t=0; t&amp;lt;matches.length; t++) titles.push(matches[t].title);
this.closeAllTiddlers(); story.displayTiddlers(null,titles);
displayMessage(config.macros.search.successMsg.format([matches.length, q+text+q]));
}
}
highlightHack = null;
}
&lt;/pre&gt;&lt;br&gt;&lt;pre&gt;TiddlyWiki.prototype.search = function(searchRegExp,sortField,excludeTag)
{
var candidates = this.reverseLookup(&quot;tags&quot;,excludeTag,false,sortField);

// scan for matching titles
var title_results = [];
if (config.options.chkSearchTitles)
for(var t=0; t&amp;lt;candidates.length; t++)
if(candidates[t].title.search(searchRegExp)!=-1)
title_results.push(candidates[t]);

// scan for matching text
var text_results = [];
if (config.options.chkSearchText)
for(var t=0; t