The ReadingExperience is that within the main story column you can click on bold links to read a linked tiddler. Click on italic links within tiddlers to create a new tiddler, or use the 'new tiddler' button in the main menu. When you hover the mouse over a tiddler several ToolbarButtons appear. You can edit the text of any tiddler by double-clicking on it (or selecting 'edit' from the toolbar), but your changes won't get saved permanently until you make your own copy of TiddlyWiki, as described in SaveChanges.\n\n^^(This text comes from the original TiddlyWiki site at http://tiddlywiki.com/)^^
You can SaveChanges if you're using FireFox or InternetExplorer:\n# if you're using Windows XP you might run into ServicePack2Problems\n# right click on [[this link|empty.html]] and select 'Save link as...' or 'Save target as...'\n** do ''not'' try to use the File/Save command in your browser because of SaveUnpredictabilities.\n** choose where to save the file, and what to call it (but keep the .HTML extension)\n# open the newly downloaded file in your browser\n# click the 'options' button on the right to set your username\n# edit, create and delete the tiddlers you want\n** you can change the SpecialTiddlers to change the SiteTitle and MainMenu etc.\n# click the 'save changes' button on the right to save your changes\n** FireFox users may encounter a warning message that the ScriptIsTakingALongTime; see [[the workaround|ScriptIsTakingALongTime]]\n# TiddlyWiki will make a backup copy of the existing file, and then replace it with the new version\n\n\n^^(This text comes from the original TiddlyWiki site at http://tiddlywiki.com/)^^
http://tiddlywikitips.com/
These InterfaceOptions for customising TiddlyWiki are saved in your browser\n\nYour username for signing your edits. Write it as a WikiWord (eg JoeBloggs)\n\n<<option txtUserName>>\n<<option chkSaveBackups>> SaveBackups\n<<option chkAutoSave>> AutoSave\n<<option chkGenerateAnRssFeed>> GenerateAnRssFeed\n<<option chkRegExpSearch>> RegExpSearch\n<<option chkCaseSensitiveSearch>> CaseSensitiveSearch\n<<option chkAnimate>> EnableAnimations\nSee AdvancedOptions
// //''Name:'' moveMessageArea Plugin\n// //''Version:'' <<getversion moveMessageArea>> (<<getversiondate moveMessageArea "DD MMM YYYY">>)\n// //''Author:'' JimBarr\n\n// //''Description:'' This Plugin adds the appropriate CSS style changes to move the messageArea to the top right of the browser window, into the header.\n\nversion.extensions.moveMessageArea= { major: 1, minor: 0, revision: 0, date: new Date(2005, 08, 16)};\n\nsetStylesheet("#messageArea {position: absolute; top:5px; right:5px; border: 1px solid #DCDCDC; background-color: #FFC0C0; color: #000000; font-size: 9px; margin: 0px; padding: 0px 5px 2px 5px; } #messageArea a:link, #messageArea a:visited {color: #000000;} #messageArea a:hover {color: #FFF;background-color: #4275A8;} #messageArea a:active {color: #4275A8;} #titleLine {color: #ffffff; background-color: #6699CC; padding: 5px;padding-top:15px}", "moveMessageArea");
// Eric Shulman - ELS Design Studios\n// Table of Contents Plug-in for TiddlyWiki version 1.2.29 or above\n\n// define defaults for cookie-based option values\nif (config.options.txtTOCSortBy==undefined) config.options.txtTOCSortBy="modified";\nif (config.options.txtTOCListSize==undefined) config.options.txtTOCListSize=12;\nif (config.options.chkTOCShow==undefined) config.options.chkTOCShow=true;\n\n// define macro "tableOfContents" to render controls\nversion.extensions.tableOfContents = {major: 2, minor: 0, revision: 0, date: new Date(2005,8,7)};\nconfig.macros.tableOfContents = { label: "contents" };\n\nconfig.macros.tableOfContents.css = '\s\n.TOC { padding:0.5em 1em 0.5em 1em; }\s\n.TOC a { padding:0em 0.25em 0em 0.25em; color:inherit; }\s\n.TOCList { width: 100%; font-size:8pt; margin:0em; }\s\n';\n\nconfig.macros.tableOfContents.html = '\s\n<div style="text-align:right">\s\n <span style="float:left">\s\n <a href="JavaScript:;" id="TOCMenu" class="button" style="padding: 0em;"\s\n onclick="onClickTOCMenu(this)" title="show/hide table of contents">%label%</a>\s\n </span>\s\n <a href="JavaScript:;" id="TOCSmaller"\s\n onclick="resizeTOC(this)" title="reduce list size">–</a>\s\n <a href="JavaScript:;" id="TOCLarger"\s\n onclick="resizeTOC(this)" title="increase list size">+</a>\s\n <a href="JavaScript:;" id="TOCMaximize"\s\n onclick="resizeTOC(this)" title="maximize/restore list size">=</a>\s\n</div>\s\n';\n\nconfig.macros.tableOfContents.handler = function(place,macroName,params) { \n setStylesheet(config.macros.tableOfContents.css,"tableOfContents");\n var newTOC=createTiddlyElement(place,"div",null,"TOC",null)\n var theLabel=this.label;\n if (params[0] && (params[0].substr(0,6)=="label:")) theLabel=(params.shift()).substr(6);\n newTOC.innerHTML=config.macros.tableOfContents.html.replace(/%label%/,theLabel);\n refreshTOCList(createTOCList(newTOC,params));\n document.getElementById('sidebarTabs').style.display=(params[0]=="showtabs")?"block":"none";\n if (!store.blanketNotifications.find(reloadTOCLists))\n store.addNotification(null,reloadTOCLists); // reload listbox after every tiddler change\n}\n\n// IE needs explicit global scoping for functions/vars called from browser events\nwindow.onChangeTOCList=onChangeTOCList;\nwindow.onDblClickTOCList=onDblClickTOCList;\nwindow.reloadTOCLists=reloadTOCLists;\nwindow.refreshTOCList=refreshTOCList;\nwindow.onClickTOCMenu=onClickTOCMenu;\nwindow.resizeTOC=resizeTOC;\n \nfunction createTOCList(place,params)\n{\n var theList = createTiddlyElement(place,"select",null,"TOCList",null)\n theList.onchange=onChangeTOCList;\n theList.ondblclick=onDblClickTOCList;\n theList.style.display=config.options.chkTOCShow ? "block" : "none" ;\n theList.sortBy=config.options.txtTOCSortBy;\n theList.dateFormat="DD MMM YYYY";\n theList.requestedSize=config.options.txtTOCListSize;\n if (params[0] && (params[0].substr(0,5)=="sort:"))\n { theList.sortBy=(params.shift()).substr(5); theList.noSortCookie=true; }\n if (params[0] && (params[0].substr(0,5)=="date:"))\n { theList.dateFormat=(params.shift()).substr(5); }\n if ((params[0]=="size:auto")||(params[0]=="size:0"))\n { theList.autosize=true; params.shift(); theList.noSizeCookie=true; }\n if (params[0] && (params[0].substr(0,5)=="size:"))\n { theList.requestedSize=(params.shift()).substr(5); theList.noSizeCookie=true; }\n if (params[0] && (params[0].substr(0,6)=="width:"))\n { theList.style.width=(params.shift()).substr(6); }\n if (params[0]=="hidelist")\n { theList.style.display ="none" ; params.shift(); theList.noShowCookie=true; }\n return theList;\n}\n\nfunction onChangeTOCList()\n{\n var thisTiddler=this.options[this.selectedIndex].value;\n if ((this.size==1)&&(thisTiddler!=''))\n displayTiddler(document.getElementById('sidebar'),thisTiddler,0,null,null,false);\n refreshTOCList(this);\n return false;\n}\n\nfunction onDblClickTOCList()\n{\n var thisTiddler=this.options[this.selectedIndex].value;\n if (thisTiddler!='')\n displayTiddler(document.getElementById('sidebar'),thisTiddler,0,null,null,false);\n return false;\n}\n\nfunction reloadTOCLists()\n{\n var all=document.all? document.all : document.getElementsByTagName("*");\n for (var i=0; i<all.length; i++)\n if (all[i].className=="TOCList")\n { all[i].selectedIndex=-1; refreshTOCList(all[i]); }\n}\n\nfunction refreshTOCList(theList)\n{\n var selectedIndex = theList.selectedIndex;\n if (selectedIndex==-1) selectedIndex=0;\n var sortBy = theList.sortBy;\n\n if (selectedIndex==0) sortBy=theList.sortBy; // "nnn tiddlers" heading\n if (selectedIndex==1) sortBy='title';\n if (selectedIndex==2) sortBy='modified';\n if (selectedIndex==3) sortBy='modifier';\n if (selectedIndex==4) sortBy='tags';\n if (selectedIndex==5) sortBy='missing';\n if (selectedIndex==6) sortBy='orphans';\n if (selectedIndex==7) sortBy='system';\n if (selectedIndex>7)\n {\n if (theList.options[theList.selectedIndex].value=='')\n expandTOC(theList);\n return;\n }\n theList.sortBy = sortBy;\n if (!theList.noSortCookie)\n { config.options.txtTOCSortBy=sortBy; saveOptionCookie("txtTOCSortBy"); }\n\n // get the list of tiddlers\n var tiddlers = store.getTiddlers(sortBy);\n if (sortBy=="missing") tiddlers = store.getMissingLinks();\n if (sortBy=="orphans") tiddlers = store.getOrphans();\n if (sortBy=="tags") tiddlers = store.getTags();\n if (sortBy=="system")\n {\n tiddlers=new Array();\n var temp = store.getTaggedTiddlers("systemTiddlers");\n for (var t in temp) if (temp[t].title!=undefined) tiddlers.pushUnique(temp[t].title,true);\n var temp = store.getTaggedTiddlers("systemConfig");\n for (var t in temp) if (temp[t].title!=undefined) tiddlers.pushUnique(temp[t].title,true);\n for (var t in config.shadowTiddlers) tiddlers.pushUnique(t,true);\n tiddlers.sort();\n }\n\n var indent=String.fromCharCode(160)+String.fromCharCode(160);\n\n // clear current list contents\n while (theList.length > 0) { theList.options[0] = null; }\n theList.saved=null;\n\n // add heading and control items to list\n var i=0;\n var theHeading=tiddlers.length+' tiddlers:';\n if (sortBy=='missing') theHeading=tiddlers.length+' missing tiddlers:';\n if (sortBy=='orphans') theHeading=tiddlers.length+' orphaned tiddlers:';\n if (sortBy=='tags') theHeading=tiddlers.length+' tags:';\n if (sortBy=='system') theHeading=tiddlers.length+' system tiddlers:';\n theList.options[i++]=new Option(theHeading,'',false,false);\n theList.options[i++]=new Option(((sortBy=="title" )?">":indent)+' [by title]', '',false,false);\n theList.options[i++]=new Option(((sortBy=="modified")?">":indent)+' [by date]', '',false,false);\n theList.options[i++]=new Option(((sortBy=="modifier")?">":indent)+' [by author]','',false,false);\n theList.options[i++]=new Option(((sortBy=="tags" )?">":indent)+' [by tags]', '',false,false);\n theList.options[i++]=new Option(((sortBy=="missing" )?">":indent)+' [missing]', '',false,false);\n theList.options[i++]=new Option(((sortBy=="orphans" )?">":indent)+' [orphans]', '',false,false);\n theList.options[i++]=new Option(((sortBy=="system" )?">":indent)+' [system]', '',false,false);\n // output the tiddler list\n switch(sortBy)\n {\n case "title":\n for (var t = 0; t < tiddlers.length; t++)\n theList.options[i++] = new Option(tiddlers[t].title,tiddlers[t].title,false,false);\n break;\n case "modified":\n // sort descending for newest date first\n tiddlers.sort(function (a,b) {if(a['modified'] == b['modified']) return(0); else return (a['modified'] > b['modified']) ? -1 : +1; });\n // continue with same logic as for 'modifier'...\n case "modifier":\n var lastSection = "";\n for (var t = 0; t < tiddlers.length; t++)\n {\n var tiddler = tiddlers[t];\n var theSection = "";\n if (sortBy=="modified") theSection = tiddler.modified.formatString(theList.dateFormat);\n if (sortBy=="modifier") theSection = tiddler.modifier;\n if (theSection != lastSection)\n {\n theList.options[i++] = new Option('+ '+theSection,"",false,false);\n lastSection = theSection;\n }\n theList.options[i++] = new Option(indent+indent+tiddler.title,tiddler.title,false,false);\n }\n expandTOC(theList);\n break;\n case "tags":\n // tagged tiddlers, by tag\n var lastSection = "";\n for (var t = 0; t < tiddlers.length; t++)\n {\n var theSection = tiddlers[t][0];\n var tagged = store.getTaggedTiddlers(theSection);\n if (theSection != lastSection)\n {\n theList.options[i++] = new Option('+ '+theSection+" ("+tiddlers[t][1]+")","",false,false);\n lastSection = theSection;\n }\n for(var r in tagged)\n if (tagged[r].tags!=undefined)\n theList.options[i++] = new Option(indent+indent+tagged[r].title,tagged[r].title,false,false);\n }\n // count untagged tiddlers\n tiddlers = store.getTiddlers("title");\n var c=0;\n for(var r in tiddlers) if ((tiddlers[r].tags!=undefined) && (tiddlers[r].tags.length==0)) c++;\n // create 'pseudo-tag' listing untagged tiddlers (if any)\n if (c>0)\n {\n theList.options[i++] = new Option("+ untagged ("+c+")","",false,false);\n for(var r in tiddlers)\n if ((tiddlers[r].tags!=undefined) && (tiddlers[r].tags.length==0))\n theList.options[i++] = new Option(indent+indent+tiddlers[r].title,tiddlers[r].title,false,false);\n }\n expandTOC(theList);\n break;\n case "missing":\n case "orphans":\n case "system":\n for (var t = 0; t < tiddlers.length; t++)\n theList.options[i++] = new Option(tiddlers[t],tiddlers[t],false,false);\n break;\n }\n theList.selectedIndex=selectedIndex; // select current control item\n theList.size = (theList.autosize)?theList.options.length:theList.requestedSize;\n}\n\n// show/hide branch of TOCList based on current selection\nfunction expandTOC(theList)\n{\n var selectedIndex = theList.selectedIndex;\n if (selectedIndex==-1) selectedIndex=0;\n var sortBy = theList.sortBy;\n\n // don't expand for alpha-sorted "flatlist" TOC contents\n // or list control items\n if ((sortBy=="title")||(sortBy=="missing")||(sortBy=="orphans")||(sortBy=="system"))\n return;\n if ((selectedIndex>0)&&(selectedIndex<=7))\n return;\n\n var theText = theList.options[selectedIndex].text;\n var theValue = theList.options[selectedIndex].value;\n // save fully expanded list contents (if not already saved)\n if (!theList.saved)\n {\n theList.saved = new Array();\n for (var i=0; i < theList.length; i++)\n {\n opt = theList.options[i];\n theList.saved[i] = new Option(opt.text, opt.value, opt.defaultSelected, opt.selected);\n }\n }\n // clear current list contents\n while (theList.length > 0) { theList.options[0] = null; }\n // put back heading items until item text matches current selected heading\n var i=0;\n for (var t=0; t<theList.saved.length; t++)\n {\n opt=theList.saved[t];\n if (opt.value=='')\n theList.options[i++] = new Option(opt.text,opt.value,opt.defaultSelected,opt.selected);\n if (opt.text==theText)\n break;\n }\n var selectedIndex=i-1; // this is the NEW index of the current selected heading\n // put back items with value!='' until value==''\n for ( t++; t<theList.saved.length; t++)\n {\n opt=theList.saved[t];\n if (opt.value!='')\n theList.options[i++] = new Option(opt.text,opt.value,opt.defaultSelected,opt.selected);\n if (opt.value=='')\n break;\n }\n // put back remaining items with value==''\n for ( ; t<theList.saved.length; t++)\n {\n opt=theList.saved[t];\n if (opt.value=='')\n theList.options[i++] = new Option(opt.text,opt.value,opt.defaultSelected,opt.selected);\n }\n theList.selectedIndex = selectedIndex;\n theList.size = (theList.autosize)?theList.options.length:theList.requestedSize;\n}\n\n// these functions process clicks on the 'control links' the are displayed above the listbox\nfunction getTOCListFromButton(which)\n{\n var theList = null;\n switch (which.id)\n {\n case 'TOCMenu':\n var theSiblings = which.parentNode.parentNode.parentNode.childNodes;\n var thePlace=which.parentNode.parentNode.parentNode.parentNode.parentNode.id;\n break;\n case 'TOCSmaller':\n case 'TOCLarger':\n case 'TOCMaximize':\n var theSiblings = which.parentNode.parentNode.childNodes;\n var thePlace=which.parentNode.parentNode.parentNode.parentNode.id;\n break;\n }\n for (k=0; k<theSiblings.length; k++)\n if (theSiblings[k].className=="TOCList") { theList=theSiblings[k]; break; }\n // DEBUG if (theList) alert('found '+theList.className+' for '+which.id+' button in '+thePlace);\n return theList;\n}\n\nfunction onClickTOCMenu(which)\n{\n var theList=getTOCListFromButton(which);\n if (!theList) return;\n var opening = theList.style.display=="none";\n if(config.options.chkAnimate)\n anim.startAnimating(new Slider(theList,opening,false,"none"));\n else\n theList.style.display = opening ? "block" : "none" ;\n if (!theList.noShowCookie)\n { config.options.chkTOCShow = opening; saveOptionCookie("chkTOCShow"); }\n return(false);\n}\n\nfunction resizeTOC(which)\n{\n var theList=getTOCListFromButton(which);\n if (!theList) return;\n\n var size = theList.size;\n if (theList.style.display=="none") // make sure list is visible\n if(config.options.chkAnimate)\n anim.startAnimating(new Slider(theList,true,false,"none"));\n else\n theList.style.display = "block" ;\n switch (which.id)\n {\n case 'TOCSmaller': // decrease current listbox size\n if (theList.autosize) { theList.autosize=false; size=config.options.txtTOCListSize; }\n if (size==1) break;\n size -= 1; // shrink by one line\n theList.requestedSize = theList.size = size;\n break;\n case 'TOCLarger': // increase current listbox size\n if (theList.autosize) { theList.autosize=false; size=config.options.txtTOCListSize; }\n if (size>=theList.options.length) break;\n size += 1; // grow by one line\n theList.requestedSize = theList.size = size;\n break;\n case 'TOCMaximize': // toggle autosize\n theList.autosize = (theList.size!=theList.options.length);\n theList.size = (theList.autosize)?theList.options.length:theList.requestedSize;\n break;\n }\n if (!theList.noSizeCookie && !theList.autosize)\n { config.options.txtTOCListSize=size; saveOptionCookie("txtTOCListSize"); }\n}\n
<<search>><<closeAll>><<slider chkSliderOptionsPanel OptionsPanel options 'Change TiddlyWiki advanced options'>><<tableOfContents "label:all tiddlers" sort:title size:1>>
MamboTiddlyWiki
TIddlyWiki in a Mambo Wrapper!
<<toolbarDone>><<toolbarCancel>><<toolbarDelete>><<toolbarDuplicate>>
\n// //''Please note that I am posting this tiddler for demo purposes only. I haven't fully released the code as I'm awaiting some upcoming changes to ~TiddlyWiki.''\n\n// //''This tiddler demonstrates how you can add, remove & rearrange toolbar buttons using a macro approach. This tiddler (the one you are reading now) is the only "required" addition to ~TiddlyWiki 1.2.28 to allow a customizable toolbar.''\n\n// //''By replacing the createTiddlerToolbar function in the hard code and creating new macros that emulate each toolbar button, you can now add or rearrange both the editing and viewing toolbars. Folks, it's just a matter of time before you can have one toolbar set for editors and one for web viewers!''\n\n// //''To create your own toolbars (you can even try it live on this website), simply edit the two new tiddlers, called EditorToolbar and ViewerToolbar (no special tags are necessary for either of these tiddlers). Then use the following macro references to add buttons in the order that you desire:''\n\n// //''Viewing toolbar:'' <<toolbarClose>> <<toolbarEdit>> <<toolbarCollapse>> <<toolbarCloseOthers>> <<toolbarPermalink>> <<toolbarReferences>> \n// //''Editing Toolbar:'' <<toolbarDone>> <<toolbarCancel>> <<toolbarSpellCheck>> <<toolbarDuplicate>> <<toolbarDelete>> <<toolbarEditHelp>>\n// //''Note: these buttons will not work properly from within tiddlers, they will only work when displayed in the toolbar area.''\n\n// // ''Code Section''\n\n// //''Macro Declarations'' (some repeated from the original code)\nconfig.macros.toolbarClose = {};\nconfig.macros.toolbarEdit = {};\nconfig.macros.toolbarPermalink = {};\nconfig.macros.toolbarReferences = {};\nconfig.macros.toolbarDone = {};\nconfig.macros.toolbarCancel = {};\nconfig.macros.toolbarDelete = {};\n\n// //''Steve's additions''\nconfig.macros.toolbarEncrypt = {};\nconfig.macros.toolbarDecrypt = {};\nconfig.macros.toolbarEditDecrypt = {};\n\n\n// //''Corresponding Macro functions''\nconfig.macros.toolbarClose.handler = function(place)\n{\n lingo = config.views.wikified;\n createTiddlyButton(place,lingo.toolbarClose.text,lingo.toolbarClose.tooltip,onClickToolbarClose,null,null,"toolbarClose");\n}\n\nconfig.macros.toolbarEdit.handler = function(place,macroName,params)\n{\n lingo = config.views.wikified;\n createTiddlyButton(place,lingo.toolbarEdit.text,lingo.toolbarEdit.tooltip,onClickToolbarEdit);\n}\n\nconfig.macros.toolbarPermalink.handler = function(place,macroName,params)\n{\n lingo = config.views.wikified;\n createTiddlyButton(place,lingo.toolbarPermalink.text,lingo.toolbarPermalink.tooltip,onClickToolbarPermaLink);\n}\n\nconfig.macros.toolbarReferences.handler = function(place,macroName,params)\n{\n lingo = config.views.wikified;\n createTiddlyButton(place,lingo.toolbarReferences.text,lingo.toolbarReferences.tooltip,onClickToolbarReferences);\n}\n\nconfig.macros.toolbarDone.handler = function(place,macroName,params)\n{\n lingo = config.views.editor;\n createTiddlyButton(place,lingo.toolbarDone.text,lingo.toolbarDone.tooltip,onClickToolbarSave);\n}\n\nconfig.macros.toolbarCancel.handler = function(place,macroName,params)\n{\n lingo = config.views.editor;\n createTiddlyButton(place,lingo.toolbarCancel.text,lingo.toolbarCancel.tooltip,onClickToolbarUndo);\n}\n\nconfig.macros.toolbarDelete.handler = function(place,macroName,params)\n{\n lingo = config.views.editor;\n createTiddlyButton(place,lingo.toolbarDelete.text,lingo.toolbarDelete.tooltip,onClickToolbarDelete);\n}\n\nconfig.macros.toolbarEncrypt.handler = function(place,macroName,params)\n{\n lingo = config.views.editor;\ncreateTiddlyButton(place,lingo.toolbarEncrypt.text,lingo.toolbarEncrypt.tooltip,onClickToolbarEncrypt);\n}\n\nconfig.macros.toolbarEditDecrypt.handler = function(place,macroName,params)\n{\n lingo = config.views.editor;\ncreateTiddlyButton(place,lingo.toolbarDecrypt.text,lingo.toolbarDecrypt.tooltip,onClickToolbarEditDecrypt);\n}\n\nconfig.macros.toolbarDecrypt.handler = function(place,macroName,params)\n{\n lingo = config.views.wikified;\ncreateTiddlyButton(place,lingo.toolbarDecrypt.text,lingo.toolbarDecrypt.tooltip,onClickToolbarDecrypt);\n}\n\n// //''Replaced TW functions''\nwindow.createTiddlerToolbar = function createTiddlerToolbar(title,isEditor)\n{\n var theToolbar = document.getElementById("toolbar" + title);\n if(theToolbar)\n {\n removeChildren(theToolbar);\n if(isEditor)\n {\n // Editor toolbar\n wikify(store.getTiddlerText("EditorToolbar"),theToolbar,null,null);\n }\n else\n {\n // Viewer toolbar\n wikify(store.getTiddlerText("ViewerToolbar"),theToolbar,null,null);\n }\n }\n}\n\n// //''Shadowed tiddlers (in case they don't yet exist)''\nconfig.shadowTiddlers.ViewerToolbar = "<<toolbarClose>> <<toolbarEdit>> <<toolbarCollapse>> <<toolbarCloseOthers>> <<toolbarPermalink>> <<toolbarReferences>>";\nconfig.shadowTiddlers.EditorToolbar = "<<toolbarDone>> <<toolbarCancel>> <<toolbarSpellCheck>> <<toolbarDuplicate>> <<toolbarDelete>> <<toolbarEditHelp>>";\nconfig.shadowTiddlers.EditingHelp = "Click on each topic below to see formatting instructions and examples:\sn<<listTags formatting title *>>";\n\n// // Function to dynamically handle changes to the special toolbar tiddlers\nfunction refreshToolbars()\n{\n clearMessage();\n var place = document.getElementById("tiddlerDisplay");\n var tiddler = place.firstChild;\n var nextTiddler;\n while(tiddler)\n {\n nextTiddler = tiddler.nextSibling;\n if(tiddler.id)\n if(tiddler.id.substr(0,7) == "tiddler")\n {\n var title = tiddler.id.substr(7);\n createTiddlerToolbar(title,false)\n }\n tiddler = nextTiddler;\n }\n}\n\n// // Additional notifications for toolbar layout changes\nstore.addNotification("ViewerToolbar",function(){refreshToolbars()});\nstore.addNotification("EditorToolbar",function(){refreshToolbars()});\n\n
<<newTiddler>>\nViewerToolbar\n^^[[edit menu|MainMenu]]^^
<<toolbarClose>><<toolbarReferences>>
#tiddlerNotes .title {background-color: #FFCD62; color: #6A6A6A}\ndiv[tags~="todo"].viewer {background-color: #FFF5DC;}\nhr { border: none; border-top: dotted 1px #777; height: 1px; color: #777;margin: 7px 0;}\nbody {font: 10pt sans-serif, "Lucida Grande", "Trebuchet MS", "Bitstream Vera Sans", Verdana, Helvetica;}\n#popup { background-color: #4275A8; color: #FFF;border-right: 2px solid #BCBCBC;border-bottom: 2px solid #BCBCBC;}\n#popup a {color: #EEE;}\n#popup a:hover {background-color: #6699CC;color: #FFF;}\n.toolbar {position:relative;top:19px;left:-1px;border-bottom: 2px solid #DCDCDC;border-right: 2px solid #DCDCDC; background-color: #EEE; color:#000; height:16px;padding-top:2px;margin-left:250px;padding-right:0}\n.toolbar A{color: #4275A8;}\n.toolbar A:active {color: #ffffff;background-color: #4275A8;}\n.toolbar A:hover {color: #ffffff;background-color: #6699CC;}\n.toolbar #popup {background-color: #4275A8; color: #FFF;border-right: 2px solid #BCBCBC;border-bottom: 2px solid #BCBCBC; width: 100%;}\n.toolbar #popup a {color: #EEE;}\n.toolbar #popup a:hover {background-color: #6699CC;color: #FFF;}\n.tiddler .button:active {background-color: #FFF;color: #4275A8;}\n.tiddler .button {color: #6699CC; border-left: 1px solid #CFCFCF; border-right: 2px solid #CFCFCF;border-top: 1px solid #CFCFCF; border-bottom: 2px solid #CFCFCF;}\n.tiddler .button:hover {background-color: #6699CC;color: #FFF; border-right: 1px solid #CFCFCF; border-left: 2px solid #CFCFCF;border-top: 2px solid #CFCFCF; border-bottom: 1px solid #CFCFCF;}\n.selectedTiddler {padding: 0px 1px 0px 1px;}\n.unselectedTiddler {padding: 0px 1px 0px 1px;}\n\n#mainMenu {position:absolute; top: 5em; left: 1px; width: 12em; background-color:#EEE;color: #4275A8; font-size: 9pt; border: 1px solid #555; padding: 0px;}\n#mainMenu .tiddlyLink {color: #4275A8;}\n#mainMenu h1 { font-size:11pt;}\n#mainMenu h1 .tiddlyLink{ font-size:11pt;color:#FFF}\n#mainMenu h2 { font-size:10pt;}\n#mainMenu h2 .tiddlyLink { font-size:10pt;color:#FFF}\n#mainMenu .tiddlyLink:hover {background-color: #4275A8;color: #ffffff;}\n#mainMenu .externalLink:hover {background-color: #4275A8;color: #ffffff; text-decoration: underline;}\n#mainMenu .externalLink{color: #4275A8;text-decoration: none}\n\n#titleLine {color: #ffffff; background-color: #6699CC; padding: 5px;padding-top:15px}\n.editor input {font-family: Courier, MS Courier New, Prestige, Everson Mono; background:#ffe; border:solid #aa9 2px; margin:4px; font-size: 8pt;}\n.editor textarea {font-family: Courier, MS Courier New, Prestige, Everson Mono; background:#ffe; border:solid #aa9 2px; margin:4px; font-size: 8pt; height: 350;}\n\n.title {font-size: 10pt; font-weight: bold; background-color:#D6E7FF; color:#4275A8;display:inline;margin:0px;padding-left:30px;padding-right:30px; border: 1px solid #DCDCDC;}\n.viewer h1,h2,h3,h4,h5,h6 {background-color: #D6E7FF; color:#000000; text-align:left}\n.viewer{padding:10px;border: 1px solid #DCDCDC;background-color:#F2F2F2;z-index: -2;}\n.viewer a:link, .body a:visited {text-decoration: none; color: #4275A8;}\n.viewer a:hover { color: #ffffff; background-color: #4275A8;}\n.viewer table {border-collapse: collapse;border: 2px solid #303030; font-size: 9pt; margin: 5px;}\n.viewer th {background: #DEDEDE;border: 1px solid #aaa;color:#000;padding: 3px; font-size: 9pt}\n.viewer td {border: 1px solid #aaa;padding: 3px; font-size: 9pt}\n.viewer caption {padding: 3px; font-size: 11pt}\n.viewer hr { border: none; border-top: dotted 1px #777; height: 1px; color: #777;margin: 7px 0;}\n.viewer pre { border:1px solid #CBCBCB; margin:5px;padding: 2px;background: #EAEAEA;color:#3C6FA2;}\n.viewer code {background: #EAEAEA;color:#3C6FA2;}\n.viewer input { border: 0px solid black;color:#4275A8;}\n.viewer #popup {background-color: #4275A8; color: #FFF;border-right: 2px solid #BCBCBC;border-bottom: 2px solid #BCBCBC;}\n.viewer #popup a {color: #6699CC;}\n.viewer #popup a:hover {background-color: #6699CC;color: #FFF;}\n.viewer .button {background-color: transparent;}\n.viewer .button:active {background-color: #FFF;color: #4275A8;}\n.viewer .button:hover {background-color: #6699CC;color: #FFF;}\n.sparkline {background-color: transparent;border: none;}\n.sparktick {background-color: #6699CC;outline: 0;}\n\n#sidebar {position:absolute; top:10em; left: 1px; width: 12em; background-color:#EEE;color: #000; font-size: 9pt; border: 1px solid #555; padding: 0px;}\n#sidebar input { border: 1px solid black;background-color:#FFF; color:#4275A8;}\n#sidebar a {color: #4275A8;}\n#sidebar a:active {background-color: #FFF;color: #4275A8;}\n#sidebar a:hover {background-color: #6699CC;color: #FFF;}\n\n#sidebarOptions {padding-top: 3px; background-color: #FBFBFB;color:#000;}\n#sidebarOptions .button {color: #6699CC;}\n#sidebarOptions .button:active {background-color: #FFF;color: #4275A8;}\n#sidebarOptions .button:hover {background-color: #6699CC;color: #FFF;}\n#sidebarOptions .sliderPanel {background-color:#DCDCDC;}\n#sidebarOptions .sliderPanel A {color: #4275A8;}\n#sidebarOptions .sliderPanel A:active {color: #FFF;background-color: #4275A8;}\n#sidebarOptions .sliderPanel A:hover {color: #FFF;background-color: #6699CC;}\n.sidebarSubHeading {font-size: 7pt;color: #FBFBFB;}\n#sidebarTabs { color: #000; background-color: #FBFBFB; padding: 0px 3px 3px 3px;}\n#sidebarTabs a {color: #4275A8;}\n#sidebarTabs a:hover {color: #FFF; background-color: #4275A8;}\n#sidebarTabs a:active {color: #000; background-color: #4275A8;}\n#sidebarTabs .tabSelected {border-top: 1px solid #555; border-left: 1px solid #555; border-right: 1px solid #555; border-bottom: 0px solid #555; background-color: #F2F2F2; padding: 0px 3px 3px 3px; font-weight: bold; color:4275A8; }\n#sidebarTabs .tabUnselected {border-top: 1px solid #555; border-left: 1px solid #555; border-right: 1px solid #555; border-bottom: 0px solid #555; background-color: #DCDCDC; color: #4275A8; padding: 0px 3px 0px 3px; }\n#sidebarTabs .tabContents {border: 1px solid #555; padding: 0px 3px 3px 3px; background-color: #EEEEEE;}\n#sidebarTabs .tabContents span {font-weight: bold;}\n#sidebarTabs .tabContents .tiddlyLink {color: #4275A8;}\n#sidebarTabs .tabContents .tiddlyLink:hover {color: #FFF;background-color: #4275A8;}\n#sidebarTabs .txtMoreTab .tabSelected {border-top: 1px solid #555; border-left: 1px solid #555; border-right: 1px solid #555; border-bottom: 0px solid #555; font-weight: bold; color: #4275A8; background-color: #F2F2F2; padding: 0px 3px 3px 3px; }\n#sidebarTabs .txtMoreTab .tabUnselected {border-top: 1px solid #555; border-left: 1px solid #555; border-right: 1px solid #555; border-bottom: 0px solid #555; font-weight: normal; color: #4275A8; background-color: #DCDCDC; padding: 0px 3px 0px 3px;}\n#sidebarTabs .txtMoreTab .tabContents { color: #000;background-color: #EEEEEE;}\n#sidebarTabs .txtMoreTab .tabContents .tiddlyLink {color: #4275A8;}\n#sidebarTabs .txtMoreTab .tabContents .tiddlyLink:hover {color: #FFFFFF;}\n#sidebarTabs .tabContents .button {color: #4275A8;}\n#sidebarTabs .tabContents .button:active {background-color: #FFF;color: #4275A8;}\n#sidebarTabs .tabContents .button:hover {background-color: #6699CC; color: #FFF;}\n#sidebarTabs .tabContents #popup {background-color: #4275A8; color: #FFF;border-right: 2px solid #BCBCBC; border-bottom: 2px solid #BCBCBC;}\n#sidebarTabs .tabContents #popup a {color: #EEE;}\n#sidebarTabs .tabContents hr{color: #FFF;}\n#sidebarTabs .tabContents #popup a:hover {background-color: #6699CC;color: #FFF;}\n#SidebarTabs .listTitle {font-weight: bold; color: #4275A8;}\n
window.createTiddlerViewer_orig_mptw_autopre = window.createTiddlerViewer;\nwindow.createTiddlerViewer = function(title,highlightText,highlightCaseSensitive) {\n var theBody = document.getElementById("body" + title);\n if(theBody) {\n var tiddler = store.tiddlers[title];\n if (typeof tiddler != "undefined" &&\n (title=="StyleSheet"\n || tiddler.getTags().indexOf("systemConfig") != -1\n || tiddler.getTags().indexOf("ExtraStyleSheet") != -1\n // TODO: should be configurable in config instead of hard coded here...\n )\n )\n {\n var realText = store.getTiddlerText(title);\n var tweakedText = "{{{\sn" + realText + "\sn}}}\sn";\n tiddler.text = tweakedText;\n createTiddlerViewer_orig_mptw_autopre(title,highlightText,highlightCaseSensitive);\n tiddler.text = realText;\n }\n else {\n createTiddlerViewer_orig_mptw_autopre(title,highlightText,highlightCaseSensitive);\n }\n }\n}\n
SaveChanges