Welcome to TiddlyWiki created by Jeremy Ruston, Copyright © 2007 UnaMesa Association
Name: Air
Background: #fff
Foreground: #000
PrimaryPale: #eff3fa
PrimaryLight: #9bd
PrimaryMid: #336699
PrimaryDark: #003366
SecondaryPale: #ffe
SecondaryLight: #ece9d8
SecondaryMid: #baa07b
SecondaryDark: #886655
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
BackgroundImage: url("http://i424.photobucket.com/albums/pp327/pamojja/sky.jpg")
/***
License: [[BSD open source license]] //for all plugins below//
Name: DeprecatedFunctionsPlugin "packed"
Description: Support for deprecated functions removed from core
***/
//{{{
if(!version.extensions.DeprecatedFunctionsPlugin){version.extensions.DeprecatedFunctionsPlugin={installed:true};config.formatterHelpers.charFormatHelper=function(w){w.subWikify(createTiddlyElement(w.output,this.element),this.terminator);};config.formatterHelpers.monospacedByLineHelper=function(w){var _3=new RegExp(this.lookahead,"mg");_3.lastIndex=w.matchStart;var _4=_3.exec(w.source);if(_4&&_4.index==w.matchStart){var _5=_4[1];if(config.browser.isIE){_5=_5.replace(/\n/g,"\r");}createTiddlyElement(w.output,"pre",null,null,_5);w.nextMatch=_3.lastIndex;}};config.macros.br={};config.macros.br.handler=function(_6){createTiddlyElement(_6,"br");};Array.prototype.find=function(_7){var i=this.indexOf(_7);return i==-1?null:i;};Tiddler.prototype.loadFromDiv=function(_9,_a){return store.getLoader().internalizeTiddler(store,this,_a,_9);};Tiddler.prototype.saveToDiv=function(){return store.getSaver().externalizeTiddler(store,this);};function allTiddlersAsHtml(){return store.allTiddlersAsHtml();}function applyPageTemplate(_b){refreshPageTemplate(_b);}function displayTiddlers(_c,_d,_e,_f,_10,_11,_12){story.displayTiddlers(_c,_d,_e,_11);}function displayTiddler(_13,_14,_15,_16,_17,_18,_19){story.displayTiddler(_13,_14,_15,_18);}var createTiddlerPopup=Popup.create;var scrollToTiddlerPopup=Popup.show;var hideTiddlerPopup=Popup.remove;var regexpBackSlashEn=new RegExp("\\\\n","mg");var regexpBackSlash=new RegExp("\\\\","mg");var regexpBackSlashEss=new RegExp("\\\\s","mg");var regexpNewLine=new RegExp("\n","mg");var regexpCarriageReturn=new RegExp("\r","mg");}
//}}}
/***
Name: PreserveSpaceInTitlePlugin "packed"
Author: FND
***/
//{{{
Story.prototype.saveTiddler=function(_1,_2){var _3=document.getElementById(this.idPrefix+_1);if(_3!=null){var _4={};this.gatherSaveFields(_3,_4);var _5=_4.title?_4.title:_1;if(store.tiddlerExists(_5)&&_5!=_1){if(!confirm(config.messages.overwriteWarning.format([_5.toString()]))){return null;}}if(_5!=_1){this.closeTiddler(_5,false);}_3.id=this.idPrefix+_5;_3.setAttribute("tiddler",_5);_3.setAttribute("template",DEFAULT_VIEW_TEMPLATE);_3.setAttribute("dirty","false");if(config.options.chkForceMinorUpdate){_2=!_2;}if(!store.tiddlerExists(_5)){_2=false;}var _6=new Date();var _7=store.tiddlerExists(_5)?store.fetchTiddler(_5).fields:(_5!=_1&&store.tiddlerExists(_1)?store.fetchTiddler(_1).fields:{});for(var n in _4){if(!TiddlyWiki.isStandardField(n)){_7[n]=_4[n];}}var _9=store.saveTiddler(_1,_5,_4.text,_2?undefined:config.options.txtUserName,_2?undefined:_6,_4.tags,_7);autoSaveChanges(null,[_9]);return _5;}return null;};
//}}}
/***
Name: RenameButton "packed" and modified
Author: SaqImtiaz
***/
//{{{
config.macros.rB={};config.macros.rB.handler=function(a,b,c,d,e,f){if(a.lastChild.tagName!="BR"){a.lastChild.firstChild.data=c[0];if(c[1]){a.lastChild.title=c[1]}}};
//}}}
/***
Name: smileyMacro "packed"
Author: AlanHecht
***/
//{{{
version.extensions.smileyMacro={major:0,minor:1,revision:0,date:new Date(2005,7,20)};config.macros.smiley={};config.macros.smiley.handler=function(_1,_2,_3){var _4=["transparent","#000000","#1a1507","#352e18","#464646","#666666","#a3141e","#b06b63","#cc9900","#dd9030","#dddddd","#e89d00","#edc32a","#f3cb3c","#fdf201","#fdf526","#ff3149","#ffac00","#ffbf06","#ffc846","#ffcc66","#ffd758","#ffdd01","#ffea7b","#ffed55","#ffffff"];var _5=_3;var _6=null;if(_5[0]==":-)"||_5[0]==":)"){_6="aaaaabbbbbaaaaaaaabdtyyvtdbaaaaabnyxxxxxujbaaabmyyffyffuujbaadyyyeeyeetttdabppppddyddpmmlbbwoooooooowsrlbbwwpooooowwmrlbbwwboooowwwbllbbwwwboooowbrllbacwwwbbbbbrllcaablswwwwsrrlibaaablsssrrllibaaaaabcrrlllcbaaaaaaaabbbbbaaaaa"}else{if(_5[0]==":-("||_5[0]==":("){_6="aaaaabbbbbaaaaaaaabdtyyvtdbaaaaabnyxxxxxujbaaabmyyyyyyyuujbaadyyyeeyeetttdabppppddyddpmmlbbwoooooooowsrlbbwwpooooowwmrlbbwwoooooowwrllbbwwwwbbbbbsrllbacwwbwwwwsbllcaablswwwwsrrlibaaablsssrrllibaaaaabcrrlllcbaaaaaaaabbbbbaaaaa"}else{if(_5[0]==";-)"||_5[0]==";)"){_6="aaaaabbbbbaaaaaaaabdtyyvtdbaaaaabnyxxxxxujbaaabmyyxxxxxuujbaadyyyxxxeetttdabppphddyddpmmlbbwoooooooowsrlbbwwpooooowwmrlbbwwboooowwwbllbbwwwboooowbrllbacwwwbbbbbrllcaablswwwwsrrlibaaablsssrrllibaaaaabcrrlllcbaaaaaaaabbbbbaaaaa"}else{if(_5[0]==":-|"||_5[0]==":|"){_6="aaaaabbbbbaaaaaaaabdtyyvtdbaaaaabnyxxxxxujbaaabmyyffyffuujbaadyyyeeyeetttdabppppddyddpmmlbbwoooooooowsrlbbwwpooooowwmrlbbwwoooooowwrllbbwwwwbbbbbsrllbacwwwwwwwsrllcaablswwwwsrrlibaaablsssrrllibaaaaabcrrlllcbaaaaaaaabbbbbaaaaa"}else{if(_5[0]==":-D"||_5[0]==":D"){_6="aaaaabbbbbaaaaaaaabdtyyvtdbaaaaabnyxxxxxujbaaabmyyeeyeeuujbaadyyyeeyeetttdabppppyyyyypmmlbbwbbbbbbbbbbblbbwbkzzzzzzzkbwbbwbfzzzzzzzfbwbbwbkzzzzzzzkbwbacwbkzzzzzkblcaablsbkzzzkblibaaablsbbbbblibaaaaabcrrlllcbaaaaaaaabbbbbaaaaa"}else{createTiddlyElement(_1,"span",null,"errorNoSuchMacro","unknown smiley")}}}}}if(_6){var _7=createTiddlyElement(_1,"span",null,"smiley",String.fromCharCode(160));_7.style.position="relative";_7.style.width="15px";_7.style.height="15px";_7.style.marginLeft="1px";_7.style.marginRight="1px";_7.style.paddingRight="12px";_7.style.verticalAlign="top";for(r=0;r<15;r++){for(c=0;c<15;c++){var _8=document.createElement("img");_8.className="smileyPixel";_8.style.position="absolute";_8.border=0;_8.style.top=r+"px";_8.style.left=c+"px";_8.style.width="1px";_8.style.height="1px";_8.style.backgroundColor=_4[_6.charCodeAt((r*15)+c)-97];_8.src="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";_7.appendChild(_8)}}}};
//}}}
/***
Name: BackupCommand (date format modified)
Author: ArphenLin
***/
//{{{
config.commands.backup={text:"copy",tooltip:"copy this tiddler",handler:function(e,a,b){if(readOnly){return false}clearMessage();var t=store.getTiddler(b);var c=b;var d=t.text;var f=t.getTags()+" copy";var g=new Date();c=c+"("+g.formatString("0MM-0DD.0hh:0mm")+")";store.saveTiddler(c,c,d,config.options.txtUserName,g,f);displayMessage("tiddler backup, click link below to view it");var h=document.getElementById("messageArea");createTiddlyButton(h,c,"view backup tiddler",function(){story.displayTiddler(null,c,null,false,false)},"button");return false}};
//}}}
/***
Source: http://mptw.tiddlyspot.com/#SelectPalettePlugin
Author: Simon Baird <simon.baird@gmail.com>
Name: NewMeansNewPlugin "packed"
***/
//{{{
String.prototype.getNextFreeName=function(){var c=/ \(([0-9]+)\)$/;var b=c.exec(this);if(b){var a=parseInt(b[1])+1;return this.replace(c," ("+a+")")}else{return this+" (1)"}};config.macros.newTiddler.checkForUnsaved=function(a){var b=false;story.forEachTiddler(function(d,c){if(d==a){b=true}});return b};config.macros.newTiddler.getName=function(a){while(store.getTiddler(a)||config.macros.newTiddler.checkForUnsaved(a)){a=a.getNextFreeName()}return a};config.macros.newTiddler.onClickNewTiddler=function(){var e=this.getAttribute("newTitle");if(this.getAttribute("isJournal")=="true"){var a=new Date();e=a.formatString(e.trim())}e=config.macros.newTiddler.getName(e);var b=this.getAttribute("params");var i=b?b.split("|"):[];var j=this.getAttribute("newFocus");var f=this.getAttribute("newTemplate");var d=this.getAttribute("customFields");story.displayTiddler(null,e,f,false,null,null);var c=document.getElementById(story.idPrefix+e);if(d){story.addCustomFields(c,d)}var g=this.getAttribute("newText");if(typeof g=="string"){story.getTiddlerField(e,"text").value=g.format([e])}for(var h=0;h<i.length;h++){story.setTiddlerTag(e,i[h],+1)}story.focusTiddler(e,j);return false};
//}}}
/***
Name: SelectPalettePlugin "packed"
***/
//{{{
merge(config.macros,{setPalette:{handler:function(a,e,g,d,f,b){var c=g[0]?g[0]:b.title;createTiddlyButton(a,"apply","Apply this palette",function(h){config.macros.selectPalette.updatePalette(b.title);return false})}},selectPalette:{handler:function(a,d,f,c,e,b){createTiddlyDropDown(a,this.onPaletteChange,this.getPalettes())},getPalettes:function(){var a=[{caption:"-palette-",name:""},{caption:"(Default)",name:"(default)"}];var d=store.getTaggedTiddlers("systemPalette","title");for(var e=0;e<d.length;e++){var c=d[e].title;var b=store.getTiddlerSlice(c,"Name");if(b){c=b}a.push({caption:b,name:d[e].title})}return a},onPaletteChange:function(a){config.macros.selectPalette.updatePalette(this.value);return true},updatePalette:function(a){if(a!=""){store.deleteTiddler("ColorPalette");if(a!="(default)"){store.saveTiddler("ColorPalette","ColorPalette",store.getTiddlerText(a),config.options.txtUserName,undefined,"")}this.refreshPalette();if(config.options.chkAutoSave){saveChanges(true)}}},refreshPalette:function(){config.macros.refreshDisplay.onClick()}}});config.shadowTiddlers.OptionsPanel="<<selectPalette>>\n\n"+config.shadowTiddlers.OptionsPanel;
//}}}
/***
|Name|BreadcrumbsPlugin ''packed''|
|Author|Eric Shulman|
|Source|http://www.TiddlyTools.com/#BreadcrumbsPlugin|
|Version|2.1.0|
|License|[[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|Description|list/jump to tiddlers viewed during this session plus "back" button/macro|
***/
//{{{
version.extensions.BreadcrumbsPlugin={major:2,minor:1,revision:0,date:new Date("March 2, 2009")};var co=config.options;if(co.chkShowBreadcrumbs===undefined){co.chkShowBreadcrumbs=true}if(co.chkReorderBreadcrumbs===undefined){co.chkReorderBreadcrumbs=true}if(co.chkCreateDefaultBreadcrumbs===undefined){co.chkCreateDefaultBreadcrumbs=true}if(co.chkShowStartupBreadcrumbs===undefined){co.chkShowStartupBreadcrumbs=false}if(co.chkBreadcrumbsReverse===undefined){co.chkBreadcrumbsReverse=false}if(co.chkBreadcrumbsLimit===undefined){co.chkBreadcrumbsLimit=false}if(co.txtBreadcrumbsLimit===undefined){co.txtBreadcrumbsLimit=5}if(co.chkBreadcrumbsLimitOpenTiddlers===undefined){co.chkBreadcrumbsLimitOpenTiddlers=false}if(co.txtBreadcrumbsLimitOpenTiddlers===undefined){co.txtBreadcrumbsLimitOpenTiddlers=3}if(co.chkBreadcrumbsHideHomeLink===undefined){co.chkBreadcrumbsHideHomeLink=false}if(co.chkBreadcrumbsSave===undefined){co.chkBreadcrumbsSave=false}config.macros.breadcrumbs={crumbs:[],askMsg:"Save current breadcrumbs before clearing?\nPress OK to save, or CANCEL to continue without saving.",saveMsg:"Enter the name of a tiddler in which to save the current breadcrumbs",saveTitle:"SavedBreadcrumbs",handler:function(a,f,h,e,g,b){var d=createTiddlyElement(a,"span",null,"breadCrumbs",null);d.setAttribute("homeSep",h[0]?h[0]:this.homeSeparator);d.setAttribute("crumbSep",h[1]?h[1]:this.crumbSeparator);this.render(d)},add:function(d){var b=d;var a=this.crumbs.indexOf(b);if(a===-1){this.crumbs.push(b)}else{if(config.options.chkReorderBreadcrumbs){this.crumbs.push(this.crumbs.splice(a,1)[0])}else{this.crumbs=this.crumbs.slice(0,a+1)}}if(config.options.chkBreadcrumbsLimitOpenTiddlers){this.limitOpenTiddlers()}this.refresh();return false},getAreas:function(){var d=[];var g=document.getElementsByTagName("*");for(var f=0;f<g.length;f++){try{if(hasClass(g[f],"breadCrumbs")){d.push(g[f])}}catch(j){}}var b=document.getElementById("breadCrumbs");if(b&&!hasClass(b,"breadCrumbs")){d.push(b)}if(!d.length&&config.options.chkCreateDefaultBreadcrumbs){var a=createTiddlyElement(null,"span",null,"breadCrumbs",null);a.style.display="none";var h=document.getElementById("tiddlerDisplay");h.parentNode.insertBefore(a,h);d.push(a)}return d},refresh:function(){var a=this.getAreas();for(var b=0;b<a.length;b++){a[b].style.display=config.options.chkShowBreadcrumbs?"block":"none";removeChildren(a[b]);this.render(a[b])}},render:function(d){var h=config.options;var b="";var g=d.getAttribute("homeSep");if(!g){g=this.homeSeparator}var a=d.getAttribute("crumbSep");if(!a){a=this.crumbSeparator}if(!h.chkBreadcrumbsHideHomeLink){createTiddlyButton(d,"Home",null,this.home,"tiddlyLink tiddlyLinkExisting");b+=g}for(c=0;c<this.crumbs.length;c++){if(!store.tiddlerExists(this.crumbs[c])&&!store.isShadowTiddler(this.crumbs[c])){this.crumbs.splice(c,1)}}var e=this.crumbs.length;if(h.chkBreadcrumbsLimit&&h.txtBreadcrumbsLimit<e){e=h.txtBreadcrumbsLimit}var f=[];for(c=this.crumbs.length-e;c<this.crumbs.length;c++){f.push("[["+this.crumbs[c]+"]]")}if(h.chkBreadcrumbsReverse){f.reverse()}b+=f.join(a);wikify(b,d)},home:function(){var d=config.macros.breadcrumbs;if(config.options.chkBreadcrumbsSave&&confirm(d.askMsg)){d.saveCrumbs()}story.closeAllTiddlers();restart();d.crumbs=[];var a=d.getAreas();for(var b=0;b<a.length;b++){a[b].style.display="none"}return false},saveCrumbs:function(){var g=prompt(this.saveMsg,this.saveTitle);if(!g||!g.length){return}var e=store.getTiddler(g);if(e&&!confirm(config.messages.overwriteWarning.format([g]))){return}var f=config.options.txtUserName;var b=new Date();var h="[["+this.crumbs.join("]]\n[[")+"]]";var d=e?e.tags:[];d.pushUnique("story");var a=e?e.fields:{};store.saveTiddler(g,g,h,f,b,d,a);story.displayTiddler(null,g);story.refreshTiddler(g,null,true);displayMessage(g+" has been "+(e?"updated":"created"))},limitOpenTiddlers:function(){var a=config.options.txtBreadcrumbsLimitOpenTiddlers;if(a<1){a=1}for(c=this.crumbs.length-1;c>=0;c--){var d=this.crumbs[c];var b=document.getElementById(story.idPrefix+d);if(b){if(a<=0){if(b.getAttribute("dirty")=="true"){var e="'"+d+"' is currently being edited.\n\n";e+="Press OK to save and close this tiddler\nor press Cancel to leave it opened";if(confirm(e)){story.saveTiddler(d);story.closeTiddler(d)}}else{story.closeTiddler(this.crumbs[c])}}a--}}}};if(config.macros.breadcrumbs.homeSeparator==undefined){config.macros.breadcrumbs.homeSeparator=" | "}if(config.macros.breadcrumbs.crumbSeparator==undefined){config.macros.breadcrumbs.crumbSeparator=" > "}config.commands.previousTiddler={text:"back",tooltip:"view the previous tiddler",hideReadOnly:false,dateFormat:"DDD, MMM DDth YYYY hh:0mm:0ss",handler:function(e,g,f){var d=story.findContainingTiddler(g);if(!d){return}var a=config.macros.breadcrumbs.crumbs;if(a.length>1){var b=a[a.length-2];story.displayTiddler(d,b)}else{config.macros.breadcrumbs.home()}return false}};config.macros.previousTiddler={label:"back",prompt:"view the previous tiddler",handler:function(b,g,i,f,h,e){var d=i.shift();if(!d){d=this.label}var a=i.shift();if(!a){a=this.prompt}createTiddlyButton(b,d,a,function(){var j=config.macros.breadcrumbs.crumbs;if(j.length>1){var k=j[j.length-2];story.displayTiddler(b,k)}else{config.macros.breadcrumbs.home()}})}};if(Story.prototype.breadCrumbs_coreDisplayTiddler==undefined){Story.prototype.breadCrumbs_coreDisplayTiddler=Story.prototype.displayTiddler}Story.prototype.displayTiddler=function(a,d,e,b,f){var g=(d instanceof Tiddler)?d.title:d;this.breadCrumbs_coreDisplayTiddler.apply(this,arguments);if(!startingUp||config.options.chkShowStartupBreadcrumbs){config.macros.breadcrumbs.add(g)}};if(TiddlyWiki.prototype.breadCrumbs_coreRemoveTiddler==undefined){TiddlyWiki.prototype.breadCrumbs_coreRemoveTiddler=TiddlyWiki.prototype.removeTiddler}TiddlyWiki.prototype.removeTiddler=function(a){this.breadCrumbs_coreRemoveTiddler.apply(this,arguments);config.macros.breadcrumbs.refresh()};
//}}}
/%
FileBrowser by EricShulman - http://www.tiddlytools.com/faq.html#FAQ_LocalFilesWithIFRAME
%/{{floatright{<<tiddler Switch##Nav>>}}}{{whiteGray{<<tabs bRowse
"Web " "show web browser" Browser##web
"File " "show file browser" Browser##file
"System " "show file system - possible when this TW saved to the drive" Browser##system
"Google " "show google browser" Browser##google
"Tiddler " "fast access to all tiddlers" QuickMenu
>>}}}/%
!file
<html><form target="theFrameID"><input type=file name=whichfile><input type=button value="view"onclick="var frame=document.getElementById(this.form.target);this.form.action='file:///'+this.form.whichfile.value;try{frame.style.display='block';this.form.done.disabled=false;this.form.submit();}catch(e){alert(e.description?e.description:e.toString());}"><input type=button name=done value="done" disabledonclick="var frame=document.getElementById(this.form.target);frame.style.display='none';this.disabled=true;"></form><iframe src="" name="theFrameID" id="theFrameID"style="display:none;background:#fff;width:100%;height:500px"></iframe>
</html>
!system
<html><iframe src ="file:./" frameborder="0" width="100%" align="center" height="600"></iframe></html>
@@marginLeft:600px; @@
!web
{{smallform{<<tiddler MicroBrowser>>}}}
!google
@@width:100%;<html><hide linebreaks>
<iframe src ="http://www.google.com/" frameborder="0" width="100%" align="center" height="600">
</iframe>
</html>
@@marginLeft:600px; @@
!0
%/
Name: Earth
Background: #fff
Foreground: #000
PrimaryPale: #ece9d8
PrimaryLight: #ccba9c
PrimaryMid: #baa07b
PrimaryDark: #886655
SecondaryPale: #eff3fa
SecondaryLight: #9bd
SecondaryMid: #336699
SecondaryDark: #003366
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
BackgroundImage: url("data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAYEBAQFBAYFBQYJBgUGCQsIBgYICwwKCgsKCgwQDAwMDAwMEAwODxAPDgwTExQUExMcGxsbHCAgICAgICAgICD/2wBDAQcHBw0MDRgQEBgaFREVGiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICD/wAARCAACBkADASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAECB//EABUQAQEAAAAAAAAAAAAAAAAAAAAB/8QAFwEBAQEBAAAAAAAAAAAAAAAAAAEDBf/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/AO6AOE0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVQBVgKNRYANKCixYAKoKNKALFBRVAFWAIsUFFaAFWAosaAFaBRYsBRVAFUAWKCiqANAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/9k=")
/%
|Name|Compare|
|Source|http://menuflex.tiddlyspot.com/#Compare - abandoned: http://www.TiddlyTools.com/#CompareTiddlers|
|Author|Eric Shulman, modified by Wolfgang|
|License|http://www.TiddlyTools.com/#LegalStatements|
|Type|Html|
|Description|TidIDE: show color-coded differences between two selected tiddlers. - This is a modified version of CompareTiddlers with dependency to InlneJavascriptPlugin eliminated. Important: Don't ask the original author for support to this variant script, before you haven't verified it by installing instead the latest version of the full CompareTiddlersPlugin.|
%/<<tiddler HideTiddlerTags>>{{smallform small{
<html><form action="javascript:;" style="display:inline"><!--
--><select name=list1 size=1 style="width:30%" onchange="var f=this.form; f.view1.disabled=f.edit1.disabled=f.done.disabled=!this.value.length; f.compare.disabled=!f.list1.value.length||!f.list2.value.length; if (!this.value.length) return; f.text1.style.display=f.text2.style.display='inline'; f.text1.value=store.getTiddlerText(this.value);"></select><!--
--><input type=button name=view1 style="width:10%" value='view' disabled
onclick="if (this.form.list1.value.length) story.displayTiddler(story.findContainingTiddler(this),this.form.list1.value,DEFAULT_VIEW_TEMPLATE)"><!--
--><input type=button name=edit1 style="width:10%" value='edit' disabled
onclick="if (this.form.list1.value.length) story.displayTiddler(story.findContainingTiddler(this),this.form.list1.value,DEFAULT_EDIT_TEMPLATE)"><!--
--><select name=list2 size=1 style="width:30%" onchange="var f=this.form; f.view2.disabled=f.edit2.disabled=f.done.disabled=!this.value.length; f.compare.disabled=!f.list1.value.length||!f.list2.value.length; if (!this.value.length) return; f.text1.style.display=f.text2.style.display='inline'; f.text2.value=store.getTiddlerText(this.value)"></select><!--
--><input type=button name=view2 style="width:10%" value='view' disabled
onclick="if (this.form.list2.value.length) story.displayTiddler(story.findContainingTiddler(this),this.form.list2.value,DEFAULT_VIEW_TEMPLATE)"><!--
--><input type=button name=edit2 style="width:10%" value='edit' disabled
onclick="if (this.form.list2.value.length) story.displayTiddler(story.findContainingTiddler(this),this.form.list2.value,DEFAULT_EDIT_TEMPLATE)"><br><!--
--><textarea name=text1 style="width:49.5%;display:none" rows="10" readonly></textarea><!--
--><textarea name=text2 style="width:49.5%;display:none" rows="10" readonly></textarea><!--
--><div style='float:left'><!--
-->The output shows additions in green, and deletions in red<!--
--></div><!--
--><div style='text-align:right'><!--
--><input type=button name=compare style="width:10%" value='compare' disabled
onclick="var f=this.form; if (!f.list1.value.length) { f.list1.focus(); return alert('select a tiddler'); } var t1=store.getTiddlerText(f.list1.value); if (!t1) { displayMessage(f.list1.value+' not found');return false; } if (!f.list2.value.length) { f.list2.focus(); return alert('select a tiddler'); } var t2=store.getTiddlerText(f.list2.value); if (!t2) { displayMessage(f.list2.value+' not found');return false; } removeChildren(f.parentNode.nextSibling); var out=diffString(t1,t2); if (!out || !out.length) out='no differences'; f.parentNode.nextSibling.innerHTML=out; f.parentNode.nextSibling.style.display='block'; f.done.disabled=false;"><!--
--><input type=button name=done style="width:10%" value='done' disabled
onclick="var f=this.form; f.text1.style.display='none'; f.text1.value=''; var list=f.list1; while (list.options[0]) list.options[0]=null; list.options[0]=new Option('select a tiddler...','',false,false); var tids=store.getTiddlers('title','excludeLists'); for (i=0; i<tids.length; i++) list.options[list.length]=new Option(tids[i].title,tids[i].title,false,false); f.text2.style.display='none'; f.text2.value=''; var list=f.list2; while (list.options[0]) list.options[0]=null; list.options[0]=new Option('select a tiddler...','',false,false); var tids=store.getTiddlers('title','excludeLists'); for (i=0; i<tids.length; i++) list.options[list.length]=new Option(tids[i].title,tids[i].title,false,false); f.parentNode.nextSibling.style.display='none'; removeChildren(f.parentNode.nextSibling); f.view1.disabled=f.view2.disabled=f.edit1.disabled=f.edit2.disabled=f.compare.disabled=this.disabled=true;"><!--
--></div><!--
--></form></html><<tiddler {{
// initialize form
var form=place.lastChild.firstChild;
var tids=store.getTiddlers('title','excludeLists');
while (form.list1.options[0]) form.list1.options[0]=null;
form.list1.options[0]=new Option("select a tiddler...","",false,false);
for (i=0; i<tids.length; i++)
form.list1.options[form.list1.length]=new Option(tids[i].title,tids[i].title,false,false);
while (form.list2.options[0]) form.list2.options[0]=null;
form.list2.options[0]=new Option("select a tiddler...","",false,false);
for (i=0; i<tids.length; i++)
form.list2.options[form.list2.length]=new Option(tids[i].title,tids[i].title,false,false);
'';}}>>@@display:none;margin-top:1em;border:1px solid;-moz-border-radius:1em;padding:1em;white-space:normal;/%
this will be replaced with output from compare button
%/@@}}}<html><div style='clear:both'></div></html><<tiddler {{
// returns difference between old and new text, color-formatted additions and deletions
window.diffString=function( o, n ) {
if (o==n) return ""; // simple check, saves time if true
var error = 5;
var reg = new RegExp( "\\n|(?:.{0,"+error+"})", "g" );
var oarr = o.match( reg ); // dices text into chunks
var narr = n.match( reg );
var out = diff(oarr,narr); // compare the word arrays
var str = ""; // construct output
for (i=0; i<out.length; i++) {
switch (out[i].change) {
case "ADDED":
str+="<span style='color:green'>";
str+=narr.slice(out[i].index,out[i].index+out[i].length).join("");
str+="</span> ";
break;
case "DELETED":
str+="<span style='color:red'>";
str+=oarr.slice(out[i].index,out[i].index+out[i].length).join("");
str+="</span> ";
break;
default:
str+="<span>";
str+=oarr.slice(out[i].index,out[i].index+out[i].length).join("");
str+="</span> ";
break;
}
}
return str;
return "<html>"+str+"</html>";
}
/***
!About
|Author - Bradley Meck|
|Date - Dec 24, 2006|
|Version - 1.4.1|
This is a simple function to be used to find the differences between one set of objects and another. ''The objects do not need to be Strings''. It outputs and array of objects with the properties value and change. This function is pretty hefts but appears to be rather light for a diff and tops out at O(N^^2^^) for absolute worst cast scenario that I can find.
!History
*December 23, 2006 - Function made to be minimal edit diff, and changed output.
!Code
***/
function diff( oldArray, newArray ) {
var newElementHash = { };
for( var i = 0; i < newArray.length; i++ ) {
if( ! newElementHash [ newArray [ i ] ] ) {
newElementHash [ newArray [ i ] ] = [ ];
}
newElementHash [ newArray [ i ] ].push( i );
}
var substringTable = [ ];
for( var i = 0; i < oldArray.length; i++ ) {
if(newElementHash [ oldArray [ i ] ] ) {
var locations = newElementHash [ oldArray [ i ] ] ;
for( var j = 0; j < locations.length; j++){
var length = 1;
while( i + length < oldArray.length && locations [ j ] + length < newArray.length
&& oldArray [ i + length ] == newArray [ locations [ j ] + length ] ){
length++;
}
substringTable.push( {
oldArrayIndex : i,
newArrayIndex : locations [ j ],
matchLength : length
} );
}
}
}
substringTable.sort( function( a, b ) {
if ( a.matchLength > b.matchLength /* a is less than b by some ordering criterion */ ) {
return -1;
}
if ( a.matchLength < b.matchLength /* a is greater than b by the ordering criterion */ ) {
return 1;
}
// a must be equal to b
return 0
} );
//displayMessage( substringTable.toSource( ) );
for( var i = 0; i < substringTable.length; i++) {
for( var j = 0; j < i; j++) {
var oldDelta = substringTable [ i ].oldArrayIndex + substringTable [ i ].matchLength - 1 - substringTable [ j ].oldArrayIndex;
var newDelta = substringTable [ i ].newArrayIndex + substringTable [ i ].matchLength - 1 - substringTable [ j ].newArrayIndex;
//displayMessage( "oldDelta ::: " + oldDelta );
//displayMessage( "newDelta ::: " + newDelta );
//displayMessage( "matchLength ::: " + substringTable [ j ].matchLength );
if( ( oldDelta >= 0 && oldDelta <= substringTable [ j ].matchLength )
|| ( newDelta >= 0 && newDelta <= substringTable [ j ].matchLength )
|| ( oldDelta < 0 && newDelta > 0 )
|| ( oldDelta > 0 && newDelta < 0 ) ) {
substringTable.splice( i, 1 );
i--;
break;
}
}
}
//displayMessage( substringTable.toSource( ) );
substringTable.sort( function( a, b ) {
if ( a.oldArrayIndex < b.oldArrayIndex /* a is less than b by some ordering criterion */ ) {
return -1;
}
if ( a.oldArrayIndex > b.oldArrayIndex /* a is greater than b by the ordering criterion */ ) {
return 1;
}
// a must be equal to b
return 0
} );
//displayMessage( substringTable.toSource( ) );
var oldArrayIndex = 0;
var newArrayIndex = 0;
var results = [ ];
for( var i = 0; i < substringTable.length; i++ ) {
if( oldArrayIndex != substringTable [ i ].oldArrayIndex ) {
results.push( {
change : "DELETED",
length : substringTable [ i ].oldArrayIndex - oldArrayIndex,
index : oldArrayIndex
} );
}
if( newArrayIndex != substringTable [ i ].newArrayIndex ) {
results.push( {
change : "ADDED",
length : substringTable [ i ].newArrayIndex - newArrayIndex,
index : newArrayIndex
} );
}
results.push( {
change : "STAYED",
length : substringTable [ i ].matchLength,
index : substringTable [ i ].oldArrayIndex
} );
oldArrayIndex = substringTable [ i ].oldArrayIndex + substringTable [ i ].matchLength;
newArrayIndex = substringTable [ i ].newArrayIndex + substringTable [ i ].matchLength;
}
if( oldArrayIndex != oldArray.length ) {
results.push( {
change : "DELETED",
length : oldArray.length - oldArrayIndex,
index : oldArrayIndex
} );
}
if( newArrayIndex != newArray.length ) {
results.push( {
change : "ADDED",
length : newArray.length - newArrayIndex,
index : newArrayIndex
} );
}
return results;
}
'';}}>>
|Name|ADefault|
|Author|JeremyRuston|
|Description|the default TiddlyWiki theme|
|Source|http://www.tiddlywiki.com/empty.html|
|PageTemplate|PageTemplate|
|ViewTemplate|ViewTemplate|
|EditTemplate|EditTemplate|
|StyleSheet|StyleSheet|
/***
|''Name:''|DeliciousTaggingPlugin "packed"|
|''Version:''|0.1|
|''Source''|http://jackparke.googlepages.com/jtw.html#DeliciousTaggingPlugin|
|''Author:''|[[Jack]]|
|''Description:''|Allows easy 'del.icio.us'-like tagging in the EditTemplate by showing all tags as a list of link-buttons.|
***/
//{{{
version.extensions.deliciousTagging={major:0,minor:1,revision:0,date:new Date("June 11, 2007")};config.macros.deliciousTagging={};config.macros.deliciousTagging.onTagClick=function(e){if(!e){var e=window.event}var _3=this.getAttribute("tag");var _4=this.getAttribute("tiddler");if(!readOnly){story.setTiddlerTag(_4,_3,0)}return false};config.macros.deliciousTagging.handler=function(_5,_6,_7,_8,_9,_a){if(_a instanceof Tiddler){var _b=_a.title;if(!e){var e=window.event}var _d=store.getTags();var _e=config.views.editor.tagChooser;for(var t=0;t<_d.length;t++){var _10=createTiddlyButton(_5,_d[t][0],_e.tagTooltip.format([_d[t][0]]),config.macros.deliciousTagging.onTagClick);_10.setAttribute("tag",_d[t][0]);_10.setAttribute("tiddler",_a.title);_5.appendChild(document.createTextNode(" "))}}};
//}}}
/***
|''Name:''|~TaggerPlugin "modified" (dropdown char and shadow definition removed)|
|''Version:''|1.0.1|
|''Source:''|http://tw.lewcid.org//#TaggerPlugin|
|''Author:''|SaqImtiaz|
|''Description:''|Provides a drop down listing current tiddler tags, and allowing toggling of tags.|
***/
//{{{
config.tagger={defaults:{label:"tag",tooltip:"Manage tiddler tags",taglist:"true",excludeTags:"",notags:"tiddler has no tags",aretags:"current tiddler tags:",toggletext:"add tags:"}};config.macros.tagger={};config.macros.tagger.arrow=(document.all?"":"");config.macros.tagger.handler=function(_1,_2,_3,_4,_5,_6){var _7=config.tagger.defaults;var _8=_5.parseParams("tagman",null,true);var _9=((_8[0].label)&&(_8[0].label[0])!=".")?_8[0].label[0]+this.arrow:_7.label+this.arrow;var _a=((_8[0].tooltip)&&(_8[0].tooltip[0])!=".")?_8[0].tooltip[0]:_7.tooltip;var _b=((_8[0].taglist)&&(_8[0].taglist[0])!=".")?_8[0].taglist[0]:_7.taglist;var _c=((_8[0].exclude)&&(_8[0].exclude[0])!=".")?(_8[0].exclude[0]).readBracketedList():_7.excludeTags.readBracketedList();if((_8[0].source)&&(_8[0].source[0])!="."){var _d=_8[0].source[0];}if(_d&&!store.getTiddler(_d)){return false;}var _e=function(e){if(!e){var e=window.event;}var _11=Popup.create(this);var _12=store.getTags();var _13=new Array();for(var i=0;i<_12.length;i++){_13.push(_12[i][0]);}if(_d){var _15=store.getTiddler(_d);_13=_15.tags.sort();}var _16=_6.tags.sort();var _17=function(_18,_19,_1a){var sp=createTiddlyElement(createTiddlyElement(_11,"li"),"span",null,"tagger");var _1c=createTiddlyButton(sp,_18,_1a+" '"+_19+"'",taggerOnToggle,"button","toggleButton");_1c.setAttribute("tiddler",_6.title);_1c.setAttribute("tag",_19);insertSpacer(sp);if(window.createTagButton_orig_mptw){createTagButton_orig_mptw(sp,_19)}else{createTagButton(sp,_19);}};createTiddlyElement(_11,"li",null,"listTitle",(_6.tags.length==0?_7.notags:_7.aretags));for(var t=0;t<_16.length;t++){_17("[x]",_16[t],"remove tag ");}createTiddlyElement(createTiddlyElement(_11,"li"),"hr");if(_b!="false"){createTiddlyElement(_11,"li",null,"listTitle",_7.toggletext);for(var i=0;i<_13.length;i++){if(!_6.tags.contains(_13[i])&&!_c.contains(_13[i])){_17("[ ]",_13[i],"add tag ");}}createTiddlyElement(createTiddlyElement(_11,"li"),"hr");}var _1f=createTiddlyButton(createTiddlyElement(_11,"li"),("Create new tag"),null,taggerOnToggle);_1f.setAttribute("tiddler",_6.title);if(_d){_1f.setAttribute("source",_d);}Popup.show(_11,false);e.cancelBubble=true;if(e.stopPropagation){e.stopPropagation();}return (false);};createTiddlyButton(_1,_9,_a,_e,"button","taggerDrpBtn");};window.taggerOnToggle=function(e){var tag=this.getAttribute("tag");var _22=this.getAttribute("tiddler");var _23=store.getTiddler(_22);if(!tag){var _24=prompt("Enter new tag:","");if(_24!=""&&_24!=null){var tag=_24;if(this.getAttribute("source")){var _26=store.getTiddler(this.getAttribute("source"));_26.tags.pushUnique(_24);}}else{return false;}}if(!_23||!_23.tags){store.saveTiddler(_22,_22,"",config.options.txtUserName,new Date(),tag);}else{if(_23.tags.find(tag)==null){_23.tags.push(tag);}else{if(!_24){_23.tags.splice(_23.tags.find(tag),1);}}store.saveTiddler(_23.title,_23.title,_23.text,_23.modifier,_23.modified,_23.tags);}story.refreshTiddler(_22,null,true);if(config.options.chkAutoSave){saveChanges();}return false;};setStylesheet(".tagger a.button {font-weight: bold;display:inline; padding:0px;}\n"+".tagger #toggleButton {padding-left:2px; padding-right:2px; margin-right:1px; font-size:110%;}\n"+"#nestedtagger {background:#2E5ADF; border: 1px solid #0331BF;}\n"+".popup .listTitle {color:#000;}\n"+"","TaggerStyles");window.lewcidTiddlerSwapTag=function(_27,_28,_29){for(var i=0;i<_27.tags.length;i++){if(_27.tags[i]==_28){_27.tags[i]=_29;return true;}}return false;};window.lewcidRenameTag=function(e){var tag=this.getAttribute("tag");var _2d=prompt("Rename tag '"+tag+"' to:",tag);if((_2d==tag)||(_2d==null)){return false;}if(store.tiddlerExists(_2d)){if(confirm(config.messages.overwriteWarning.format([_2d.toString()]))){story.closeTiddler(_2d,false,false);}else{return null;}}tagged=store.getTaggedTiddlers(tag);if(tagged.length!=0){for(var j=0;j<tagged.length;j++){lewcidTiddlerSwapTag(tagged[j],tag,_2d);}}if(store.tiddlerExists(tag)){store.saveTiddler(tag,_2d);}if(document.getElementById("tiddler"+tag)){var _2f=document.getElementById(story.idPrefix+tag);var _30=story.positionTiddler(_2f);var _31=document.getElementById(story.container);story.closeTiddler(tag,false,false);story.createTiddler(_31,_30,_2d,null);story.saveTiddler(_2d);}if(config.options.chkAutoSave){saveChanges();}return false;};window.onClickTag=function(e){if(!e){var e=window.event;}var _34=resolveTarget(e);var _35=(!isNested(_34));if((Popup.stack.length>1)&&(_35==true)){Popup.removeFrom(1);}else{if(Popup.stack.length>0&&_35==false){Popup.removeFrom(0);}}var _36=(_35==false)?"popup":"nestedtagger";var _37=createTiddlyElement(document.body,"ol",_36,"popup",null);Popup.stack.push({root:this,popup:_37});var tag=this.getAttribute("tag");var _39=this.getAttribute("tiddler");if(_37&&tag){var _3a=store.getTaggedTiddlers(tag);var _3b=[];var li,r;for(r=0;r<_3a.length;r++){if(_3a[r].title!=_39){_3b.push(_3a[r].title);}}var _3d=config.views.wikified.tag;if(_3b.length>0){var _3e=createTiddlyButton(createTiddlyElement(_37,"li"),_3d.openAllText.format([tag]),_3d.openAllTooltip,onClickTagOpenAll);_3e.setAttribute("tag",tag);createTiddlyElement(createTiddlyElement(_37,"li"),"hr");for(r=0;r<_3b.length;r++){createTiddlyLink(createTiddlyElement(_37,"li"),_3b[r],true);}}else{createTiddlyText(createTiddlyElement(_37,"li",null,"disabled"),_3d.popupNone.format([tag]));}createTiddlyElement(createTiddlyElement(_37,"li"),"hr");var h=createTiddlyLink(createTiddlyElement(_37,"li"),tag,false);createTiddlyText(h,_3d.openTag.format([tag]));createTiddlyElement(createTiddlyElement(_37,"li"),"hr");var _40=createTiddlyButton(createTiddlyElement(_37,"li"),("Rename tag '"+tag+"'"),null,lewcidRenameTag);_40.setAttribute("tag",tag);}Popup.show(_37,false);e.cancelBubble=true;if(e.stopPropagation){e.stopPropagation();}return (false);};if(!window.isNested){window.isNested=function(e){while(e!=null){var _42=document.getElementById("contentWrapper");if(_42==e){return true;}e=e.parentNode;}return false;};}
//}}}
Name: Earth
Background: #fff
Foreground: #000
PrimaryPale: #ece9d8
PrimaryLight: #ccba9c
PrimaryMid: #baa07b
PrimaryDark: #886655
SecondaryPale: #eff3fa
SecondaryLight: #9bd
SecondaryMid: #336699
SecondaryDark: #003366
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
BackgroundImage: url("data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAYEBAQFBAYFBQYJBgUGCQsIBgYICwwKCgsKCgwQDAwMDAwMEAwODxAPDgwTExQUExMcGxsbHCAgICAgICAgICD/2wBDAQcHBw0MDRgQEBgaFREVGiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICD/wAARCAACBkADASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAECB//EABUQAQEAAAAAAAAAAAAAAAAAAAAB/8QAFwEBAQEBAAAAAAAAAAAAAAAAAAEDBf/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/AO6AOE0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVQBVgKNRYANKCixYAKoKNKALFBRVAFWAIsUFFaAFWAosaAFaBRYsBRVAFUAWKCiqANAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/9k=")
{{whiteGray{<<tabs eDi
Configuration "configure appearance of TiddlyWiki" Edit##Configuration
"All tiddlers" "quick access to all tiddlers" QuickMenu
"Compare " "compare diffrences of two tiddlers" Compare
"Tweaker " "batch changing of field values" Edit##Tweaker
"TidIDE " "show TidIDEditor panel" Edit##TidIDE
"All Fields " "show all custom fields" Edit##Fields
"QuickAdd " "create and append tiddlers and tables" QuickAdd
>>}}}/%
!TidIDE
<<tiddler EditBar>>{{fine smallform nowrap tidIDE{<<tidIDE id:displayArea +edit>>}}}
!Tweaker
{{fine smallform{<<tiddlerTweaker>>}}}
!
/%
!Configuration
|>|>|line-height:30%;padding:0 0 0.5em 0;bgcolor(#9bd): <<gradient vert #eff3fa #9bd>>{{tiny{^^<<editSection Groundless##mainToolbar mainToolbar>> <<editSection zconfiguration##Backstage Backstage>>^^}}}\\
<br><br><br>{{floatleft{{{big{ <<editSection Groundless##SiteTitle SiteTitle>> }}} - {{small{<<editSection Groundless##SiteSubtitle SiteSubtitle>>}}}}}}>>\\
{{center{<<editSection Groundless##TopMenu TopMenu>>}}}|
|vertical-align:top;width:13%; \\
<<editSection Groundless##MainMenu MainMenu>> |vertical-align:top;width:70%; {{spacer{<<editSection Groundless##ViewTemplate ViewTemplate>> ^^<<editSection Groundless##ViewToolbar ViewToolbar>>^^\\
{{small{<<editSection Groundless##EditTemplate EditTemplate>>}}} ^^<<editSection Groundless##EditToolbar EditToolbar>>^^ }}}\\
{{tiny{<<editSection "__tiddlyDesktopLayout##Default tiddlers layout" DefaultTiddlers>> ^^[[DefaultTiddlers]]^^\\
<hr>@@display:block;height:20em;overflow:auto;{{left{<<tiddler Edit##LorumIpsum>>}}}@@}}} |width:15%; \\
<<editSection Groundless##SideBarOptions SideBarOptions>> <br><br> |
|~|~|bgcolor(#eff3fa): {{small{<<editSection Groundless##OptionsPanel OptionsPanel>>}}} \\
{{tiny{[[AdvancedOptions]]}}} |
|~|~|bgcolor(#eee): <<tiddler Edit##SideBarTabs>> |
|>|>|padding:0; {{small{[[Footer]]}}} |
{{whiteGray{<<tabs chkplugin
Styles "show all style definitions" Edit##Styles
Plugins "for disabling plugins" Edit##Plugin
"on demand" "enabling remote plugins" Edit##Load
Scripts "inline scripts" Edit##Script
htmls "html scripts" Edit##Html>>}}}/%
!SideBarTabs
[[SideBarTabs]]
|borderless tiny|k
|vertical-align:top; [[Timeline|TabTimeline]] |vertical-align:top; <br><<editSection Groundless##TabTags TabTags>> <br>\\
|vertical-align:top; <<editSection Groundless##TabAll TabAll>> |<br><<editSection Groundless##TabMore TabMore>> \\
[[Missing|TabMoreMissing]] <br>[[Orphans|TabMoreOrphans]] <br>[[Shadowed|TabMoreShadowed]] |
!Styles
[[SystemTheme|Groundless]] - <<editSection Groundless##PageTemplate PageTemplate>> - <<editSection Groundless##CustomDefinitions CustomDefinitions>> - <<editSection Groundless##tiddlyDesktopStyle tiddlyDesktopStyle>>
<<editSection Groundless##OverflowStyle OverflowStyle>> - <<editSection Groundless##MenuStyles MenuStyles>> - <<editSection Groundless##MptwStyle MptwStyle>> - <<editSection Groundless##StylesheetShortcuts StylesheetShortcuts>> - [[ColorPalette]]
<<editSection Groundless##StyleSheet StyleSheet>> - [[StyleSheetColors]] - [[StyleSheetLayout]] - [[StyleSheetPrint]] - [[SiteUrl]]
!Plugin
<<tiddler Switch##ListTitle with: systemConfig>>
!Script
<<tiddler Switch##ListTitle with: script>>
!Html
<<tiddler Switch##ListTitle with: htm>>
!LorumIpsum
<html><h1>"heading 1"</h1></html>
Aenean eros arcu, condimentum nec, dapibus ut, tincidunt sit amet, urna. Quisque viverra, eros sed imperdiet iaculis, est risus facilisis quam, id malesuada arcu nulla luctus urna. Nullam et est. Vestibulum velit sem, faucibus cursus, dapibus vestibulum, pellentesque et, urna. Donec luctus. Donec lectus. Aliquam eget eros facilisis tortor feugiat sollicitudin. Integer lobortis vulputate sapien. Sed iaculis erat ac nunc. Etiam eu enim. Mauris ipsum urna, rhoncus at, bibendum sit amet, euismod eget, dolor.
----
<html><h2>"heading 2"</h2></html>
<html><h3>"heading 3"</h3></html>
{{cola{
#This is a numbered list item
##This is a numbered list item
*This is a list item
> This is a blockquote
}}}{{colb{
|>|>| !This is a header |h
|column1|column2|column3|
|row2| row2 |row2|
|column1|column2|column3|
|row2| row2 |row2|
}}}{{clear{
{{floatright{And this an external [[link|http://www.tiddlywiki.com/]].}}}{{floatleft{This is a link to a [[StyleSheet]] tiddler.}}}{{center{<<editSection zconfiguration##Configuration button>>}}}}}}
!
|Name|LoadRemotePlugin "packed"|
|Source|http://www.TiddlyTools.com/#LoadRemotePlugin|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|Requires|InlineJavascriptPlugin|
|Description|Load a plugin from a remote .js URL|
Usage:
<<tiddler LoadRemotePlugin with: "label" "tip" "URL" "onloadfunction" "preloadedtest" "onrunfunction" "configoverlay">>
where:
label/tip
- command link text and tooltip
URL
- location of .js (i.e., the remotely stored plugin file)
onloadfunction
- js code invoked after loading remote plugin (can be used to init values, display tiddlers, etc)
preloadedtest
- js expression to test to see if plugin has already been loaded
onrunfunction
- js code invoked when plugin was already loaded (instead of onloadfunction)
configoverlay
- name of tiddler containing js code with custom settings, tweaks, etc.
examples:
see [[InstantBookmarklets]]
!LoadRemote
<script label="$1" title="$2">if('$5'!='$'+'5'&&($5)){clearMessage();if('$6'!='$'+'6'&&'$6'.length){$6;}else{$4;}
displayMessage('$1 is already installed.');return false;}
var s=document.createElement('script');s.src='$3';s.onerror=function(){clearMessage();displayMessage('Could not load $1 from');displayMessage(this.src,this.src);};s.onload=function(){clearMessage();{$4;}
if('$7'!='$'+'7'&&'$7'.length){try{eval(store.getTiddlerText('$7',''));}
catch(e){displayMessage(e.description||e.toString());}}
displayMessage('$1 has been loaded from');displayMessage(this.src,this.src);};s.onreadystatechange=function()
{if(this.readyState=='complete')this.onload();};document.getElementsByTagName('head')[0].appendChild(s);return false;</script>
!
/%
|Name|InstantBookmarklets|
|Source|http://www.TiddlyTools.com/#InstantBookmarklets|
|Version|2.0.0|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatement <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|Description|instantly create bookmarklets by dragging onclick links to the browser toolbar|
See [[InlineJavascriptPluginInfo]] for bookmarklet authoring documentation
!Load
<<tiddler Edit##LoadRemote with: [[UploadPlugin]]
[[Load UploadPlugin from svn.TiddlyWiki.org repository]]
[[http://svn.tiddlywiki.org/Trunk/contributors/BidiX/plugins/UploadPlugin.js]]
[[window.story.displayTiddler(null,'WelcomeToTiddlyspot')]]
[[version.extensions.UpoadPlugin!=undefined]]>>
<<tiddler Edit##LoadRemote with: [[ImportTiddlersPlugin]]
[[Load ImportTiddlersPlugin from svn.TiddlyWiki.org repository]]
[[http://svn.tiddlywiki.org/Trunk/contributors/EricShulman/plugins/ImportTiddlersPlugin.js]]
[[window.story.displayTiddler(null,"ImportTiddlers")]]
[[version.extensions.ImportTiddlersPlugin!=undefined]]
[[window.story.displayTiddler(null,"ImportTiddlers")]]
[[ImportTiddlersPluginConfig]]>>
<<tiddler Edit##LoadRemote with: [[ExportTiddlersPlugin]]
[[Load ExportTiddlersPlugin from svn.TiddlyWiki.org repository]]
[[http://svn.tiddlywiki.org/Trunk/contributors/EricShulman/plugins/ExportTiddlersPlugin.js]]
[[window.story.displayTiddler(null,"ExportTiddlers")]]
[[version.extensions.ExportTiddlersPlugin!=undefined]]
[[window.story.displayTiddler(null,"ExportTiddlers")]]
[[ExportTiddlersPluginConfig]]>>
<<tiddler Edit##LoadRemote with: [[TiddlerTweakerPlugin]]
[[Load TiddlerTweakerPlugin from svn.TiddlyWiki.org repository]]
[[http://svn.tiddlywiki.org/Trunk/contributors/EricShulman/plugins/TiddlerTweakerPlugin.js]]
[[window.story.displayTiddler(null,'TiddlerTweaker')]]
[[version.extensions.TiddlerTweakerPlugin!=undefined]]>>
<<tiddler Edit##LoadRemote with: [[RearrangeTiddlersPlugin]]
[[Load RearrangeTiddlersPlugin from www.TiddlyTools.com]]
[[http://www.TiddlyTools.com/plugins/RearrangeTiddlersPlugin.js]]
[[window.story.forEachTiddler(function(t,e){window.story.refreshTiddler(t,null,true)}); window.refreshDisplay()]]
[[Story.prototype.rearrangeTiddlersHijack_refreshTiddler!=undefined]]>>
<<tiddler Edit##LoadRemote with: [[YourSearchPlugin]]
[[Load YourSearchPlugin from tiddlywiki.abego-software.de]]
[[http://tiddlywiki.abego-software.de/archive/YourSearchPlugin/Plugin-YourSearch-src.2.1.1.js]]
[[window.refreshPageTemplate()]]
[[version.extensions.YourSearchPlugin!=undefined]]>>
<<tiddler Edit##LoadRemote with: [[Firefox Privilege Manager]]
[[Load Firefox Privilege Manager from svn.TiddlyWiki.org repository]]
[[http://svn.tiddlywiki.org/Trunk/contributors/XavierVerges/plugins/FirefoxPrivilegesPlugin.js]]
[[config.macros.firefoxPrivileges.onload()]]
[[config.macros.firefoxPrivileges!=undefined]]
[[backstage.switchTab("firefoxPrivileges")]]>>
<<tiddler Edit##LoadRemote with: [[Jash (JAvascript SHell)]]
[[Load Jash (JAvascript SHell) from www.billyreisinger.com/jash]]
[[http://www.billyreisinger.com/jash/source/latest/Jash.js]]
[[window.jash.close()]]
[[window.jash!=undefined]]>>
!Fields
<script>
var out=[]; var allFields={};
var tids=store.getTiddlers('title');
for (var i=0; i<tids.length; i++) for (var f in tids[i].fields) {
if (!allFields[f]) allFields[f]=[];
allFields[f].push(tids[i].title);
}
var fmt='*%0<br>%1';
for (var f in allFields) out.push(fmt.format([f,'[['+allFields[f].join(']], [[')+']]']));
return 'There are '+out.length+' fields:\n\n'+out.join('\n');
</script>
!
%/
/%
|Name| EditBar|
|Source| http://menuflex.tiddlyspot.com/#EditBar - originally: http://www.TiddlyTools.com/#QuickEditPackage|
|Version| 2.4.4|
|Author| Eric Shulman (modified by Wolfgang)|
|License| http://www.TiddlyTools.com/#LegalStatements|
|Requires| EditBarPlugin; optional: EditBarTools|
|Description| Quickly insert TiddlyWiki tiddler links or common formatting sequences directly into tiddler content. - This is a modified version of QuickEditPackage. Important: Don't ask the original author for support to this variant script, before you haven't verified it by installing instead the latest version of the full QuickEditPackage.|
Usage (in EditTemplate): <div macro='tiddler EditBar with: show'></div>
where "show" is an OPTIONAL keyword to force the toolbar to be displayed regardless of the current 'toggle' state. see [[QuickEditPackage]] for additional installation options
CUSTOM DEFINITIONS BEGIN HERE...
= = = = = = = = = = = = = = = = = = = =
!customList
enclose bookmarklet
<html><a href="$1"<span></span></a></html>
----
convert inline script
<<tiddler {{ $1 '';}}>>
----
popup - with [[Pop]]
<<tiddler Pop##Show with: label TiddlerName tooltip buttonClass width popupClass>>
----
● bulleted list level 1
*$1
----
○ bulleted list level 2
**$1
----
■ bulleted list level 3
***$1
----
timestamp
$[[enter a date|{{new Date().formatString('DDD, MMM DDth, YYYY hh12:0mm:0ssam')}}]]
----
scrollbox
@@display:block;height:10em;overflow:auto;$1@@@@display:block;text-align:right;^^scroll for more...^^@@
----
nested slider
+++[$1]<<tiddler $1>>===
----
big red
@@font-size:28pt;color:red;$1@@
----
!end
TOOLBAR DEFINITIONS BEGIN HERE...
= = = = = = = = = = = = = = = = = = = =
%/{{hidden tiny center quickEdit{
<<tiddler {{ // show/hide toolbar
var here=story.findContainingTiddler(place); if (here) var tid=here.getAttribute('tiddler');
var show='$1'!='$'+'1'||config.options.chkShowEditBar||tid=='EditBar';
place.style.display=show?'block':'none';
'';}}>>/%
**** WORD COUNT ****
%/<<tiddler ShowPopup with: "Words" "tool" "" "10em" "">>/%
**** FORMAT ****
%/<html><a href="javascript:;" class="tiddlyLink" tabindex="-1" title="plain text (remove ALL formatting)" accesskey="P" onclick="var e=config.quickEdit.getField(this); if (e) e.focus(); var txt=config.quickEdit.getSelection(e); config.quickEdit.setSelection(e,wikifyPlainText(txt)); return false;"> - </a></html>/%
%/<html><a href="javascript:;" class="tiddlyLink" tabindex="-1" title="''bold''" accesskey="B" onclick="config.quickEdit.wrapSelection(this,'\x27\x27','\x27\x27'); return false;"> B </a></html>/%
%/<html><a href="javascript:;" class="tiddlyLink" tabindex="-1" title="//italics//" accesskey="I" onclick="config.quickEdit.wrapSelection(this,'//','//'); return false;"> I </a></html>/%
%/<html><a href="javascript:;" class="tiddlyLink" tabindex="-1" title="__underline__" accesskey="U" onclick="config.quickEdit.wrapSelection(this,'__','__'); return false;"> U </a></html>/%
%/ /% SPACER
%/<html><a href="javascript:;" class="tiddlyLink" tabindex="-1" title=""quotes"" accesskey="Q" onclick="config.quickEdit.wrapSelection(this,'\x22','\x22'); return false;"> Q </a></html>/%
%/<html><a href="javascript:;" class="tiddlyLink" tabindex="-1" title="@@highlight@@" accesskey="H" onclick="config.quickEdit.wrapSelection(this,'@@','@@'); return false;"> H </a></html>/%
%/<html><a href="javascript:;" class="tiddlyLink" tabindex="-1" title="--strikethrough--" accesskey="S" onclick="config.quickEdit.wrapSelection(this,'--','--'); return false;"> S </a></html>/%
%/<html><hide linebreaks><a href="javascript:;" class="tiddlyLink" tabindex="-1"
title="[[forced link]]" accesskey="L"
onclick="config.quickEdit.wrapSelection(this,'[[',']]'); return false;"
> L </a></html>/%
%/ /% SPACER
%/<html><hide linebreaks><a href="javascript:;" class="tiddlyLink" tabindex="-1"
title="format text"
onclick="var p=Popup.create(this); if (!p) return false; p.className+=' sticky smallform';
var s=createTiddlyElement(p,'select'); s.button=this;
s.options[0]=new Option('select text format...','');
s.options[s.length]=new Option('CSS class wrapper','{{$1{,}}},Enter a CSS classname');
s.options[s.length-1].title='CSS class wrapper - {{classname classname etc{...}}}';
s.options[s.length]=new Option('inline CSS styles','@@$1,@@,Enter CSS (attribute:value;attribute:value;...;)');
s.options[s.length-1].title='inline CSS styles - @@attr:value;attr:value;...@@';
s.options[s.length]=new Option('superscript','^^,^^');
s.options[s.length-1].title='^^superscript^^';
s.options[s.length]=new Option('subscript','~~,~~');
s.options[s.length-1].title='~~subscript~~';
s.options[s.length]=new Option('heading 1','\n!,\n');
s.options[s.length-1].title='H1 heading - !';
s.options[s.length]=new Option('heading 2','\n!!,\n');
s.options[s.length-1].title='H2 heading - !!';
s.options[s.length]=new Option('heading 3','\n!!!,\n');
s.options[s.length-1].title='H3 heading - !!!';
s.options[s.length]=new Option('heading 4','\n!!!!,\n');
s.options[s.length-1].title='H4 heading - !!!!';
s.options[s.length]=new Option('heading 5','\n!!!!!,\n');
s.options[s.length-1].title='H5 heading - !!!!!';
s.options[s.length]=new Option('HTML','<html><hide linebreaks>,<\x2fhtml>');
s.options[s.length-1].title='HTML syntax - <html><hide linebreaks>...<\x2fhtml>';
s.options[s.length]=new Option('plain text','<nowiki>,<\x2fnowiki>');
s.options[s.length-1].title='nowiki syntax - <nowiki>...<\x2fnowiki>';
s.options[s.length]=new Option('blockquote','\<\<\<\n,\n\<\<\<');
s.options[s.length-1].title='indented blockquote - \<\<\<';
s.options[s.length]=new Option('monospaced','{{{,}}}');
s.options[s.length-1].title='inline monospaced text - {{{...}}}';
s.options[s.length]=new Option('monospaced text box','\n{{{\n,\n}}}');
s.options[s.length-1].title='multi-line monospaced text box - {{{...}}}';
s.options[s.length]=new Option('hidden comment','/% , %/');
s.options[s.length-1].title='comment (invisible content) - /%...%/';
s.options[s.length]=new Option('css comment','/* , */');
s.options[s.length-1].title='comment (style sheet) - /*...*/';
s.options[s.length]=new Option('css code','\n/*{{{*/\n,\n/*}}}*/');
s.options[s.length-1].title='multiline monospaced css box - /*{{{*/.../*}}}*/';
s.options[s.length]=new Option('visible comment','\n/***\n,\n***/');
s.options[s.length-1].title='code comment (visible content) - /***...***/';
s.options[s.length]=new Option('javascript code','\n//{{{\n,\n//}}}');
s.options[s.length-1].title='multiline monospaced code box - //{{{...//}}}';
s.options[s.length]=new Option('hidden javascript','///% , //%/');
s.options[s.length-1].title='code (invisible javascript) - ///%...//%/';
s.size=s.length;
s.onclick=function(){ if (!this.value.length) return;
var parts=this.value.split(',');
var prefix=parts[0]; var suffix=parts[1]; var ask=parts[2];
if (ask) {
var val=prompt(ask); if (!val) { Popup.remove(); return false; }
prefix=prefix.replace(/\$1/g,val); suffix=suffix.replace(/\$1/g,val);
}
config.quickEdit.wrapSelection(this.button,prefix,suffix);
Popup.remove(); return false;
};
s.onkeyup=function(ev){
var k=(ev||window.event).keyCode; if (k==13) this.onclick(); if (k==27) Popup.remove();
};
Popup.show(p,false);
s.focus();
return config.quickEdit.processed(event);"
>form</a></html>/%
**** CUSTOM ****
!help
Reminders:
Custom formats are stored as an "HR-separated list" in [[EditBar]], where the first line of each list item is the text 'label' to show in the droplist, followed by one or more lines of wiki content to be inserted into the tiddler source.
Substitution markers can be used to dynamically insert values into the formatted output: $1 inserts the tiddler editor's current selected text. $[[message|default value]] interactively prompts for a value to be inserted. $[[message|$1]] uses the selected text as the default value. $[[message|{{javascript}}]] calculates the default value using javascript code.
!end help
%/<html><hide linebreaks><a href="javascript:;" class="tiddlyLink" tabindex="-1" title="custom defined formats"
onclick="var p=Popup.create(this); if (!p) return false; p.className+=' sticky smallform';
var s=createTiddlyElement(p,'select'); s.button=this;
s.options[0]=new Option('select a custom format...','');
var items=store.getTiddlerText('EditBar##customList','').split('\n----\n');
for (var i=0; i<items.length; i++) {
if (!items[i].length) continue; var lines=items[i].split('\n');
var label=lines.shift(); var val=lines.join('\n');
s.options[s.length]=new Option(label,val); s.options[s.length-1].title=val;
}
s.options[s.length]=new Option('[Edit custom formats...]','_edit');
s.options[s.length-1].title='add/change custom format definitions...';
s.size=Math.min(s.length,15);
s.onclick=function(){ if (!this.value.length) return;
if (this.value=='_edit') {
alert(store.getTiddlerText('EditBar##help'));
story.displayTiddler(story.findContainingTiddler(this.button),
'EditBar',DEFAULT_EDIT_TEMPLATE);
} else {
var e=config.quickEdit.getField(this.button); if (!e) return false;
e.focus(); var txt=config.quickEdit.getSelection(e);
replaceSelection(e, this.value.replace(/\$\x31/g,txt)
.replace(/\$\[\[[^\]]+\]\]/g, function(t){
x=t.substr(3,t.length-5).split('|');
var msg=x[0]; var def=x[1]||'';
if (def.startsWith('{{')) {
try{def=eval(def.substr(2,def.length-4))} catch(ex){showException(ex)}
}
return prompt(msg,def)||'';
})
);
}
Popup.remove(); return false;
};
s.onkeyup=function(ev){ var k=(ev||window.event).keyCode;
if (k==13) this.onclick(); if (k==27) Popup.remove();
};
Popup.show();
s.focus();
return config.quickEdit.processed(event);"
>more</a></html>/%
**** ALIGNMENT ****
%/<html><hide linebreaks><a href="javascript:;" class="tiddlyLink" tabindex="-1"
title="align text"
onclick="var p=Popup.create(this); if (!p) return false; p.className+=' sticky smallform';
var s=createTiddlyElement(p,'select'); s.button=this;
s.options[0]=new Option('select text alignment...','');
s.options[s.length]=new Option('left','left');
s.options[s.length-1].title='{{left{...}}}';
s.options[s.length]=new Option('center','center');
s.options[s.length-1].title='{{center{...}}}';
s.options[s.length]=new Option('right','right');
s.options[s.length-1].title='{{right{...}}}';
s.options[s.length]=new Option('justify','justify');
s.options[s.length-1].title='{{justify{...}}}';
s.options[s.length]=new Option('indent','indent');
s.options[s.length-1].title='{{indent{...}}}';
s.options[s.length]=new Option('float left','floatleft');
s.options[s.length-1].title='{{floatleft{...}}}';
s.options[s.length]=new Option('float right','floatright');
s.options[s.length-1].title='{{floatright{...}}}';
s.options[s.length]=new Option('no bullets list','nobullets li');
s.options[s.length-1].title='{{nobullets{...}}}';
s.size=s.length;
s.onclick=function(){ if (!this.value.length) return;
config.quickEdit.wrapSelection(this.button,'{{'+this.value+'{','}}}');
Popup.remove(); return false;
};
s.onkeyup=function(ev){
var k=(ev||window.event).keyCode; if (k==13) this.onclick(); if (k==27) Popup.remove();
};
Popup.show(p,false);
s.focus();
return config.quickEdit.processed(event);"
>lign</a></html>/%
**** COLOR ****
%/<html><hide linebreaks><a href="javascript:;" class="tiddlyLink" tabindex="-1"
title="text/background color - @@color:#RGB;background-color:#RGB;...@@"
onclick="var p=Popup.create(this,null,'popup sticky smallform'); if (!p) return false;
p.style.padding='2px';
function hex(d) { return '0123456789ABCDEF'.substr(d,1); }
var fg=createTiddlyElement(p,'select'); fg.button=this;
fg.style.width='12em';
fg.options[0]=new Option('text color...','');
fg.options[1]=new Option('\xa0 or enter a value','_ask');
fg.options[2]=new Option('\xa0 or use default color','');
for (var r=0;r<16;r+=3) for (var g=0;g<16;g+=3) for (var b=0;b<16;b+=3) {
var label=hex(r)+hex(g)+hex(b);
fg.options[fg.length]=new Option(label,'#'+label);
fg.options[fg.length-1].style.color='#'+label;
}
fg.onchange=function(){ var val=this.value;
if (val=='_ask') { val=prompt('Enter a CSS color value');
if (!val||!val.length) return false; }
this.options[0].value=val; this.options[0].text=val.length?'text: '+val:'text color...';
var bg=this.nextSibling;
for (var i=3;i<bg.options.length;i++) bg.options[i].style.color=val;
var preview=this.nextSibling.nextSibling.nextSibling;
var t=config.quickEdit.getSelection(config.quickEdit.getField(this.button));
t=t.replace(/^@@(color\:.+;)?(background-color\:.+;)?/,'').replace(/@@$/,'');
if (!t.length) t='~AaBbCcDdEeFfGgHhIiJj 1234567890';
var fg=this.value; if (fg.length) fg='color:'+fg+';';
var bg=this.nextSibling.value; if (bg.length) bg='background-color:'+bg+';';
if (fg.length||bg.length) t='@@'+fg+bg+t+'@@';
removeChildren(preview); wikify(t,preview);
this.selectedIndex=0; return false;
};
var bg=createTiddlyElement(p,'select'); bg.button=this;
bg.style.width='12em';
bg.options[0]=new Option('background color...','');
bg.options[1]=new Option('\xa0 or enter a value','_ask');
bg.options[2]=new Option('\xa0 or use default color','');
for (var r=0;r<16;r+=3) for (var g=0;g<16;g+=3) for (var b=0;b<16;b+=3) {
var label=hex(15-r)+hex(15-g)+hex(15-b);
bg.options[bg.length]=new Option(label,'#'+label);
bg.options[bg.length-1].style.backgroundColor='#'+label;
}
bg.onchange=function(){ var val=this.value;
if (val=='_ask') { val=prompt('Enter a CSS color value');
if (!val||!val.length) return false; }
this.options[0].value=val;
this.options[0].text=val.length?'background: '+val:'background color...';
var fg=this.previousSibling;
for (var i=3;i<fg.options.length;i++) fg.options[i].style.backgroundColor=val;
var preview=this.nextSibling.nextSibling;
var t=config.quickEdit.getSelection(config.quickEdit.getField(this.button));
t=t.replace(/^@@(color\:.+;)?(background-color\:.+;)?/,'').replace(/@@$/,'');
if (!t.length) t='~AaBbCcDdEeFfGgHhIiJj 1234567890';
var fg=this.previousSibling.value; if (fg.length) fg='color:'+fg+';';
var bg=this.value; if (bg.length) bg='background-color:'+bg+';';
if (fg.length||bg.length) t='@@'+fg+bg+t+'@@';
removeChildren(preview); wikify(t,preview);
this.selectedIndex=0; return false;
};
var b=createTiddlyElement(p,'input',null,null,null,{type:'button'}); b.button=this;
b.value='ok'; b.style.width='4em';
b.onclick=function() {
var fg=this.previousSibling.previousSibling.value; if (fg.length) fg='color:'+fg+';';
var bg=this.previousSibling.value; if (bg.length) bg='background-color:'+bg+';';
var t=config.quickEdit.getSelection(config.quickEdit.getField(this.button));
t=t.replace(/^@@(color\:.+;)?(background-color\:.+;)?/,'').replace(/@@$/,'');
if (fg.length||bg.length) config.quickEdit.setSelection(this.button,'@@'+fg+bg+t+'@@');
Popup.remove(); return false;
};
var preview=createTiddlyElement(p,'div',null,'viewer'); var s=preview.style;
s.border='1px solid'; s.margin='2px'; s.width='24em'; s.padding='3px'; s.MozBorderRadius='3px';
s.overflow='hidden'; s.textAlign='center'; s.whiteSpace='normal';
var t=config.quickEdit.getSelection(config.quickEdit.getField(this));
wikify(t.length?t:'~AaBbCcDdEeFfGgHhIiJj 1234567890',preview);
Popup.show(p,false);
event.cancelBubble=true;if(event.stopPropagation)event.stopPropagation();return false;"
>dye</a></html>/%
**** FONT ****
%/<html><hide linebreaks><a href="javascript:;" class="tiddlyLink" tabindex="-1"
title="set font-family CSS attribute - @@font-family:facename;...@@"
onclick="var p=Popup.create(this); if (!p) return false; p.className+=' sticky smallform';
var s=createTiddlyElement(p,'select'); s.button=this;
s.options[0]=new Option('select a font family...','');
var fonts=store.getTiddlerText('EditTools##fontList','').split('\n');
for (var i=0; i<fonts.length; i++) {
if (!fonts[i].length) continue;
s.options[s.length]=new Option(fonts[i],fonts[i]);
s.options[s.length-1].style.fontFamily=fonts[i];
}
s.options[s.length]=new Option('[Edit font list...]','_edit');
s.options[s.length-1].title='enter fonts, one per line...';
s.size=Math.min(s.length,15);
s.onclick=function(){
if (this.value=='_edit')
story.displayTiddler(story.findContainingTiddler(this.button),'EditTools',DEFAULT_EDIT_TEMPLATE);
else
config.quickEdit.wrapSelection(this.button,'@@font-family:\x22'+this.value+'\x22;','@@');
Popup.remove(); return false;
};
s.onkeyup=function(ev){
var k=(ev||window.event).keyCode; if (k==13) this.onclick(); if (k==27) Popup.remove();
};
Popup.show(p,false);
s.focus();
return config.quickEdit.processed(event);"
>font</a></html>/%
%/ /% SPACER
**** MORE TOOLS ****
%/<<tiddler EditBarTools>>
/***
|Name|EditBarPlugin|
|Source|http://aid.tiddlyspot.com/#EditBarPlugin - originally: http://www.TiddlyTools.com/#QuickEditPlugin|
|Documentation|http://www.TiddlyTools.com/#QuickEditPlugin|
|Version|2.4.4|
|Author|Eric Shulman (modified by Wolfgang)|
|License|http://www.TiddlyTools.com/#LegalStatements|
|Description|Support functions for ~QuickEdit package: styles, utility functions, and 'toggleQuickEdit' command. - This is a modified version of QuickEditPackage. Important: Don't ask the original author for support to this variant script, before you haven't verified it by installing instead the latest version of the full QuickEditPackage.|
***/
//{{{
version.extensions.QuickEditPlugin= {major: 2, minor: 4, revision: 3, date: new Date(2009,6,11)};
setStylesheet("\
.quickEdit a { border:2px outset ButtonFace; padding:0px 3px !important; \
-moz-border-radius:.5em; -webkit-border-radius:.5em; \
-moz-appearance:button !important; -webkit-appearance:push-button !important; \
background-color:ButtonFace; color:ButtonText !important; \
line-height:200%; font-weight:normal; } \
.quickEdit a:hover { border: 2px inset ButtonFace; background-color:ButtonFace; }\
", "quickEditStyles");
if (window.removeCookie===undefined) {
window.removeCookie=function(name) {
document.cookie = name+'=; expires=Thu, 01-Jan-1970 00:00:01 UTC; path=/;';
}
}
config.quickEdit = {
processed: function(ev) { ev=ev||window.event;
ev.cancelBubble=true;
if(ev.stopPropagation) ev.stopPropagation();
return false;
},
keyup: function(ev){ var k=(ev||window.event).keyCode;
if (k==13) this.onclick();
if (k==27) Popup.remove();
},
getField: function(where) {
var here=story.findContainingTiddler(where); if (!here) return null;
var e=story.getTiddlerField(here.getAttribute("tiddler"),"text");
if (e&&e.getAttribute("edit")=="text") return e;
return null;
},
setSelection: function(where,newtext) {
var e=this.getField(where); if (!e) return false;
e.focus(); replaceSelection(e,newtext);
return false;
},
wrapSelection: function(where,before,after) {
var e=this.getField(where); if (!e) return false;
e.focus(); replaceSelection(e,before+config.quickEdit.getSelection(e)+after);
return false;
},
getSelection: function(e) {
var seltext="";
if (e&&e.setSelectionRange)
seltext=e.value.substr(e.selectionStart,e.selectionEnd-e.selectionStart);
else if (document.selection) {
var range = document.selection.createRange();
if (range.parentElement()==e) seltext=range.text
}
return seltext;
},
promptForFilename: function(msg,path,file) {
if(window.Components) {
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='jpg';
picker.defaultString=file;
picker.appendFilters(nsIFilePicker.filterAll|nsIFilePicker.filterImages);
if (picker.show()!=nsIFilePicker.returnCancel)
var result="file:///"+picker.file.persistentDescriptor.replace(/\\/g,'/');
}
catch(e) { alert('error during local file access: '+e.toString()) }
}
else {
try {
var s = new ActiveXObject('UserAccounts.CommonDialog');
s.Filter='All files|*.*|JPG files|*.jpg|GIF files|*.gif|PNG files|*.png|';
s.FilterIndex=1;
s.InitialDir=path;
s.FileName=file;
if (s.showOpen()) var result=s.FileName;
}
catch(e) { var result=prompt(msg,path+file); }
}
return result;
}
}
//}}}
//{{{
if (config.options.chkShowEditBar===undefined) config.options.chkShowEditBar=false;
config.commands.toggleEditBar = {
hideReadOnly: true,
getText: function() { return config.options.chkShowEditBar?'\u221Aeditbar':'bar'; },
tooltip: 'show EditBar toolbar buttons',
handler: function(event,src,title) {
config.options.chkShowEditBar=!config.options.chkShowEditBar;
config.macros.option.propagateOption("chkShowEditBar","checked", config.options.chkShowEditBar,"input");
if (config.options.chkShowEditBar) saveOptionCookie("chkShowEditBar");
else removeCookie("chkShowEditBar");
src.innerHTML=config.commands.toggleEditBar.getText();
story.forEachTiddler(function(t,e){if (story.isDirty(t)) refreshElements(e);});
return false;
}
};
//}}}
// // COPIED FROM [[StickyPopupPlugin]] TO ELIMINATE PLUGIN DEPENDENCY
//{{{
if(config.options.chkStickyPopups==undefined){config.options.chkStickyPopups=false}Popup.stickyPopup_onDocumentClick=function(a){var d=a?a:window.event;var c=resolveTarget(d);var b=c;while(b){if(hasClass(b,"popup")&&(hasClass(b,"sticky")||config.options.chkStickyPopups)){break}else{b=b.parentNode}}if(!b){Popup.onDocumentClick(a)}return true};try{removeEvent(document,"click",Popup.onDocumentClick)}catch(e){}try{addEvent(document,"click",Popup.stickyPopup_onDocumentClick)}catch(e){};
//}}}
/%
|Name| EditTools|
|Source| http://aid.tiddlyspot.com/#EditBarTools - originally: http://www.TiddlyTools.com/#QuickEditPackage|
|Version| 2.4.4|
|Author| Eric Shulman (modified by Wolfgang)|
|License| http://www.TiddlyTools.com/#LegalStatements|
|Requires| EditBarPlugin, EditBar|
|Description| Quickly insert TiddlyWiki tiddler links or common formatting sequences directly into tiddler content. - This is a modified version of QuickEditPackage. Important: Don't ask the original author for support to this variant script, before you haven't verified it by installing instead the latest version of the full QuickEditPackage.|
Usage:
EditTools: <<tiddler EditTools>>
OR
EditTemplate: <span class='toolbar' macro='tiddler EditTools'></span>
CUSTOM DEFINITIONS BEGIN HERE...
= = = = = = = = = = = = = = = = = = = =
!fontList
Arial,helvetica,sans-serif
Times New Roman,times,serif
Courier,monospaced
Lucida Sans
Comic Sans MS
Mistral,vaughan
Palatino Linotype
Sylfaen
DejaVu
!end
TOOLBAR DEFINITIONS BEGIN HERE...
= = = = = = = = = = = = = = = = = = = =
**** REPLACE ****
%/<html><hide linebreaks><a href="javascript:;" class="tiddlyLink" tabindex="-1"
title="find/replace selected text with replacement text"
onclick="var here=story.findContainingTiddler(this); if (!here) return false;
var e=config.quickEdit.getField(here);
var s=config.quickEdit.getSelection(e);
var p=Popup.create(this,null,'popup sticky smallform'); if (!p) return false;
var t=createTiddlyElement(p,'input'); t.onfocus=function(){this.select()};
t.value=s.length?s:'enter target text';
var r=createTiddlyElement(p,'input'); r.onfocus=function(){this.select()};
r.value='enter replacement text';
var tid=here.getAttribute('tiddler');
var b=createTiddlyElement(p,'button',null,null,'?',{tid:tid});
b.style.width='2em';
b.title='FIND/FIND NEXT target text';
b.onclick=function(ev) { /* FIND */
var e=story.getTiddlerField(this.getAttribute('tid'),'text');
if (!e||e.getAttribute('edit')!='text') return;
var t=this.previousSibling.previousSibling;
var tv=t.value.replace(/\\t/mg,'\t').unescapeLineBreaks();
e.focus();
if (e.setSelectionRange) { /* MOZ */
var newstart=e.value.indexOf(tv,e.selectionStart+1);
if (newstart==-1) newstart=e.value.indexOf(tv); /* wrap around */
if (newstart==-1) { alert('\u0022'+t.value+'\u0022 not found'); t.focus(); return; }
e.setSelectionRange(newstart,newstart+tv.length);
var linecount=e.value.split('\n').length;
var thisline=e.value.substr(0,e.selectionStart).split('\n').length;
e.scrollTop=Math.floor((thisline-1-e.rows/2)*e.scrollHeight/linecount);
} else if (document.selection) { /* IE */
var range=document.selection.createRange();
if(range.parentElement()==e) {
range.collapse(false);
var found=false; try{found=range.findText(v,e.value.length,4)}catch(e){}
if (found) range.select();
else { alert('\u0022'+t.value+'\u0022 not found'); t.focus(); }
}
}
};
b=createTiddlyElement(p,'button',null,null,'=',{tid:tid});
b.style.width='2em';
b.title='REPLACE selected text';
b.onclick=function(ev) { /* REPLACE */
var e=story.getTiddlerField(this.getAttribute('tid'),'text');
if (!e||e.getAttribute('edit')!='text') return;
var t=this.previousSibling.previousSibling.previousSibling;
var r=this.previousSibling.previousSibling;
var rv=r.value.replace(/\\t/mg,'\t').unescapeLineBreaks();
if ( (e.selectionStart!==undefined && e.selectionEnd==e.selectionStart)
|| (document.selection && document.selection.createRange().text==''))
this.previousSibling.click(); /* no selection... do FIND first */
if ( (e.selectionStart!==undefined && e.selectionEnd==e.selectionStart)
|| (document.selection && document.selection.createRange().text==''))
{ t.focus(); return; } /* still no selection... goto target input */
e.focus(); replaceSelection(e,rv);
};
b=createTiddlyElement(p,'button',null,null,'+',{tid:tid});
b.style.width='2em';
b.title='REPLACE selected text AND FIND NEXT target text';
b.onclick=function(ev) { /* REPLACE and FIND NEXT */
this.previousSibling.click();
this.previousSibling.previousSibling.click();
};
b=createTiddlyElement(p,'button',null,null,'!',{tid:tid});
b.style.width='2em';
b.title='REPLACE ALL occurrences of target text';
b.onclick=function(ev) { /* REPLACE ALL */
var e=story.getTiddlerField(this.getAttribute('tid'),'text');
if (!e||e.getAttribute('edit')!='text') return;
var t=this.previousSibling.previousSibling.previousSibling.previousSibling.previousSibling;
var r=this.previousSibling.previousSibling.previousSibling.previousSibling;
var tv=t.value.replace(/\\t/mg,'\t').unescapeLineBreaks();
var rv=r.value.replace(/\\t/mg,'\t').unescapeLineBreaks();
if (!tv.length) { alert('Please enter the target text'); t.focus(); return; }
var m='This will replace all occurrences of:\n\n'+tv+'\n\nwith:\n\n'+rv+'\n\nAre you sure?';
if (!confirm(m)) { r.focus(); r.select(); return; }
e.value=e.value.replace(new RegExp(tv.escapeRegExp(),'gm'),rv);
e.focus(); e.select(); Popup.remove();
};
Popup.show();
if (!s.length) {t.focus();t.select()} else {r.focus();r.select()}
event.cancelBubble=true;if(event.stopPropagation)event.stopPropagation();return false;"
>replace</a></html>/%
**** SPLIT TIDDLER ****
%/<html><hide linebreaks><a href="javascript:;" class="tiddlyLink" tabindex="-1"
title="move selection to new tiddler and insert link, embedded tiddler, or slider"
onclick="var p=Popup.create(this); if (!p) return false; p.className+=' sticky smallform';
p.style.whiteSpace='nowrap';
var i=createTiddlyElement(p,'input');
i.defaultValue='Enter a new tiddler title';
i.onfocus=function(){this.select()};
var s=createTiddlyElement(p,'select'); s.button=this;
s.options[0]=new Option('select type...','');
s.options[0].title='select split type';
s.options[1]=new Option('link','link');
s.options[1].title='replace with [[TiddlerName]]';
s.options[2]=new Option('embed','embed');
s.options[2].title='replace with \<\<tiddler TiddlerName\>\>';
s.options[3]=new Option('slider','slider');
s.options[3].title='replace with \<\<slider \u0022\u0022 [[TiddlerName]] [[label]] [[tooltip]]\>\>';
s.onchange=function(){
if (s.previousSibling.value==s.previousSibling.defaultValue)
{ alert('A tiddler title is required'); s.selectedIndex=0; s.previousSibling.focus(); return false; }
var tid=s.previousSibling.value;
if (store.tiddlerExists(tid) && !confirm(config.messages.overwriteWarning.format([tid])))
{ s.previousSibling.focus(); return false; }
switch(s.value) {
case 'link':
var newtxt='[['+tid+']]';
break;
case 'embed':
var newtxt='\<\<tiddler [['+tid+']]\>\>';
break;
case 'slider':
var label=prompt('Enter a slider label',tid);
if (!label) { Popup.remove(); return false; }
var tip=prompt('Enter a slider tooltip',label);
if (!tip) { Popup.remove(); return false; }
var newtxt='\<\<slider \u0022\u0022 [['+tid+']] [['+label+']] [['+tip+']]\>\>';
break;
}
var txt=config.quickEdit.getSelection(config.quickEdit.getField(this.button));
store.saveTiddler(tid,tid,txt,config.options.txtUserName,new Date(),[],{});
story.displayTiddler(story.findContainingTiddler(this.button),tid);
config.quickEdit.setSelection(this.button,newtxt);
Popup.remove(); return false;
};
Popup.show(p,false);
event.cancelBubble=true;if(event.stopPropagation)event.stopPropagation();return false;"
>split</a></html>/%
**** SORT LINES ****
%/<html><hide linebreaks><a href="javascript:;" class="tiddlyLink" tabindex="-1"
title="sort lines of text"
onclick="var p=Popup.create(this); if (!p) return false; p.className+=' sticky smallform';
var s=createTiddlyElement(p,'select'); s.button=this;
s.options[0]=new Option('select sort order...','');
s.options[s.length]=new Option('ascending','A');
s.options[s.length-1].title='ascending';
s.options[s.length]=new Option('descending','D');
s.options[s.length-1].title='descending';
s.size=s.length;
s.onclick=function(){ if (!this.value.length) return;
var e=config.quickEdit.getField(this.button); if (!e) return false;
var lines=config.quickEdit.getSelection(e).split('\n').sort();
if (this.value=='D') lines=lines.reverse();
replaceSelection(e,lines.join('\n'));
e.focus();
Popup.remove(); return false;
};
s.onkeyup=function(ev){
var k=(ev||window.event).keyCode; if (k==13) this.onclick(); if (k==27) Popup.remove();
};
Popup.show(p,false);
s.focus();
return config.quickEdit.processed(event);"
>sort</a></html>/%
**** CONVERT ****
%/<html><hide linebreaks><a href="javascript:;" class="tiddlyLink" tabindex="-1"
title="convert between tab-separated, comma-separated data and wiki table formats"
onclick="var e=config.quickEdit.getField(this);
if (e) e.focus(); var txt=config.quickEdit.getSelection(e);
if (txt.indexOf(',')+txt.indexOf('\t')+txt.indexOf('|')==-3) {
alert('Please select text containing tabs, commas, or TiddlyWiki table syntax.');
return false;
}
var p=Popup.create(this); if (!p) return false; p.className+=' sticky smallform';
var s=createTiddlyElement(p,'select'); s.button=this;
s.options[0]=new Option('select a converter...','');
if (txt.indexOf(',')!=-1) {
s.options[s.length]=new Option('commas -> table','commasToTable');
s.options[s.length]=new Option('commas -> tabs','commasToTabs');
}
if (txt.indexOf('\t')!=-1) {
s.options[s.length]=new Option('tabs -> table','tabsToTable');
s.options[s.length]=new Option('tabs -> commas','tabsToCommas');
}
if (txt.indexOf('|')!=-1) {
s.options[s.length]=new Option('table -> tabs','tableToTabs');
s.options[s.length]=new Option('table -> commas','tableToCommas');
}
s.size=s.length;
s.onclick=function(){ if (!this.value.length) return;
var e=config.quickEdit.getField(this.button); if (!e) return false;
e.focus(); var txt=config.quickEdit.getSelection(e);
switch(this.value) {
case 'tabsToTable':
txt=txt.replace(/\t/g,'|').replace(/^|$/g,'|');
txt=txt.replace(/\n/g,'|\n|').replace(/^\|$/g,'');
break;
case 'tableToTabs':
txt=txt.replace(/\t/g,' ').replace(/\|/g,'\t');
txt=txt.replace(/^\t/g,'').replace(/\t$/g,'');
txt=txt.replace(/\n\t/g,'\n').replace(/\t\n/g,'\n');
break;
case 'commasToTable':
txt=txt.replace(/,/g,'|').replace(/^|$/g,'|');
txt=txt.replace(/\n/g,'|\n|').replace(/^\|$/g,'');
break;
case 'tableToCommas':
txt=txt.replace(/,/g,' ').replace(/\|/g,',');
txt=txt.replace(/^,/g,'').replace(/,$/g,'');
txt=txt.replace(/\n,/g,'\n').replace(/,\n/g,'\n');
break;
case 'tabsToCommas':
txt=txt.replace(/\t/g,',');
break;
case 'commasToTabs':
txt=txt.replace(/,/g,'\t');
break;
}
replaceSelection(e,txt);
Popup.remove(); return false;
};
s.onkeyup=function(ev){
var k=(ev||window.event).keyCode; if (k==13) this.onclick(); if (k==27) Popup.remove();
};
Popup.show(p,false);
s.focus();
return config.quickEdit.processed(event);"
>tab,|</a></html>/%
%/ /% (SPACER)
**** INSERT LINK ****
%/<html><hide linebreaks><a href="javascript:;" class="tiddlyLink" tabindex="-1"
title="add a link to a tiddler or external file - [[link text|TiddlerName]]"
onclick="var p=Popup.create(this); if (!p) return false; p.className+=' sticky smallform';
var s2=createTiddlyElement(p,'select'); s2.title='filter by tag';
s2.options[0]=new Option('filter by tag...','');
s2.options[s2.length]=new Option('[all tiddlers]','');
var tags=store.getTags();
for (var t=0; t<tags.length; t++) s2.options[s2.length]=new Option(tags[t][0],tags[t][0]);
s2.onchange=function(){
var tag=this.value;
var tids=tag.length?store.getTaggedTiddlers(tag,'title'):store.getTiddlers('title');
var list=this.nextSibling.nextSibling;
while (list.length) list.options[0]=null;
var prompt='select a tiddler or file...';
if (tag.length) prompt='select a tagged tiddler ['+tids.length+' matches]...';
list.options[0]=new Option(prompt,'');
if (!tag.length) list.options[list.length]=new Option('[browse for file...]','_file');
for (var t=0; t<tids.length; t++) {
list.options[list.length]=new Option(tids[t].title,tids[t].title);
list.options[list.length-1].title=tids[t].getSubtitle();
}
list.size=Math.min(list.length,10);
list.selectedIndex=0; list.focus();
this.style.width=list.offsetWidth+'px';
if (!tag.length) this.selectedIndex=0;
};
createTiddlyElement(p,'br');
var s=createTiddlyElement(p,'select'); s.button=this;
s.title='select a tiddler or file';
s.options[0]=new Option('select a tiddler or file...','');
s.options[s.length]=new Option('[browse for file...]','_file');
var tids=store.getTiddlers('title');
for (var t=0; t<tids.length; t++) {
s.options[s.length]=new Option(tids[t].title,tids[t].title);
s.options[s.length-1].title=tids[t].getSubtitle();
}
s.size=Math.min(s.length,10);
s.onclick=function(){ if (!this.value.length) return false;
var title=this.value; var txt=title;
if (title=='_file') {
title=config.quickEdit.promptForFilename('Select a file',
getLocalPath(document.location.href),'');
if (!title) { this.selectedIndex=0; this.focus(); return false; }
var txt=title.substr(title.lastIndexOf('/')+1);
}
var txt=prompt('Enter the text to display for this link',txt);
if (!txt) { this.selectedIndex=0; this.focus(); return false; }
config.quickEdit.setSelection(this.button,'[['+txt+'|'+title+']]');
Popup.remove(); return false;
};
s.onkeyup=function(ev){
var k=(ev||window.event).keyCode; if (k==13) this.onclick(); if (k==27) Popup.remove();
};
Popup.show(p,false);
s2.style.width=s.offsetWidth+'px';
s.focus();
return config.quickEdit.processed(event);"
>link</a></html>/%
**** INSERT TIDDLER OR FILE ****
%/<html><hide linebreaks><a href="javascript:;" class="tiddlyLink" tabindex="-1"
title="insert content from another tiddler or external file"
onclick="var p=Popup.create(this); if (!p) return false; p.className+=' sticky smallform';
var s2=createTiddlyElement(p,'select'); s2.title='filter by tag';
s2.options[0]=new Option('filter by tag...','');
s2.options[s2.length]=new Option('[all tiddlers]','');
var tags=store.getTags();
for (var t=0; t<tags.length; t++) s2.options[s2.length]=new Option(tags[t][0],tags[t][0]);
s2.onchange=function(){
var tag=this.value;
var tids=tag.length?store.getTaggedTiddlers(tag,'title'):store.getTiddlers('title');
var list=this.nextSibling.nextSibling;
while (list.length) list.options[0]=null;
var prompt='select a tiddler or file...';
if (tag.length) prompt='select a tagged tiddler ['+tids.length+' matches]...';
list.options[0]=new Option(prompt,'');
if (!tag.length) list.options[list.length]=new Option('[browse for file...]','_file');
for (var t=0; t<tids.length; t++) {
list.options[list.length]=new Option(tids[t].title,tids[t].title);
list.options[list.length-1].title=tids[t].getSubtitle();
}
list.size=Math.min(list.length,10);
list.selectedIndex=0; list.focus();
this.style.width=list.offsetWidth+'px';
if (!tag.length) this.selectedIndex=0;
};
createTiddlyElement(p,'br');
var s=createTiddlyElement(p,'select'); s.button=this;
s.title='select a tiddler or file';
s.options[0]=new Option('select a tiddler or file...','');
s.options[s.length]=new Option('[browse for file...]','_file');
var tids=store.getTiddlers('title');
for (var t=0; t<tids.length; t++) {
s.options[s.length]=new Option(tids[t].title,tids[t].title);
s.options[s.length-1].title=tids[t].getSubtitle();
}
s.size=Math.min(s.length,10);
s.onclick=function(){ if (!this.value.length) return false;
if (this.value=='_file') {
var fn=config.quickEdit.promptForFilename(
'Enter/select a text file',getLocalPath(document.location.href),'');
if (!fn) return false; /* cancelled by user */
var txt=loadFile(getLocalPath(fn));
if (!txt) { alert('Error: unable to read contents from \0027'+fn+'\0027'); return; }
}
else var txt=store.getTiddlerText(this.value);
if (!txt) {
displayMessage(this.value+' not found');
this.selectedIndex=0; this.focus();
return false;
}
config.quickEdit.setSelection(this.button,txt);
Popup.remove(); return false;
};
s.onkeyup=function(ev){
var k=(ev||window.event).keyCode; if (k==13) this.onclick(); if (k==27) Popup.remove();
};
Popup.show(p,false);
s2.style.width=s.offsetWidth+'px';
s.focus();
return config.quickEdit.processed(event);"
>set</a></html>/%
**** INSERT MACRO ****
You can add guideText to your own plugin-defined macros by using the following javascript syntax: config.macros.macroName.guideText="guide text goes here";
%/<<tiddler {{
/* SET MACRO GUIDE TEXT (for built-in core macros) (11/17 - TBD - incomplete list) */
config.macros.edit.guideText="fieldname #rows";
config.macros.view.guideText="fieldname (link,wikified,date) format";
config.macros.slider.guideText="cookie TiddlerName label tooltip";
config.macros.option.guideText="(txtCookieName,chkCookieName)";
config.macros.tiddler.guideText="TiddlerName with: params...";
""; /* must return blank to suppress output */ }}>>/%
%/<html><hide linebreaks><a href="javascript:;" class="tiddlyLink" tabindex="-1"
title="add a macro - \<\<macroName ...\>\>"
onclick="var p=Popup.create(this); if (!p) return false; p.className+=' sticky smallform';
var s=createTiddlyElement(p,'select'); s.button=this;
s.options[0]=new Option('select a macro...','');
var macros=[]; for (var m in config.macros) if (config.macros[m].handler) macros.push(m); macros.sort();
for (var i=0; i<macros.length; i++) { var m=macros[i];
var help=config.macros[m].guideText; if (!help) help=''; else help=' '+help;
s.options[s.length]=new Option(m,m+help);
s.options[s.length-1].title='\<\<'+m+help+'\>\>';
}
s.size=Math.min(s.length,15);
s.onclick=function(){ if (!this.value.length) return;
config.quickEdit.setSelection(this.button,'\<\<'+this.value+'\>\>');
Popup.remove(); return false;
};
s.onkeyup=function(ev){
var k=(ev||window.event).keyCode; if (k==13) this.onclick(); if (k==27) Popup.remove();
};
Popup.show(p,false);
s.focus();
return config.quickEdit.processed(event);"
>mac</a></html>/%
**** INSERT IMAGE ****
%/<html><hide linebreaks><a href="javascript:;" class="tiddlyLink" tabindex="-1"
title="embed an image (jpg/gif/png) - [img[tooltip|URL]] or [img[tooltip|path/to/file.ext]]"
onclick="var fn=config.quickEdit.promptForFilename(
'Enter/select an image file',getLocalPath(document.location.href),'');
if (!fn) return false; /* cancelled by user */
var h=document.location.href; var p=decodeURIComponent(h.substr(0,h.lastIndexOf('/')+1));
if (fn.startsWith(p)) fn=fn.substr(p.length); /* use RELATIVE path/filename.ext */
var tip=prompt('Enter a tooltip for this image',''); if (!tip) tip=''; else tip+='|';
return config.quickEdit.setSelection(this,'[img['+tip+fn+']]');"
>img</a></html>
/***
|Name|EditSectionPlugin ''packed''|
|Source|http://www.TiddlyTools.com/#EditSectionPlugin|
|Version|1.0.1|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|Description|invoke popup 'section editor' for specified section of a tiddler|
***/
//{{{
version.extensions.EditSectionPlugin={major:1,minor:0,revision:1,date:new Date(2009,9,7)};config.shadowTiddlers.EditSectionPluginPanel=store.getTiddlerText("EditSectionPlugin##html");config.macros.editSection={label:"edit section...",tip:"edit %0",handler:function(f,b,d,g,c,i){var j=story.findContainingTiddler(f);var e=d[0];var h=d[1]||this.label.format([e]);var k=d[2]||this.tip.format([e]);var a=createTiddlyButton(f,h,k,this.click);a.setAttribute("tid",e)},click:function(b){var a=story.findContainingTiddler(this);var d=this.getAttribute("tid").split("##");var e=d[1]?d[0]:null;var c=d[1]||d[0];if(!e&&a){e=a.getAttribute("tiddler")}if(!e||!c){displayMessage("invalid section reference: "+this.getAttribute("tid"));return false}return config.macros.editSection.popup(this,b,e,c)},popup:function(a,b,g,e){var d=Popup.create(a);if(!d){return false}d.className+=" smallform editSectionPopup sticky";d.innerHTML=store.getTiddlerText("EditSectionPluginPanel");var c=d.getElementsByTagName("form")[0];c.title.value=g;c.section.value=e;c.newsection.value=g+"##"+e;c.content.value=store.getTiddlerText(g+"##"+e,"");if(version.extensions.TextAreaPlugin){new window.TextAreaResizer(c.content)}Popup.show();b.cancelBubble=true;if(b.stopPropagation){b.stopPropagation()}return false},save:function(l,a){var e=l.form;var b=e.newsection.value.split("##");var k=b[1]?b[0]:null;var m=b[1]||b[0];var d=Popup.stack[Popup.stack.length-1].root;if(!k){k=story.findContainingTiddler(d).getAttribute("tiddler")}if(!k||!m){displayMessage("invalid section reference: "+e.newsection.value);e.newsection.focus();e.newsection.select();return false}var o=store.getTiddler(k);if(!o){if(!confirm("The tiddler: '"+k+"' does not exist. Press OK to create it.")){e.newsection.focus();e.newsection.select();return false}o=new Tiddler();o.title=k;o.text="!"+m+"\n"}var c=e.section.value;var g=store.getTiddlerText(k+"##"+c,"").escapeRegExp();var i=new RegExp("(.*!{1,6})"+c+"\\n"+g+"((?:\\n!{1,6}|$).*)");var j="$1"+m+"\n"+e.content.value+"$2";var n=o&&config.options.chkForceMinorUpdate?o.modifier:config.options.txtUserName;var h=o&&config.options.chkForceMinorUpdate?o.modified:new Date();store.saveTiddler(k,k,o.text.replace(i,j),n,h,o.tags,o.fields);story.refreshTiddler(k,null,true);Popup.remove();return false}};
//}}}
//{{{
config.shadowTiddlers.EditSectionPluginPanel=store.getTiddlerText('EditSectionPlugin##html');
//}}}
/***
//{{{
!html
<!--{{{-->
<form style="white-space:nowrap">
<input type="hidden" name="title" value="">
<input type="hidden" name="section" value="">
<input type="text" name="newsection" value="" style="width:68%"><!--
--><input type=button value="save" style="width:15%"
onclick="return config.macros.editSection.save(this,event)"><!--
--><input type=button value="cancel" style="width:15%"
onclick="Popup.remove(); return false;">
<div class="editor"><textarea name="content" rows="15" cols="90" style="border:0"
onfocus="this.select()"></textarea></div>
</form>
!end
//}}}
***/
/***
|Name|FieldsEditorPlugin "packed"|
|Description|//create//, //edit//, //view// and //delete// commands in toolbar <<toolbar fields>>.|
|Version|1.0.2|
|Source|http://visualtw.ouvaton.org/VisualTW.html|
|Author|Pascal Collin|
|License|[[BSD open source license|License]]|
***/
//{{{
config.commands.fields.handlePopup=function(b,f){var g=store.fetchTiddler(f);if(!g){return}var d={};store.forEachField(g,function(k,m,l){d[m]=l},true);var e=[];for(var i in d){var c="<<untiddledCall editFieldDialog "+escape(f)+" "+escape(i)+">>";var j="<<untiddledCall deleteField "+escape(f)+" "+escape(i)+">>";var a="<<untiddledCall renameField "+escape(f)+" "+escape(i)+">>";e.push({field:i,value:d[i],actions:c+a+j})}e.sort(function(l,k){return l.field<k.field?-1:(l.field==k.field?0:+1)});var h="<<untiddledCall createField "+escape(f)+">>";e.push({field:"",value:"",actions:h});if(e.length>0){ListView.create(b,e,this.listViewTemplate)}else{createTiddlyElement(b,"div",null,null,this.emptyText)}};config.commands.fields.listViewTemplate={columns:[{name:"Field",field:"field",title:"Field",type:"String"},{name:"Actions",field:"actions",title:"Actions",type:"WikiText"},{name:"Value",field:"value",title:"Value",type:"WikiText"}],rowClasses:[{className:"fieldTableRow",field:"actions"}],buttons:[]};config.macros.untiddledCall={handler:function(a,e,h,d,g){var e=h.shift();if(e){var c=config.macros[e]}var f=h.shift();if(f){var b=store.getTiddler(unescape(f))}if(c){c.handler(a,e,h,d,g,b)}}};config.macros.deleteField={handler:function(a,e,g,d,f,c){if(!readOnly&&g[0]){fieldName=unescape(g[0]);var b=createTiddlyButton(a,"delete","delete "+fieldName,this.onClickDeleteField);b.setAttribute("title",c.title);b.setAttribute("fieldName",fieldName)}},onClickDeleteField:function(){var b=this.getAttribute("title");var c=this.getAttribute("fieldName");var a=store.getTiddler(b);if(a&&c&&confirm("delete field "+c+" from "+b+" tiddler ?")){delete a.fields[c];store.saveTiddler(a.title,a.title,a.text,a.modifier,a.modified,a.tags,a.fields);story.refreshTiddler(b,"ViewTemplate",true)}return false}};config.macros.createField={handler:function(a,e,g,d,f,c){if(!readOnly){var b=createTiddlyButton(a,"create new","create a new field",this.onClickCreateField);b.setAttribute("title",c.title)}},onClickCreateField:function(){var c=this.getAttribute("title");var b=store.getTiddler(c);if(b){var d=prompt("Field name","");if(store.getValue(b,d)){window.alert("This field already exists.")}else{if(d){var a=prompt("Field value","");b.fields[d]=a;store.saveTiddler(b.title,b.title,b.text,b.modifier,b.modified,b.tags,b.fields);story.refreshTiddler(c,"ViewTemplate",true)}}}return false}};config.macros.editFieldDialog={handler:function(a,e,g,d,f,c){if(!readOnly&&g[0]){fieldName=unescape(g[0]);var b=createTiddlyButton(a,"edit","edit this field",this.onClickEditFieldDialog);b.setAttribute("title",c.title);b.setAttribute("fieldName",fieldName)}},onClickEditFieldDialog:function(){var e=this.getAttribute("title");var c=store.getTiddler(e);var f=this.getAttribute("fieldName");if(c&&f){var d=c.fields[f];d=d?d:"";var a=d.match(/\n/mg);a=a?true:false;if(!a||confirm("This field contains more than one line. Only the first line will be kept if you edit it here. Proceed ?")){var b=prompt("Field value",d);c.fields[f]=b;store.saveTiddler(c.title,c.title,c.text,c.modifier,c.modified,c.tags,c.fields);story.refreshTiddler(e,"ViewTemplate",true)}}return false}};config.macros.renameField={handler:function(a,e,g,d,f,c){if(!readOnly&&g[0]){fieldName=unescape(g[0]);var b=createTiddlyButton(a,"rename","rename "+fieldName,this.onClickRenameField);b.setAttribute("title",c.title);b.setAttribute("fieldName",fieldName)}},onClickRenameField:function(){var c=this.getAttribute("title");var d=this.getAttribute("fieldName");var b=store.getTiddler(c);if(b&&d){var a=prompt("Rename "+d+" as ?",d);if(a){b.fields[a]=b.fields[d];delete b.fields[d];store.saveTiddler(b.title,b.title,b.text,b.modifier,b.modified,b.tags,b.fields);story.refreshTiddler(c,"ViewTemplate",true)}}return false}};config.shadowTiddlers.StyleSheetFieldsEditor="/*{{{*/\n";config.shadowTiddlers.StyleSheetFieldsEditor+=".fieldTableRow td {padding : 1px 3px}\n";config.shadowTiddlers.StyleSheetFieldsEditor+=".fieldTableRow .button {border:0; padding : 0 0.2em}\n";config.shadowTiddlers.StyleSheetFieldsEditor+="/*}}}*/";store.addNotification("StyleSheetFieldsEditor",refreshStyles);
//}}}
|Name|Groundless|
|Author|JonnyLeRoy, Wolfgang|
|Description|depending on tiddlyDesktopBundle plugins|
|Source|http://aid.tiddlyspot.com|
|PageTemplate|##PageTemplate|
|ViewTemplate|##ViewTemplate|
|EditTemplate|##EditTemplate|
|StyleSheet|##StyleSheet|
!PageTemplate
<!--{{{-->
<div id='header' class='header' macro='gradient vert [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='Groundless##SiteTitle'></span>
<span class='siteSubtitle' refresh='content' tiddler='Groundless##SiteSubtitle'></span>
</div>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='Groundless##SiteTitle'></span>
<span class='siteSubtitle' refresh='content' tiddler='Groundless##SiteSubtitle'></span>
</div>
</div>
<div id='mainToolbar' refresh='content' tiddler='Groundless##mainToolbar'></div>
<div id='topMenu' class='topMenu' macro='gradient vert [[ColorPalette::PrimaryMid]] [[ColorPalette::PrimaryMid]] [[ColorPalette::PrimaryLight]]'>
<span id='topMenu' refresh='content' tiddler='Groundless##TopMenu'></span>
</div>
<div id='outer'>
<div id='mainMenu' class='mainMenu' refresh='content' force='true' tiddler='Groundless##MainMenu'></div>
</div>
<div id='sidebar'>
<div id='sidebarOptions' refresh='content' tiddler='Groundless##SideBarOptions'></div>
</div>
<div id='messageArea' ondblclick='clearMessage();return false;'></div>
<div id='displayArea'>
<div id='tiddlerDisplay'></div>
</div>
<div style="position:fixed;z-index:1001;bottom:.3em;right:.3em;cursor:pointer;font-size:9pt;">
<a href="javascript:window.scrollTo(0,0)" title="scroll to top of page">▲</a>
</div>
<!--}}}-->
!ViewTemplate
<!--{{{-->
<div class='windowBar' macro='gradient horiz [[ColorPalette::PrimaryMid]] [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryPale]]'>
<span class='windowToolbar' macro='toolbar Switch##Refresh Switch##Fit collapseTiddler closeOthers jump -closeTiddler'></span>
<span class='title' macro='view title'></span>
</div>
<div class='collapsible'>
<div class='tagClear'></div>
<div class='scrollable'>
<div class='viewer' macro='view text wikified'></div>
<span macro='tiddler Switch##TableHighlight'></span>
<div class='subtitle'>
<span macro='view modifier link'></span>,
<span macro='view modified date [[DD mmm YY]]'></span>
(created: <span macro='view created date [[DD mmm YY]]'></span>)
</div>
<div class='tagging' macro='tagging'></div>
<div class='tagClear'></div>
</div>
<div macro='sizer' class='sizer'>
<div class='toolbar' style='float:left' macro='toolbar [[Groundless##ViewToolbar]]'>
</div>
</div>
<!--}}}-->
!ViewToolbar
+editTiddler deleteTiddler fields Switch##Tagger > permalink syncing references Switch##Embedded Switch##Print Switch##newHere <
!EditTemplate
<!--{{{-->
<div macro='gradient horiz [[ColorPalette::SecondaryMid]] [[ColorPalette::SecondaryLight]] [[ColorPalette::SecondaryPale]]' class='windowBar'>
<span class='windowToolbar' macro='toolbar Switch##ResizeBox collapseTiddler closeOthers jump closeTiddler'></span>
<span class='title' macro='view title'></span></div>
<div class='collapsible'>
<div class='toolbar' macro='toolbar [[Groundless##EditToolbar]]'></div>
<div class='tagClear'></div>
<div class='editor' macro='edit title'></div>
<span macro='tiddler EditBar'></span>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div>
<div class='editorFooter'>
<span class='hidden' macro='deliciousTagging'></span></div>
<div class='editor' macro='edit alias'></div>
<div class='editorFooter'><span macro='message abegoTiddlerAlias.lingo.aliasPrompt'></span></div>
<div macro='sizer' class='sizer'></div>
</div>
<!--}}}-->
!EditToolbar
+saveTiddler -cancelTiddler backup deleteTiddler toggleEditBar Switch##Tagging
!StyleSheet
[[StyleSheet]]
[[Groundless##tiddlyDesktopStyle]]
[[Groundless##OverflowStyle]]
[[Groundless##CustomDefinitions]]
[[Groundless##MenuStyles]]
[[Groundless##MptwStyle]]
[[Groundless##StylesheetShortcuts]]
!tiddlyDesktopStyle
/*{{{*/
/* by JonnyLeRoy http://www.digitaldimsum.co.uk/tiddlywiki/ */
BODY{position:static;background-image:[[ColorPalette::BackgroundImage]]}
.collapsible{margin:4px}
.scrollable{margin:4px;overflow:auto}
.fit{overflow:visible}
.windowBar{color:[[ColorPalette::Background]];background:[[ColorPalette::PrimaryMid]]; cursor:pointer;padding:2px 2px 2px 4px}
.windowBar .title{color:[[ColorPalette::TertiaryLight]];font-size:1em;cursor:move}
.selected .windowBar .title{color:[[ColorPalette::Background]]}
.tiddler{position:relative;z-index:700;width:620px;border:solid 1px;border-color: [[ColorPalette::TertiaryMid]];background:#f8f8f8;padding:0px}
.tiddler .selected{background:[[ColorPalette::Background]]}
.viewer p{margin:0}
.tagged{float:left !important}
.tagged li{display:inline}
.viewer{background:transparent}
.windowToolbar{text-align:right;float:right}
.collapsible .toolbar{text-align:right;margin-top:4px;border:0}
.sizer{text-align:right;cursor:move;background:[[ColorPalette::TertiaryLight]]}
.sizer .toolbar a{border:0}
.sizer .resizer{color:[[ColorPalette::Background]];background:#aaa;padding:0px 2px 0px 2px}
.tiddler .windowBar .button{color:[[ColorPalette::PrimaryMid]];background:[[ColorPalette::Background]];margin-right:2px;padding:0em 0.4em;border:solid 1px [[ColorPalette::TertiaryLight]]}
.tiddler .windowBar .button:hover{background:[[ColorPalette::PrimaryPale]];border-color:[[ColorPalette::PrimaryMid]]}
.subtitle{font-size:.9em;text-align:right;float:right;padding-top:1.2em}
/*}}}*/
!OverflowStyle
/*{{{*/
/* by FND http://cleanlayout.tiddlyspot.com, improvement by Morris Gray */
#outer{margin:auto}
#mainMenu{position:static;float:left;width:auto;padding:1.5em .5em .5em .5em;font-size:1.1em;line-height:1.4em;text-align:left}
#sidebar{position:static;float:right;margin-right:3px;width:11em;font-size:1em}
#displayArea{overflow:hidden;margin:1em 1em 0}
#displayArea{display:inline-block}
#displayArea{display:block}
#mainMenu{max-width:24em}
#mainMenu{max-width:640px}
// * html #mainMenu{width: expression(this.clientWidth > 640 ? 640 : auto)} IE6
/*}}}*/
!CustomDefinitions
/*{{{*/
.headerShadow,.headerForeground{padding:.3em .3em .2em 1em}
.siteTitle{font-size:1.5em}
.siteSubtitle{font-size:1.1em}
.clear{clear:both}
.cola{float:left;margin-left:10%;width:40%}
.colb{float:left;margin-left:5%; /* width:45% */}
.tagging li{display:inline}
.tagging a{margin-right:1em;line-height:180%}
.tagging{background:transparent !important;float:right !important;border:0 !important}
.viewer li{padding-top:0.3em;padding-bottom:0.3em}
.viewer tr.evenRow{background-color:[[ColorPalette::SecondaryPale]]}
.nobullets li{list-style-type:none;margin-left:-2em}
.spacer{line-height:160%}
#backstageArea,#backstageArea a{background:[[ColorPalette::PrimaryLight]]}
#backstageCloak{z-index:49}
#backstagePanel{margin:0 .5em 0 .5em}
.backstagePanelFooter{display:none}
#messageArea{background:#000;border:0;bottom:0;left:0;margin:0;opacity:.5;padding:0;top:auto;width:100%}
#messageArea *{color:#FFF}
#messageArea div{padding:10px}
* html #messageArea{filter: alpha(opacity=50)}
/*}}}*/
!MenuStyles
/*{{{*/
#mainMenu{margin-top:-1.5em;background:transparent;display:none}
#topMenu .popup .tabContents{background:transparent;border-bottom:0px solid #ffc;border-left:0px solid #ffc;border-right:0px solid #ffc;border-top:solid 1px #ffc}
#topMenu .popup .tabContents,#topMenu {overflow:auto}
#topMenu .popup .tabSelected{background:transparent;color:#000;font-size:1.0em;font-weight:bold;padding:1px 2px}
#topMenu .popup .tabUnselected{background:transparent;border:0px;color:#cdd;font-size:1.0em;font-weight:bold;padding:1px 2px}
#topMenu .popup a:hover.tabUnselected{background:transparent;border:0px;color:#f00;font-size:1.0em;font-weight:bold;padding:1px 2px}
/* TeamTasks tabs by PhilHawksworth http://www.hawksworx.com/playground/TeamTasks */
.wrappingClass .txtSlideTab{}
.wrappingClass .txtSlideTab div.tabset{background-color:[[ColorPalette::PrimaryLight]];color:[[ColorPalette::PrimaryPale]];padding:0;float:left;border-right:solid 1px [[ColorPalette::PrimaryMid]];margin-left:-.4em}
.wrappingClass .txtSlideTab div.tabset a.tab{display:block;padding:.2em .5em;text-align:right;background-color:[[ColorPalette::PrimaryLight]];border-bottom:solid 1px [[ColorPalette::PrimaryMid]]}
.wrappingClass .txtSlideTab div.tabset a.tabSelected{background-color:[[ColorPalette::PrimaryMid]];border-top:solid 0px #aaa;color:#fff}
.wrappingClass .txtSlideTab div.tabset a.tab:hover{background-color:[[ColorPalette::PrimaryMid]]}
.wrappingClass .tabContents{background-color:[[ColorPalette::PrimaryPale]];overflow:auto;border:solid 1px [[ColorPalette::PrimaryPale]];padding:0;z-index:-1000}
.wrappingClass .txtSlideTab ul{list-style:none;margin:0;padding:5px}
.wrappingClass .txtSlideTab ul li{padding:0 5px}
.wrappingClass .txtSlideTab ul li a{font-weight:normal;line-height:1.2em;color:[[ColorPalette::PrimaryDark]]}
.wrappingClass .txtSlideTab ul li.listTitle{font-size:1em;color:[[ColorPalette::TertiaryMid]]}
.wrappingClass .txtSlideTab ul li.listLink {margin:0}
.popup{max-height:40em;overflow:auto}
.popup{-moz-border-radius-bottomleft:5px;-moz-border-radius-bottomright:5px;-moz-border-radius-topright:5px;background:#ffe;border:1px solid #000;color:#000;white-space:nowrap;padding:0.2em;z-index:1000}
.popup a,.popup .button,.popup .tiddlyLinkExisting,.popup .tiddlyLinkNonExisting{font-style:normal;font-weight:normal}
.popup hr{background:#ddd;border:0;color:#000}
.popup li.disabled{color:#999}
.popup li a,.popup li a:visited{color:#300;padding:1px}
.popup li a:hover{background:#006;color: #fff !important}
#popup tr.fieldTableRow td {padding:1px 3px 1px 3px}
#mainToolbar{padding:.25em .4em 0 0;position:absolute;right:0;top:0;z-index:10}
#mainToolbar a{padding:0 0.2px}
#mainToolbar .button, #mainToolbar .tiddlyLink, #mainToolbar a{margin-left:.3em;margin-right:.3em;padding-left:2px;padding-right:2px;color:[[ColorPalette::PrimaryPale]];border:0px}
#mainToolbar .button:hover,mainToolbar .tiddlyLink:hover{background:[[ColorPalette::PrimaryPale]];color:[[ColorPalette::PrimaryDark]];border:0px}
/*}}}*/
!MptwStyle
/*{{{*/
/* by SimonBaird http://mptw.tiddlyspot.com */
.headerForeground{color:[[ColorPalette::PrimaryPale]]}
.headerForeground .siteSubtitle{color:[[ColorPalette::PrimaryPale]]}
.headerForeground,.headerShadow{padding:1em 1em 0}
.headerForeground,.headerShadow{font-family:'Trebuchet MS' sans-serif;font-weight:bold}
.headerShadow{left:1px;top:1px}
.headerShadow,.headerShadow a,.headerShadow .siteSubtitle{color:[[ColorPalette::PrimaryMid]]}
.selected .toolbar{visibility:visible}
.toolbar{visibility:hidden}
#sidebar .button{border:none}
#sidebarOptions .sliderPanel{border:solid 1px [[ColorPalette::PrimaryLight]]}
#sidebarOptions .sliderPanel br,.popup li .tagger a{display:inline}
#subtitle .button{style:none}
#topMenu{padding:2px}
#topMenu br,#sidebarOptions br,#mainToolbar br{display:none}
#topMenu .button,#topMenu .tiddlyLink,#topMenu a{color: [[ColorPalette::PrimaryPale]];margin-left:0.5em;margin-right:0.5em;padding-left:3px;padding-right:3px}
#topMenu .button:hover,#topMenu .tiddlyLink:hover{background:[[ColorPalette::PrimaryPale]];border:1px solid [[ColorPalette::SecondaryMid]];color:[[ColorPalette::PrimaryDark]]}
/*}}}*/
!StylesheetShortcuts
/*{{{*/
/* by EricShulman http://www.TiddlyTools.com */
.right{display:block;text-align:right}
.center{display:block;text-align:center}
.floatright{float:right}
.floatleft{float:left}
.clear{clear:both}
.space{line-height:160%}
.normal{font-size:9pt;line-height:120%}
.small{font-size:8pt;line-height:120%}
.fine{font-size:7pt;line-height:120%}
.tiny{font-size:6pt;line-height:120%}
.smallform{white-space:nowrap}
.smallform input,.smallform textarea,.smallform button,.smallform checkbox,.smallform radio,.smallform select{font-size:8pt}
.nobullets li{list-style-type:none;margin-left:-2em}
.indent{display:block;margin:0;padding:0;border:0;margin-left:2em}
.wrap{white-space:normal}
.hidden{display:none}
.show{display:inline !important}
.borderless, .borderless table, .borderless td, .borderless tr, .borderless th, .borderless tbody{border:0 !important;margin:0 !important;padding:0 !important}
.outline{display:block;padding:1em;-moz-border-radius:1em;-webkit-border-radius:1em; border:1px solid}
.whitespace{white-space:pre}
#tidIDE, .tidIDE input, .tidIDE textarea, .tidIDE button, .tidIDE checkbox, .tidIDE radio, .tidIDE select{font-family:DejaVu,Verdana;font-size:9pt}
/*}}}*/
/*{{{*/
/* CalendarStyle */
table.calendarWrapper{border-collapse:collapse;border:2px solid #c6dbff}
.calendarWrapper td{border-collapse:collapse;border:1px solid #c6dbff;text-align:center;margin:0;padding:0 0.05em}
table.calendar{border-collapse:collapse;border:0}
.calendar tbody,.calendar th,.calendar td,.calendar tr{border:0;text-align:center;font-size:1em;padding:0 0.1em}
.calendar th{color:#000;background-color:#c6dbff}
#sidebarOptions .calendar td{font-size:0.96em;margin:0;padding:0}
#sidebarTabs .calendar td{padding:0 0.25em}
.calendar .naviBar select{border:0}
.calendar .today a{padding:0;border:1px solid blue}
.calendar .weekend{background-color:#deeeff}
.calendar .hasChanged{font-family:bold;background-color:#fe8;color:darkblue}
.calendar .holiday{font-weight:bold;font-size:1.06em;color:red}
.datePopup{background:#efffff}
.datePopup .isCreated{color:#df6300}
/*}}}*/
!SiteTitle
Groundless Desktop 2.5.3
!SiteSubtitle
all kinds of stuff <<tiddler Switch##ToggleTopMenu>>/%
!mainToolbar
^^
<<restoreLayout>><<rB home>>
<<tiddler Switch##ResizeFonts>>
<<previousTiddler "back" "Show previous tiddler">>
<<closeAll>>
<<permaview>>
<<newJournal label:new>>
<<saveChanges>>
<html><a href="" class="button" title="Restart" onclick="restart();">®</a></html>
^^<<search>><script>place.lastChild.style.width="10em";place.lastChild.style.fontSize="8pt";place.lastChild.style.letterSpacing="0.3ex";</script>
!TopMenu
{{floatright{
<<tiddler Pop##Show with: seen Groundless##PopBreadcrumbs>>
<<tiddler Pop##Show with: tags Groundless##TabTags>>
<<tiddler Pop##Show with: all Groundless##TabAll>>
<<tiddler Pop##Show with: time Groundless##Timeline>>
<<tiddler Pop##Show with: cal Groundless##Calendar>>
<<tiddler Pop##Show with: option Groundless##SideBarOptions>>
<<tiddler Pop##Show with: more Groundless##TabMore>>
<<tiddler Switch##mainToolbar>>
<<tiddler Switch##Sidebar>>
}}}
<<tiddler Switch##mainMenu>>
<<tiddler Switch##Header>>
!MainMenu
{{wrappingClass{<<tabs txtSlideTab
" " "" ""
"seen " "show visited tiddlers" Groundless##ShowBreadcrumbs
"tags " "show all tags" Groundless##TabTags
"all " "show all tiddlers" Groundless##TabAll
"calendar " "show monthly calendar" Groundless##Calendar
"archives " "show timeline" Groundless##Timeline
"options " "show edit options" Groundless##TabOptions
"more " "system tiddlers" Groundless##TabMore
>>}}}
!TabOptions
*<<tiddler Groundless##SideBarOptions>>
!TabAll
<<tabs txtAlphaTab
'# ' 'Tiddlers in \W' Groundless##\W
'A ' 'Tiddlers in a' Groundless##a
'B ' 'Tiddlers in b' Groundless##b
'C ' 'Tiddlers in c' Groundless##c
'D ' 'Tiddlers in d' Groundless##d
'E ' 'Tiddlers in e' Groundless##e
'F ' 'Tiddlers in f' Groundless##f
'G ' 'Tiddlers in g' Groundless##g
'H ' 'Tiddlers in h' Groundless##h
'I ' 'Tiddlers in i' Groundless##i
'J ' 'Tiddlers in j' Groundless##j
'K ' 'Tiddlers in k' Groundless##k
'L ' 'Tiddlers in l' Groundless##l
'M ' 'Tiddlers in m' Groundless##m
'N ' 'Tiddlers in n' Groundless##n
'O ' 'Tiddlers in o' Groundless##o
'P ' 'Tiddlers in p' Groundless##p
'Q ' 'Tiddlers in q' Groundless##q
'R ' 'Tiddlers in r' Groundless##r
'S ' 'Tiddlers in s' Groundless##s
'T ' 'Tiddlers in t' Groundless##t
'U ' 'Tiddlers in u' Groundless##u
'V ' 'Tiddlers in v' Groundless##v
'W ' 'Tiddlers in w' Groundless##w
'X ' 'Tiddlers in x' Groundless##x
'Y ' 'Tiddlers in y' Groundless##y
'Z ' 'Tiddlers in z' Groundless##z
>>/%
!#
<<listPart all \W\d>>
!a
<<listPart all a>>
!b
<<listPart all b>>
!c
<<listPart all c>>
!d
<<listPart all d>>
!e
<<listPart all e>>
!f
<<listPart all f>>
!g
<<listPart all g>>
!h
<<listPart all h>>
!i
<<listPart all i>>
!j
<<listPart all j>>
!k
<<listPart all k>>
!l
<<listPart all l>>
!m
<<listPart all m>>
!n
<<listPart all n>>
!o
<<listPart all o>>
!p
<<listPart all p>>
!q
<<listPart all q>>
!r
<<listPart all r>>
!s
<<listPart all s>>
!t
<<listPart all t>>
!u
<<listPart all u>>
!v
<<listPart all v>>
!w
<<listPart all w>>
!x
<<listPart all x>>
!y
<<listPart all y>>
!z
<<listPart all z>>
!TabTags
<<tabs txtTabbedListtags
'# ' 'Tiddlers in symbols' Groundless##TAGS
'a-b ' 'Tiddlers in a-g' Groundless##TAGSa-b
'c ' 'Tiddlers in c' Groundless##TAGSc
'd-g ' 'Tiddlers in d-g' Groundless##TAGSd-g
'h-o ' 'Tiddlers in h-o' Groundless##TAGSh-o
'p-r ' 'Tiddlers in p-r' Groundless##TAGSp-r
's ' 'Tiddlers in s' Groundless##TAGSs
't ' 'Tiddlers in t' Groundless##TAGSt
'u-z ' 'Tiddlers in u-z' Groundless##TAGSu-z
'all ' 'show all tags' Groundless##TagCloud>>
*{{tiny{<<tiddler Switch##RenameTag>> - <<tiddler Switch##DeleteTagged>>}}}
!TAGS
<<tagListPart \d\W>>
!TAGSa-b
<<tagListPart a-b>>
!TAGSc
<<tagListPart c>>
!TAGSd-g
<<tagListPart d-g>>
!TAGSh-o
<<tagListPart h-o>>
!TAGSp-r
<<tagListPart p-r>>
!TAGSs
<<tagListPart s>>
!TAGSt
<<tagListPart t>>
!TAGSu-z
<<tagListPart u-z>>
!TabMore
<<tabs txtMoreTab
"Shadow" "shadowed tiddlers" TabMoreShadowed
"Macros" "macros and plugins" Groundless##Macros
"Scripts" "inline and html scripts" Groundless##Scripts
"Exclude" "excludeLists" Groundless##Exclude
"Missing" "missing tiddlers" TabMoreMissing
"Orphan" "orphaned tiddlers" TabMoreOrphans
"Authors" "show authors" Switch##Authors
>>
!Exclude
<<list filter [tag[excludeLists]]>>
!Macros
<<list filter [tag[2]]>>
!Scripts
<<list filter [tag[4]]>>
!SideBarOptions
<<closeAll>>
<<collapseAll>><<rB fold>>
<<expandAll>><<rB expand>>
<<autoLayout>>
<<restoreLayout>>
<<saveLayout>>
<<refreshDisplay>>
<<permaview>>
<<newTiddler>>
<<newJournal "DD MMM YYYY" "journal">>
<<saveChanges>>
<<slider chkSliderOptionsPanel Groundless##OptionsPanel "options »" "Change TiddlyWiki advanced options">>
<html><a href='http://aid.tiddlyspot.com/download' class='button'>download</a></html>
<<tiddler Switch##RefreshDisplay>>
[[configuration|Edit]]
!OptionsPanel
user: <<tiddler Groundless##options with: UserName>>
backup folder: <<tiddler Groundless##options with: BackupFolder>>
<<option chkDisableTabsBar>> disable tabs bar
<<option chkShowStartupBreadcrumbs>> crumbs for start
<<option chkBreadcrumbsReverse>> recent crumbs. first
<<option chkStickyPopups>> sticky popups
<<option chkSaveBackups>> save backups
<<option chkAutoSave>> auto save
<<option chkAnimate>> enable animations
<<option chkDisableWikiLinks>> disable wiki links
<<option chkRegExpSearch>> regexp search
<<option chkCaseSensitiveSearch>> case sensitive searc
----
<<tiddler Pop##Right with: More Groundless##Options "show more options">> - also see:
<<tiddler Pop##Right with: "Advanced Options" AdvancedOptions "show advanced options">>
!Options
<<tiddler Switch##StyleSheet>>
<<selectPalette>>
edit rows: <<tiddler Switch##options with: MaxEditRows>>
TidIDE rows: <<tiddler Switch##options with: TidIDEMaxEditRows>>
<<option txtTiddlerLinkTootip>>
^^where: %0=title, %1=username, %2=modification date, %3=size in bytes, %4=description slice^^
!TagCloud
*<<tagCloud excludeLists>>
!Timeline
*<<timeline>>
!Calendar
*<<tCalendar>>
!ShowBreadcrumbs
*<<tiddler Groundless##PopBreadcrumbs>>
!PopBreadcrumbs
<<previousTiddler "back" "Show previous tiddler">>
<<breadcrumbs "<br>" "<br>">>
!
%/
/***
|Name|InlineJavascriptPlugin ''packed''|
|Source|http://www.TiddlyTools.com/#InlineJavascriptPlugin|
|Version|1.9.5|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|Description|Insert Javascript executable code directly into your tiddler content.|
***/
//{{{
version.extensions.InlineJavascriptPlugin={major:1,minor:9,revision:5,date:new Date(2009,4,11)};config.formatters.push({name:"inlineJavascript",match:"\\<script",lookahead:'\\<script(?: src=\\"((?:.|\\n)*?)\\")?(?: label=\\"((?:.|\\n)*?)\\")?(?: title=\\"((?:.|\\n)*?)\\")?(?: key=\\"((?:.|\\n)*?)\\")?( show)?\\>((?:.|\\n)*?)\\<\/script\\>',handler:function(w){var lookaheadRegExp=new RegExp(this.lookahead,"mg");lookaheadRegExp.lastIndex=w.matchStart;var lookaheadMatch=lookaheadRegExp.exec(w.source);if(lookaheadMatch&&lookaheadMatch.index==w.matchStart){var src=lookaheadMatch[1];var label=lookaheadMatch[2];var tip=lookaheadMatch[3];var key=lookaheadMatch[4];var show=lookaheadMatch[5];var code=lookaheadMatch[6];if(src){var script=document.createElement("script");script.src=src;document.body.appendChild(script);document.body.removeChild(script)}if(code){if(show){wikify("{{{\n"+lookaheadMatch[0]+"\n}}}\n",w.output)}if(label){var link=createTiddlyElement(w.output,"a",null,"tiddlyLinkExisting",wikifyPlainText(label));var fixup=code.replace(/document.write\s*\(/gi,"place.bufferedHTML+=(");link.code="function _out(place,tiddler){"+fixup+"\n};_out(this,this.tiddler);";link.tiddler=w.tiddler;link.onclick=function(){this.bufferedHTML="";try{var r=eval(this.code);if(this.bufferedHTML.length||(typeof(r)==="string")&&r.length){var s=this.parentNode.insertBefore(document.createElement("span"),this.nextSibling)}if(this.bufferedHTML.length){s.innerHTML=this.bufferedHTML}if((typeof(r)==="string")&&r.length){wikify(r,s,null,this.tiddler);return false}else{return r!==undefined?r:false}}catch(e){alert(e.description||e.toString());return false}};link.setAttribute("title",tip||"");var URIcode="javascript:void(eval(decodeURIComponent(%22(function(){try{";URIcode+=encodeURIComponent(encodeURIComponent(code.replace(/\n/g," ")));URIcode+="}catch(e){alert(e.description||e.toString())}})()%22)))";link.setAttribute("href",URIcode);link.style.cursor="pointer";if(key){link.accessKey=key.substr(0,1)}}else{var fixup=code.replace(/document.write\s*\(/gi,"place.innerHTML+=(");var c="function _out(place,tiddler){"+fixup+"\n};_out(w.output,w.tiddler);";try{var out=eval(c)}catch(e){out=e.description?e.description:e.toString()}if(out&&out.length){wikify(out,w.output,w.highlightRegExp,w.tiddler)}}}w.nextMatch=lookaheadMatch.index+lookaheadMatch[0].length}}});if(typeof(wikifyPlainText)=="undefined"){window.wikifyPlainText=function(d,a,b){if(a>0){d=d.substr(0,a)}var c=new Wikifier(d,formatter,null,b);return c.wikifyPlain()}}if(typeof($)=="undefined"){function $(a){return document.getElementById(a.replace(/^#/,""))}};
//}}}
{{wrappingClass{<<tiddler Groundless##MainMenu>>}}}<html><style type="text/css">
#tiddlerMainMenu,#tiddlerMainMenu .sizer,#tiddlerMainMenu .resizer,#tiddlerMainMenu .windowBar{background:transparent;border:0}
{background:transparent}
#tiddlerMainMenu .collapsible,#tiddlerMainMenu .scrollable{margin:-1em 0 0 0}
#tiddlerMainMenu .windowBar .title{background:transparent;cursor:pointer;padding:0}
</style>
</html>
<!--{{{-->
<div class='windowBar'>
<span class='title' macro='view title'></span>
</div>
<div class='collapsible'>
<div class='tagClear'></div>
<div class='scrollable'>
<div class='viewer' macro='view text wikified'></div>
</div>
<div class='tagClear'></div>
<div macro='sizer' class='sizer'>
<div class='toolbar' style='float:left' macro='toolbar Switch##Refresh Switch##Fit collapseTiddler closeOthers jump -closeTiddler'>
</div>
</div>
</div>
<!--}}}-->
/%
|Name|MicroBrowser|
|Source|http://www.TiddlyTools.com/#MicroBrowser|
|Version|1.0.0|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|Type|html|
|Description|simplified browser-in-browser with bookmarks|
Usage: <<tiddler MicroBrowser with: TiddlerName>>
where TiddlerName (optional) contains an HR-separated
list of bookmarks (1st line=list text, 2nd line=URL)
Note: for full browser-in-browser features, including support
for embedded video and flash players, see [[MiniBrowserPlugin]]
%/<html><style>#tiddlerMicroBrowser .tagged {display:none;}</style>
<form style='display:block;margin:0;padding:0;white-space:nowrap;' onsubmit='return false;'><!--
--><input type='button' value='<' title='back' style='width:3%'
onclick='try{this.form.nextSibling.history.go(-1)}catch(e){window.history.go(-1)}'><!--
--><input type='button' value='>' title='forward' style='width:3%'
onclick='try{this.form.nextSibling.history.go(+1)}catch(e){window.history.go(+1)}'><!--
--><input type='button' value='+' title='refresh'style='width:3%'
onclick='try{this.form.nextSibling.location.reload()}catch(e){;}'><!--
--><input type='button' value='x' title='stop'style='width:3%'
onclick='window.stop()'><!--
--><select name='bookmarks' size='1' style='width:25%'
onchange='this.form.url.value=this.value; this.form.go.click();'><!--
--><option value=''>bookmarks...</option><!--
--></select><!--
--><input type='button' value='edit' title='edit the bookmarks list' style='width:6%'
onclick='story.displayTiddler(null,this.form.bookmarks.getAttribute("tiddler"),2)'><!--
--><input type='text' name='url' size='60' value='' style='width:38%'
onfocus='this.select()'><!--
--><input type='button' value='go' name='go' title='view URL' style='width:6%'
onclick="var f=this.form; var i=this.form.nextSibling;
var u=f.url.value.trim(); if (!u.length) u=f.url.value=f.bookmarks.value.trim();
if (u.length) { f.done.disabled=false; i.style.display='block'; i.src=u; }
else { f.done.disabled=true; i.style.display='none'; i.src=''; }
"><!--
--><input type='button' value='open' title='open a separate tab/window' style='width:6%'
onclick='if (this.form.url.value.length) window.open(this.form.url.value)'><!--
--><input type='button' value='done' name='done' disabled title='disconnect from URL' style='width:6%'
onclick="this.form.done.disabled=true; var i=this.form.nextSibling; i.style.display='none'; i.src='';"><!--
--></div></form><iframe src='' width='100%' height='480'
style='display:none;background:#fff;border:1px solid;'></iframe>
<hide linebreaks></html><<tiddler {{
var list=place.lastChild.getElementsByTagName('form')[0].bookmarks;
while (list.options[1]) list.options[1]=null;
var tid='$1'; if (tid=='$'+'1') tid='MiniBrowserList';
list.setAttribute('tiddler',tid);
var parts=store.getTiddlerText(tid,'').split('\n----\n');
for (var p=0; p<parts.length; p++) {
var lines=parts[p].split('\n');
var label=lines.shift()||''; // 1st line=display text
var value=lines.shift()||''; // 2nd line=item value
var indent=value&&value.length?'\xa0\xa0':'';
list.options[list.length]=new Option(indent+label,value);
}
''}}>>
Help:
----
Question & Answer Google Group
http://groups.google.pt/group/tiddlywiki
----
Tid-Help - a primer, by JimVentola
http://tidhelp.tiddlyspot.com
----
TiddlerToddler - an absolute beginners guide, by JulieStarr
http://tiddlertoddler.tiddlyspot.com/
----
tddlyspot - frequently asked questions
http://faq.tiddlyspot.com/
----
TiddlyWiki FAQ - a collection about frequently asked questions, by SimonBaird
http://twfaq.tiddlyspot.com
----
TiddlyWiki Tutorial - the basics by JeremyHarper
http://www.blogjones.com/TiddlyWikiTutorial.html
----
TiddlyWiki Tips - by JimBarr
http://tiddlywikitips.com/
----
TiddlyWiki for the Rest of Us, by DaveGifford
http://www.giffmex.org/twfortherestofus.html
----
TiddlyWiki Help - a comprehensive guide, by MorrisGray
http://twhelp.tiddlyspot.com/
----
TiddlyWiki.org MediaWiki
http://tiddlywiki.org/wiki/Main_Page
----
TiddlyWiki Guides
http://tiddlywikiguides.org/
----
Themes:
----
Changing Themes
http://change.tiddlyspot.com
----
MenuFlex
http://menuflex.tiddlyspot.com
----
TiddlyDesktop
http://tiddlyhome.bidix.info/desk
----
/***
|Name|NewDocumentPlugin ''packed''|
|Source|http://www.TiddlyTools.com/#NewDocumentPlugin|
|Version|1.8.0|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|Description|create new TiddlyWiki documents and/or HTML snapshots from your existing document, with just one click|
***/
//{{{
eval(function(p,a,c,k,e,r){e=function(c){return(c<62?'':e(parseInt(c/62)))+((c=c%62)<36?c.toString(36):String.fromCharCode(c+29))};if('0'.replace(0,e)==0){while(c--)r[e(c)]=k[c];k=[function(e){return r[e]||e}];e=function(){return'\\w{1,2}'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('version.extensions.R={major:1,minor:8,revision:0,date:M Date(2008,4,20)};G.13.R={1L:"M 7",1C:"1v a M 12 \'starter\' 7",Y:"M.J",V:"all",1e:"save as...",1X:"Save 1p 12 X a different P",15:"1F",1B:"snap",1u:"create a L",1N:"1v a \'L\' of 1G 1p 12 display",1K:"L.J",6:"contentWrapper",1k:"1j 1i a DOM 1g ID S 1G desired content",1d:"Unrecognized 7 1g ID: \'%0\'",H:"ask",1V:"here",W:"1S",1Q:"Z",K:"label:",O:"10:",1o:"1j 1i a filename",E:"includeNew",1E:"Match one or more Q:\\n(space-separated, use [[...]] around Q containing spaces)",filtererrmsg:"Error in tag E \'%0\'",1n:"Document L 1M X %1",1J:"%0 tiddlers 1M X %1",1U:"An error occurred while creating %0"};G.13.R.handler=1h(a,b,c){2 d=U(7.T.1b);2 e=d.C("/");3(e==-1){e=d.C("\\\\")}3(e!=-1){d=d.A(0,e+1)}3(c[0]&&c[0].A(0,5.K.9)==5.K){2 f=c.D().A(5.K.9)}3(c[0]&&c[0].A(0,5.O.9)==5.O){2 z=c.D().A(5.O.9)}2 g=c.D();3(!g){g=5.Y}3(c[0]==5.1B||c[0]==5.15){2 h=(c[0]==5.15);c.D();3(!f){2 f=5.1u}3(!z){2 z=5.1N}2 i=5.1K;2 j=c[0]&&c[0].1W()==5.1Q.1W();3(j){c.D()}2 k=5.6;3(c[0]){2 k=c.D()}}3(c[0]==5.V){3(!f){2 f=5.1e}3(!z){2 z=5.1X}2 i=U(7.T.1b);2 e=i.C("/");3(e==-1){e=i.C("\\\\")}3(e!=-1){i=i.A(e+1)}}3(!z){2 z=5.1C}3(!f){2 f=5.1L}3(!i){2 i=5.Y}2 l=createTiddlyButton(a,f,z,1l);l.19=d;l.P=g;l.1T=i;l.6=k;l.Z=j;l.1R=h;l.E=c.9?c:[5.E]};1c.1l=1h(e){3(!e){2 e=1c.event}2 a=resolveTarget(e);2 b=G.13.R;2 c=b.1J;2 d=b.1U;2 f=0;2 g="";3(a.6){2 h=7.1P(a.6);3(a.6==b.H){6=10(b.1k,b.6);2 h=7.1P(6);3(!h){3(6){1O(b.1d.I([6]))}e.1a=18;3(e.F){e.F()}B(17)}}16{3(a.6==b.1V||a.6==b.W){2 h=story.findContainingTiddler(a);3(h&&a.6==b.W){2 j=h.1m("*");S(2 i=0;i<j.9;i++){3(hasClass(j[i],"1S")){h=j[i];break}}}3(!h){e.1a=18;3(e.F){e.F()}B(17)}}}g+="<J>\\n";3(!a.Z){g+="<1H>\\n";2 k=7.1m("14");S(2 i=0;i<k.9;i++){g+="<14>\\n";g+="/* stylesheet from tiddler:"+k[i].getAttribute("id")+" */\\n";g+=k[i].1A+"\\n\\n";g+="</14>\\n"}g+="</1H>\\n"}g+="<1z>\\n\\n"+h.1A+"\\n\\n</1z>\\n";g+="</J>";c=b.1n}16{2 l=U(7.T.1b);2 m=loadFile(l);3(m==1x){1w(G.1q.cantSaveError);B 1x}m=N(m,"1t-1r");m=N(m,"1s-1r");m=N(m,"1t-1D");m=N(m,"1s-1D");2 n=m.indexOf(1y);2 o=m.C(endSaveArea);3((n==-1)||(o==-1)){1w(G.1q.invalidFileError.I([l]));B}2 p=a.E;3(p[0]==b.H){2 q=10(b.1E,b.E);3(!q){B}p=q.readMacroParams()}2 r=[];2 s=11.getTiddlers("title");S(2 i=0;i<s.9;i++){3(p[0]==b.V||(s[i].Q&&s[i].Q.containsAny(p))){r.push(11.getSaver().externalizeTiddler(11,s[i]))}}g+=m.A(0,n+1y.9);g+=convertUnicodeToUTF8(r.join("\\n"))+"\\n\\t\\t";g+=m.A(o);f=r.9}3(a.1R){2 t=1c.1I("","_1","");t.7.1I();t.7.writeln(g);t.7.close();t.focus();t.1F()}16{2 u=a.P;3(u==b.H){u=promptForFilename(b.1o,a.19,a.1T)}3(!u){B}2 v=u.C("/");3(v==-1){v=u.C("\\\\")}3(v==-1){u=a.19+u}2 w=saveFile(u,g);2 x=w?c.I([f,u]):d.I([u]);2 y=w?"P:///"+u.replace(/\\\\/g,"/"):"";clearMessage();1O(x,y)}e.1a=18;3(e.F){e.F()}B(17)};',[],122,'||var|if||this|snapID|document||length||||||||||||||||||||||||||_0|substr|return|lastIndexOf|shift|filter|stopPropagation|config|askparam|format|html|labelparam|snapshot|new|updateMarkupBlock|promptparam|file|tags|newDocument|for|location|getLocalPath|allparam|viewerparam|to|newdefault|noCSS|prompt|store|TiddlyWiki|macros|style|printparam|else|false|true|path|cancelBubble|href|window|snapIDerrmsg|saveaslabel||element|function|enter|Please|snapIDprompt|onClickNewDocument|getElementsByTagName|snapmsg|fileprompt|current|messages|HEAD|POST|PRE|snaplabel|Create|alert|null|startSaveArea|body|innerHTML|snapparam|newprompt|BODY|filterprompt|print|the|head|open|okmsg|snapdefault|newlabel|written|snapprompt|displayMessage|getElementById|noCSSparam|printmode|viewer|defaultfile|failmsg|hereparam|toLowerCase|saveasprompt'.split('|'),0,{}))
//}}}
//{{{
function promptForFilename(a,b,c){if(window.Components){try{netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");var d=window.Components.interfaces.nsIFilePicker;var f=Components.classes["@mozilla.org/filepicker;1"].createInstance(d);f.init(window,a,d.modeSave);var g=Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);g.initWithPath(b);f.displayDirectory=g;f.defaultExtension="html";f.defaultString=c;f.appendFilters(d.filterAll|d.filterText|d.filterHTML);if(f.show()!=d.returnCancel){var h=f.file.persistentDescriptor}}catch(e){alert("error during local file access: "+e.toString())}}else{try{var s=new ActiveXObject("UserAccounts.CommonDialog");s.Filter="All files|*.*|Text files|*.txt|HTML files|*.htm;*.html|";s.FilterIndex=3;s.InitialDir=b;s.FileName=c;if(s.showOpen()){var h=s.FileName}}catch(e){var h=prompt(a,b+c)}}return h}
//}}}
/%
|Name| Pop|
|Source| http://menuflex.tiddlyspot.com/#Pop - originally: http://www.TiddlyTools.com/#ShowPopup|
|Version| 1.1.0|
|Author| Eric Shulman - modified by Wolfgang|
|License| http://www.TiddlyTools.com/#LegalStatements|
|Type| transcluded html|
|Description| Display tiddler content in a TW popup upon hover. - ShowPopup adapted to open 'on mouse over', to the right and nestled. Important: Don't ask the original author for support to this variant script, before you haven't verified it by installing instead the latest version of ShowPopup.|
usage: <<tiddler ShowPopup with: label TiddlerName tooltip buttonClass width popupClass>>
!Show
<html><a href="javascript:;" class="$4" title="$3" onclick="var p=Popup.create(this); if(!p)return; p.className+='$6'!='$'+'6'?' $6':''; var d=createTiddlyElement(p,'div'); var s=d.style; s.whiteSpace='normal'; s.width='$5'!='$'+'5'?'$5':'auto'; s.padding='2px'; wikify(store.getTiddlerText('$2',''),d); Popup.show(); event.cancelBubble=true; if(event.stopPropagation)event.stopPropagation(); return(false);">$1</a></html>
!Down
<html><a href="javascript:;" class="$4" title="$3" onmouseover="var p=Popup.create(this); if(!p)return; p.className+='$6'!='$'+'6'?' $6':''; var d=createTiddlyElement(p,'div'); var s=d.style; s.whiteSpace='normal'; s.width='$5'!='$'+'5'?'$5':'auto'; s.padding='2px'; wikify(store.getTiddlerText('$2',''),d); Popup.show(); event.cancelBubble=true; if(event.stopPropagation)event.stopPropagation(); return(false);">$1</a></html>
!Right
<html><a href="javascript:;" class="$4" title="$3" onclick="var p=Popup.create(this); if(!p)return; p.className+='$6'!='$'+'6'?' $6':''; var d=createTiddlyElement(p,'div'); var s=d.style; s.whiteSpace='normal'; s.width='$5'!='$'+'5'?'$5':'auto'; s.padding='2px'; wikify(store.getTiddlerText('$2',''),d); Popup.show('top','right'); event.cancelBubble=true; if(event.stopPropagation)event.stopPropagation(); return(false);">$1</a></html>
!One
<html><a href="javascript:;" class="$4" title="$3" onmouseover="var p=Popup.create(this); if(!p)return; p.className+='$6'!='$'+'6'?' $6':''; var d=createTiddlyElement(p,'div'); var s=d.style; s.whiteSpace='normal'; s.width='$5'!='$'+'5'?'$5':'auto'; s.padding='2px'; wikify(store.getTiddlerText('$2',''),d); Popup.show('top','right'); event.cancelBubble=true; if(event.stopPropagation)event.stopPropagation(); return(false);">$1</a></html>
!Two
<html><a href="javascript:;" class="$4" title="$3" onmouseover="var p=Popup.create(this); if(!p)return; p.className+='$6'!='$'+'6'?' $6':''; var d=createTiddlyElement(p,'div'); var s=d.style; s.whiteSpace='normal'; s.width='$5'!='$'+'5'?'$5':'auto'; s.padding='2px'; wikify(store.getTiddlerText('$2',''),d); Popup.show('top','right'); event.cancelBubble=true; if(event.stopPropagation)event.stopPropagation(); return(false);">$1</a></html>
!0
<<tagging $1>>
!1
<<tagging $1>>
[[$1]]
!end
%/
/% A modification of Eric Shulman's http://www.tiddlytools.com/faq.html#FAQ_CreateTiddlersFromForms for various columns and append rows.
%/{{floatright small{<<tiddler CreateHtmlTable>>}}}{{wrappingClass{<<tabs makeTable
Tiddler "create tiddler" "QuickAdd##0"
"with 1" "create 1 columns" QuickAdd##1
2 "create 2 columns" QuickAdd##2
3 "create 3 columns" QuickAdd##3
4 "create 4 columns" QuickAdd##4
5 "create 5 columns" QuickAdd##5
6 "create 6 columns" QuickAdd##6
7 "create 7 columns" QuickAdd##7
"8 columns" "create 8 columns" QuickAdd##8>>}}}/%
!0
<html><hide linebreaks><!-- see HTMLFormattingPlugin --><form action="javascript:;"
onsubmit="
/* validate new title */
var t=this.title.value;
if (!t.length || t==this.title.defaultValue)
{ alert('A title is required'); this.title.focus(); return false; }
if (store.tiddlerExists(t) && !confirm(config.messages.overwriteWarning.format([t])))
{ this.title.focus(); return false; }
/* get current tiddler (if any) */
var tid=store.getTiddler(t);
var who=tid?tid.modifier:config.options.txtUserName;
var when=tid?tid.modified:new Date();
var txt=tid?tid.text:'';
var tags=tid?tid.tags:[];
var fields=tid?tid.fields:{};
/* get form values and construct new tiddler text */
var fmt='%0';
var newtxt=fmt.format([this.field1.value]);
/* insert new text at marker (or end, if no marker) */
var marker='/*MARKER*/';
if (txt.indexOf(marker)==-1) txt=txt+newtxt;
else txt=txt.replace(new RegExp(marker.escapeRegExp()),newtxt+marker);
/* get new tags and add to existing tags (if any) */
var newtags=this.tagsfield.value.readBracketedList();
for (var i=0; i<newtags.length; i++) tags.pushUnique(newtags[i]);
/* write and show tiddler */
store.saveTiddler(t,t,txt, who, when, tags, fields);
story.displayTiddler(story.findContainingTiddler(this),t);
return false;">
Title <input name="title" value="enter a title" style="width:91%;" onfocus="this.select()"><br>
<textarea name="field1" rows=5 style="width:99%;" onfocus="this.select()">text goes here</textarea><br>
<input name="tagsfield" value="space-separated tags go here" style="width:75%;" onfocus="this.select()">
<input type="submit" value="create tiddler">
</form></html>
!1
<html><hide linebreaks><form action="javascript:;" onsubmit="
var t=this.title.value;
if (!t.length || t==this.title.defaultValue)
{ alert('A title is required'); this.title.focus(); return false; }
if (store.tiddlerExists(t) && !confirm(config.messages.overwriteWarning.format([t])))
{ this.title.focus(); return false; }
var tid=store.getTiddler(t);
var who=tid?tid.modifier:config.options.txtUserName;
var when=tid?tid.modified:new Date();
var txt=tid?tid.text:'';
var tags=tid?tid.tags:[];
var fields=tid?tid.fields:{};
var fmt='|%0|\n%1';
var newtxt=fmt.format([this.field1.value,this.field2.value]);
var marker='/*MARKER*/';
if (txt.indexOf(marker)==-1) txt=txt+newtxt;
else txt=txt.replace(new RegExp(marker.escapeRegExp()),newtxt+marker);
var newtags=this.tagsfield.value.readBracketedList();
for (var i=0; i<newtags.length; i++) tags.pushUnique(newtags[i]);
store.saveTiddler(t,t,txt, who, when, tags, fields);
story.displayTiddler(story.findContainingTiddler(this),t);
return false;">
Title <input name="title" value="enter a title" style="width:40%;" onfocus="this.select()">
Field1 <input name="field1" value="field1 value" style="width:40%;" onfocus="this.select()"><br>
<textarea name="field2" rows=5 style="width:99%;"></textarea><br>
<input name="tagsfield" value="space-separated tags go here" style="width:75%;" onfocus="this.select()">
<input type="submit" value="create tiddler">
</form></html>
!2
<html><hide linebreaks><form action="javascript:;" onsubmit="
var t=this.title.value;
if (!t.length || t==this.title.defaultValue)
{ alert('A title is required'); this.title.focus(); return false; }
if (store.tiddlerExists(t) && !confirm(config.messages.overwriteWarning.format([t])))
{ this.title.focus(); return false; }
var tid=store.getTiddler(t);
var who=tid?tid.modifier:config.options.txtUserName;
var when=tid?tid.modified:new Date();
var txt=tid?tid.text:'';
var tags=tid?tid.tags:[];
var fields=tid?tid.fields:{};
var fmt='|%0|%1|\n%2';
var newtxt=fmt.format([this.field1.value,this.field2.value,this.field3.value]);
var marker='/*MARKER*/';
if (txt.indexOf(marker)==-1) txt=txt+newtxt;
else txt=txt.replace(new RegExp(marker.escapeRegExp()),newtxt+marker);
var newtags=this.tagsfield.value.readBracketedList();
for (var i=0; i<newtags.length; i++) tags.pushUnique(newtags[i]);
store.saveTiddler(t,t,txt, who, when, tags, fields);
story.displayTiddler(story.findContainingTiddler(this),t);
return false;">
Title <input name="title" value="enter a title" style="width:23%;" onfocus="this.select()">
Field1 <input name="field1" value="field1 value" style="width:23%;" onfocus="this.select()">
Field2 <input name="field2" value="field2 value" style="width:22%;" onfocus="this.select()"><br>
<textarea name="field3" rows=5 style="width:99%;"></textarea><br>
<input name="tagsfield" value="space-separated tags go here" style="width:75%;" onfocus="this.select()">
<input type="submit" value="create tiddler">
</form></html>
!3
<html><hide linebreaks><form action="javascript:;" onsubmit="
var t=this.title.value;
if (!t.length || t==this.title.defaultValue)
{ alert('A title is required'); this.title.focus(); return false; }
if (store.tiddlerExists(t) && !confirm(config.messages.overwriteWarning.format([t])))
{ this.title.focus(); return false; }
var tid=store.getTiddler(t);
var who=tid?tid.modifier:config.options.txtUserName;
var when=tid?tid.modified:new Date();
var txt=tid?tid.text:'';
var tags=tid?tid.tags:[];
var fields=tid?tid.fields:{};
var fmt='|%0|%1|%2|\n%3';
var newtxt=fmt.format([this.field1.value,this.field2.value,this.field3.value,this.field4.value]);
var marker='/*MARKER*/';
if (txt.indexOf(marker)==-1) txt=txt+newtxt;
else txt=txt.replace(new RegExp(marker.escapeRegExp()),newtxt+marker);
var newtags=this.tagsfield.value.readBracketedList();
for (var i=0; i<newtags.length; i++) tags.pushUnique(newtags[i]);
store.saveTiddler(t,t,txt, who, when, tags, fields);
story.displayTiddler(story.findContainingTiddler(this),t);
return false;">
<input name="title" value="enter a title" style="width:24%;" onfocus="this.select()">
<input name="field1" value="field1 value" style="width:23%;" onfocus="this.select()">
<input name="field2" value="field2 value" style="width:23%;" onfocus="this.select()">
<input name="field3" value="field3 value" style="width:23%;" onfocus="this.select()"><br>
<textarea name="field4" rows=5 style="width:99%;"></textarea><br>
<input name="tagsfield" value="space-separated tags go here" style="width:75%;" onfocus="this.select()">
<input type="submit" value="create tiddler">
</form></html>
!4
<html><hide linebreaks><form action="javascript:;" onsubmit="
var t=this.title.value;
if (!t.length || t==this.title.defaultValue)
{ alert('A title is required'); this.title.focus(); return false; }
if (store.tiddlerExists(t) && !confirm(config.messages.overwriteWarning.format([t])))
{ this.title.focus(); return false; }
var tid=store.getTiddler(t);
var who=tid?tid.modifier:config.options.txtUserName;
var when=tid?tid.modified:new Date();
var txt=tid?tid.text:'';
var tags=tid?tid.tags:[];
var fields=tid?tid.fields:{};
var fmt='|%0|%1|%2|%3|\n%4';
var newtxt=fmt.format([this.field1.value,this.field2.value,this.field3.value,this.field4.value,this.field5.value]);
var marker='/*MARKER*/';
if (txt.indexOf(marker)==-1) txt=txt+newtxt;
else txt=txt.replace(new RegExp(marker.escapeRegExp()),newtxt+marker);
var newtags=this.tagsfield.value.readBracketedList();
for (var i=0; i<newtags.length; i++) tags.pushUnique(newtags[i]);
store.saveTiddler(t,t,txt, who, when, tags, fields);
story.displayTiddler(story.findContainingTiddler(this),t);
return false;">
<input name="title" value="enter a title" style="width:19%;" onfocus="this.select()">
<input name="field1" value="field1 value" style="width:18%;" onfocus="this.select()">
<input name="field2" value="field2 value" style="width:18%;" onfocus="this.select()">
<input name="field3" value="field3 value" style="width:18%;" onfocus="this.select()">
<input name="field4" value="field4 value" style="width:18%;" onfocus="this.select()"><br>
<textarea name="field5" rows=5 style="width:99%;"></textarea><br>
<input name="tagsfield" value="space-separated tags go here" style="width:75%;" onfocus="this.select()">
<input type="submit" value="create tiddler">
</form></html>
!5
<html><hide linebreaks><form action="javascript:;" onsubmit="
var t=this.title.value;
if (!t.length || t==this.title.defaultValue)
{ alert('A title is required'); this.title.focus(); return false; }
if (store.tiddlerExists(t) && !confirm(config.messages.overwriteWarning.format([t])))
{ this.title.focus(); return false; }
var tid=store.getTiddler(t);
var who=tid?tid.modifier:config.options.txtUserName;
var when=tid?tid.modified:new Date();
var txt=tid?tid.text:'';
var tags=tid?tid.tags:[];
var fields=tid?tid.fields:{};
var fmt='|%0|%1|%2|%3|%4|\n%5';
var newtxt=fmt.format([this.field1.value,this.field2.value,this.field3.value,this.field4.value,this.field5.value,this.field6.value]);
var marker='/*MARKER*/';
if (txt.indexOf(marker)==-1) txt=txt+newtxt;
else txt=txt.replace(new RegExp(marker.escapeRegExp()),newtxt+marker);
var newtags=this.tagsfield.value.readBracketedList();
for (var i=0; i<newtags.length; i++) tags.pushUnique(newtags[i]);
store.saveTiddler(t,t,txt, who, when, tags, fields);
story.displayTiddler(story.findContainingTiddler(this),t);
return false;">
<input name="title" value="enter a title" style="width:15%;" onfocus="this.select()">
<input name="field1" value="field1 value" style="width:15%;" onfocus="this.select()">
<input name="field2" value="field2 value" style="width:15%;" onfocus="this.select()">
<input name="field3" value="field3 value" style="width:15%;" onfocus="this.select()">
<input name="field4" value="field4 value" style="width:15%;" onfocus="this.select()">
<input name="field5" value="field5 value" style="width:15%;" onfocus="this.select()"><br>
<textarea name="field6" rows=5 style="width:99%;"></textarea><br>
<input name="tagsfield" value="space-separated tags go here" style="width:75%;" onfocus="this.select()">
<input type="submit" value="create tiddler">
</form></html>
!6
<html><hide linebreaks><form action="javascript:;" onsubmit="
var t=this.title.value;
if (!t.length || t==this.title.defaultValue)
{ alert('A title is required'); this.title.focus(); return false; }
if (store.tiddlerExists(t) && !confirm(config.messages.overwriteWarning.format([t])))
{ this.title.focus(); return false; }
var tid=store.getTiddler(t);
var who=tid?tid.modifier:config.options.txtUserName;
var when=tid?tid.modified:new Date();
var txt=tid?tid.text:'';
var tags=tid?tid.tags:[];
var fields=tid?tid.fields:{};
var fmt='|%0|%1|%2|%3|%4|%5|\n%6';
var newtxt=fmt.format([this.field1.value,this.field2.value,this.field3.value,this.field4.value,this.field5.value,this.field6.value,this.field7.value]);
var marker='/*MARKER*/';
if (txt.indexOf(marker)==-1) txt=txt+newtxt;
else txt=txt.replace(new RegExp(marker.escapeRegExp()),newtxt+marker);
var newtags=this.tagsfield.value.readBracketedList();
for (var i=0; i<newtags.length; i++) tags.pushUnique(newtags[i]);
store.saveTiddler(t,t,txt, who, when, tags, fields);
story.displayTiddler(story.findContainingTiddler(this),t);
return false;">
<input name="title" value="enter a title" style="width:13%;" onfocus="this.select()">
<input name="field1" value="field1 value" style="width:13%;" onfocus="this.select()">
<input name="field2" value="field2 value" style="width:13%;" onfocus="this.select()">
<input name="field3" value="field3 value" style="width:13%;" onfocus="this.select()">
<input name="field4" value="field4 value" style="width:12%;" onfocus="this.select()">
<input name="field5" value="field5 value" style="width:12%;" onfocus="this.select()">
<input name="field6" value="field6 value" style="width:12%;" onfocus="this.select()"><br>
<textarea name="field7" rows=5 style="width:99%;"></textarea><br>
<input name="tagsfield" value="space-separated tags go here" style="width:75%;" onfocus="this.select()">
<input type="submit" value="create tiddler">
</form></html>
!7
<html><hide linebreaks><form action="javascript:;" onsubmit="
var t=this.title.value;
if (!t.length || t==this.title.defaultValue)
{ alert('A title is required'); this.title.focus(); return false; }
if (store.tiddlerExists(t) && !confirm(config.messages.overwriteWarning.format([t])))
{ this.title.focus(); return false; }
var tid=store.getTiddler(t);
var who=tid?tid.modifier:config.options.txtUserName;
var when=tid?tid.modified:new Date();
var txt=tid?tid.text:'';
var tags=tid?tid.tags:[];
var fields=tid?tid.fields:{};
var fmt='|%0|%1|%2|%3|%4|%5|%6|\n%7';
var newtxt=fmt.format([this.field1.value,this.field2.value,this.field3.value,this.field4.value,this.field5.value,this.field6.value,this.field7.value,this.field8.value]);
var marker='/*MARKER*/';
if (txt.indexOf(marker)==-1) txt=txt+newtxt;
else txt=txt.replace(new RegExp(marker.escapeRegExp()),newtxt+marker);
var newtags=this.tagsfield.value.readBracketedList();
for (var i=0; i<newtags.length; i++) tags.pushUnique(newtags[i]);
store.saveTiddler(t,t,txt, who, when, tags, fields);
story.displayTiddler(story.findContainingTiddler(this),t);
return false;">
<input name="title" value="enter a title" style="width:11%;" onfocus="this.select()">
<input name="field1" value="field1 value" style="width:11%;" onfocus="this.select()">
<input name="field2" value="field2 value" style="width:11%;" onfocus="this.select()">
<input name="field3" value="field3 value" style="width:11%;" onfocus="this.select()">
<input name="field4" value="field4 value" style="width:11%;" onfocus="this.select()">
<input name="field5" value="field5 value" style="width:11%;" onfocus="this.select()">
<input name="field6" value="field6 value" style="width:10%;" onfocus="this.select()">
<input name="field7" value="field7 value" style="width:10%;" onfocus="this.select()"><br>
<textarea name="field8" rows=5 style="width:99%;"></textarea><br>
<input name="tagsfield" value="space-separated tags go here" style="width:75%;" onfocus="this.select()">
<input type="submit" value="create tiddler">
</form></html>
!8
<html><hide linebreaks><form action="javascript:;" onsubmit="
var t=this.title.value;
if (!t.length || t==this.title.defaultValue)
{ alert('A title is required'); this.title.focus(); return false; }
if (store.tiddlerExists(t) && !confirm(config.messages.overwriteWarning.format([t])))
{ this.title.focus(); return false; }
var tid=store.getTiddler(t);
var who=tid?tid.modifier:config.options.txtUserName;
var when=tid?tid.modified:new Date();
var txt=tid?tid.text:'';
var tags=tid?tid.tags:[];
var fields=tid?tid.fields:{};
var fmt='|%0|%1|%2|%3|%4|%5|%6|%7|\n%8';
var newtxt=fmt.format([this.field1.value,this.field2.value,this.field3.value,this.field4.value,this.field5.value,this.field6.value,this.field7.value,this.field8.value,this.field9.value]);
var marker='/*MARKER*/';
if (txt.indexOf(marker)==-1) txt=txt+newtxt;
else txt=txt.replace(new RegExp(marker.escapeRegExp()),newtxt+marker);
var newtags=this.tagsfield.value.readBracketedList();
for (var i=0; i<newtags.length; i++) tags.pushUnique(newtags[i]);
store.saveTiddler(t,t,txt, who, when, tags, fields);
story.displayTiddler(story.findContainingTiddler(this),t);
return false;">
<input name="title" value="enter a title" style="width:10%;" onfocus="this.select()">
<input name="field1" value="field1 value" style="width:10%;" onfocus="this.select()">
<input name="field2" value="field2 value" style="width:10%;" onfocus="this.select()">
<input name="field3" value="field3 value" style="width:9%;" onfocus="this.select()">
<input name="field4" value="field4 value" style="width:9%;" onfocus="this.select()">
<input name="field5" value="field5 value" style="width:9%;" onfocus="this.select()">
<input name="field6" value="field6 value" style="width:9%;" onfocus="this.select()">
<input name="field7" value="field7 value" style="width:9%;" onfocus="this.select()">
<input name="field8" value="field8 value" style="width:9%;" onfocus="this.select()"><br>
<textarea name="field9" rows=5 style="width:99%;"></textarea><br>
<input name="tagsfield" value="space-separated tags go here" style="width:75%;" onfocus="this.select()">
<input type="submit" value="create tiddler">
</form></html>
!end
%/
/%
|Name|QuickMenu|
|Source|http://menuflex.tiddlyspot.com/#QuickMenu - originally: http://www.TiddlyTools.com/#TiddlerTweaker%20FaqViewer%20MultiSelectSampleScript|
|Author|Wolfgang - originally by Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|Type|Html|
|Description|View tiddlers or select multiple tiddlers to display, edit, delete or calculate their size. - This is a modified version of MultiSelectSampleScript, combined with parts of TiddlerTweaker and FaqViewer with dependency to InlneJavascriptPlugin eliminated. Important: Don't ask the original author for support to these abandoned variant scripts, before you haven't verified it by installing instead the latest version of these Plugins.|
%/{{smallform{<html><form style="display:inline"><!--
--><table style="padding:0;margin:0;border:0;width:90%"><tr valign="top" style="padding:0;margin:0;border:0"><!--
--><!--
--><td style="white-space:nowrap;padding:0;margin:0;border:0;width:1%"><!--
--><table border=0 style="width:89%;padding:0;margin:0;border:0;"><tr style='padding:0;border:0;'><td style="padding:1px;border:0;white-space:nowrap"><!--
--><div style="margin-top:0em;text-align:center"><!--
--><i>sort by:</i><br><input type=button name=sortby value="title"
onclick="fastview.init(this.form,this.value)"><br><!--
--><input type=button name=sortby value="date"
onclick="fastview.init(this.form,this.value)"><br><!--
--><input type=button name=sortby value="size"
onclick="fastview.init(this.form,this.value)"><br><!--
--><br><i>choose:</i><br><input type=button name="display" disabled title="display tiddlers" value='open'
onclick="fastview.displaytiddlers(this)"><br><!--
--><input type=button name="edit" disabled title="edit tiddlers" value='edit'
onclick="fastview.editiddlers(this)"><br><!--
--><input type=button name="del" disabled title="delete tiddlers" value='erase'
onclick="fastview.deltiddlers(this)"><br><!--
--><input type=button name="stats" title="tiddler totals" disabled value='bytes'
onclick="fastview.stats(this)"><br><!--
--><input type=button name="done" disabled value="done"
title="hide current tiddler preview"
onclick="var target=this.form.parentNode.nextSibling; removeChildren(target); target.style.display='none';this.form.list.selectedIndex=0;"><br><!--
--></div><!--
--></td><!--
--><td style="text-align:center;white-space:nowrap;width:95%;padding:0;margin:0;border:0"><!--
--><select multiple name=list size="15" style="width:94.9%"
title="use click, shift-click and/or ctrl-click to select multiple tiddler titles"
onclick="fastview.selecttiddlers(this)"
onchange='var target=this.form.parentNode.nextSibling; removeChildren(target); wikify("<br>\<\<tiddler [["+this.value+"]]\>\>",target); target.style.display=this.value.length?"block":"none"; this.form.done.disabled=!this.value.length;'><!--
--></select><!--
--></td><!--
--></tr><!--
--><!--
--></table><!--
--></form></html><<tiddler {{
window.fastview = {
init: // load tiddler titles into multi-select listbox
function(form,sortby) {
while (form.list.options[0]) form.list.options[0]=null; // empty current list content
var tids=store.getTiddlers(sortby);
if (sortby=="size")
tids.sort(function(a,b) {return a.text.length < b.text.length ? +1 : (a.text.length == b.text.length ? 0 : -1);});
for (i=0; i<tids.length; i++) {
var label=tids[i].title; var value=tids[i].title;
if (sortby=="date") {
label=tids[tids.length-i-1].modified.formatString("YY.0MM.0DD 0hh:0mm - ")+tids[tids.length-i-1].title;
value=tids[tids.length-i-1].title;
}
if (sortby=="size") label="["+tids[i].text.length+"] "+label;
form.list.options[form.list.length]=new Option(label,value,false,false);
}
form.stats.disabled=form.del.disabled=form.display.disabled=form.edit.disabled=true;
},
selecttiddlers: // enable/disable tweaker fields based on number of items selected
function(here) {
// count how many tiddlers are selected
var list=here.form.list; var c=0; for (i=0;i<list.length;i++) if (list.options[i].selected) c++;
here.form.del.disabled=(c==0);
here.form.display.disabled=(c==0);
here.form.edit.disabled=(c==0);
here.form.stats.disabled=(c==0);
var msg=(c==0)?'select tiddlers:':(c+' tiddler'+(c!=1?'s':'')+' selected');
here.previousSibling.firstChild.innerHTML=msg;
},
displaytiddlers:
function(here) {
var form=here.form; var list=form.list; var tids=[];
for (i=0; i<list.length;i++) if (list.options[i].selected) tids.push(list.options[i].value);
if (!tids.length) { alert("please select at least one tiddler"); return; }
story.displayTiddlers(story.findContainingTiddler(form),tids)
},
editiddlers:
function(here) {
var form=here.form; var list=form.list; var tids=[];
for (i=0; i<list.length;i++) if (list.options[i].selected) tids.push(list.options[i].value);
if (!tids.length) { alert("please select at least one tiddler"); return; }
story.displayTiddlers(story.findContainingTiddler(form),tids,DEFAULT_EDIT_TEMPLATE);
},
deltiddlers:
function(here) {
var form=here.form; var list=form.list; var tids=[];
for (i=0;i<list.length;i++) if (list.options[i].selected) tids.push(list.options[i].value);
if (!tids.length) { alert("please select at least one tiddler"); return; }
if (!confirm("Are you sure you want to delete these tiddlers:\n\n"+tids.join(', '))) return;
for (t=0;t<tids.length;t++) {
var tid=store.getTiddler(tids[t]); if (!tid) continue;
if (tid.tags.contains("systemConfig"))
if (!confirm("'"+tid.title+"' is tagged with 'systemConfig'.\n\nRemoving this tiddler may cause unexpected results. Are you sure?"))
continue;
store.removeTiddler(tid.title);
}
this.init(form,form.sortby.value);
},
stats:
function(here) {
var form=here.form; var list=form.list; var tids=[]; var out=''; var tot=0;
var target=document.getElementById("FastView_stats");
for (i=0;i<list.length;i++) if (list.options[i].selected) tids.push(list.options[i].value);
if (!tids.length) { alert("please select at least one tiddler"); return; }
for (t=0;t<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<<<\n'+out+'<<<';
removeChildren(target);
target.innerHTML="<hr><font size=-2><a href='javascript:;' style='text-align:left' onclick='this.parentNode.parentNode.style.display=\"none\"'>close </a></font>";
wikify(out,target);
target.style.display="block";
}
}
// get THIS form...
var here=place.lastChild.firstChild;
// tweaker might be wrappered in a surrounding form (e.g., TidIDE) , so...
while(here && here.nodeName.toLowerCase()!="form") here=here.parentNode; // find containing form
// initialize tweaker controls
fastview.init(here,here.sortby.value);
'';}}>><html><span id="FastView_stats" style="display:none"></span></html>{{hidden wrap{/% this content is replaced by onchange handler above %/}}}}}}
!!!Contents
{{floatright{<<editSection Contents "view syntax">>}}}{{cola{//Html Scripts//
nav: <<tiddler Switch##Nav>>
refresh display: <<tiddler Switch##RefreshDisplay>>
tagger: <<tiddler Switch##Tagger>>
embedded: <<tiddler Switch##Embedded>>
new here: <<tiddler Switch##newHere>>
edit: <<tiddler Switch##Edit>>
open group: <<tiddler Switch##OpenGroup>>
close + open group: <<tiddler Switch##CloseOpenGroup>>
header: <<tiddler Switch##Header>>
main toolbar: <<tiddler Switch##mainToolbar>>
main menu: <<tiddler Switch##mainMenu>>
sidebar: <<tiddler Switch##Sidebar>>
sort table: <<tiddler Switch##SortTable>>
resize text box: <<tiddler Switch##ResizeBox>>
switch style: <<tiddler Switch##StyleSheet>>
switch page template: <<tiddler Switch##PageTemplate>>
}}}{{colb{//Scripts dependent on InlineJavascriptPlugin://
top menu: <<tiddler Switch##ToggleTopMenu>>
rename all tagged: <<tiddler Switch##RenameTag>>
delete all tagged: <<tiddler Switch##DeleteTagged>>
open tagged: <<tiddler Switch##OpenTagged>>
table highlight: <<tiddler Switch##TableHighlight>>
list title: <<tiddler Switch##ListTitle>>
list pop: <<tiddler Switch##ListPop>>
list + pop: <<tiddler Switch##ListAndPop>>
list embedded: <<tiddler Switch##ListEmbed>>
list + embedded: <<tiddler Switch##ListAndEmbed>>
toggle class: <<tiddler Switch##ToggleClass>>
}}}{{clear{}}}
/%
!Nav
<html><hide linebreaks><span align="right"><font size="-1"><input type="button" value="«" onClick="history.go(-1)""/>
<input type="button" value="» "onClick="history.forward()"</font></span></html>
!Refresh
<html><a href="javascript:;" onclick="var tid=story.findContainingTiddler(this); if (tid) story.refreshTiddler(tid.getAttribute('tiddler'),null,true); return false;"> ↻ </a></html>
!Fit
<<tiddler Switch##ToggleClass with: ↓ scrollable fit>>
!Tagger
{{span{<<tagger>>}}}
!Embedded
<html><hide linebreaks>
<a href="javascript:;" title="list tiddlers that have transcluded this tiddler" onclick="var t=story.findContainingTiddler(this).getAttribute('tiddler');var m=new RegExp('\<\<tiddler (\\[\\[)?'+t+'(\\]\\])?( with: .*)?\>\>','');var s=store.search(m,'text','excludeLists');var out=[];if(!s.length)out.push('no matching tiddlers');for(var i=0;i<s.length;i++)out.push(s[i].title);var p=Popup.create(this);var d=createTiddlyElement(p,'div');var s=d.style;s.padding='2px';s.textAlignment='left';wikify(out.join('\n'),d);Popup.show();event.cancelBubble=true;if(event.stopPropagation)event.stopPropagation();return false;"> inkl </a></html>
!newHere
<<newTiddler label:"new" title:{{tiddler.title}} focus:"text" tag:{{tiddler.title}}>>
!Tagging
<<tiddler Switch##ToggleClass with:tag hidden show>>
!RefreshDisplay
<html><a href="javascript:;" onclick="var tid=story.forEachTiddler(function(t,e){story.refreshTiddler(t,null,true)});
refreshDisplay();return false;"<span>refresh</span></a></html>
!StyleSheet
<html><a href="#" onclick="story.switchTheme('Defaults');" class="button">default</a></html>
<html><a href="#" onclick="story.switchTheme('Groundless');" class="button">Groundless</a></html>
!PageTemplate
<html><a href="javascript:refreshPageTemplate('');">default</a></html>
<html><a href="javascript:refreshPageTemplate('$2');">$1</a></html>
!Edit
<html><a href="javascript:void(0)" onclick="story.displayTiddler(null,['$1'], DEFAULT_EDIT_TEMPLATE)">edit $2</a></html>
!OpenGroup
<html><a href="javascript:void(0)" onclick="story.displayTiddlers(null,store.getTiddlerText('$2').readBracketedList())">$1</a></html>
!CloseOpenGroup
<html><a href="javascript:void(0)" onclick="story.closeAllTiddlers();story.displayTiddlers(null,store.getTiddlerText('$2').readBracketedList())">$1</a></html>
!Header
<html><span><a href="javascript:;" title="Show/hide the header" onclick="javascript:if(!document.getElementById('header').style.display || document.getElementById('header').style.display == 'block') { document.getElementById('header').style.display = 'none'; } else { document.getElementById('header').style.display = 'block'; } return false;">▵</a></span></html>
!mainToolbar
<html><span><a href="javascript:;" title="Show/hide the main toolbar" onclick="javascript:if(!document.getElementById('mainToolbar').style.display || document.getElementById('mainToolbar').style.display == 'block') { document.getElementById('mainToolbar').style.display = 'none'; } else { document.getElementById('mainToolbar').style.display = 'block'; } return false;">▵</a></span></html>
!mainMenu
<html><span><a href="javascript:;" title="Show/hide the left side menu" onclick="javascript:if(!document.getElementById('mainMenu').style.display || document.getElementById('mainMenu').style.display == 'none') { document.getElementById('mainMenu').style.display = 'block'; document.getElementById('displayArea').style.marginLeft = '1em'; } else { document.getElementById('mainMenu').style.display = 'none'; document.getElementById('displayArea').style.marginLeft = '1em'; } return false;">•</a></html>
!Sidebar
<html><span><a href="javascript:;" title="Show/hide the right side bar" onclick="javascript:if(!document.getElementById('sidebar').style.display || document.getElementById('sidebar').style.display == 'block') { document.getElementById('sidebar').style.display = 'none'; document.getElementById('displayArea').style.marginRight = '1em'; } else { document.getElementById('sidebar').style.display = 'block'; document.getElementById('displayArea').style.marginRight = '1em'; } return false;">•</a></span></html>
!ResizeBox
<html><a href="javascript:function resize(w){try{var areas=w.document.getElementsByTagName('textarea');for(i=0;A=areas[i];i++){A.cols*=0.7;A.rows*=0.7;if(document.all&&!w.opera){A.runtimeStyle.height=DS(A.currentStyle.height);A.runtimeStyle.width=DS(A.currentStyle.width);}}for(var i=0;F=w.frames[i];i++){resize(F);}}catch(e){}}function DS(s){var c=parseInt(s);if(!isNaN(c)){var u=s.replace(c,'');if(u.indexOf('%')>=0)return s;return ((c*0.7)+u);}}resize(window);"<span> - </span></a></html> <html><a href="javascript:function resize(w){try{var areas=w.document.getElementsByTagName('textarea');for(i=0;A=areas[i];i++){A.cols*=1.5;A.rows*=1.5;if(document.all&&!w.opera){A.runtimeStyle.height=DS(A.currentStyle.height);A.runtimeStyle.width=DS(A.currentStyle.width);}}for(var i=0;F=w.frames[i];i++){resize(F);}}catch(e){}}function DS(s){var c=parseInt(s);if(!isNaN(c)){var u=s.replace(c,'');if(u.indexOf('%')>=0)return s;return ((c*1.5)+u);}}resize(window);"<span> + </span></a></html>
!RenameTag
<html><a class="bookmarklet" title="rename all occurrences of a tag" href="javascript:(function(){if(window.version&&window.version.title=='TiddlyWiki'){var oldTag=prompt('Enter the tag to rename','oldTag');var newTag=prompt('Rename tag '+oldTag+' to:','newTag');var t=store.getTaggedTiddlers(oldTag);store.suspendNotifications();for(var i=0;i<t.length;i++){t[i].tags.remove(oldTag);t[i].tags.pushUnique(newTag);}store.resumeNotifications();refreshDisplay();}})()">RenameTag</a></html>
!DeleteTagged
<html><a class="bookmarklet" title="delete all tiddlers with a specified tag" href="javascript:void(eval(decodeURIComponent("(function()%257B%250A%2509if(window.version%2520%2526%2526%2520window.version.title%2520%253D%253D%2520'TiddlyWiki')%257B%250A%2509%2509var%2520tag%2520%253D%2520prompt('Delete%2520tiddlers%2520with%2520the%2520tag%253A'%252C'')%253B%250A%2509%2509store.suspendNotifications()%253B%250A%2509%2509var%2520t%2520%253D%2520store.getTaggedTiddlers(tag)%253B%250A%2509%2509for(var%2520i%253D0%253Bi%253Ct.length%253Bi%252B%252B)%250A%2509%2509%2509store.removeTiddler(t%255Bi%255D.title)%253B%250A%2509%2509store.resumeNotifications()%253B%250A%2509%2509refreshDisplay()%253B%2509%2509%250A%2509%257D%250A%257D)()")))">DeleteTagged</a></html>
!SortTable
<html><a href="javascript:function toArray (c){var a, k;a=new Array;for (k=0; k<c.length; ++k)a[k]=c[k];return a;}function insAtTop(par,child){if(par.childNodes.length) par.insertBefore(child, par.childNodes[0]);else par.appendChild(child);}function countCols(tab){var nCols, i;nCols=0;for(i=0;i<tab.rows.length;++i)if(tab.rows[i].cells.length>nCols)nCols=tab.rows[i].cells.length;return nCols;}function makeHeaderLink(tableNo, colNo, ord){var link;link=document.createElement('a');link.href='javascript:sortTable('+tableNo+','+colNo+','+ord+');';link.appendChild(document.createTextNode((ord>0)?'a':'d'));return link;}function makeHeader(tableNo,nCols){var header, headerCell, i;header=document.createElement('tr');for(i=0;i<nCols;++i){headerCell=document.createElement('td');headerCell.appendChild(makeHeaderLink(tableNo,i,1));headerCell.appendChild(document.createTextNode('/'));headerCell.appendChild(makeHeaderLink(tableNo,i,-1));header.appendChild(headerCell);}return header;}g_tables=toArray(document.getElementsByTagName('table'));if(!g_tables.length) alert(%22This page doesn't contain any tables.%22);(function(){var j, thead;for(j=0;j<g_tables.length;++j){thead=g_tables[j].createTHead();insAtTop(thead, makeHeader(j,countCols(g_tables[j])))}}) ();function compareRows(a,b){if(a.sortKey==b.sortKey)return 0;return (a.sortKey < b.sortKey) ? g_order : -g_order;}function sortTable(tableNo, colNo, ord){var table, rows, nR, bs, i, j, temp;g_order=ord;g_colNo=colNo;table=g_tables[tableNo];rows=new Array();nR=0;bs=table.tBodies;for(i=0; i<bs.length; ++i)for(j=0; j<bs[i].rows.length; ++j){rows[nR]=bs[i].rows[j];temp=rows[nR].cells[g_colNo];if(temp) rows[nR].sortKey=temp.innerHTML;else rows[nR].sortKey=%22%22;++nR;}rows.sort(compareRows);for (i=0; i < rows.length; ++i)insAtTop(table.tBodies[0], rows[i]);}"<span>sort table</span></a></html>
!
!SCRIPTS REQUIRING INLINE_JAVASCRIPT_PLUGIN:
!options
<script label="$1">var who=prompt("Please set your $1",config.options.txt$1);if(!who||!who.trim().length)return false;config.options.txt$1=who;saveOptionCookie("txt$1");var tid=story.findContainingTiddler(place);if(tid)story.refreshTiddler(tid.getAttribute("tiddler"),null,true);var nodes=document.getElementsByTagName("input");for(var t=0;t<nodes.length;t++)
if(nodes[t].getAttribute("option")=="txt$1")nodes[t].value=who;return false;</script><script>place.lastChild.title="click to change your $1";place.lastChild.innerHTML=config.options.txt$1;</script>
!
Name:OpenTaggedTiddlers "packed"
Source:http://www.TiddlyTools.com/#OpenTaggedTiddlers
Version:1.0.1
Author:EricShulman
License:http://www.TiddlyTools.com/#LegalStatements
Requires:InlineJavascriptPlugin
Description:open multiple tagged tiddlers with a single click
Usage:<<tiddler OpenTaggedTiddlers with: "label" "tagToMatch" "sortBy" "reverse">>
!OpenTagged
<script label="$1">var list=[];var match="$2";var sortBy="$3"; if ((sortBy=="$"+"3")||(sortBy=="")) sortBy="title";var filter="[tag[%0]][sort[%1]]".format([match,sortBy]);var tids=store.filterTiddlers(filter);if ("$4"=="reverse") tids=tids.reverse();for (var t=0;t<tids.length;t++) list.push(tids[t].title);if ("$5"=="close") story.closeAllTiddlers();story.displayTiddlers(story.findContainingTiddler(place),list);return false;</script>
!ResizeFonts
<script label="fonts" title="Set font size of the whole site">void(f=prompt('New font size?','8pt'));for(i=0;i<document.getElementsByTagName('*').length;i++)void(document.getElementsByTagName('*')[i].style.fontSize=f);return false;</script>
!
Table Highlighting for Sortable & TW Tables Version 07.19.2009
ELS simplified code structure
!TableHighlight
<script>jQuery('table.sortable tbody tr').mouseover(function(){jQuery(this).addClass('highlight');jQuery(this).removeClass('evenRow');});jQuery('table.sortable tbody tr').mouseout(function(){jQuery(this).removeClass('highlight');jQuery('table.sortable tr:even').addClass('evenRow');});jQuery('table.twtable tbody tr').mouseover(function(){jQuery(this).addClass('highlight');jQuery(this).removeClass('evenRow');});jQuery('table.twtable tbody tr').mouseout(function(){jQuery(this).removeClass('highlight');jQuery('table.twtable tr:even').addClass('evenRow');});</script>
!ToggleTopMenu
<script label="✓" title="Switch TopMenu on or off">if(window.version&&window.version.title=='TiddlyWiki'){var tm=document.getElementById('topMenu');var show=tm.style.display=='none';if(!show){tm.style.display='none';var margin='1em';}
else{tm.style.display='block';var margin=config.options.txtDisplayAreaTopMargin||'';}
document.getElementById('displayArea').style.marginTop=margin;config.options.chkShowTopMenu=show;saveOptionCookie('chkShowTopMenu');var sm=document.getElementById('storyMenu');if(sm)config.refreshers.content(sm);}
return false;</script>
!ListTitle
<script>var list=[];var tids=store.getTaggedTiddlers("$1");if (!tids.length) return;var out='';for(var t=0;t<tids.length; t++)out+=" [[%0]] ".format([tids[t].title]);return out;</script>
!ListPop
<script>var list=[];var tids=store.getTaggedTiddlers("$1");if (!tids.length) return;var out='';for(var t=0;t<tids.length; t++)out+=" <<tiddler Pop##Right with: [[%0]] [[%0]] ok>> \n".format([tids[t].title]);return out;</script>
!ListAndPop
<script>var list=[];var tids=store.getTaggedTiddlers("$1");if (!tids.length) return;var out='|borderless|k\n';for(var t=0;t<tids.length; t++)out+="| [[%0]]|@@maxWidth:50em;<<tiddler Pop##Right with: → [[%0]] ok '' 35em>>@@|\n".format([tids[t].title]);return out;</script>
!ListEmbed
<script>var list=[];var tids=store.getTaggedTiddlers("$1");if (!tids.length) return;var out='';for(var t=0;t<tids.length; t++)out+=" <<tiddler [[%0]]>> \n".format([tids[t].title]);return out;</script>
!ListAndEmbed
<script>var list=[];var tids=store.getTaggedTiddlers("$1");if (!tids.length) return;var out='|borderless|k\n';for(var t=0;t<tids.length; t++)out+="| [[%0]]| → |<<tiddler [[%0]]>>|\n".format([tids[t].title]);return out;</script>
!
Name: ToggleClass "packed"
Source: http://www.TiddlyTools.com/#ToggleClass
Author: Eric Shulman
License: http://www.TiddlyTools.com/#LegalStatements
Description: toggle extra class on text contained in specified wrapper class
Usage: <<tiddler ToggleClass with: "label" targetClass toggleClass>>
!ToggleClass
<script label="toggle hints">
if(!(addClass instanceof Function)||!(removeClass instanceof Function))return;var here=story.findContainingTiddler(place);if(!here)return false;var elems=here.getElementsByTagName("*");var targetClass="hint";if("$"+"2"!="$2")targetClass="$2";var toggleClass="highlight";if("$"+"3"!="$3")toggleClass="$3";for(var e=0;e<elems.length;e++)
if(hasClass(elems[e],targetClass))
if(hasClass(elems[e],toggleClass))
removeClass(elems[e],toggleClass);else
addClass(elems[e],toggleClass);return false;</script><script>if ("$"+"1"!="$1") place.lastChild.innerHTML="$1";</script>
!Authors
<script>var out=[];var who='';var tids=store.getTiddlers('modifier');for(i=0;i<tids.length;i++){var t=tids[i];if(who!=t.modifier){who=t.modifier;out.push('by '+who+':');}
out.push('{{indent{[['+t.title+']]}}}');}
return out.join('');</script>
%/
/***
|Name|TagCloudPlugin ''packed''|
|Source|http://www.TiddlyTools.com/#TagCloudPlugin|
|Version|1.2.0|
|Author|EricShulman, ClintChecketts|
|Description|present a 'cloud' of tags using proportional font and colored display|
***/
//{{{
version.extensions.tagCloud={major:1,minor:1,revision:0,date:new Date(2006,2,4)};config.shadowTiddlers.TagCloud="<<tagCloud>>";setStylesheet(".tagCloud span{height: 3.5em;margin: 3px;}.tagCloud1{font-size: 80%;}.tagCloud2{font-size: 100%;}.tagCloud3{font-size: 120%;}.tagCloud4{font-size: 150%;}.tagCloud5{font-size: 180%;}.tagCloud6{font-size: 200%;}","tagCloudsStyles");config.macros.tagCloud={noTags:"No tag cloud created because there are no tags.",tooltip:"%1 tiddlers tagged with '%0'",segments:5,handler:function(a,b,c){var d=store.getTags();for(var t=0;t<d.length;t++){for(var p=0;p<c.length;p++){if(d[t][0]==c[p]){d[t][0]=""}}}var e=0;for(var t=0;t<d.length;t++){if(d[t][0].length>0){if(d[t][1]>e){e=d[t][1]}}}var f=e/config.macros.tagCloud.segments;var g=createTiddlyElement(a,"div",null,"tagCloud",null);if(!d.length){createTiddlyElement(g,"span",null,null,this.noTags)}else{for(var t=0;t<d.length;t++){if(d[t][0].length>0){g.appendChild(document.createTextNode(" "));var h=createTiddlyButton(g,d[t][0],this.tooltip.format(d[t]),onClickTag,"tagCloudtag tagCloud"+(Math.round(d[t][1]/f)+1));h.setAttribute("tag",d[t][0])}}}}};
//}}}
[[Open tag '$1'|$1]]
<<tiddler Switch##OpenTagged with: "Open all '$1'" "$1">>
<<closeTagged $1>>
<<keepTagged $1>>
{{nobullets{<<tagging $1>>}}}<<newTiddler label:"New $1 Tiddler" tag:"$1">>
<<tagDisplayed $1>>
<<untagDisplayed $1>>
<<relatedTags $1>>
/***
|Name|TaggedTemplateTweak "packed"|
|Source|http://www.TiddlyTools.com/#TaggedTemplateTweak|
|Version|1.6.1|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|Overrides|Story.prototype.chooseTemplateForTiddler()|
|Description|use alternative ViewTemplate/EditTemplate for specific tiddlers|
***/
//{{{
version.extensions.TaggedTemplateTweak={major:1,minor:6,revision:1,date:new Date(2009,9,2)};if(!config.options.txtTemplateTweakFieldname){config.options.txtTemplateTweakFieldname="template"}Story.prototype.taggedTemplate_chooseTemplateForTiddler=Story.prototype.chooseTemplateForTiddler;Story.prototype.chooseTemplateForTiddler=function(e,h){var g=this.taggedTemplate_chooseTemplateForTiddler.apply(this,arguments);var b="";var h=g;var a=h.split(config.textPrimitives.sectionSeparator);if(a[1]){b=a[0];h=a[1]}else{b=config.options.txtTheme||""}b+=config.textPrimitives.sectionSeparator;if(!store.getTaggedTiddlers(e).length){if(store.getTiddlerText(b+e+h)){return b+e+h}if(store.getTiddlerText(e+h)){return e+h}}var j=store.getValue(e,config.options.txtTemplateTweakFieldname);if(store.getTiddlerText(b+j+h)){return b+j+h}if(store.getTiddlerText(j+h)){return j+h}var f=store.getTiddler(e);if(!f){return g}for(i=0;i<f.tags.length;i++){var k=f.tags[i]+h;var d=k.substr(0,1).toUpperCase()+k.substr(1);if(store.getTiddlerText(b+k)){return b+k}if(store.getTiddlerText(b+d)){return b+d}if(store.getTiddlerText(k)){return k}if(store.getTiddlerText(d)){return d}}return g};
//}}}
/***
|Name|TiddlerAliasPlugin "packed" and empty space replacement changed to '_'|
|Source|http://tiddlywiki.abego-software.de/Beta.html#TiddlerAliasPlugin|
|Author|UdoBorkowski (ub [at] abego-software [dot] de)|
|Licence|[[BSD open source license (abego Software)|http://www.abego-software.de/legal/apl-v10.html]]|
|Copyright|© 2009 [[abego Software|http://www.abego-software.de]]|
|Description|Reference a tiddler through an alias (or even through many aliases).|
***/
//{{{
if(!version.extensions.TiddlerAliasPlugin){version.extensions.TiddlerAliasPlugin={major:1,minor:0,revision:0,beta:4,date:new Date(2009,2,30),source:"http://tiddlywiki.abego-software.de/Beta.html#TiddlerAliasPlugin",licence:"[[BSD open source license (abego Software)|http://www.abego-software.de/legal/apl-v10.html]]",copyright:"Copyright (c) abego Software GmbH, 2005-2009 (www.abego-software.de)"};(function(){window.abegoTiddlerAlias={lingo:{aliasPrompt:"Type alias names (i.e. alternative names for this tiddler) separated with spaces, [[use double square brackets]] if necessary"},editTemplateExtension:"<div class='editor' macro='edit alias'></div><div class='editorFooter'><span macro='message abegoTiddlerAlias.lingo.aliasPrompt'></span></div>"};var j;var k;var i;var a=true;function n(){return a}function f(q,r){var p=r.replace(/\s/g,"_");if(p!=r){q[p]=r}}function m(){var p={};store.forEachTiddler(function(v,r){var t=store.getValue(r,"alias");if(t){var u=t.parseParams("list",null,false,true);for(var q=1;q<u.length;q++){p[u[q].value]=v}}if(n()){f(p,v)}});return p}abegoTiddlerAlias.getAliases=function(){if(!store.aliases){store.aliases=m()}return store.aliases};abegoTiddlerAlias.getAliasTitle=function(q){var p=abegoTiddlerAlias.getAliases()[q];return p?p:(store.fetchTiddler(q)?q:null)};function b(p){return p.indexOf(abegoTiddlerAlias.editTemplateExtension)>=0}function d(q){if(q&&!b(q)){var p=q.lastIndexOf("</div>");if(p>=0){return q.slice(0,p+6)+"\n"+abegoTiddlerAlias.editTemplateExtension+q.slice(p+6)}}return null}function o(){j=store.fetchTiddler;store.fetchTiddler=function(q){var p=j.apply(this,arguments);if(!p&&q){q=abegoTiddlerAlias.getAliases()[q];if(q){p=j.apply(this,[q])}}return p}}function h(){k=TiddlyWiki.prototype.saveTiddler;TiddlyWiki.prototype.saveTiddler=function(){var p=k.apply(this,arguments);delete store.aliases;return p}}function l(){i=Story.prototype.displayTiddler;Story.prototype.displayTiddler=function(s,u,w,p,x,q,r,v){var t=store.fetchTiddler(u);if(t){u=t.title}return i.apply(this,[s,u,w,p,x,q,r,v])}}function c(){var q=d(config.shadowTiddlers.EditTemplate);if(q){config.shadowTiddlers.EditTemplate=q}var p=store.getTiddler("EditTemplate");if(p&&!b(p.text)){p.set(null,d(p.text))}}function e(){o();h();l();c()}if(!store){var g=restart;window.restart=function(){e();g.apply(this,arguments)}}else{e()}config.abegoTiddlerAlias=abegoTiddlerAlias})()};
//}}}
/***
!Licence and Copyright
Copyright (c) abego Software ~GmbH, 2005 ([[www.abego-software.de|http://www.abego-software.de]])
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither the name of abego Software nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
***/
/***
|Name|TiddlyCalendar + ArchiveTimeline "packed"|
|Description|Tiddlers Calendar, Date picker and Timeline archived monthly|
|Version|1.0.0 + 0.7.0|
|Source|http://ptw.sourceforge.net/ptwe.html|
|Author|BramChen (bram.chen (at) gmail (dot) com)|
|License|[[Creative Commons Attribution-ShareAlike 3.0 License]]|
|Optional|DatePlugin|
***/
//{{{
version.extensions.tCalendar={major:1,minor:0,revision:0,date:new Date("Nov 21, 2007")};function Calendar(){this.locale=Calendar.locale;this.styles=Calendar.styles;this.callback={fn:null,fnEnable:false,option:null,params:{date:null,title:null,celldate:null,cellClass:null,dateFmt:null}};return this}Calendar.locale="en";Calendar[Calendar.locale]={dates:{days:["Su","M","Tu","W","Th","F","Sa"],yearFmt:"YYYY",monthFmt:"mmm YYYY",dateFmt:"MMM DD, YYYY",longHolidayFmt:"0DD/0MM/YYYY",shortHolidayFmt:"0DD/0MM",startOfWeek:0,weekends:[true,false,false,false,false,false,true],holidays:[]}};Calendar.prototype.show=function(_1,_2,_3,_4){var y,m=new Date().getMonth()+1,c=1;c=isNaN(_4)?(isNaN(_2)&&isNaN(_3)?c:(!isNaN(_2)&&isNaN(_3)?12:c)):parseInt(_4);m=isNaN(_3)?(isNaN(_2)?m:(isNaN(_3)?1:parseInt(_3))):parseInt(_3);y=isNaN(_2)?new Date().getFullYear():parseInt(_2);this.dateFmt=(this.callback.params.dateFmt)?this.callback.params.dateFmt:Calendar[this.locale].dates.dateFmt;for(var i=0;i<c;i++){var _7=new Date(y,m-1+i,1);if((m+i)%12==1||i==0){var _8=createTiddlyElement(_1,"table",null,"calendarWrapper");var _9=createTiddlyElement(_8,"tbody");if(c>1&&m==1&&c%12==0){this.naviBar(_8,_9,_7,true)}}if(i%3==0){var tr=createTiddlyElement(_9,"tr",null,"monthRow")}var td=createTiddlyElement(tr,"td");td.vAlign="top";this.selectMonth(td,_7)}if(c>3){Calendar.dummyDateCell(tr,(3-c%3)%3,2)}};Calendar.prototype.selectMonth=function(_c,_d){var _e=_d.getFullYear();var _f=createTiddlyElement(_c,"table",null,"calendar");var _10=createTiddlyElement(_f,"tbody");this.naviBar(_c,_10,_d);if(store.isDirty()||!Calendar.tiddlers){Calendar.hashTiddlers(_d)}this.showMonth(_10,_d)};Calendar.prototype.naviBar=function(_11,_12,_13,_14){var cal=this;var _16=createTiddlyElement(createTiddlyElement(_12,"tr"),"td",null,"naviBar",null,{colSpan:7});var _17=function(s,_19,_1a){if(_1a){cal.show(s.parentNode,_19.getFullYear(),1,12);removeNode(s)}else{cal.selectMonth(s,_19,cal.dateFmt);removeNode(s.firstChild)}};var _1b=function(ev){var e=ev?ev:window.event;var _1e=null;for(var i=0,options=this.options;i<this.options.length;i++){if(options[i].selected){_1e=new Date(options[i].value)}}_17.call(this,_11,_1e,_14);return false};var _20=_13.getFullYear();var n=3;var y=_14?_20-n:_20;var m=_14?0:new Date(_13).getMonth()-n;var c=null;var _25=[];var fmt=_14?Calendar[this.locale].dates.yearFmt:Calendar[this.locale].dates.monthFmt;for(var i=0;i<n*2+1;i++){c=_14?new Date(y+i,1,1):new Date(y,m+i,1);_25.push({caption:c.formatString(fmt),name:c})}var sel=createTiddlyDropDown(_16,_1b,_25,n);sel.selectedIndex=n};Calendar.prototype.showMonth=function(_29,_2a){var _2b=new Date(_2a).getFullYear();var _2c=new Date(_2a).getMonth()+1;var _2d=new Date(_2b,_2c,0).getDate();var _2e=new Date(_2b,_2c,1).getDay();var _2f=(7+_2a.getDay()-Calendar[this.locale].dates.startOfWeek)%7;var _30=createTiddlyElement(_29,"tr");for(var i=0,ii=0,text=null;i<7;i++){ii=(Calendar[this.locale].dates.startOfWeek+i)%7;text=Calendar[this.locale].dates.days[ii];createTiddlyElement(_30,"th",null,null,text)}var d=1,dayRow=null,celldate=null,isWeekend=false;while(d<=_2d){dayRow=createTiddlyElement(_29,"tr");if(_2f>0){Calendar.dummyDateCell(dayRow,_2f,6)}for(var i=_2f;i<7&&d<=_2d;i++,d++){celldate=new Date(_2b,_2c-1,d);isWeekend=Calendar[this.locale].dates.weekends[(i+Calendar[this.locale].dates.startOfWeek)%7];this.showDate(dayRow,d,celldate,isWeekend)}_2f=0}var n=7-(7+_2e-Calendar[this.locale].dates.startOfWeek)%7;if(n<7){Calendar.dummyDateCell(dayRow,n,6)}};Calendar.prototype.showDate=function(_35,_36,_37,_38){var now=new Date();var _3a=this.dateFmt;var _3b=now.formatString(_3a);var _3c="dateCell";var _3d=_37.formatString(_3a);var day=_37.getDay();var _3f=_3b==_3d;var _40=this.isHoliday(_37);if(_3f){_3c+=" today"}if(_38){_3c+=" weekend"}if(_40){_3c+=" holiday"}var _41=createTiddlyElement(_35,"td",null,_3c);var ymd=_37.convertToLocalYYYYMMDDHHMM().substr(0,8);var _43=this.callback;var _44=_43.option;if(!_44){if(Calendar.tiddlers[ymd]){_3c+=" hasChanged";_44="popup"}else{_44="displayTiddler"}}var _45=_43.params;merge(_45,{date:_36,title:_3d,celldate:_37,cellClass:_3c,dateFmt:_3a});if(_43.fn instanceof Function&&_43.fnEnable){_43.fn(_41,_45)}else{Calendar.optionHandler(_41,_44,_45,_37)}};Calendar.prototype.isHoliday=function(_46){return Calendar[this.locale].dates.holidays.containsAny([_46.formatString(Calendar[this.locale].dates.longHolidayFmt),_46.formatString(Calendar[this.locale].dates.shortHolidayFmt)])};Calendar.dummyDateCell=function(_47,n,max){for(var i=0;i<n&&i<max;i++){createTiddlyElement(_47,"td")}};Calendar.hashTiddlers=function(_4b){if(_4b){var ymd=_4b.convertToLocalYYYYMMDDHHMM().substr(0,8)}var _4d=false;var _4e={};store.forEachTiddler(function(_4f,_50){var _51=_50.modified.convertToLocalYYYYMMDDHHMM().substr(0,8);var _52=_50.created.convertToLocalYYYYMMDDHHMM().substr(0,8);var _53=(_50.modified==_50.created);if(!_4e[_51]){_4e[_51]=[]}_4e[_51].push({title:_50.title,modified:_50.modified,ymd:_51,isCreated:_53?" isCreated":""})});this.tiddlers=_4e};Calendar.optionHandler=function(_54,_55,_56,_57){var fn=Calendar.optionType[_55];var _59=function(ev){var e=ev?ev:window.event;var fn=Calendar.optionType[_55];if(fn instanceof Function){fn.call(this,e,_54,_56)}return false};createTiddlyButton(_54,_56.date,_56.title,_59,_56.cellClass,null,null,_56)};Calendar.optionType={displayTiddler:function(e){story.displayTiddler(null,this.title)},popup:function(e,_5f){var _60=new Date(this.getAttribute("celldate"));Calendar.onClickDatePopup(e,_5f,this.title,_60)},pickDate:function(e){Calendar.pickDate.call(this,e)}};Calendar.onClickDatePopup=function(ev,_63,_64,_65){var e=ev?ev:window.event;if(store.isDirty()){Calendar.hashTiddlers(_65)}var ymd=_65.convertToLocalYYYYMMDDHHMM().substr(0,8);var _68=Calendar.tiddlers[ymd];var _69=Popup.create(_63,null,"datePopup popup");createTiddlyElement(_69,"br");this.optionHandler(_69,"displayTiddler",{title:_64,date:_64});if(_68){createTiddlyElement(_69,"hr");for(var i=0;i<_68.length;i++){this.optionHandler(createTiddlyElement(_69,"li"),"displayTiddler",{date:_68[i].title,title:_68[i].title,cellClass:_68[i].isCreated})}}Popup.show();e.cancelBubble=true;if(e.stopPropagation){e.stopPropagation()}return false};Calendar.pickDate=function(ev){var e=ev?ev:window.event;var _6d=this.getAttribute("inputId");if(_6d){var _6e=document.getElementById(_6d);if(_6e){_6e.value=this.title}}return false};config.shadowTiddlers.CalendarStyle=Calendar.styles;config.notifyTiddlers.pushUnique({name:"CalendarStyle",notify:refreshStyles});var calendar=new Calendar();var datepicker=new Calendar();config.macros.tCalendar={init:function(){var _6f=config.options.chkCalendarCallback==undefined?false:config.options.chkCalendarCallback;calendar.callback={fn:this.showDate,fnEnable:(window.showDate instanceof Function&&_6f),option:null,params:{date:null,dateFmt:null,celldate:null}}}};config.macros.tCalendar.handler=function(_70,_71,_72){var _73=_72[2]?_72[2]:(_72[1]?_72[1]:_72[0]);var _74=_72[0];var _75=isNaN(_72[1])?1:parseInt(_72[1]);var now=new Date();var y=now.getFullYear();var m=now.getMonth()+1;var c=isNaN(_72[1])?1:parseInt(_72[1]);switch(_73){case"month":case"months":m=_74=="last"?m-c:m+1;break;case"thisyear":m=1;c=12;break;case"year":case"years":y=_74=="last"?y-c:y+1;m=1;c=12*c;break;case"timeline":break;default:y=_72[0];m=_72[1];c=_72[2]}calendar.locale=config.options.txtLocale?config.options.txtLocale:Calendar.locale;calendar.locale=Calendar[calendar.locale]?calendar.locale:"en";calendar.show(_70,y,m,c)};config.macros.tCalendar.showDate=function(_7a,_7b){var _7c=(_7b.cellClass.indexOf("weekend")!=-1);window.showDate(_7a,_7b.celldate,"popup","DD",_7b.dateFmt,true,_7c)};config.macros.datePicker={onClick:function(ev){var e=ev?ev:window.event;var _7f=this.getAttribute("inputId");var _80=this.getAttribute("dateFmt");_80=_80=="null"?null:_80;datepicker.callback={fn:null,fnEnable:false,option:"pickDate",params:{inputId:_7f,dateFmt:_80}};var _81=Popup.create(this);datepicker.locale=config.options.txtLocale?config.options.txtLocale:Calendar.locale;datepicker.locale=Calendar[datepicker.locale]?datepicker.locale:"en";datepicker.show(_81);Popup.show();e.cancelBubble=true;if(e.stopPropagation){e.stopPropagation()}return false}};config.macros.datePicker.handler=function(_82,_83,_84){if(!_84){return}var id=_84[0];var _86=_84[1]?_84[1]:null;var _87={inputId:id,dateFmt:_86};var _88=createTiddlyElement(_82,"input",id);var btn=createTiddlyButton(_82,"?","Date Picker",this.onClick,"datepicker",null,null,_87)};
//}}}
//{{{
version.extensions.archivedTimeline={major:0,minor:7,revision:0,date:new Date("Aug 26, 2007"),name:"ArchivedTimeline",type:"Macro",author:"BramChen",source:"http://sourceforge.net/project/showfiles.php?group_id=150646"};config.options.txtTimelineMaxentries=0;config.macros.archivedTimeline={tooltips:"Archives sorted by ",orderBy:{modified:"modified",created:"created"},monthFormat:"0DD MMM YYYY",dateFormat:"0DD MMM YYYY"};config.macros.timeline=config.macros.archivedTimeline;config.macros.timeline.handler=function(g,c,q){var a=q[0]?q[0]:"modified";g.appendChild(document.createTextNode(this.tooltips+this.orderBy[a]));var s=store.reverseLookup("tags","excludeLists",false,a);var f="";var b="";var e="----\n";var p=0;var h=(q[1])?q[1]:config.options.txtTimelineMaxentries;h=(isNaN(h)||h<1)?0:s.length-Math.min(s.length,parseInt(h));var o=q[2]?q[2]:this.dateFormat;var r;var n;for(var k=s.length-1;k>=h;k--){var m=s[k];var d=m[a].convertToLocalYYYYMMDDHHMM().substr(0,6);var l=m[a].convertToLocalYYYYMMDDHHMM().substr(0,8);if(d!=f){if(f===""){f=d}else{g.appendChild(document.createElement("hr"));r="chktimeline"+(p++);n=this.formatString(this.monthFormat,f);var j=config.macros.slider.createSlider(g,r,n,this.tooltips+n);wikify(e,j);f=d;e="----\n"}}if(l!=b){e+=m[a].formatString(o)+"\n";b=l}e+="* [["+m.title+"]]\n"}g.appendChild(document.createElement("hr"));r="chktimeline"+(p++);n=this.formatString(this.monthFormat,f);var j=config.macros.slider.createSlider(g,r,n,this.tooltips+n);wikify(e,j);g.appendChild(document.createElement("hr"))};config.macros.timeline.formatString=function(b,a){var c=new Date(a.substr(0,4)+"/"+a.substr(4,2)+"/01");b=b.replace(/DDD|0DD|DD/g,"");return c.formatString(b)};if(!Date.prototype.convertToLocalYYYYMMDDHHMM){Date.prototype.convertToLocalYYYYMMDDHHMM=function(){return(String.zeroPad(this.getFullYear(),4)+String.zeroPad(this.getMonth()+1,2)+String.zeroPad(this.getDate(),2)+String.zeroPad(this.getHours(),2)+String.zeroPad(this.getMinutes(),2))}};
//}}}
/***
Description: Contains the stuff you need to use Tiddlyspot
Note, you also need UploadPlugin, PasswordOptionPlugin and LoadRemoteFileThroughProxy
from http://tiddlywiki.bidix.info for a complete working Tiddlyspot site
***/
//{{{
config.tiddlyspotSiteId="aid";config.options.chkHttpReadOnly=false;window.readOnly=false;window.showBackstage=true;if(window.location.protocol!="file:"){config.options.chkGTDLazyAutoSave=false}with(config.shadowTiddlers){SiteUrl="http://"+config.tiddlyspotSiteId+".tiddlyspot.com";SideBarOptions=SideBarOptions.replace(/(<<saveChanges>>)/,"$1<<tiddler TspotSidebar>>");OptionsPanel=OptionsPanel.replace(/^/,"<<tiddler TspotOptions>>");DefaultTiddlers=DefaultTiddlers.replace(/^/,"[[WelcomeToTiddlyspot]] ");MainMenu=MainMenu.replace(/^/,"[[WelcomeToTiddlyspot]] ")}merge(config.shadowTiddlers,{WelcomeToTiddlyspot:["This document is a ~TiddlyWiki from tiddlyspot.com. A ~TiddlyWiki is an electronic notebook that is great for managing todo lists, personal information, and all sorts of things.","","@@font-weight:bold;font-size:1.3em;color:#444; //What now?// @@ Before you can save any changes, you need to enter your password in the form below. Then configure privacy and other site settings at your [[control panel|http://"+config.tiddlyspotSiteId+".tiddlyspot.com/controlpanel]] (your control panel username is //"+config.tiddlyspotSiteId+"//).","<<tiddler TspotControls>>","See also GettingStarted.","",'@@font-weight:bold;font-size:1.3em;color:#444; //Working online// @@ You can edit this ~TiddlyWiki right now, and save your changes using the "save to web" button in the column on the right.',"",'@@font-weight:bold;font-size:1.3em;color:#444; //Working offline// @@ A fully functioning copy of this ~TiddlyWiki can be saved onto your hard drive or USB stick. You can make changes and save them locally without being connected to the Internet. When you\'re ready to sync up again, just click "upload" and your ~TiddlyWiki will be saved back to tiddlyspot.com.',"","@@font-weight:bold;font-size:1.3em;color:#444; //Help!// @@ Find out more about ~TiddlyWiki at [[TiddlyWiki.com|http://tiddlywiki.com]]. Also visit [[TiddlyWiki.org|http://tiddlywiki.org]] for documentation on learning and using ~TiddlyWiki. New users are especially welcome on the [[TiddlyWiki mailing list|http://groups.google.com/group/TiddlyWiki]], which is an excellent place to ask questions and get help. If you have a tiddlyspot related problem email [[tiddlyspot support|mailto:support@tiddlyspot.com]].","","@@font-weight:bold;font-size:1.3em;color:#444; //Enjoy :)// @@ We hope you like using your tiddlyspot.com site. Please email [[feedback@tiddlyspot.com|mailto:feedback@tiddlyspot.com]] with any comments or suggestions."].join("\n"),TspotControls:["| tiddlyspot password:|<<option pasUploadPassword>>|","| site management:|<<upload http://"+config.tiddlyspotSiteId+".tiddlyspot.com/store.cgi index.html . . "+config.tiddlyspotSiteId+">>//(requires tiddlyspot password)//<br>[[control panel|http://"+config.tiddlyspotSiteId+".tiddlyspot.com/controlpanel]], [[download (go offline)|http://"+config.tiddlyspotSiteId+".tiddlyspot.com/download]]|","| links:|[[tiddlyspot.com|http://tiddlyspot.com/]], [[FAQs|http://faq.tiddlyspot.com/]], [[blog|http://tiddlyspot.blogspot.com/]], email [[support|mailto:support@tiddlyspot.com]] & [[feedback|mailto:feedback@tiddlyspot.com]], [[donate|http://tiddlyspot.com/?page=donate]]|"].join("\n"),TspotSidebar:["<<upload http://"+config.tiddlyspotSiteId+".tiddlyspot.com/store.cgi index.html . . "+config.tiddlyspotSiteId+">><html><a href='http://"+config.tiddlyspotSiteId+".tiddlyspot.com/download' class='button'>download</a></html>"].join("\n"),TspotOptions:["tiddlyspot password:","<<option pasUploadPassword>>",""].join("\n")});
//}}}
/***
Author: BidiX (BidiX (at) bidix (dot) info)
License: [[BSD open source license]]
Name: LoadRemoteFileThroughProxy "packed"
Description: When the TiddlyWiki file is located on the web (view over http) the content of [[SiteProxy]] tiddler is added in front of the file url. If [[SiteProxy]] does not exist "/proxy/" is added.
***/
//{{{
version.extensions.LoadRemoteFileThroughProxy={major:1,minor:1,revision:0,date:new Date("mar 17, 2007"),source:"http://tiddlywiki.bidix.info/#LoadRemoteFileThroughProxy"};if(!window.bidix)window.bidix={};if(!bidix.core)bidix.core={};bidix.core.loadRemoteFile=loadRemoteFile;loadRemoteFile=function(a,b,c){if((document.location.toString().substr(0,4)=="http")&&(a.substr(0,4)=="http")){a=store.getTiddlerText("SiteProxy","/proxy/")+a}return bidix.core.loadRemoteFile(a,b,c)}
//}}}
/***
Name: PasswordOptionPlugin
Description: Extends TiddlyWiki options with non encrypted password option
***/
//{{{
version.extensions.PasswordOptionPlugin={major:1,minor:0,revision:2,date:new Date("Apr 19, 2007"),source:"http://tiddlywiki.bidix.info/#PasswordOptionPlugin",author:"BidiX (BidiX (at) bidix (dot) info",license:"[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D]]",coreVersion:"2.2.0 (Beta 5)"};config.macros.option.passwordCheckboxLabel="Save this password on this computer";config.macros.option.passwordInputType="password";setStylesheet(".pasOptionInput {width: 11em;}\n","passwordInputTypeStyle");merge(config.macros.option.types,{"pas":{elementType:"input",valueField:"value",eventName:"onkeyup",className:"pasOptionInput",typeValue:config.macros.option.passwordInputType,create:function(a,b,c,d,e){config.macros.option.genericCreate(a,"pas",c,d,e);config.macros.option.genericCreate(a,"chk","chk"+c,d,e);a.appendChild(document.createTextNode(config.macros.option.passwordCheckboxLabel))},onChange:config.macros.option.genericOnChange}});merge(config.optionHandlers["chk"],{get:function(a){var b=a.substr(3);if(config.options[b]){saveOptionCookie(b)}return config.options[a]?"true":"false"}});merge(config.optionHandlers,{"pas":{get:function(a){if(config.options["chk"+a]){return encodeCookie(config.options[a].toString())}else{return""}},set:function(a,b){config.options[a]=decodeCookie(b)}}});loadOptionsCookie();
/*
if(!config.options["pasPassword"]){config.options["pasPassword"]=""}merge(config.optionsDesc,{pasPassword:"Test password"});
*/
//}}}
| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |
| 28/09/2009 19:46:36 | | [[aid.tiddlyspot.com.html|file:///C:/DOKUME~1/Wolfgang/Desktop/own/aid.tiddlyspot.com.html]] | [[store.cgi|http://aid.tiddlyspot.com/store.cgi]] | . | [[index.html | http://aid.tiddlyspot.com/index.html]] | . |
/***
!~YourSearchResult Stylesheet
***/
/*{{{*/
.yourSearchResult {
position: absolute;
width: 800px;
padding: 0.2em;
list-style: none;
margin: 0;
background: #ffd;
border: 1px solid DarkGray;
z-index: 1000;
}
/*}}}*/
/***
!!Summary Section
***/
/*{{{*/
.yourSearchResult .summary {
border-bottom-width: thin;
border-bottom-style: solid;
border-bottom-color: #999999;
padding-bottom: 4px;
}
.yourSearchRange, .yourSearchCount, .yourSearchQuery {
font-weight: bold;
}
.yourSearchResult .summary .button {
font-size: 10px;
padding-left: 0.3em;
padding-right: 0.3em;
}
.yourSearchResult .summary .chkBoxLabel {
font-size: 10px;
padding-right: 0.3em;
}
/*}}}*/
/***
!!Items Area
***/
/*{{{*/
.yourSearchResult .marked {
background: none;
font-weight: bold;
}
.yourSearchItem {
margin-top: 2px;
}
.yourSearchNumber {
color: #808080;
}
.yourSearchTags {
color: #008000;
}
.yourSearchText {
color: #808080;
margin-bottom: 6px;
}
/*}}}*/
/***
!!Footer
***/
/*{{{*/
.yourSearchFooter {
margin-top: 8px;
border-top-width: thin;
border-top-style: solid;
border-top-color: #999999;
}
.yourSearchFooter a:hover{
background: none;
color: none;
}
/*}}}*/
/***
!!Navigation Bar
***/
/*{{{*/
.yourSearchNaviBar a {
font-size: 16px;
margin-left: 4px;
margin-right: 4px;
color: black;
text-decoration: underline;
}
.yourSearchNaviBar a:hover {
background-color: none;
}
.yourSearchNaviBar .prev {
font-weight: bold;
color: blue;
}
.yourSearchNaviBar .currentPage {
color: #FF0000;
font-weight: bold;
text-decoration: none;
}
.yourSearchNaviBar .next {
font-weight: bold;
color: blue;
}
/*}}}*/
/***
!Default tiddlers layout
***/
/*{{{*/
[
{id: 'tiddlerMainMenu', x: 1, y: 39, z: 1, width: 311, height: 588, collapsed: false},
{id: 'tiddlerEdit', x: 337, y: 49, z: 2, width: 644, height: 584, collapsed: false}
]
/*}}}*/
/***
|Name|Batch & TemplatedTagTools & batchTagTools - packed|
|Description|Batch framework, batchTagTools and TemplatedTagTools allow easily to create macros that work on the dislayed tiddlers. You can see them in action in the tag tab from the content section of TWkd|
|Version|0.1.0|
|Source|http://yann.perrin.googlepages.com/twkd.html|
|Author|YannPerrin|
|License|BSD open source licens|
***/
// // Batch
//{{{
if(!window.TWkd){window.TWkd={context:{}}}if(!TWkd.Batch){TWkd.Batch=function(h,i,j,k,l,m,n,o){if(n==undefined){n=true}this.macroName=h;this.label=i;this.prompt=j;this.labelIfParam=k;this.promptIfParam=l;this.action=m;this.showWhenReadOnly=n;this.ask=o;this.handler=function(a,b,c,d,e,f){if((!readOnly)||(this.showWhenReadOnly)){if(c[0]){var g=createTiddlyButton(a,this.labelIfParam.format(c),this.promptIfParam.format(c),this.operation);g.setAttribute("param",c[0])}else{var g=createTiddlyButton(a,this.label,this.prompt,this.operation);g.setAttribute("ask",this.ask)}g.setAttribute("macroName",this.macroName)}};this.operation=function(){var c=this.getAttribute("macroName");var d=this.getAttribute("param");if((!d)&&(this.getAttribute("ask")!=undefined)){var d=window.prompt(this.getAttribute("ask"))}story.forEachTiddler(function(a){var b=store.getTiddler(a);if(b){config.macros[c].action(b,d)}});store.notifyAll();if(config.options.chkAutoSave){saveChanges(true)}return(false)}}}
//}}}
// // TemplatedTagTools
//{{{
function onClickTag(e){if(!e){var e=window.event}var a=resolveTarget(e);var b=Popup.create(this);var c=this.getAttribute("tag");var d=this.getAttribute("tiddler");if(b&&c){wikify("<<tiddler TagToolTemplate with:\""+c+"\">>",b)}Popup.show(b,false);e.cancelBubble=true;if(e.stopPropagation){e.stopPropagation()}return(false)}
//}}}
//{{{
config.macros.openAll={};config.macros.openAll.handler=function(a,b,c,d,e,f){var g=config.views.wikified.tag;var h=createTiddlyButton(a,g.openAllText.format(c),g.openAllTooltip,onClickTagOpenAll);h.setAttribute("tag",c[0])};
//}}}
// // definition de TagToolTemplate
//{{{
config.shadowTiddlers.TagToolTemplate = "[[Open tag '$1'|$1]]\n<<openAll $1>>\n<<tagging $1>><<newTiddler label:\"New $1 Tiddler\" tag:\"$1\">>";
//}}}
// // batchTagTools
//{{{
config.macros.closeTagged=new TWkd.Batch("closeTagged","Close Tagged","Close Tiddlers tagged with the chosen tag","Close '%0' Tiddlers","Close Tiddlers tagged with '%0'",function(a,b){if((!b)||(a.tags.contains(b))){story.closeTiddler(a.title,true,false)}},true,"Please enter the tag of your choice");
//}}}
//{{{
config.macros.keepTagged=new TWkd.Batch("keepTagged","Keep Tagged","Close Tiddlers that are not tagged with the chosen tag","Keep '%0' Tiddlers","Close Tiddlers that are not tagged with '%0'",function(a,b){if((!b)||(!a.tags.contains(b))){story.closeTiddler(a.title,true,false)}},true,"Please enter the tag of your choice");
//}}}
//{{{
config.macros.tagDisplayed=new TWkd.Batch("tagDisplayed","New Tag","Tag displayed Tiddlers with the chosen tag","Tag as '%0'","Tag displayed Tiddlers with '%0'",function(a,b){if(!a.isTagged(b)){a.tags.push(b);story.refreshTiddler(a.title,false,true);store.setDirty(true)}},false,"Please enter the tag of your choice");
//}}}
//{{{
config.macros.untagDisplayed=new TWkd.Batch("untagDisplayed","Remove Tag","remove the chosen tag from displayed Tiddlers","Remove '%0' Tag","Remove the '%0' tag from displayed Tiddlers",function(a,b){if(a.isTagged(b)){a.tags.splice(a.tags.find(b),1);story.refreshTiddler(a.title,false,true);store.setDirty(true)}},false,"Please enter the tag of your choice");
//}}}
//{{{
config.macros.deleteTagged=new TWkd.Batch("deleteTagged","Delete Tagged","Delete displayed tiddlers tagged with the chosen tag","Delete '%0' Tiddlers","Delete diplayed Tiddlers tagged with '%0'",function(a,b){if((!b)||(a.tags.contains(b))){store.removeTiddler(a.title);story.closeTiddler(a.title,true,false)}},false,"Please enter the tag of your choice");
//}}}
/***
[[DividedListsPlugin]] ''modified''
***/
//{{{
version.extensions.DividedListsPlugin={major:1,minor:1,revision:0,date:new Date(2006,17,3),source:"http://yann.perrin.googlepages.com/twkd1.html#DividedListsPlugin"};
//}}}
/***
// //Partial Tiddler List
***/
//{{{
config.macros.listPart={};config.macros.listPart.handler=function(a,b,c,d,e,f){var g=c[0]?c[0]:"all";var h=document.createElement("ul");a.appendChild(h);if(config.macros.list[g].prompt){createTiddlyElement(h,"li",null,"listTitle",config.macros.list[g].prompt)}var i;if(config.macros.list[g].handler){i=config.macros.list[g].handler(c)}var j=new RegExp("^["+c[1]+"]","i");for(var t=0;t<i.length;t++){var k=document.createElement("li");if(typeof i[t]=="string"){if(j.test(i[t])){h.appendChild(k);createTiddlyLink(k,i[t],true)}}else{if(j.test(i[t].title)){h.appendChild(k);createTiddlyLink(k,i[t].title,true)}}}};
//}}}
// //Partial Tag List
//{{{
config.macros.tagListPart={};config.macros.tagListPart.handler=function(a,b,c,d,e,f){var g=new RegExp("^["+c[0]+"]","i");var h=store.getTags();var i=createTiddlyElement(a,"ul",null,null,null);if(h.length==0){createTiddlyElement(i,"li",null,"listTitle",config.macros.allTags.noTags)}for(var t=0;t<h.length;t++){if(g.test(h[t])){var j=createTiddlyElement(i,"li",null,null,null);var k=createTiddlyButton(j,h[t][0]+" ("+h[t][1]+")",config.macros.allTags.tooltip.format([h[t][0]]),onClickTag);k.setAttribute("tag",h[t][0])}}};
//}}}
/***
// //Defining shadow tiddlers
***/
//{{{
function defineTabShadow(a,b,c){var d="<<tabs txtTabbedList"+a+" ";for(var t=0;t<b.length;t++){d+=b[t]+" 'Tiddlers in "+b[t]+"' "+a.toUpperCase()+b[t]+" ";if(c!="TabTags"){config.shadowTiddlers[a.toUpperCase()+b[t]]="<<listPart "+a+" "+b[t]+">>"}else{config.shadowTiddlers[a.toUpperCase()+b[t]]="<<tagListPart "+b[t]+">>"}}d+=">>";config.shadowTiddlers[c]=d}tabs=["a-e","f-j","k-o","p-s","t-z","\\W"];defineTabShadow("all",tabs,"TabAll");defineTabShadow("tags",tabs,"TabTags");defineTabShadow("missing",tabs,"TabMoreMissing");defineTabShadow("orphans",tabs,"TabMoreOrphans");defineTabShadow("shadowed",tabs,"TabMoreShadowed");config.shadowTiddlers.DividedListsPluginDocumentation="Documentation for this plugin is available [[here|"+version.extensions.DividedListsPlugin.source+"Documentation]]";
//}}}
window.onClickRelatedTags = function(ev)
{
var e = ev ? ev : window.event;
var popup = Popup.create(this);
var relatedtags = [];
var tags = [];
var tag = this.getAttribute("tag");
var tiddlers = store.getTaggedTiddlers(tag);
for(var i=0; i<tiddlers.length; i++) {
tags = tiddlers[i].tags;
for(var j=0; j<tags.length; j++) {
relatedtags.pushUnique(tags[j]);
}
}
var lingo = config.views.wikified.tag;
var prompt = relatedtags.length == 0 ? lingo.labelNoRelatedTags : lingo.labelRelatedTags;
createTiddlyElement(popup,"li",null,"listTitle",prompt.format([tag]));
for(var t=0; t<relatedtags.length; t++) {
if(relatedtags[t]!==tag) {
createTagButton(createTiddlyElement(popup,"li"),relatedtags[t],tag);
}
}
Popup.show();
e.cancelBubble = true;
if (e.stopPropagation) e.stopPropagation();
return false;
}
/***
|Name|tiddlyDesktopBundle packed and ~StyleSheet definitions placed in theme tiddler|
|Description|Essential plugins for TiddlyDesktop theme modified for use with current ~TiddlyWiki version and default style (shadowed styles and templates added to a systemTheme tiddler)|
|Requires|tiddlyDesktopTheme, InlineJavascriptPlugin, OpenTaggedTiddlers, batchTagToolsBundle, TagToolTemplate|
|Source|http://www.digitaldimsum.co.uk/tiddlywiki/|
|Author|JonnyLeRoy|
***/
/***
!.FunctionDecorator
Thanks to [[Roman Porotnikov|http://www.jroller.com/page/deep/20030701]] - note: this systemConfig needs to be evaluated before other ones that use the Aspects so the name starts with "."
***/
/*{{{*/
Aspects=new Object();Aspects.addBefore=function(C,D,A){var B=C[D];C[D]=function(){return B.apply(this,A(arguments,B,this))}};Aspects.addAfter=function(B,D,C){var A=B[D];B[D]=function(){return C(A.apply(this,arguments),arguments,A,this)}};Aspects.addAround=function(C,D,A){var B=C[D];C[D]=function(){return A(arguments,B,this)}};
/*}}}*/
/***
|Name|JumpMacro|
|Author|Saq Imtiaz|
|Source|http://tw.lewcid.org/svn/plugins|
|License|http://creativecommons.org/licenses/by-sa/3.0/|
***/
/*{{{*/
config.macros.jump={};config.macros.jump.handler=function(a,b,c,d,e,f){var g=(c[0]&&c[0]!=".")?c[0]:"jump";var h=(c[1]&&c[1]!=".")?c[1]:"jump to an open tiddler";var i=(c[2]&&c[2]=="top")?true:false;var j=createTiddlyButton(a,g,h,this.onclick);if(i==true){j.setAttribute("top","true")}};config.macros.jump.onclick=function(e){if(!e){var e=window.event}var c=resolveTarget(e);var d=c.getAttribute("top");var f=Popup.create(this);if(f){if(d=="true"){createTiddlyButton(createTiddlyElement(f,"li"),"Top \u2191","Top of TW",config.macros.jump.top);createTiddlyElement(f,"hr")}story.forEachTiddler(function(a,b){createTiddlyLink(createTiddlyElement(f,"li"),a,true)})}Popup.show(f,false);e.cancelBubble=true;if(e.stopPropagation){e.stopPropagation()}return false};config.macros.jump.top=function(){window.scrollTo(0,0)};
/*}}}*/
/***
|Name|JumpMacro|
|Author|Saq Imtiaz|
|Source|http://tw.lewcid.org/svn/plugins|
|License|http://creativecommons.org/licenses/by-sa/3.0/|
***/
/*{{{*/
config.macros.jump={};config.macros.jump.handler=function(a,b,c,d,e,f){var g=(c[0]&&c[0]!=".")?c[0]:"jump";var h=(c[1]&&c[1]!=".")?c[1]:"jump to an open tiddler";var i=(c[2]&&c[2]=="top")?true:false;var j=createTiddlyButton(a,g,h,this.onclick);if(i==true){j.setAttribute("top","true")}};config.macros.jump.onclick=function(e){if(!e){var e=window.event}var c=resolveTarget(e);var d=c.getAttribute("top");var f=Popup.create(this);if(f){if(d=="true"){createTiddlyButton(createTiddlyElement(f,"li"),"Top \u2191","Top of TW",config.macros.jump.top);createTiddlyElement(f,"hr")}story.forEachTiddler(function(a,b){createTiddlyLink(createTiddlyElement(f,"li"),a,true)})}Popup.show(f,false);e.cancelBubble=true;if(e.stopPropagation){e.stopPropagation()}return false};config.macros.jump.top=function(){window.scrollTo(0,0)};
/*}}}*/
/***
!Collapse / Expand all tiddlers
***/
/*{{{*/
eval(function(p,a,c,k,e,r){e=function(c){return c.toString(36)};if('0'.replace(0,e)==0){while(c--)r[e(c)]=k[c];k=[function(e){return r[e]||e}];e=function(){return'\\w'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('2.4.9={5:"fold 6",3:"Collapse 6 p f"};2.4.9.d=0(a){b(a,1.5,1.3,0(){q.9();g 7})};o.n.9=0(){1.m(0(a,e){2.l.k.j(a,i,7)})};2.4.8={5:"h 6",3:"h 6 p f"};2.4.8.d=0(a){b(a,1.5,1.3,0(){q.8();g 7})};o.n.8=0(){1.m(0(a,e){2.l.k.j(a,7,i)})};2.4.c={5:"cascade",3:"Layout 6 open f nicely"};2.4.c.d=0(a){b(a,1.5,1.3,0(){layout.c();g 7})};',[],27,'function|this|config|prompt|macros|label|all|false|expandAll|collapseAll||createTiddlyButton|autoLayout|handler||Tiddlers|return|expand|true|toggle|collapseTiddler|commands|forEachTiddler|prototype|Story|visible|story'.split('|'),0,{}))
/*}}}*/
/***
!Collapse Tiddler
***/
/*{{{*/
eval(function(p,a,c,k,e,r){e=function(c){return c.toString(36)};if('0'.replace(0,e)==0){while(c--)r[e(c)]=k[c];k=[function(e){return r[e]||e}];e=function(){return'\\w'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('4.7.h.3={6:"-",k:"Collapse 0 x",9:"+",l:"Expand 0 x"};4.commands.3={6:4.7.h.3.6,k:4.7.h.3.k,9:4.7.h.3.9,l:4.7.h.3.l,handler:8(a,b,c){0.v(c,u,u)},v:8(a,b,c){2 d=document.getElementById(story.idPrefix+a);2 e=0.q(d);2 f=0.p(d);5(c&&f.1.y=="o"){0.n(d,f,e,"block",d.1.w,0.6,0.k)}else{5(b){5(d.1.j){d.1.w=d.1.j}0.n(d,f,e,"o",f.1.j,0.9,0.l)}}},q:8(a){2 b=a.getElementsByTagName("a");t(i s b){2 c=b[i];5(c.m==0.6||c.m==0.9){r c}}},p:8(a){2 b=a.childNodes;t(i s b){2 c=b[i];5(c&&c.className=="collapsible"){r c}}},n:8(a,b,c,d,e,f,g){b.1.y=d;c.m=f;c.setAttribute("title",g);5(typeof e!="undefined"){a.1.j=e}a.collapsed=d=="o"}};',[],35,'this|style|var|collapseTiddler|config|if|text|views|function|toggleText||||||||wikified||height|tooltip|toggleTooltip|innerHTML|toggleDisplay|none|findCollapseDiv|getCollapseLink|return|in|for|true|toggle|_0|tiddler|display'.split('|'),0,{}))
/*}}}*/
/***
!Core Drag Functionality
Borrowed from [[DOM Drag|http://www.youngpup.net]] with some changes
***/
/*{{{*/
var Drag={obj:null,init:function(B,A){B.onmousedown=Drag.start;B.root=A&&A!=null?A:B;if(isNaN(parseInt(B.root.style.left))){B.root.style.left="0px"}if(isNaN(parseInt(B.root.style.top))){B.root.style.top="0px"}B.root.onDragStart=new Function();B.root.onDragEnd=new Function();B.root.onDrag=new Function()},start:function(B){var C=Drag.obj=this;B=Drag.fixE(B);var D=parseInt(C.root.style.top);var A=parseInt(C.root.style.left);C.root.onDragStart(A,D);C.lastMouseX=B.clientX;C.lastMouseY=B.clientY;document.onmousemove=Drag.drag;document.onmouseup=Drag.end;return false},drag:function(E){E=Drag.fixE(E);var F=Drag.obj;var C=E.clientY;var D=E.clientX;var H=parseInt(F.root.style.top);var B=parseInt(F.root.style.left);var A,G;A=B+((D-F.lastMouseX)*1);G=H+((C-F.lastMouseY)*1);if(G<TiddlyDesktop.canvas.top){G=TiddlyDesktop.canvas.top}if(A+F.clientWidth<TiddlyDesktop.canvas.left){A=TiddlyDesktop.canvas.left-F.clientWidth}Drag.obj.root.style.left=A+"px";Drag.obj.root.style.top=G+"px";Drag.obj.root.clientX=A+"px";Drag.obj.root.clientY=G+"px";Drag.obj.lastMouseX=D;Drag.obj.lastMouseY=C;Drag.obj.root.onDrag(A,G);return false},end:function(){document.onmousemove=null;document.onmouseup=null;Drag.obj.root.onDragEnd(parseInt(Drag.obj.root.style.left),parseInt(Drag.obj.root.style.top));Drag.obj=null},fixE:function(A){if(typeof A=="undefined"){A=window.event}if(typeof A.layerX=="undefined"){A.layerX=A.offsetX}if(typeof A.layerY=="undefined"){A.layerY=A.offsetY}return A}};
/*}}}*/
/***
!Drag Tiddler
***/
/*{{{*/
eval(function(p,a,c,k,e,r){e=function(c){return c.toString(36)};if('0'.replace(0,e)==0){while(c--)r[e(c)]=k[c];k=[function(e){return r[e]||e}];e=function(){return'\\w'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('3 e;5 8(){f(e==2){i}e=2;3 A=2.q;A.n(2);A.l(2);9.8(2)}6.7.o=6.7.t;6.7.t=5(A,G,D,B,F){2.o(A,G,D,B,F);3 C=k.h(2.idPrefix+G);3 E=C.getElementsByTagName("div")[0];9.w(C);C.8=8;C.onmousedown=8;C.8();g.u.s.toggle(G,r,d);9.p(C,d);f(E){E.c=5(){2.4.height="1.25em"};E.c();E.ondblclick=5(H){2.c();H=fixE(H);g.u.s.handler(H,null,G);H.cancelBubble=d;f(H.j){H.j()}};Drag.init(E,C);C.onDragStart=5(H,I){2.4.a=2.4.b;2.4.b="red"};C.onDragEnd=5(H,L){2.4.b=2.4.a?2.4.a:"#999";9.p(2,r);3 I=k.h("sidebar");3 J=I.q;3 K=I.offsetTop;J.n(I);J.l(I);I.4.top=K+"px"}}};6.7.m=6.7.v;6.7.v=5(D,A,B){3 C=2.m(D,A,B);9.w(C);i C};',[],33,'||this|var|style|function|Story|prototype|bringToFront|layout|borderColor_old|borderColor|fixHeight|true|lastClicked|if|config|getElementById|return|stopPropagation|document|appendChild|old_refreshTiddler|removeChild|old_displayTiddler|add|parentNode|false|collapseTiddler|displayTiddler|commands|refreshTiddler|limitHeight'.split('|'),0,{}))
/*}}}*/
/***
!Tiddler Layout
***/
/*{{{*/
eval(function(p,a,c,k,e,r){e=function(c){return(c<62?'':e(parseInt(c/62)))+((c=c%62)<36?c.toString(36):String.fromCharCode(c+29))};if('0'.replace(0,e)==0){while(c--)r[e(c)]=k[c];k=[function(e){return r[e]||e}];e=function(){return'\\w{1,2}'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('8 U(){}U.I={i:[],add:8(C,A){h B={j:C.j,x:findPosX(C),y:findPosY(C),z:7.i.w,1b:8(){h D=Q.O(7.j);v"\\n{j: \'%0\', x: %1, y: %2, z: %3, m: %4, r: %5, W: %6}".1c([7.j,7.x,7.y,7.z,D.K,D.1a,(!!D.W)])}};7.M(C);9(A){7.J(B,C,18)}7.i.17(B);7.i.S(8(E,D){v E.x-D.x})},J:8(C,B,A){9(A){7.s(C)}B.k.J="absolute";B.k.P=C.x+"o";B.k.X=C.y+"o";B.11()},s:8(A){q(t p 7.i){h B=7.i[t];9(10.Z(B.x-A.x)<G.s.P){A.x+=G.s.P;9(10.Z(B.y-A.y)<G.s.X){A.y+=G.s.X}}}},M:8(A){q(t p 7.i){h B=7.i[t];9(B.j==A.j){7.i.splice(t,1);break}}},autoLayout:8(){h A=[];q(t p 7.i){9(7.i[t].j){A.17(7.i[t].j.Y(u.L.w))}}u.closeAllTiddlers();u.displayTiddlers(V,A.reverse())},11:8(A){h B=7.i.S(8(F,E){v F.z-E.z});h D=B.w;q(t p B){h C=B[t];9(C.j==A.j){D=C.z;C.z=B.w}T{9(C.z>D){C.z--}}}},marshall:8(){v"[%0\\n]".1c([7.i.1b()])},unmarshall:8(c){h d=eval(c).S(8(a,b){v a.z-b.z});q(t p d){9(d[t].j){h e=d[t];h f=e.j.Y(u.L.w);u.displayTiddler(V,f);h g=Q.O(e.j);7.J(e,g,19);9(e.m){g.k.m=e.m+"o";g.k.r=e.r+"o";9(e.W){config.commands.collapseTiddler.toggle(f,18,19)}T{g.l.k.m=(e.m-15)+"o";g.l.k.r=(e.r-60)+"o"}}}}},N:8(A){A.14=8(){h B=7.getElementsByTagName("div");q(d p B){h C=B[d];9(C&&C.16=="l"){7.l=C}T{9(C&&C.16=="H"){7.H=C}}}};A.N=8(){7.14();9(7.1a>400){7.l.k.r="380px"}9(7.l&&7.l.K>=7.H.K){7.l.k.m=(7.H.K-15)+"o"}};A.N()}};h 13=new U();R.I.12=R.I.1d;R.I.1d=8(D,A,C){h B=Q.O(7.L+D);9(B!=V){13.M(B)}7.12(D,A,C)};',[],76,'|||||||this|function|if||||||||var|tiddlers|id|style|scrollable|width||px|in|for|height|cascade||story|return|length||||||||||TiddlyDesktop|windowBar|prototype|position|clientWidth|idPrefix|remove|limitHeight|getElementById|left|document|Story|sort|else|Layout|null|collapsed|top|substring|abs|Math|bringToFront|old_closeTiddler|layout|findMovingParts||className|push|true|false|clientHeight|toString|format|closeTiddler'.split('|'),0,{}))
/*}}}*/
/***
!Save Layout
Save the layout to a tiddler for redisplaying later
***/
/*{{{*/
config.macros.saveLayout={label:"save layout",prompt:"Save the current layout as the default",handler:function(A,D,F,C,E,B){createTiddlyButton(A,this.label,this.prompt,this.saveLayout)},saveLayout:function(){var A="__tiddlyDesktopLayout";var C=layout.marshall();C="/***\n!Default tiddlers layout\n***/\n/*{{{*/\n"+C+"\n/*}}}*/\n";var B=store.saveTiddler(A,A,C,config.options.txtUserName,new Date(),"excludeLists");if(config.options.chkAutoSave){saveChanges()}}};config.macros.restoreLayout={label:"restore layout",prompt:"Restores the last saved layout",handler:function(A,D,F,C,E,B){createTiddlyButton(A,this.label,this.prompt,restart)}};this["restart"]=function(){var A=store.getTiddlerText("__tiddlyDesktopLayout");var B=store.getTiddlerText("DefaultTiddlers");if(window.location.hash){story.displayTiddlers(null,convertUTF8ToUnicode(decodeURI(window.location.hash.substr(1))).readBracketedList())}else{if(A){layout.unmarshall(A)}else{if(B){story.displayTiddlers(null,B.readBracketedList())}}}};
/*}}}*/
/***
!Core Sizer Functionality
Structure taken from [[DOM Drag|http://www.youngpup.net]]
***/
/*{{{*/
eval(function(p,a,c,k,e,r){e=function(c){return c.toString(36)};if('0'.replace(0,e)==0){while(c--)r[e(c)]=k[c];k=[function(e){return r[e]||e}];e=function(){return'\\w'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('4 1={5:j,c:0,d:0,b:0,9:0,init:6(B,A){B.onmousedown=1.k;B.2=A&&A!=j?A:B;B.2.onSizeStart=u s();B.2.r=u s()},k:6(A){4 B=1.5=this;A=e(A);B.2.onSizeStartPre(A);1.9=m(B.2.offsetHeight);1.b=m(B.2.offsetWidth);B.2.8.l=1.9+"7";B.2.8.n=1.b+"7";1.c=A.o;1.d=A.x;B.2.onSizeStartPost(A);3.v=3.i;3.t=3.h;3.i=1.w;3.h=1.q;f p},w:6(C){C=e(C);4 B=(C.o-1.c);4 E=(C.x-1.d);4 A=B+1.b;4 D=E+1.9;g(A<a){A=a}g(D<a){D=a}1.5.2.8.n=A+"7";1.5.2.8.l=D+"7";1.5.2.r(B,E);f p},q:6(){3.i=3.v;3.h=3.t;1.5=j}};6 e(A){g(typeof A=="undefined"){A=window.event}f A};',[],34,'|Sizer|root|document|var|obj|function|px|style|startHeight|100|startWidth|startX|startY|fixE|return|if|onmouseup|onmousemove|null|start|height|parseInt|width|clientX|false|end|onSize|Function|_1|new|_0|drag|clientY'.split('|'),0,{}))
/*}}}*/
/***
!Resize Tiddler
***/
/*{{{*/
config.macros.sizer={};config.macros.sizer.handler=function(H,G,F,E,D,C){var B=createTiddlyElement(H,"span",null,"resizer","resize me");var A=document.getElementById(story.idPrefix+C.title);Sizer.init(B,A);A.onSizeStartPre=function(){this.findMovingParts();this.scrollable.startHeight=parseInt(this.scrollable.offsetHeight);this.scrollable.startWidth=parseInt(this.scrollable.offsetWidth);this.windowBar.startHeight=parseInt(this.windowBar.clientHeight)};A.onSizeStartPost=function(){this.windowBar.fixHeight()};A.onSize=function(J,L){var I=J+this.scrollable.startWidth;var K=L+this.scrollable.startHeight;if(I<80){I=80}if(K<50){K=50}this.scrollable.style.width=I+"px";this.scrollable.style.height=K+"px";this.windowBar.fixHeight()}};
/*}}}*/
/***
!CloseAllPreOpenAllTags
Requires http://www.digitaldimsum.co.uk/#_.FunctionDecorator
***/
/*{{{*/
Aspects.addBefore(this,"onClickTagOpenAll",function(A){story.closeAllTiddlers();return A});
/*}}}*/
/***
!Tiddly Desktop
Core stuff - should move more functionality (like decorating Tiddlers) into here
***/
/*{{{*/
var TiddlyDesktop={canvas:{top:39,left:60},cascade:{top:20,left:20}};
/*}}}*/
//{{{
function checkDisplay(c){var d=c["displayMessage"];c["displayMessage"]=function(a,b){d.apply(this,arguments);setTimeout(clearMessage,10000)}}checkDisplay(this);
//}}}
//{{{
config.commands.jump.text="↗";
config.commands.closeOthers.text="☼";
config.commands.closeTiddler.text="✕"
//}}}
/***
!Configuration
Settings, Core and Backstage tweaks
***/
//{{{
config.options.txtTheme="Groundless";
config.options.txtBackupFolder="backup";
config.options.txtUserName="";
config.options.txtMaxEditRows="20";
config.options.txtTidIDEMaxEditRows="12";
config.options.chkAutoSave = false;
config.options.chkAnimate=false;
config.options.chkHttpReadOnly=false;
readOnly=false;
showBackstage=true;
config.options.chkForceMinorUpdate=true;
config.options.chkInsertTabs=true;
config.options.chkSaveBackups=false;
config.options.chkStickyPopups=true;
config.options.chkCreateDefaultBreadcrumbs=false;
config.options.chkReorderBreadcrumbs=true;
config.options.chkBreadcrumbsReverse=true;
config.options.chkShowBreadcrumbs=false;
config.options.chkShowStartupBreadcrumbs=true;
config.options.chkDisableWikiLinks = true;
config.maxTiddlerImportCount = 500;
config.macros.editSection.rows=15;
config.macros.editSection.cols=80;
config.views.editor.defaultText="";
// config.views.wikified.defaultText="";
config.commands.cancelTiddler.text="leave";
config.commands.deleteTiddler.text="erase";
config.commands.syncing.text="sync";
config.commands.fields.text="field";
config.commands.permalink.text="link";
config.commands.references.text="cite";
config.macros.refreshDisplay.label="fresh";
config.macros.closeAll.label="clear";
config.macros.permaview.label="link";
config.macros.saveChanges.label="save";
config.macros.search.label="";
config.macros.list.all.prompt="";
config.macros.list.shadowed.prompt="";
config.messages.backstage.open.text="";
merge(config.views.wikified.tag,{labelNoTags:"",labelTags:""});
merge(config.macros.tagging,{labelNotTag:"",label:""});
// merge(config.defaultCustomFields,{wikiformat:'mediawiki'});
//}}}
/***
Name: CoreTweaks ''packed''
Source: http://www.TiddlyTools.com/#CoreTweaks
Author: Eric Shulman
License: http://www.TiddlyTools.com/#LegalStatements
~CoreVersion: 2.2.4
Description: a small collection of overrides to TW core functions
adjust popup placement when root element is in scrolled DIV
***/
//{{{
window.findScrollOffsetX=function(obj){var x=0;while(obj){if(obj.scrollLeft&&obj.nodeName!="HTML"){x+=obj.scrollLeft}obj=obj.parentNode}return -x};window.findScrollOffsetY=function(obj){var y=0;while(obj){if(obj.scrollTop&&obj.nodeName!="HTML"){y+=obj.scrollTop}obj=obj.parentNode}return -y};var fn=Popup.place.toString();if(fn.indexOf("findScrollOffsetX")==-1){fn=fn.replace(/var\s*rootLeft\s*=/,"var rootLeft = window.findScrollOffsetX(root) +");fn=fn.replace(/var\s*rootTop\s*=/,"var rootTop = window.findScrollOffsetY(root) +");eval("Popup.place="+fn)};
//}}}
// // tooltip format:
//{{{
config.messages.tiddlerLinkTooltip="%0 - %1, %2 (%3 bytes)";config.messages.tiddlerLinkTooltipDate="DDD, MMM DDth YYYY 0hh12:0mm AM";config.options.txtTiddlerLinkTootip=config.options.txtTiddlerLinkTootip||config.messages.tiddlerLinkTooltip;config.options.txtTiddlerLinkTooltipDate=config.options.txtTiddlerLinkTooltipDate||config.messages.tiddlerLinkTooltipDate;Tiddler.prototype.getSubtitle=function(){var a=this.modifier;if(!a){a=config.messages.subtitleUnknown}var b=this.modified;if(b){b=b.formatString(config.options.txtTiddlerLinkTooltipDate)}else{b=config.messages.subtitleUnknown}return config.options.txtTiddlerLinkTootip.format([this.title,a,b,this.text.length])};
//}}}
// // (more/less toggle) + (wikify tiddler/slice/section content)
//{{{
merge(config.macros.toolbar,{moreLabel:"+",morePrompt:"Show additional commands",lessLabel:"-",lessPrompt:"Hide additional commands",separator:"|"});config.macros.toolbar.onClickMore=function(a){var b=this.nextSibling;b.style.display="inline";this.style.display="none";return false};config.macros.toolbar.onClickLess=function(b){var c=this.parentNode;var a=c.previousSibling;c.style.display="none";a.style.display="inline";return false};config.macros.toolbar.handler=function(g,b,f,i,d,m){for(var n=0;n<f.length;n++){var l=f[n];switch(l){case"!":createTiddlyText(g,this.separator);break;case"*":createTiddlyElement(g,"BR");break;case"<":var a=createTiddlyButton(g,this.lessLabel,this.lessPrompt,config.macros.toolbar.onClickLess,"moreCommand");break;case">":var a=createTiddlyButton(g,this.moreLabel,this.morePrompt,config.macros.toolbar.onClickMore,"moreCommand");var j=createTiddlyElement(g,"span",null,"moreCommand");j.style.display="none";g=j;break;default:var k="";switch(l.substr(0,1)){case"+":k="defaultCommand";l=l.substr(1);break;case"-":k="cancelCommand";l=l.substr(1);break}if(l in config.commands){this.createCommand(g,l,m,k)}else{if(l.substr(0,1)=="~"){l=l.substr(1)}var h=store.getTiddlerText(l);if(h){h=h.replace(/^\n*/,"").replace(/\n*$/,"");h=h.replace(/^\{\{\{\n/,"").replace(/\n\}\}\}$/,"");wikify(h,createTiddlyElement(g,"span"),null,m)}}break}}};
//}}}
// // 'double-backslash-newline' - to be embedded in line-mode wiki syntax (e.g., tables, bullets, etc.)
//{{{
window.coreWikify=wikify;window.wikify=function(a,b,c,d){if(a){arguments[0]=a.replace(/\\\\\n/mg,"<br>")}coreWikify.apply(this,arguments)};
config.formatters[config.formatters.findByField("name","rule")].match+="|<hr ?/?>\\n?";
//}}}
/***
!Backstage
adapted from http://www.tiddlytools.com/#BackstageTweaks
DO NOT USE THIS PLUGIN WITHOUT EDITING IT TO MATCH **YOUR** DOCUMENT!!!
***/
//{{{
if(config.tasks!=undefined){
config.tasks.tiddler={text:"tiddler",tooltip:"Tiddler Tweaker Panel",content:"<<tiddler TidIDEditor>>"};
config.backstageTasks.push("tiddler");
config.tasks.menu={text:"menu",tooltip:"View the Menu",content:"<<tiddler Groundless##MainMenu>>"};
config.backstageTasks.push("menu");
config.messages.backstage.open.text="";
config.glyphs.codes.bentArrowLeft=["<","<"];
config.glyphs.codes.bentArrowRight=["",""];
config.glyphs.codes.downTriangle=["..",".."];
setStylesheet("\t#backstageButton \t\t{ font-size:7pt; } \t#backstageArea \t\t{ font-size:7pt; } \t#backstagePanel #importPanel \t\t{ left:10%; right:auto; }\t","BackstageTweaks_");
}
backstage.save_init=backstage.init;
backstage.init=function(){
this.save_init.apply(this,arguments);
var _1=document.getElementById("backstageShow");
if(_1&&(addClass instanceof Function)){
addClass(_1,"mouseover");
}
};
//}}}
/***
!
Name: YourSearchBookmarklet
Version: 2.1.4
Source: http://tiddlywiki.abego-software.de/#YourSearchPlugin
Author: UdoBorkowski, XavierVergés
Licence: BSD open source license (abego Software)
Copyright: © 2005-2008 http://www.abego-software.de
Community: http://xdexavier.googlepages.com/yoursearch.html
***/
//{{{
(function(){var a=document.createElement("script");a.src="http://tiddlywiki.abego-software.de/archive/YourSearchPlugin/YourSearchPlugin.js";a.onload=function(){refreshPageTemplate();displayMessage("YourSearch has been loaded")};document.getElementsByTagName("head")[0].appendChild(a)})();
//}}}