TiddlyWiki is published under a BSD OpenSourceLicense that gives you the freedom to use it pretty much however you want, including for commercial purposes, as long as you keep my copyright notice. (You can see the full license text by doing a 'view source' in your browser). If you do use TiddlyWiki I'd appreciate a link back to http://www.tiddlywiki.com.\n\nThat license covers the TiddlyWiki //code//, any content you create when you are ReusingThisSite is as much yours as if you'd written it using MicrosoftWord.
http://www.digitaldimsum.co.uk/
<<tabs txtMainTab\nTimeline Timeline TabTimeline\nAll "All tiddlers" TabMoreAll\n? "Missing tiddlers" TabMoreMissing\n! "Orphaned tiddlers" TabMoreOrphans\n>>
<<list untagged>>
TiddlyTagWiki
!!!Main Stuff\nTiddlyTagWiki\nTiddlyTags\nNewFeatures\nUsingThisSite\nReusingThisSite\nDownloadSoftware\nHowToUpgrade\n<<tiddler OptionsSideBar>>
function alterBackupDir(args) {\n var path = args[0];\n var re = new RegExp("\s.[0-9]+\s.html");\n if (re.test(path)) {\n var backSlash = true;\n var dirPathPos = path.lastIndexOf("\s\s");\n if (dirPathPos == -1) {\n dirPathPos = path.lastIndexOf("/");\n backSlash = false;\n }\n var backupPath = path.substr(0,dirPathPos) + (backSlash ? "\s\s" : "/");\n backupPath += "backup" + path.substr(dirPathPos, path.length - dirPathPos);\n \n args[0] = backupPath;\n }\n return args;\n}\n\nAspects.addBefore(this,"saveFile",alterBackupDir);
function onClickToolbarCloseOthers(e) {\n if (!e) var e = window.event;\n oldVal = config.options.chkAnimate;\n config.options.chkAnimate = false;\n closeAllTiddlers();\n if(this.parentNode.id) {\n var title = this.parentNode.id.substr(7);\n displayTiddler(e.target,title,0);\n }\n config.options.chkAnimate = oldVal;\n}\n\nfunction addCloseOthersButton(ignored, args) {\n var theToolbar = document.getElementById("toolbar" + args[0]);\n if(theToolbar) {\n if(!args[1]) {\n createTiddlyButton(theToolbar, "close others", "close others", onClickToolbarCloseOthers);\n insertSpacer(theToolbar);\n }\n }\n \n return args;\n}\n\nAspects.addAfter(this, "createTiddlerToolbar", addCloseOthersButton);
store.addNotification(null,refreshMenu);
//Thanks to Roman Porotnikov\n//http://www.jroller.com/page/deep/20030701\n\n//NB this systemConfig needs to be evaluated before other ones \n//that use the Aspects so the name starts with "."\n//since they're loaded alphabetically\n//should really put it into the main source code, but\n//wanted to keep everything upgrade-proof\n\nAspects = new Object();\n\nAspects.addBefore = function(obj, fname, before) {\n var oldFunc = obj[fname];\n obj[fname] = function() {\n return oldFunc.apply(this, before(arguments, oldFunc, this));\n };\n};\n\nAspects.addAfter = function(obj, fname, after) {\n var oldFunc = obj[fname];\n obj[fname] = function() {\n return after(oldFunc.apply(this, arguments), arguments, oldFunc, this);\n };\n};\n\nAspects.addAround = function(obj, fname, around) {\n var oldFunc = obj[fname];\n obj[fname] = function() {\n return around(arguments, oldFunc, this);\n };\n};
function addCloseMessageLink(args) {\n var msgArea = document.getElementById("messageArea");\n if (msgArea.childNodes.length == 0) {\n linkDiv = createTiddlyElement(msgArea,"div",null,null,null);\n link = createTiddlyElement(linkDiv,"a",null,null,"[close x]");\n link.setAttribute("href", "javascript:clearMessage();");\n link.setAttribute("style", "float:right; font-weight:normal;");\n }\n return args;\n}\n\nAspects.addBefore(this,"displayMessage",addCloseMessageLink);\n
if (!config.options.txtDefaultTiddlers) {\n config.options.txtDefaultTiddlers = "";\n}\n\nfunction retrieveLayoutFromCookie(args) {\n var start = config.options.txtDefaultTiddlers;\n\n if(!window.location.hash && start.length > 0) {\n args[1] = start;\n }\n return args;\n}\n\nfunction saveLayoutInCookie(args) {\n var tiddlerContainer = document.getElementById("tiddlerDisplay");\n var visibleTiddlers = tiddlerContainer.childNodes;\n var defaultTiddlerSpec = "";\n for (i=0;i<visibleTiddlers.length;i++) {\n if (visibleTiddlers[i].id) {\n defaultTiddlerSpec += ' [['+ visibleTiddlers[i].id.substring(7) +']] ';\n }\n }\n config.options.txtDefaultTiddlers = defaultTiddlerSpec;\n saveOptionCookie('txtDefaultTiddlers');\n return args;\n}\n\nAspects.addAfter(this, "displayTiddler", saveLayoutInCookie);\nAspects.addBefore(this, "displayTiddlers", retrieveLayoutFromCookie);\nAspects.addAfter(this, "closeTiddler", saveLayoutInCookie);\n
config.macros.list["untagged"] = {prompt: "Tiddlers that are not tagged"};\n\nconfig.macros.list.untagged.handler = function(params)\n{\n//displayMessage("Building list of untagged tiddlers");\n var results = [];\n for(var t in store.tiddlers) {\n var tiddler = store.tiddlers[t];\n if(tiddler.getTags() == "")\n results.push(t);\n }\n results.sort();\n return results;\n}
Aspects.addBefore(this, "onClickTagOpenAll", function(args) {\n closeAllTiddlers();\n return args;\n});
Micro-content with the power of tags ... [<<newTiddler>>] [<<closeAll>>] [<<defaultView>>] [<<permaview>>]
function onClickDefaultView(e) {\n closeAllTiddlers();\n config.options.txtDefaultTiddlers = "";\n saveOptionCookie('txtDefaultTiddlers');\n var start = store.getTiddlerText("DefaultTiddlers");\n if(start)\n displayTiddlers(null,start,1,null,null);\n}\n\nconfig.macros["defaultView"] = {label: "default view", prompt: "Show the default tiddlers", title: "default view"};\n\nconfig.macros.defaultView.handler = function(place) {\n createTiddlyButton(place,this.label,this.prompt,onClickDefaultView);\n}\n
TiddlyTagWiki\nUsingThisSite\nNewFeatures
<<search>>\n<<tabs txtSideBarTab\n"All Tags" "All tags" TabTags\nUntagged "Untagged tiddlers" TabMoreUntagged>>\n!!!Options\n<<closeAll>>\n<<permaview>>\nMainMenu\n<<saveChanges>>\n<<slider chkSliderOptionsPanel OptionsPanel options "Change TiddlyWiki advanced options">>\n\n[[TiddlyWiki is published by Jeremy Ruston at Osmosoft under a BSD open source license.|http://www.tiddlywiki.com/]]\n[[TiddlyTagWiki is a modification by Jonny LeRoy of ThoughtWorks under the same license terms.|http://www.digitaldimsum.co.uk/]]\n[[Thanks to Clint Checketts for making the style compatible with the latest versions.|http://15black.bluedepot.com/tiddlytagtiddlywiki.html]]\n
* {\n margin: 0px;\n padding: 0px;\n font-family: Arial, Helvetica, sans-serif;\n}\n\nbody {\n background-color: #fff; color: #333;\n}\n\n#header {\n color: #ff0084;\n padding: 20px 20px 10px 10px;\n height: auto;\n}\n\n#titleline{\n background-color: transparent;\n padding:0;\n}\n\n#displayArea {\n margin: 1em 13em 0em 16em;\n}\n\na {\n color: #0063dc;\n text-decoration: none;\n background: transparent;\n}\n\na:hover, a:active {\n color: #ff0084;\n text-decoration: none;\n}\n\n/* HEADER ========================================================== */\n\n#siteTitle {\n font-size: 30px;\n}\n\n#siteSubtitle {\n font-size: 13px;\n padding-left: 10px;\n color: #ff0084;\n}\n\n#titleLine a {\n color: #0063dc;\n}\n\n#titleLine a:hover {\n color: #ff0084;\n}\n\n/* SIDEBARS ========================================================== */\n\n#mainMenu{\n float: left;\n width: 175px;\n margin-top: -8px;\n}\n\n#mainMenu h1,#mainMenu h2,#mainMenu h3{\n color: #ff0084;\n font-weight: bold;\n padding: 2px 0px 2px 0px;\n font-size: 13px;\n letter-spacing: .1em;\n border-bottom: dotted 1px #ccc;\n background-color: transparent;\n display: block;\n}\n\n#mainMenu a.button,#mainMenu a.tiddlyLink {\n line-height: 1.75em;\n font-size: 12px;\n color: #0063dc;\n text-transform: capitalize;\n}\n\n#mainMenu a.externalLink{\n display: block;\n float: left;\n margin: 0 0 1em 0;\n padding: 0;\n text-align: left;\n line-height: 1em;\n font-size: 11px;\n color: #999;\n text-decoration: none;\n}\n\n#mainMenu a.button:hover,#mainMenu a.tiddlyLink:hover, #mainMenu a.externalLink:hover {\n color: #ff0084;\n background-color: transparent;\n}\n\n#mainMenu input{\n display: block;\n margin:1em 0 0 auto;\n}\n\n\n\n\n\n\n\n#contentWrapper #mainMenu a.tab{\n border: dotted 1px #ccc ;\n border-bottom: 0;\n font-weight: bold;\n}\n\n#contentWrapper #mainMenu a.tabSelected{\n padding-bottom: 4px;\n background-color: #fff;\n color: #ff0084;\n}\n\n#contentWrapper #mainMenu a.tabUnselected{\n padding-bottom: 3px;\n}\n\n#contentWrapper #mainMenu .tabset{\n border-bottom: dotted 1px #ccc;\n}\n\n#contentWrapper #mainMenu .tabContents{\n font-size: 11px;\n background-color: transparent;\n border: 0;\n}\n\n#contentWrapper #mainMenu .tabContents a{\n line-height: 1.5em;\n}\n\n#contentWrapper #mainMenu .tabContents a:hover{\n color: #ff0084;\n}\n\n#mainMenu .sliderPanel{\n border: dotted 1px #ccc;\n margin: 3px;\n padding: 5px 5px 15px 5px;\n font-size: 11px;\n text-align: left;\n line-height: 1em;\n}\n\n#mainMenu .sliderPanel a{\n font-weight: normal;\n font-size: 11px;\n}\n\n#mainMenu .sliderPanel input{\n display: inline;\n}\n\n#optionsPanel {\n display: none;\n padding: 4px;\n font-size: 11px;\n border: dotted 1px #ccc;\n text-align: left;\n}\n\n#optionsPanel div{\n margin: 5px 0;\n}\n\n#optionsPanel a {\n display: inline;\n font-weight: normal;\n}\n\n#optionsPanel a:hover, #optionsPanel a:active {\n color: #ff0084;\n}\n\n#optionsPanel input {\n float: right;\n}\n\n#sidebar {\n float: right;\n width: 16em;\n background-color: transparent;\n}\n\n#sidebarOptions{\n display:none\n}\n\n#sidebarTabs{\n background-color: transparent;\n}\n\n#contentWrapper #sidebar a.tab {\n font-weight: bold;\n}\n\n#contentWrapper #sidebar a.tabSelected {\n font-size: 16px;\n color: #ff0084 !important;\n background-color: #fff !important;\n padding: 2px 4px 4px 4px;\n border: 1px solid #e6e6e6;\n border-bottom: 0;\n}\n\n#contentWrapper #sidebar a.tabUnselected {\n font-size: 14px;\n color: #0063dc !important;\n background-color: #e6e6e6 !important;\n padding: 2px 4px 2px 4px;\n}\n\n#contentWrapper #sidebar a.tab:hover {\n color: #ff0084 !important;\n text-decoration: none;\n}\n\n#contentWrapper #sidebar .tabContents{\n border: 1px solid #e6e6e6;\n}\n\n#contentWrapper #sidebar .tabContents a{\n color: #0063dc;\n line-height: 1.6em;\n margin-left: -.5em;\n}\n\n#contentWrapper #sidebar .tabContents a:hover{\n color: #ff0084;\n background-color: transparent;\n}\n\n#contentWrapper #sidebar .tabContents a:before{\n color: #ff0084;\n font-weight: bold;\n content: "ยป ";\n margin-right: .5em;\n}\n\n#popup{\n color: #000;\n background-color: #eee;\n text-align: left;\n width: 180px;\n border-left:solid 1px #ccc;\n border-top:solid 1px #ccc;\n}\n\n#popup hr{\n border: 0;\n border-top: solid 1px #e6e6e6;\n height: 1px;\n color: #e6e6e6;\n width: 98%;\n\n}\n\n#popup a{\n color: #ff0084;\n background-color: #fff;\n}\n\n#popup a:hover{\n color: #0063dc;\n background-color: #fff;\n}\n\n/* SIDEBAR (RIGHT) =============================================================*/\n/* SIDEBAR (RIGHT) =============================================================*/\n/* SIDEBAR (RIGHT) =============================================================*/\n/* SIDEBAR (RIGHT) =============================================================*/\n\n\n#sidebarTabs {\n padding: 8px 0 0 10px;\n}\n\n#sidebarTabs a {\n/* color: #fff;*/\n padding: 2px 8px 1px 8px;\n height: 22px;\n}\n\n#sidebarTabs a:hover {\n}\n\n#sidebarContent {\n padding: 0 10px 10px 10px;\n font-size: 11px;\n clear: both;\n border-left: solid 1px #e6e6e6;\n}\n\n#sidebarContent br{\n display: none;\n}\n\n.sidebarSubHeading {\n padding: 8px 0 0 0;\n display: block;\n width: 100%;\n color: #000;\n}\n\n#sidebarContent a {\n display: block;\n margin: 5px 0 1px 12px;\n}\n\n#sidebarContent span.arrows {\n float: left;\n font-weight: bold;\n color: #ff0084;\n margin-top: 5px;\n}\n\n#sidebarContent a:hover {\n}\n\n/*===================================================================*/\n/*===================================================================*/\n/*===================================================================*/\n/*===================================================================*/\n/*===================================================================*/\n\n#contentWrapper a.tab {\n font-weight: normal;\n display: inline;\n margin: 0px 1px; \n}\n\n#contentWrapper a.tabSelected {\n background-color: #fff !important;\n padding: 2px 4px 2px 4px;\n border: 1px solid #999;\n border-bottom: 0;\n}\n\n#contentWrapper a.tabUnselected {\n background-color: #e6e6e6 !important;\n padding: 2px 4px 0px 4px;\n}\n\n#contentWrapper .selectedTiddler a.tabSelected {\n color: #ff0084 !important;\n}\n\n#contentWrapper .selectedTiddler a.tabUnselected {\n color: #0063dc !important;\n}\n\n#contentWrapper .selectedTiddler a.tab:hover {\n color: #ff0084 !important;\n text-decoration: none;\n}\n\n/*===========================================================================================*/\n/*===========================================================================================*/\n#sidebarTabs{\n margin: 0;\n padding: 0;\n}\n\n#contentWrapper .tabContents {\n background-color: transparent;\n border:1px solid #999;\n}\n\n#contentWrapper .tabContents a.tiddlyLink, #contentWrapper .tabContents a.button{\n background-color: transparent;\n}\n\n#contentWrapper .tabContents a:hover{\n color: #b44;\n}\n\n#contentWrapper .txtMoreTab a.tabUnselected {\n background-color: #f5d7b4 !important;\n padding: 2px 4px 0px 4px;\n color: #000;\n}\n\n#contentWrapper .txtMoreTab a.tabSelected {\n background-color: #cf936c !important;\n padding: 2px 4px 2px 4px;\n color: #000;\n}\n\n.txtMoreTab .tabContents {\n background-color: #cf936c !important;\n border-bottom: solid #aaa 1px;\n color: #fff;\n}\n\n.txtMoreTab .tabContents a{\n background-color: transparent;\n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* TIDDLER DISPLAY/EDIT SPACE ========================================================== */\n\n#contentWrapper .tiddler {\n margin: 0 0 10px 0;\n padding: 0 15px !important;\n border: dotted 1px #fff;\n color: #666;\n}\n\n.tiddler .title {\n background-color: #e9e9e9;\n}\n\n.selectedTiddler {\n border: dotted 1px #ccc;\n margin: -1px;\n}\n\n.selectedTiddler .viewer {\n color: #000;\n}\n\n.selectedTiddler .viewer * {\n color: #000;\n}\n\n.selectedTiddler .viewer h2, .selectedTiddler .viewer h4, .selectedTiddler .viewer h6, .selectedTiddler .viewer h3, .selectedTiddler .viewer h5 {\n color: #666 !important;\n}\n\n\n.selectedTiddler h1 {\n background-color: #e9e9e9 !important;\n color: #0063dc !important;\n}\n\n.selectedTiddler h3 {\n color: #0063dc !important;\n}\n\n\n.selectedTiddler .viewer pre{\n color: #000;\n}\n\n.selectedTiddler .title {\n color: #ff0084;\n background-color: #e9e9e9;\n}\n\n#contentWrapper .selectedTiddler .viewer a {\n color: #0063dc;\n background-color: transparent;\n}\n\n#contentWrapper .selectedTiddler .viewer a:hover {\n color: #ff0084;\n \n}\n\n#messageArea {\n font-size: 13px;\n font-weight: bold;\n padding: 5px;\n margin: 10px 20px;\n color: #ff0084;\n border: dotted 1px #ccc;\n text-align: center;\n background: transparent;\n}\n\n#messageArea a {\n color: #0063dc !important;\n}\n\n#messageArea a:hover {\n color: #ff0084 !important;\n}\n\n#displayArea .tiddlyLinkExisting {\n font-weight: bold;\n text-decoration: none;\n}\n\n#displayArea .tiddlyLinkNonExisting {\n font-style: italic;\n text-decoration: none;\n}\n\n#displayArea .externalLink {\n text-decoration: underline;\n}\n\n.title {\n font-size: 1.3em;\n padding: 0 0 0 0;\n font-weight: bold;\n display: block;\n color: #0063dc;\n}\n\n.toolbar {\n font-weight: normal;\n font-size: 11px;\n visibility: hidden;\n text-align: right;\n padding: 0 0 5px 0;\n margin: -8px 0 0 0;\n}\n\n.toolbar a.button {\n padding: 1px 5px;\n color: #fff;\n text-decoration: none;\n border: 1px outset #0063dc;\n background: #0063dc;\n}\n\n.toolbar a.button:hover {\n color: #fff;\n background: #ff0084;\n border: 1px outset #ff0084;\n}\n\n.toolbar a.button:active {\n color: #fff;\n background: #ff0084;\n border: 1px inset #ff0084;\n}\n\n.tagLinks {\n padding-top: 5px;\n margin-top: 10px;\n border-top: 1px dotted #ccc;\n color: #aaa;\n}\n\n.tagLinks a {\n color: #aaa;\n}\n\n.selectedTiddler .tagLinks a {\n color: #0063dc;\n}\n\n.tagLinks a:hover {\n color: #ff0084;\n}\n\n\n.viewer {\n line-height: 140%;\n color: #999;\n}\n\n#contentWrapper .viewer a{\n font-weight: bold;\n color: #999;\n text-decoration: none;\n background-color: transparent;\n}\n\n.viewer h1, .viewer h2 {\n background-color: transparent;\n color: #999;\n margin-bottom: .25em;\n padding-left: 1px !important;\n border-bottom: dotted 1px #ccc;\n}\n\n.viewer h3, .viewer h4, .viewer h5, .viewer h6{\n background-color: transparent;\n color: #999;\n margin-bottom: .25em;\n padding-left: 1px !important;\n}\n\n \n.viewer blockquote {\n border-left: 3px solid #777;\n margin: 5px;\n padding: 5px;\n}\n\n.viewer ul {\n padding-left: 30px;\n}\n\n.viewer ol {\n padding-left: 30px;\n}\n\nol\n{\n list-style-type: decimal;\n}\n\nol ol\n{\n list-style-type: lower-alpha;\n}\n\nol ol ol\n{\n list-style-type: lower-roman;\n}\n\n.viewer ul, .viewer ol, .viewer p {\n margin: 5px 0 12px 0;\n}\n\n.viewer li {\n margin: 3px 0;\n}\n\n.viewer pre{\n font-family: monspace;\n}\n\nh2,h3,h4,h5,h6 {\n font-weight: bold;\n}\n\n#contentWrapper .viewer *{\n color: #999;\n}\n\n\n.viewer h2 {\n font-size: 1.2em;\n}\n\n.viewer h3 {\n font-size: 1.1em;\n font-style: italic;\n}\n\n.viewer h4 {\n font-size: 1em;\n}\n\n.viewer h5 {\n font-size: .9em;\n font-style: italic;\n}\n\n.viewer h6 {\n font-size: .8em;\n}\n\n.viewer table {\n border-collapse: collapse;\n border: 2px solid #303030;\n font-size: 11px;\n margin: 10px 0;\n}\n\n.viewer th {\n background: #eee;\n border: 1px solid #aaa;\n padding: 3px;\n}\n\n.viewer td {\n border: 1px solid #aaa;\n padding: 3px;\n}\n\n.viewer caption {\n padding: 3px;\n}\n\n.viewer hr {\n border: none;\n border-top: dotted 1px #777;\n height: 1px;\n color: #fff;\n margin: 7px 0;\n}\n\n.body {\n margin: 5px 0 0px 0;\n padding: 5px 0;\n/* border-top: 1px dotted #ccc;*/\n}\n\n.highlight {\n color: #000;\n background: #ffe72f;\n}\n\n.editor {\n font-size: 8pt;\n color: #402c74;\n font-weight: normal;\n padding: 10px 0;\n}\n\n.editor input, .editor textarea {\n display: block;\n font: 13px/130% "Andale Mono", "Monaco", "Lucida Console", "Courier New", monospace;\n margin: 0 0 10px 0;\n border: 1px inset #333;\n padding: 2px 0;\n}\n\n.editor textarea {\n height: 500px;\n}\n\n.footer a.button,.editorFooter a.button{\n color: #e6e6e6;\n}\n\n.selectedTiddler .footer a.button,\n.selectedTiddler .editorFooter a.button{\n color: #0063dc;\n}\n\n.selectedTiddler .footer a.button:hover,\n.selectedTiddler .editorFooter a.button:hover{\n color: #ff0084;\n background-color: transparent;\n}\n\ninput:focus, textarea:focus {\n background: #ffe;\n border: 1px solid #000 !important;\n}\n\n#storeArea, #copyright {\n display: none;\n}\n\n#floater {\n background: #9cf;\n border: 3px solid #0063DC;\n color: #9cf;\n position: absolute;\n left: -99999999px;\n top: -99999999px;\n width: 1px;\n display: none;\n}\n