TiddlyWiki - a reusable non-linear personal web notebook

TiddlyWiki a reusable non-linear personal web notebook
TiddlyWiki a reusable non-linear personal web notebook
HelloThere
Welcome to TiddlyWiki!
TiddlyWiki is a single html file which has all the characteristics of a wiki - including all of the content, the functionality (including editing, saving, tagging and searching) and the style sheet. Because it's a single file, it's very portable - you can email it, put it on a web server or share it via a USB stick.
But it's not just a wiki! It has very powerful plugin capabilities, so it can also be used to build new tools. You have full control over how it looks and behaves. For example, TiddlyWiki is already being used as:

- A personal notebook
- A GTD ("Getting Things Done") productivity tool
- A collaboration tool
- For building websites (this site is a TiddlyWiki file!)
- For rapid prototyping
- ...and much more!

You can import and export data to and from all sorts of places. Check out some of the Examples of TiddlyWiki in use, and the Features that are available.
You can see the web functionality of TiddlyWiki by clicking on some of the links on this website. Double click some of the text to see 'edit mode'. For the full range of functions, including editing and saving changes, download and install a copy of the basic version and then follow the guidelines in Getting Started. Have fun!

download

Advanced options >>
NewFeatures
Release 2.5.3 is primarily a bugfix release, but also contains usability enhancements:

- Reverted changes to the file system code that were made in 2.5.2
- Fixed problem with lack of confirmation prompt when cancelling editing on new and shadow tiddlers
- Improved feedback on synchronization and dynamic loading of tiddlers

For the full release notes see:
http://trac.tiddlywiki.org/wiki/History
Welcome to TiddlyWiki created by Jeremy Ruston, Copyright © 2007 UnaMesa Association

    <!--{{{-->
    <link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml' />
    <!--}}}-->

    Background: #fff
    Foreground: #000
    PrimaryPale: #8cf
    PrimaryLight: #18f
    PrimaryMid: #04b
    PrimaryDark: #014
    SecondaryPale: #ffc
    SecondaryLight: #fe8
    SecondaryMid: #db4
    SecondaryDark: #841
    TertiaryPale: #eee
    TertiaryLight: #ccc
    TertiaryMid: #999
    TertiaryDark: #666
    Error: #f88

    /*{{{*/
    body {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}

    a {color:[[ColorPalette::PrimaryMid]];}
    a:hover {background-color:[[ColorPalette::PrimaryMid]]; color:[[ColorPalette::Background]];}
    a img {border:0;}

    h1,h2,h3,h4,h5,h6 {color:[[ColorPalette::SecondaryDark]]; background:transparent;}
    h1 {border-bottom:2px solid [[ColorPalette::TertiaryLight]];}
    h2,h3 {border-bottom:1px solid [[ColorPalette::TertiaryLight]];}

    .button {color:[[ColorPalette::PrimaryDark]]; border:1px solid [[ColorPalette::Background]];}
    .button:hover {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::SecondaryLight]]; border-color:[[ColorPalette::SecondaryMid]];}
    .button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::SecondaryDark]];}

    .header {background:[[ColorPalette::PrimaryMid]];}
    .headerShadow {color:[[ColorPalette::Foreground]];}
    .headerShadow a {font-weight:normal; color:[[ColorPalette::Foreground]];}
    .headerForeground {color:[[ColorPalette::Background]];}
    .headerForeground a {font-weight:normal; color:[[ColorPalette::PrimaryPale]];}

    .tabSelected{color:[[ColorPalette::PrimaryDark]];
    	background:[[ColorPalette::TertiaryPale]];
    	border-left:1px solid [[ColorPalette::TertiaryLight]];
    	border-top:1px solid [[ColorPalette::TertiaryLight]];
    	border-right:1px solid [[ColorPalette::TertiaryLight]];
    }
    .tabUnselected {color:[[ColorPalette::Background]]; background:[[ColorPalette::TertiaryMid]];}
    .tabContents {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::TertiaryPale]]; border:1px solid [[ColorPalette::TertiaryLight]];}
    .tabContents .button {border:0;}

    #sidebar {}
    #sidebarOptions input {border:1px solid [[ColorPalette::PrimaryMid]];}
    #sidebarOptions .sliderPanel {background:[[ColorPalette::PrimaryPale]];}
    #sidebarOptions .sliderPanel a {border:none;color:[[ColorPalette::PrimaryMid]];}
    #sidebarOptions .sliderPanel a:hover {color:[[ColorPalette::Background]]; background:[[ColorPalette::PrimaryMid]];}
    #sidebarOptions .sliderPanel a:active {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::Background]];}

    .wizard {background:[[ColorPalette::PrimaryPale]]; border:1px solid [[ColorPalette::PrimaryMid]];}
    .wizard h1 {color:[[ColorPalette::PrimaryDark]]; border:none;}
    .wizard h2 {color:[[ColorPalette::Foreground]]; border:none;}
    .wizardStep {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];
    	border:1px solid [[ColorPalette::PrimaryMid]];}
    .wizardStep.wizardStepDone {background:[[ColorPalette::TertiaryLight]];}
    .wizardFooter {background:[[ColorPalette::PrimaryPale]];}
    .wizardFooter .status {background:[[ColorPalette::PrimaryDark]]; color:[[ColorPalette::Background]];}
    .wizard .button {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryLight]]; border: 1px solid;
    	border-color:[[ColorPalette::SecondaryPale]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryPale]];}
    .wizard .button:hover {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Background]];}
    .wizard .button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::Foreground]]; border: 1px solid;
    	border-color:[[ColorPalette::PrimaryDark]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryDark]];}

    .wizard .notChanged {background:transparent;}
    .wizard .changedLocally {background:#80ff80;}
    .wizard .changedServer {background:#8080ff;}
    .wizard .changedBoth {background:#ff8080;}
    .wizard .notFound {background:#ffff80;}
    .wizard .putToServer {background:#ff80ff;}
    .wizard .gotFromServer {background:#80ffff;}

    #messageArea {border:1px solid [[ColorPalette::SecondaryMid]]; background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]];}
    #messageArea .button {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::SecondaryPale]]; border:none;}

    .popupTiddler {background:[[ColorPalette::TertiaryPale]]; border:2px solid [[ColorPalette::TertiaryMid]];}

    .popup {background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]]; border-left:1px solid [[ColorPalette::TertiaryMid]]; border-top:1px solid [[ColorPalette::TertiaryMid]]; border-right:2px solid [[ColorPalette::TertiaryDark]]; border-bottom:2px solid [[ColorPalette::TertiaryDark]];}
    .popup hr {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::PrimaryDark]]; border-bottom:1px;}
    .popup li.disabled {color:[[ColorPalette::TertiaryMid]];}
    .popup li a, .popup li a:visited {color:[[ColorPalette::Foreground]]; border: none;}
    .popup li a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border: none;}
    .popup li a:active {background:[[ColorPalette::SecondaryPale]]; color:[[ColorPalette::Foreground]]; border: none;}
    .popupHighlight {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
    .listBreak div {border-bottom:1px solid [[ColorPalette::TertiaryDark]];}

    .tiddler .defaultCommand {font-weight:bold;}

    .shadow .title {color:[[ColorPalette::TertiaryDark]];}

    .title {color:[[ColorPalette::SecondaryDark]];}
    .subtitle {color:[[ColorPalette::TertiaryDark]];}

    .toolbar {color:[[ColorPalette::PrimaryMid]];}
    .toolbar a {color:[[ColorPalette::TertiaryLight]];}
    .selected .toolbar a {color:[[ColorPalette::TertiaryMid]];}
    .selected .toolbar a:hover {color:[[ColorPalette::Foreground]];}

    .tagging, .tagged {border:1px solid [[ColorPalette::TertiaryPale]]; background-color:[[ColorPalette::TertiaryPale]];}
    .selected .tagging, .selected .tagged {background-color:[[ColorPalette::TertiaryLight]]; border:1px solid [[ColorPalette::TertiaryMid]];}
    .tagging .listTitle, .tagged .listTitle {color:[[ColorPalette::PrimaryDark]];}
    .tagging .button, .tagged .button {border:none;}

    .footer {color:[[ColorPalette::TertiaryLight]];}
    .selected .footer {color:[[ColorPalette::TertiaryMid]];}

    .sparkline {background:[[ColorPalette::PrimaryPale]]; border:0;}
    .sparktick {background:[[ColorPalette::PrimaryDark]];}

    .error, .errorButton {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Error]];}
    .warning {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryPale]];}
    .lowlight {background:[[ColorPalette::TertiaryLight]];}

    .zoomer {background:none; color:[[ColorPalette::TertiaryMid]]; border:3px solid [[ColorPalette::TertiaryMid]];}

    .imageLink, #displayArea .imageLink {background:transparent;}

    .annotation {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border:2px solid [[ColorPalette::SecondaryMid]];}

    .viewer .listTitle {list-style-type:none; margin-left:-2em;}
    .viewer .button {border:1px solid [[ColorPalette::SecondaryMid]];}
    .viewer blockquote {border-left:3px solid [[ColorPalette::TertiaryDark]];}

    .viewer table, table.twtable {border:2px solid [[ColorPalette::TertiaryDark]];}
    .viewer th, .viewer thead td, .twtable th, .twtable thead td {background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::Background]];}
    .viewer td, .viewer tr, .twtable td, .twtable tr {border:1px solid [[ColorPalette::TertiaryDark]];}

    .viewer pre {border:1px solid [[ColorPalette::SecondaryLight]]; background:[[ColorPalette::SecondaryPale]];}
    .viewer code {color:[[ColorPalette::SecondaryDark]];}
    .viewer hr {border:0; border-top:dashed 1px [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::TertiaryDark]];}

    .highlight, .marked {background:[[ColorPalette::SecondaryLight]];}

    .editor input {border:1px solid [[ColorPalette::PrimaryMid]];}
    .editor textarea {border:1px solid [[ColorPalette::PrimaryMid]]; width:100%;}
    .editorFooter {color:[[ColorPalette::TertiaryMid]];}

    #backstageArea {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::TertiaryMid]];}
    #backstageArea a {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
    #backstageArea a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; }
    #backstageArea a.backstageSelTab {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
    #backstageButton a {background:none; color:[[ColorPalette::Background]]; border:none;}
    #backstageButton a:hover {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
    #backstagePanel {background:[[ColorPalette::Background]]; border-color: [[ColorPalette::Background]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]];}
    .backstagePanelFooter .button {border:none; color:[[ColorPalette::Background]];}
    .backstagePanelFooter .button:hover {color:[[ColorPalette::Foreground]];}
    #backstageCloak {background:[[ColorPalette::Foreground]]; opacity:0.6; filter:'alpha(opacity=60)';}
    /*}}}*/

    /*{{{*/
    * html .tiddler {height:1%;}

    body {font-size:.75em; font-family:arial,helvetica; margin:0; padding:0;}

    h1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;}
    h1,h2,h3 {padding-bottom:1px; margin-top:1.2em;margin-bottom:0.3em;}
    h4,h5,h6 {margin-top:1em;}
    h1 {font-size:1.35em;}
    h2 {font-size:1.25em;}
    h3 {font-size:1.1em;}
    h4 {font-size:1em;}
    h5 {font-size:.9em;}

    hr {height:1px;}

    a {text-decoration:none;}

    dt {font-weight:bold;}

    ol {list-style-type:decimal;}
    ol ol {list-style-type:lower-alpha;}
    ol ol ol {list-style-type:lower-roman;}
    ol ol ol ol {list-style-type:decimal;}
    ol ol ol ol ol {list-style-type:lower-alpha;}
    ol ol ol ol ol ol {list-style-type:lower-roman;}
    ol ol ol ol ol ol ol {list-style-type:decimal;}

    .txtOptionInput {width:11em;}

    #contentWrapper .chkOptionInput {border:0;}

    .externalLink {text-decoration:underline;}

    .indent {margin-left:3em;}
    .outdent {margin-left:3em; text-indent:-3em;}
    code.escaped {white-space:nowrap;}

    .tiddlyLinkExisting {font-weight:bold;}
    .tiddlyLinkNonExisting {font-style:italic;}

    /* the 'a' is required for IE, otherwise it renders the whole tiddler in bold */
    a.tiddlyLinkNonExisting.shadow {font-weight:bold;}

    #mainMenu .tiddlyLinkExisting,
    	#mainMenu .tiddlyLinkNonExisting,
    	#sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;}
    #sidebarTabs .tiddlyLinkExisting {font-weight:bold; font-style:normal;}

    .header {position:relative;}
    .header a:hover {background:transparent;}
    .headerShadow {position:relative; padding:4.5em 0 1em 1em; left:-1px; top:-1px;}
    .headerForeground {position:absolute; padding:4.5em 0 1em 1em; left:0px; top:0px;}

    .siteTitle {font-size:3em;}
    .siteSubtitle {font-size:1.2em;}

    #mainMenu {position:absolute; left:0; width:10em; text-align:right; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;}

    #sidebar {position:absolute; right:3px; width:16em; font-size:.9em;}
    #sidebarOptions {padding-top:0.3em;}
    #sidebarOptions a {margin:0 0.2em; padding:0.2em 0.3em; display:block;}
    #sidebarOptions input {margin:0.4em 0.5em;}
    #sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;}
    #sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;}
    #sidebarOptions .sliderPanel input {margin:0 0 0.3em 0;}
    #sidebarTabs .tabContents {width:15em; overflow:hidden;}

    .wizard {padding:0.1em 1em 0 2em;}
    .wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}
    .wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}
    .wizardStep {padding:1em 1em 1em 1em;}
    .wizard .button {margin:0.5em 0 0; font-size:1.2em;}
    .wizardFooter {padding:0.8em 0.4em 0.8em 0;}
    .wizardFooter .status {padding:0 0.4em; margin-left:1em;}
    .wizard .button {padding:0.1em 0.2em;}

    #messageArea {position:fixed; top:2em; right:0; margin:0.5em; padding:0.5em; z-index:2000; _position:absolute;}
    .messageToolbar {display:block; text-align:right; padding:0.2em;}
    #messageArea a {text-decoration:underline;}

    .tiddlerPopupButton {padding:0.2em;}
    .popupTiddler {position: absolute; z-index:300; padding:1em; margin:0;}

    .popup {position:absolute; z-index:300; font-size:.9em; padding:0; list-style:none; margin:0;}
    .popup .popupMessage {padding:0.4em;}
    .popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0;}
    .popup li.disabled {padding:0.4em;}
    .popup li a {display:block; padding:0.4em; font-weight:normal; cursor:pointer;}
    .listBreak {font-size:1px; line-height:1px;}
    .listBreak div {margin:2px 0;}

    .tabset {padding:1em 0 0 0.5em;}
    .tab {margin:0 0 0 0.25em; padding:2px;}
    .tabContents {padding:0.5em;}
    .tabContents ul, .tabContents ol {margin:0; padding:0;}
    .txtMainTab .tabContents li {list-style:none;}
    .tabContents li.listLink { margin-left:.75em;}

    #contentWrapper {display:block;}
    #splashScreen {display:none;}

    #displayArea {margin:1em 17em 0 14em;}

    .toolbar {text-align:right; font-size:.9em;}

    .tiddler {padding:1em 1em 0;}

    .missing .viewer,.missing .title {font-style:italic;}

    .title {font-size:1.6em; font-weight:bold;}

    .missing .subtitle {display:none;}
    .subtitle {font-size:1.1em;}

    .tiddler .button {padding:0.2em 0.4em;}

    .tagging {margin:0.5em 0.5em 0.5em 0; float:left; display:none;}
    .isTag .tagging {display:block;}
    .tagged {margin:0.5em; float:right;}
    .tagging, .tagged {font-size:0.9em; padding:0.25em;}
    .tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;}
    .tagClear {clear:both;}

    .footer {font-size:.9em;}
    .footer li {display:inline;}

    .annotation {padding:0.5em; margin:0.5em;}

    * html .viewer pre {width:99%; padding:0 0 1em 0;}
    .viewer {line-height:1.4em; padding-top:0.5em;}
    .viewer .button {margin:0 0.25em; padding:0 0.25em;}
    .viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;}
    .viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;}

    .viewer table, table.twtable {border-collapse:collapse; margin:0.8em 1.0em;}
    .viewer th, .viewer td, .viewer tr,.viewer caption,.twtable th, .twtable td, .twtable tr,.twtable caption {padding:3px;}
    table.listView {font-size:0.85em; margin:0.8em 1.0em;}
    table.listView th, table.listView td, table.listView tr {padding:0px 3px 0px 3px;}

    .viewer pre {padding:0.5em; margin-left:0.5em; font-size:1.2em; line-height:1.4em; overflow:auto;}
    .viewer code {font-size:1.2em; line-height:1.4em;}

    .editor {font-size:1.1em;}
    .editor input, .editor textarea {display:block; width:100%; font:inherit;}
    .editorFooter {padding:0.25em 0; font-size:.9em;}
    .editorFooter .button {padding-top:0px; padding-bottom:0px;}

    .fieldsetFix {border:0; padding:0; margin:1px 0px;}

    .sparkline {line-height:1em;}
    .sparktick {outline:0;}

    .zoomer {font-size:1.1em; position:absolute; overflow:hidden;}
    .zoomer div {padding:1em;}

    * html #backstage {width:99%;}
    * html #backstageArea {width:99%;}
    #backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em;}
    #backstageToolbar {position:relative;}
    #backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em;}
    #backstageButton {display:none; position:absolute; z-index:175; top:0; right:0;}
    #backstageButton a {padding:0.1em 0.4em; margin:0.1em;}
    #backstage {position:relative; width:100%; z-index:50;}
    #backstagePanel {display:none; z-index:100; position:absolute; width:90%; margin-left:3em; padding:1em;}
    .backstagePanelFooter {padding-top:0.2em; float:right;}
    .backstagePanelFooter a {padding:0.2em 0.4em;}
    #backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}

    .whenBackstage {display:none;}
    .backstageVisible .whenBackstage {display:block;}
    /*}}}*/

    /***
    StyleSheet for use when a translation requires any css style changes.
    This StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which need larger font sizes.
    ***/
    /*{{{*/
    body {font-size:0.8em;}
    #sidebarOptions {font-size:1.05em;}
    #sidebarOptions a {font-style:normal;}
    #sidebarOptions .sliderPanel {font-size:0.95em;}
    .subtitle {font-size:0.8em;}
    .viewer table.listView {font-size:0.95em;}
    /*}}}*/

    /*{{{*/
    @media print {
    #mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none !important;}
    #displayArea {margin: 1em 1em 0em;}
    noscript {display:none;} /* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */
    }
    /*}}}*/

    <!--{{{-->
    <div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
    <div class='headerShadow'>
    <span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
    <span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
    </div>
    <div class='headerForeground'>
    <span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
    <span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
    </div>
    </div>
    <div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
    <div id='sidebar'>
    <div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
    <div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
    </div>
    <div id='displayArea'>
    <div id='messageArea'></div>
    <div id='tiddlerDisplay'></div>
    </div>
    <!--}}}-->

    <!--{{{-->
    <div class='toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
    <div class='title' macro='view title'></div>
    <div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
    <div class='tagging' macro='tagging'></div>
    <div class='tagged' macro='tags'></div>
    <div class='viewer' macro='view text wikified'></div>
    <div class='tagClear'></div>
    <!--}}}-->

    <!--{{{-->
    <div class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]]'></div>
    <div class='title' macro='view title'></div>
    <div class='editor' macro='edit title'></div>
    <div macro='annotations'></div>
    <div class='editor' macro='edit text'></div>
    <div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser excludeLists'></span></div>
    <!--}}}-->

    To get started with this blank [[TiddlyWiki]], you'll need to modify the following tiddlers:
    * [[SiteTitle]] & [[SiteSubtitle]]: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
    * [[MainMenu]]: The menu (usually on the left)
    * [[DefaultTiddlers]]: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened
    You'll also need to enter your username for signing your edits: <<option txtUserName>>

    These [[InterfaceOptions]] for customising [[TiddlyWiki]] are saved in your browser

    Your username for signing your edits. Write it as a [[WikiWord]] (eg [[JoeBloggs]])

    <<option txtUserName>>
    <<option chkSaveBackups>> [[SaveBackups]]
    <<option chkAutoSave>> [[AutoSave]]
    <<option chkRegExpSearch>> [[RegExpSearch]]
    <<option chkCaseSensitiveSearch>> [[CaseSensitiveSearch]]
    <<option chkAnimate>> [[EnableAnimations]]

    ----
    Also see [[AdvancedOptions]]

    <<importTiddlers>>

    |''URL:''|http://tiddlywiki.abego-software.de/|
    |''Description:''|UdoBorkowski's Extensions for TiddlyWiki|
    |''Author:''|UdoBorkowski|

    When you click on the blue [[download|Download]] button, the website will detect your browser and operating system, and trigger a download for either an empty ~TiddlyWiki file or, if you're running [[Safari]] or [[Opera]], a zip file which also includes the TiddlySaver file. This is version <<version>> of ~TiddlyWiki ([[release notes|http://trac.tiddlywiki.org/wiki/History]]).

    Advanced users may find these download options helpful (right click the link and select "Save as" to download):
    *[[An empty TiddlyWiki file|http://www.tiddlywiki.com/empty.html]]
    *[[A zip file containing an empty TiddlyWiki file plus a TiddlySaver file|http://www.tiddlywiki.com/empty.zip]]
    *[[A copy of this website (TiddlyWiki.com) minus images|#]]
    *[[The TiddlySaver.jar file on its own|http://www.tiddlywiki.com/TiddlySaver.jar]]
    Finally, these links may be useful:
    *[[Installation]] instructions for the main browsers
    *A list of supported [[Browsers]]

    <<options>>

    Rename this tiddler to 'ColorPalette' to enable this color scheme

    Background: #ffc
    Foreground: #000
    PrimaryPale: #fc8
    PrimaryLight: #f81
    PrimaryMid: #b40
    PrimaryDark: #410
    SecondaryPale: #ffc
    SecondaryLight: #fe8
    SecondaryMid: #db4
    SecondaryDark: #841
    TertiaryPale: #e88
    TertiaryLight: #c66
    TertiaryMid: #944
    TertiaryDark: #633

    This tiddler shows some more complex effects that can be obtained with cunning use of CSS. Not all of these will work properly on all browsers because of differences in CSS implementation, but they should fail gracefully.

    You can have special formatting for a specific, named tiddler like this:
    {{{
    #tiddlerHelloThere .title {
    background-color: #99aaee;
    }
    }}}

    Or for the first displayed tiddler:
    {{{
    div.tiddler:first-child .title {
    font-size: 28pt;
    }
    }}}

    Or just for the first line of every tiddler:
    {{{
    .viewer:first-line {
    background-color: #999999;
    }
    }}}

    Or just for the first letter of every tiddler:
    {{{
    .viewer:first-letter {
    float: left;
    font-size: 28pt;
    font-weight: bold;
    }
    }}}

    Or just for tiddlers tagged with a particular tag (note that this won't work for tags that contain spaces):
    {{{
    div[tags~="welcome"].tiddler .viewer {
    background-color: #ffccaa;
    }

    div[tags~="features"].tiddler .viewer {
    background-color: #88aaff;
    }
    }}}

    If you check this box in the InterfaceOptions, TiddlyWiki will automatically SaveChanges every time you edit a tiddler. In that way there's a lot less chance of you losing any information.

    However, if you also have the SaveBackups checkbox ticked, you'll end up with a lot of archived files. You may prefer to select either one or the other.

    One of the great strengths of TiddlyWiki is the way that its interface can be customised by editting various shadow tiddlers. However, a problem that has consistently emerged is the difficulty of reconciling the needs of authors, who need access to the full array of TiddlyWiki features, and the needs of ordinary readers, who generally benefit from seeing a restricted set of functionality more suited to their needs.

    The new backstage area in release 2.2 offers a solution to this conundrum by providing a consistent way of accessing authoring functionality that is independent of the interface customisations (so, even if you blast away the contents of your PageTemplate, you can still access the backstage area).

    The backstage area is only available when a TiddlyWiki is edittable - typically meaning that it's been opened off of a {{{file://}}} URL. It appears as an unobtrusive link in the topright corner of the page. Clicking it reveals the backstage toolbar consisting of commands like {{{saveChanges}}} and drop-down tasks like ImportTiddlers, SyncMacro, PluginManager and Tweak (which provides access to the new OptionsMacro).

    |''URL:''|http://tiddlywiki.bidix.info/|
    |''Description:''|Repository for BidiX's TiddlyWiki Extensions|
    |''Author:''|BidiX|

    To make quoted bits of text stand out, you can use BlockQuotes within your tiddlers, like this:

    JeremyRuston said:
    <<<
    A TiddlyWiki is like a blog because it's divided up into neat little chunks, but it encourages you to read it by hyperlinking rather than sequentially: if you like, a non-linear blog analogue that binds the individual microcontent items into a cohesive whole.
    <<<

    Like BulletPoints and NumberedBulletPoints, you can have multiple levels of BlockQuotes. Just edit this tiddler to see how it's done.

    >level 1
    >level 1
    >>level 2
    >>level 2
    >>>level 3
    >>>level 3
    >>level 2
    >level 1

    |''URL:''|http://bob.mcelrath.org/plugins.html|
    |''Description:''|Bob McElrath's Plugins|
    |''Author:''|BobMcElrath|

    Here is a table of PC / Mac / Linux browsers that work with ~TiddlyWiki:

    |!Browser |!Version |!Allows changes to be saved locally?|
    |InternetExplorer |6.0+ |Yes |
    |FireFox |1.0+ |Yes |
    |[[Safari]] |1.0+ |Yes, using TiddlySaver plugin|
    |[[Opera]] |? |Yes, using TiddlySaver plugin|
    |Netscape Navigator |7.0+ |Yes |
    |[[Camino]] |1.0+ |Yes |
    |Chrome |All |No |
    |[[Wii]] |All |No |

    Please [[let us know|http://groups.google.com/group/TiddlyWiki]] of any additions or corrections.

    Creating BulletPoints is simple.
    * Just add an asterisk
    * at the beginning of a line.
    ** If you want to create sub-bullets
    ** start the line with two asterisks
    *** And if you want yet another level
    *** use three asterisks
    * Edit this tiddler to see how it's done
    * You can also do NumberedBulletPoints

    The Mozilla-based [[Camino browser|http://www.caminobrowser.org/]] on Macintosh OS X works well with TiddlyWiki, including the ability to SaveChanges.

    Abandons any pending edits to the current tiddler, and switches it the default view. It is used with the ToolbarMacro like this:
    {{{
    <<toolbar cancelTiddler>>
    }}}

    When you upload a TiddlyWiki to a web server, if doesn't load properly, it may be a CharacterEncoding issue.

    TiddlyWiki uses Unicode ~UTF-8 encoding and won't load properly if your host is serving it as ~ISO-8859-1. You should be able to check this by loading another page on the server in FireFox and selecting 'Page Info' on the 'Tools' menu.

    If this is the case, it should be reasonably easy to sort out. We recommend that you contact your server host and ask them to serve it in ~UTF-8 mode. If you are more technically hands-on, you may be able to [[solve the issue yourself|http://www.w3.org/International/questions/qa-htaccess-charset]].

    /*{{{*/

    	span.chunkyButton {
    		display: block;
    		padding: 0;
    		margin: 0;
    		border: solid 2px [[ColorPalette::Foreground]];
    	}
    	span.chunkyButton a.button, span.chunkyButton a:active.button {
    		white-space: nowrap;
    		font-weight: bold;
    		font-size:1.8em;
    		color: [[ColorPalette::Background]];
    		background-color: [[ColorPalette::PrimaryMid]];
    		text-align: center;
    		padding: 1em 3em;
    		margin: 0;
    		border-style: none;
    		border-top: solid 1px [[ColorPalette::Background]];
    		display: block;
    	}
    	span.chunkyButton a.button:hover {
    		background-color: [[ColorPalette::PrimaryDark]];
    		border-style: none;
    		color: [[ColorPalette::Background]];
    		border-top: solid 1px [[ColorPalette::PrimaryPale]];
    	}

    	.downloadButton table,
    	.downloadButton table tr,
    	.downloadButton table td  {
    		border-style:none;
    		vertical-align:bottom;
    		padding:0 0.5em 0 0;
    		margin:0 0 0.2em 0;
    	}

    /*}}}*/

    Closes all other open tiddlers, except for any that are being editted. It is used with the ToolbarMacro like this:
    {{{
    <<toolbar closeOthers>>
    }}}

    Closes the current tiddler, regardless of whether it is being editted. It is used with the ToolbarMacro like this:
    {{{
    <<toolbar closeTiddler>>
    }}}

    <<tiddler [[Help and Support]]>>

    PageTemplate
    |>|>|SiteTitle - SiteSubtitle|
    |MainMenu|DefaultTiddlers<br><br><br><br>ViewTemplate<br><br>EditTemplate|SideBarOptions|
    |~|~|OptionsPanel|
    |~|~|AdvancedOptions|
    |~|~|<<tiddler Configuration.SideBarTabs>>|

    ''StyleSheet:'' StyleSheetColors - StyleSheetLayout - StyleSheetPrint

    SiteUrl

    SideBarTabs
    |[[Timeline|TabTimeline]]|[[All|TabAll]]|[[Tags|TabTags]]|>|>|[[More|TabMore]] |
    |>|>||[[Missing|TabMoreMissing]]|[[Orphans|TabMoreOrphans]]|[[Shadowed|TabMoreShadowed]]|

    @@margin-left:.5em;<<slider chkContents SideBarTabs "contents »" "show
    lists of tiddlers contained in this document">>@@

    ~TiddlyWiki has an enthusiastic and friendly [[Community|Help and Support]] of people around the world helping to grow and improve it. But there's always more to do and we welcome any offers of assistance. There are many ways that you can help:
    * Testing and [[reporting bugs|http://trac.tiddlywiki.org/wiki/ReportingBugs]] against the core code. Clear, easily reproducible bug reports are incredibly useful and really help the team improve the quality of ~TiddlyWiki
    * [[Contributing code|http://trac.tiddlywiki.org/wiki/ContributingCode]]
    * [[Making translations|http://trac.tiddlywiki.org/wiki/Translations]]
    * Documentation needs planning, writing and editing, particularly user guide information at http://www.tiddlywiki.org
    If you would like to make a financial contribution, ~TiddlyWiki is owned by the not-for-profit [[UnaMesa Foundation|http://www.unamesa.org/]] which welcomes donations.

    You can wrap any text in an HTML {{{<span>}}} or {{{<div>}}} with a specified CSS class. This allows custom CSS styling in a nice, modular way. By placing a rule in your StyleSheet tiddler like {{{.wrappingClass{color: #666; background: #bbb} }}} you can markup a	piece of text in the tiddler using this code:

    {{{
    {{wrappingClass{Text that is now accentuated}}}
    }}}

    {{wrappingClass{Text that is now accentuated}}}

    By default, the text is placed in a {{{<span>}}}. To use a {{{<div>}}} instead, insert a line break before the text:

    {{{
    {{wrappingClass{
    Text that is now accentuated}}}
    }}}

    {{wrappingClass{
    Text that is now accentuated}}}

    Sometimes it's necessary to include custom HTML markup in the {{{<head>}}} of a TiddlyWiki file - typically for compatibility with ad serving software, external libraries, or for custom meta tags. The CustomMarkup operation defines four shadow tiddlers whose contents are spliced into the saved HTML file. (If you do a view/source you'll see the markers referred to below).
    |!Title |!Location |!Marker |
    |MarkupPreHead |Start of the {{{<head>}}} section |{{{<!--PRE-HEAD-START-->}}} |
    |MarkupPostHead |End of the {{{<head>}}} section |{{{<!--POST-HEAD-START-->}}} |
    |MarkupPreBody |Start of the {{{<body>}}} section |{{{<!--PRE-BODY-START-->}}} |
    |MarkupPostBody |End of the {{{<body>}}} section |{{{<!--POST-BODY-START-->}}} |
    MarkupPreHead is the only one with shadow content: a link to the default location of the RSS feed.

    Starting with this revision, you can skin TiddlyWiki with a special StyleSheet tiddler containing your own CSS style sheet declarations. Unlike hacking the HTML directly, the StyleSheet tiddler withstands upgrading to a new version of the TiddlyWiki code (see HowToUpgrade). You can also use the NestedStyleSheets feature to structure your CSS declarations.

    The ExampleStyleSheet shows some of the basic options you can control (see AnotherExampleStyleSheet for more complex examples). SaveChanges and then click refresh in your browser to see StyleSheet changes. Any errors in your CSS syntax will be caught and displayed, but they shouldn't stop TiddlyWiki from working.

    You can customise the appearance and behaviour of TiddlyWiki to almost any degree you want:
    * Install [[Plugins]] to extend the core functionality (find them at [[TiddlyVault|http://tiddlyvault.tiddlyspot.com/]] or you can try [[writing or adapting your own|http://tiddlywiki.org/wiki/Plugin_Development]])
    * Use the ColorPalette to change the basic colour scheme
    * Use built in [[Formatting|ExtendedFormatting]] techniques
    * Create a CustomStyleSheet for finer grained control over the appearance
    * Customise the PageTemplate, ViewTemplate or EditTemplate to change the composition of the page and the layout of individual tiddlers
    * Use off-the-shelf themes from [[TiddlyThemes|http://tiddlythemes.com/]]
    * Visit the [[Configuration]] summary to see all the special configuration tiddlers
    * Use TiddlyBookmarklets for low level hacking of TiddlyWiki documents
    There are also a bunch of TiddlyWikiTools that you can use to enhance TiddlyWiki.

    Several [[Macros]] including the TodayMacro take a DateFormatString as an optional argument. This string can be a combination of ordinary text, with some special characters that get substituted by parts of the date:
    * {{{DDD}}} - day of week in full (eg, "Monday")
    * {{{ddd}}} - short day of week (eg, "Mon")
    * {{{DD}}} - day of month
    * {{{0DD}}} - adds a leading zero
    * {{{DDth}}} - adds a suffix
    * {{{WW}}} - ISO-8601 week number of year
    * {{{0WW}}} - adds a leading zero
    * {{{MMM}}} - month in full (eg, "July")
    * {{{mmm}}} - short month (eg, "Jul")
    * {{{MM}}} - month number
    * {{{0MM}}} - adds leading zero
    * {{{YYYY}}} - full year
    * {{{YY}}} - two digit year
    * {{{wYYYY}}} - full year with respect to week number
    * {{{wYY}}} two digit year with respect to week number
    * {{{hh}}} - hours
    * {{{0hh}}} - adds a leading zero
    * {{{hh12}}} - hours in 12 hour clock
    * {{{0hh12}}} - hours in 12 hour clock with leading zero
    * {{{mm}}} - minutes
    * {{{0mm}}} - minutes with leading zero
    * {{{ss}}} - seconds
    * {{{0ss}}} - seconds with leading zero
    * {{{am}}} or {{{pm}}} - lower case AM/PM indicator
    * {{{AM}}} or {{{PM}}} - upper case AM/PM indicator

    HelloThere NewFeatures [tag[blog]] [sort[created]]

    Deletes the current tiddler. A confirmation dialogue is displayed unless disabled with the ConfirmBeforeDeleting checkbox in AdvancedOptions. It is used with the ToolbarMacro like this:
    {{{
    <<toolbar deleteTiddler>>
    }}}

    TiddlyWiki is now owned by UnaMesa, a non-profit foundation. Part of it's purpose is to provide a means for people who enjoy using TiddlyWiki to usefully reward the members of the community who have helped to create it, and so we will be exploring ways of accepting and distributing donations. For the moment, we don't have a formal scheme, but would encourage people to donate directly to individuals where they can.
    <<<
    On a personal note (writes JeremyRuston), in the two years that I had a personal donation account before I took up a [[commercial position with BT|http://jermolene.wordpress.com/2007/05/29/i-for-one-welcome-my-new-bt-overlords/]], just under a 100 people donated a total of nearly £1500 via PayPal. Knowing how much effort it is to make such a payment, I'm truly grateful to everyone who took the trouble, many thanks. I used the money to buy camera equipment, a [[hobby|http://flickr.com/photos/jermy]] that I couldn't have pursued at the time otherwise.
    <<<

    {{downloadButton{
    |<<download>>|

    [[Advanced options >>|Advanced download options]]

    /***
    |''Name:''|DownloadTiddlyWikiPlugin|
    |''Description:''|Download TiddlyWiki according to browser type|
    |''Version:''|0.0.8|
    |''Date:''|Aug 26, 2008|
    |''Source:''|http://www.tiddlywiki.com/#DownloadTiddlyWikiPlugin|
    |''License:''|[[BSD open source license]]|
    |''~CoreVersion:''|2.4.1|
    ***/

    //{{{
    if(!version.extensions.DownloadTiddlyWikiPlugin) {
    version.extensions.DownloadTiddlyWikiPlugin = {installed:true};

    config.macros.download = {};

    merge(config.macros.download,{
    	label: "download",
    	prompt: "Download TiddlyWiki",
    	className: "chunkyButton"});

    config.macros.download.handler = function(place,macroName,params,wikifier,paramString,tiddler)
    {
    	var span = createTiddlyElement(place,"span",null,this.className);
    	createTiddlyButton(span,params[0]||this.label,params[1]||this.prompt,this.onClick);
    };

    config.macros.download.onClick = function(ev)
    {
    	// display the tiddler containing the instructions
    	var e = ev || window.event;
    	var title = "Installation";
    	var url = config.browser.isSafari || config.browser.isOpera ? 'http://www.tiddlywiki.com/empty.zip' :'http://www.tiddlywiki.com/empty.download';
    	if(config.browser.isOpera || config.browser.isWindows) {
    		story.displayTiddler(target,title);
    		window.setTimeout(function() {document.location.href = url;},300);
    	} else {
    		// put an iframe in the target instructions tiddler to start the download
    		var html = '<html><iframe src="' + url + '" style="display:none"></html>';
    		var tiddler = store.getTiddler(title);
    		var oldText = tiddler.text;
    		tiddler.text = html + tiddler.text;
    		var target = resolveTarget(e);
    		story.closeTiddler(title,true);
    		story.displayTiddler(target,title);
    		tiddler.text = oldText;
    	}
    	return false;
    };

    } //# end of 'install only once'
    //}}}

    Try holding down the alt- or shift-key while clicking on a link to a tiddler, on the 'options' button or on the CloseButton for a tiddler. Kind of a respectful homage to Mac OS X, which does something similar for many of its system animations. (On browsers like InternetExplorer that use the shift key to open a new window, it's best to use the alt-key).

    Switches the current tiddler to the current edit view. It is used with the ToolbarMacro like this:
    {{{
    <<toolbar editTiddler>>
    }}}

    ~TiddlyWiki is made up of chunks of information called tiddlers. You're reading a tiddler called 'Editing' right now (a [[glossary of terms|http://www.tiddlywiki.org/wiki/TiddlyWiki_Glossary]] appears on ~TiddlyWiki.org, by the way!)

    When you open an empty ~TiddlyWiki file for the first time, you'll be presented with a tiddler called "~GettingStarted". This contains links to tiddlers to help you define the main attributes of your ~TiddlyWiki; the Title, Sub-title and Main Navigation (see [[Configuration]]). Click on the links to access these tiddlers.

    You will notice that each tiddler has a command menu in it's top right corner (close, edit, and so on). You can use this to send the tiddler into edit mode, or if you prefer you can simply double click the tiddler when it's in read mode. When you're finished, click on done.

    If you'd like your tiddlers to be assigned to you, you can enter your name in the relevant field on the right hand side (the 'sidebar'). If you can't see this field, click on [[this link|InterfaceOptions]] to reveal it.

    There are two ways to make links between tiddlers. If you're linking to a tiddler which already exists, put the tiddler name in double square brackets (Double click here, and you'll see double square brackets around the word [[example]]). You can use this technique to point to (and create) a new tiddler, or alternatively just write the tiddler name by joining words starting with capital letters, LikeThis. When you save the tiddler and click on the link, you can then add content to your new tiddler.

    {{{
    [img[title|filename]]
    [img[filename]]
    [img[title|filename][link]]
    [img[filename][link]]
    }}}
    Images can be included by their filename or full URL. It's good practice to include a title to be shown as a tooltip, and when the image isn't available. An image can also link to another tiddler or or a URL
    [img[Romanesque broccoli|fractalveg.jpg][http://www.flickr.com/photos/jermy/10134618/]]
    {{{
    [img[Fractal vegetable|fractalveg.jpg]]
    [img[This is shown as a tooltip|http://example.com/image.jpg]]
    [img[http://example.com/image.jpg]]
    [img[http://example.com/image.jpg][ExampleDotCom]]
    }}}
    The tooltip is optional.

    [<img[Forest|forest.jpg][http://www.flickr.com/photos/jermy/8749660/]][>img[Field|field.jpg][http://www.flickr.com/photos/jermy/8749285/]]You can also float images to the left or right: the forest is left aligned with {{{[<img[}}}, and the field is right aligned with {{{[>img[}}}.
    @@clear(left):clear(right):display(block):You can use CSS to clear the floats@@
    {{{
    [<img[A woody bit of Hampstead Heath|forest.jpg]]
    [>img[A field near Milton Keynes|field.jpg]]
    }}}

    There's now an option under InterfaceOptions to allow TiddlyWiki's animation effects to be turned off.

    /***
    |''Name:''|ExamplePlugin|
    |''Description:''|To demonstrate how to write TiddlyWiki plugins|
    |''Version:''|2.0.3|
    |''Date:''|Sep 22, 2006|
    |''Source:''|http://www.tiddlywiki.com/#ExamplePlugin|
    |''Author:''|JeremyRuston (jeremy (at) osmosoft (dot) com)|
    |''License:''|[[BSD open source license]]|
    |''~CoreVersion:''|2.1.0|
    |''Browser:''|Firefox 1.0.4+; Firefox 1.5; InternetExplorer 6.0|
    ***/

    //{{{

    // Uncomment the following line to see how the PluginManager deals with errors in plugins
    // deliberateError();

    // Log a message
    pluginInfo.log.push("This is a test message from " + tiddler.title);

    //}}}

    #displayArea {background-color: #ffccff; }
    #mainMenu {border: 1px solid #ffff88; }
    #commandPanel {background-color: #008800; }

    config.animFast = 0.12; // Speed for animations (lower == slower)
    config.animSlow = 0.01; // Speed for EasterEgg animations
    config.views.wikified.toolbarEdit.text = "Edit away, it won't get saved";

    ~TiddlyWiki is being used for all kinds of things:
    * Many people are using the [[GTD ("Getting Things Done")|GTDTiddlyWiki]] ~TiddlyWiki variant for personal productivity
    * There have been some interesting experiments in TiddlyWikiFiction
    * Garrett Lisi has published his work on Deferential Geometry in a paper named [[An Exceptionally Simple Theory of Everything|http://deferentialgeometry.org]]
    * Phil Hawksworth has used ~TiddlyWiki to create a flexible task management tool called [[TeamTasks|http://www.getteamtasks.com]]
    * Paul Downey and Phil Hawksworth have created a note sharing tool called [[RippleRap|http://www.ripplerap.com]]
    * An "electronic wallet" for storing passwords and other confidential information called [[TiddlyFolio|http://tiddlyfolio.tiddlyspot.com/]]
    * [[Video tutorials interspersed with Q&A|http://files.unamesa.org/MORE/MORE.html]] by UnaMesa
    * By teachers in Massachusetts to [[teach mathematics|http://luceatlux.net/mcasmath10/]]
    * By schools in South Australia to [[distribute class materials to students|https://secure.ait.org/wiki/background.htm]]
    * A [[music and culture site|http://udigrudi.net/]] (in Portugese)
    * Jonny ~LeRoy has created a ~TiddlyWiki based on [[resizable windows|http://tiddlyhome.bidix.info/desk/]]
    * Miguel Centellas has created an [[extensive guide to Bolivian politics|http://www.centellas.org/politics/politiddly.html]]
    * BT is using a ~TiddlyWiki file for their [[Open source website|http://www.bt.com/opensource]]
    * Elise Springer, a philospher at Wesleyan University in Connecticut, USA, is using ~TiddlyWiki for her [[homepage|http://espringer.web.wesleyan.edu/]] and for [[Reasoning Well|http://reasoningwell.tiddlyspot.com/]], a wiki for her Philosophy faculty
    Also, see TiddlyWikiAdaptations

    Like most wikis, ~TiddlyWiki supports a range of simplified character formatting. You can find a list on the [[TiddlyWiki.org website|http://tiddlywiki.org/wiki/TiddlyWiki_Markup]].

    To see all the tiddlers on this website that concern formatting, click on the 'formatting' link in the box that appears to the right of this tiddler.

    The following features are included with the standard download of ~TiddlyWiki:
    !Browsers
    * You can ''view'' ~TiddlyWiki files on all major desktop browsers on Windows, Macintosh and Linux and many mobile browsers such as the Apple iPhone and the Nokia 770/N800
    * You can ''save changes'' to local ~TiddlyWiki files with modern versions of FireFox, [[Opera]], InternetExplorer for Windows, [[Safari]], and [[Camino]] - click [[here|Browsers]] for browser version details
    * Community member ~BidiX has created an adaptation of the ~TiddlyWiki user interface [[specially for the iPhone|http://www.apple.com/webapps/productivity/itwatiddlywikiforiphone.html]]
    !Tools
    * Fully configurable navigation, tagging and searching capability, all using javascript within ~TiddlyWiki itself
    * ~TiddlyWiki contains a BackstageArea for handy access to management tools including [[importing|ImportTiddlers]] and [[synchronisation|http://www.tiddlywiki.org/wiki/Dev:Server_Adaptor_Mechanism]] of tiddlers with external files and servers. These tools can also be used to manage a wide range of [[Plugins]] which have been developed by the [[TiddlyWiki community|Help and Support]].
    !Content
    * Full text formatting including MonospacedText, ExtendedFormatting, NonWikiWordLinks, WikiWordEscape, PrettyLinks, SubHeadings, BulletPoints, NumberedBulletPoints, [[Tables]], BlockQuotes, HorizontalRules and the ability to use a CustomCssClass and  InlineHTML
    * EmbeddedImages
    * [[Macros]] providing rich interactive features, including [[Gradients|GradientMacro]]
    !Miscellaneous
    * InterfaceOptions and AdvancedOptions, including the ability to GenerateAnRssFeed, SaveBackups and AutoSave
    * KeyboardShortcuts so you can finish editing a tiddler with ~Control-Enter or abandon it with Escape
    * Extensive StartupParameters to control the behaviour of ~TiddlyWiki through specially crafted ~URLs
    * There are [[translations]] of ~TiddlyWiki available in many languages, including Chinese, French, German, Spanish and Portuguese
    See also NewFeatures for version <<version>>.

    If you've any comments, corrections or observations about TiddlyWiki, the best way to get our attention is to post to the [[Community]] groups -- or write a blog entry.

    ~TiddlyWiki works well in ~FireFox v1.0 and above. If you're experiencing problems, make sure you've followed the [[installation guidelines|Installation]].

    When saving ~TiddlyWiki in ~FireFox for the first time, you can run into problems if you accidentally click 'Deny' on the dialog, and select //Remember this decision//.

    To reverse the effects, first locate the file {{{prefs.js}}} in your ~FireFox profile directory:
    * Under Windows you'll find it at something like {{{C:\Documents and Settings\Jeremy\Application Data\Mozilla\Firefox\Profiles\o3dhupu6.default\prefs.js}}}, where {{{Jeremy}}} is the name of your windows profile and {{{o3dhupu6}}} will be a similar string of gobbledegook.
    * On the Mac it'll be at {{{~/Library/Application Support/Firefox/Profiles/o3dhupu6.default/prefs.js}}}
    * On Linux you can find this file at {{{~/.mozilla/firefox/o3dhupu6.default/prefs.js}}}.

    Open the file in a text editor and find the line {{{user_pref("capability.principal.codebase.p0.denied", "UniversalXPConnect");}}} and simply replace the word {{{denied}}} with {{{granted}}}.
    //(Thanks to JonScully for figuring out this fix)//

    Firefox users should be aware that GreaseMonkey can break TiddlyWiki. There's also a rather unpredictable FireFoxKeyboardIssue.

    Under FireFox, TiddlyWiki can get into a state where it ignores the arrow keys on the keyboard but accepts ordinary alphanumeric input. The triggers for this behaviour are unclear, but it doesn't just affect TiddlyWiki. The solution appears to be to locate the file {{{compreg.dat}}} in your FireFox profile folder and rename it to {{{compreg.dat.old}}}.

    Released in September 2004, the [[first version|firstversion.html]] was pretty basic, weighing in at 52KB.

    Here's one way to get a Flickr badge in TiddlyWiki:

    <html>
    <a href="http://www.flickr.com" style="text-align:center;">www.<strong style="color:#3993ff">flick<span style="color:#ff1c92">r</span></strong>.com</a><br>
    <iframe style="background-color:#ffffff; border-color:#ffffff; border:none;" width="113" height="151" frameborder="0" scrolling="no" src="http://www.flickr.com/apps/badge/badge_iframe.gne?zg_bg_color=ffffff&zg_person_id=35468148136%40N01" title="Flickr Badge"></iframe>
    </html>

    Here's the HTML code to insert in a tiddler:
    {{{
    <html>
    <a href="http://www.flickr.com" style="text-align:center;">www.<strong style="color:#3993ff">flick<span style="color:#ff1c92">r</span></strong>.com</a><br>
    <iframe style="background-color:#ffffff; border-color:#ffffff; border:none;" width="113" height="151" frameborder="0" scrolling="no" src="http://www.flickr.com/apps/badge/badge_iframe.gne?zg_bg_color=ffffff&zg_person_id=35468148136%40N01" title="Flickr Badge"></iframe>
    </html>
    }}}

    You'll need to know your Flickr person ID, which should replace the value "35468148136%40N01" in the HTML. There's a useful [[Flickr idGettr|http://eightface.com/code/idgettr/]] to help with this.

    ~TiddlyWiki has long been used as a personal productivity tool, geared towards David Allen's [[Getting Things Done|http://en.wikipedia.org/wiki/Getting_Things_Done]] (GTD) methodology. ~TiddlyWiki lends itself to the GTD approach due to it's portability, ease of use, and ability to work without a web connection.

    The [[original|http://shared.snapgrid.com/gtd_tiddlywiki.html]] adaptation is based on an obsolete, older version of ~TiddlyWiki; if you want to have the GTD look-and-feel but still be able to use the latest ~TiddlyWiki features, check out the following links:
    *[[Tom Otvos' d-cubed adaptation|http://www.dcubed.ca/]]
    *[[Simon Baird's Monkey GTD adaptation|http://www.tiddlywiki.org/wiki/MonkeyGTD]]
    *[[Clint Checkett's GTDTiddlyWiki plus adaptation|http://www.checkettsweb.com/tw/gtd_tiddlywiki.htm]]

    A new feature for the ThirdVersion of TiddlyWiki is the ability to generate an RssFeed of its content. You can flick it on with a new addition to the InterfaceOptions. If enabled, it automatically saves an RSS 2.0 format file with the last few changed tiddlers in it. It's given the same filename as the TiddlyWiki file but with the ".xml" extension. Like all TiddlyWiki features, it's experimental, and will probably be a bit temperamental in your feedreader until the bugs are ironed out.

    Note that you must set the tiddler SiteUrl to be the URL where your TiddlyWiki will be published. (Don't put leading spaces or line breaks before or after the URL).

    Once you've successfully [[installed|Installation]] ~TiddlyWiki, the following links will help you get up and running.

    [[Editing]]
    [[Saving|SaveChanges]]
    [[SpecialTiddlers]]
    [[Formatting|ExtendedFormatting]]
    [[Searching|Search]]
    [[Tagging|Tags]]
    [[Customisation]]
    [[Help and Support]]

    |''URL:''|http://gimcrackd.com/etc/src/|
    |''Description:''|Gimcrack'd: Code and Other Oddments|
    |''Author:''|ChrisKlimas|

    <<gradient horiz #bbbbbb #eeeeee #ffffff>>The new GradientMacro allows simple horizontal and vertical coloured gradients. They are constructed from coloured HTML elements, and don't require any images to work.>>
    The GradientMacro is an Extended Macro that processes the text after it up until the next '>>' sequence. It looks like this:
    {{{
    <<gradient vert #ffffff #ffdddd #ff8888>>gradient fill>>
    }}}
    The first parameter can be ''vert'' or ''horiz'' to indicate the direction of the gradient. The following parameters are two or more colours (CSS RGB(r,g,b) format is also acceptable). The GradientMacro constructs a smooth linear gradient between each of the colours in turn.

    | <<gradient vert #ffffff #ffdddd #ff8888>>No images were harmed in the making of this gradient fill>> | <<gradient vert #ffffff #ddffdd #88ff88>>No images were harmed in the making of this gradient fill>> | <<gradient vert #ffffff #ddddff #8888ff>>No images were harmed in the making of this gradient fill>> |

    Inline CSS definitions can be added to gradient fills like this:

    <<gradient vert #000000 #660000 #aa2222>>color:#ffffff;font-size:12pt;Darkness>>
    {{{
    <<gradient vert #000000 #660000 #aa2222>>color:#ffffff;font-size:12pt;Darkness>>
    }}}

    You can make an abrupt transition in the gradient by using the "snap" prefix, like this:

    {{{
    <<gradient vert #000000 #999999 snap:#aa2222 #ff444>>color:#ffffff;font-size:24pt;padding:4pt;More darkness>>
    }}}
    <<gradient vert #000000 #999999 snap:#aa2222 #ff444>>color:#ffffff;font-size:24pt;padding:4pt;More darkness>>

    Several popular GreaseMonkey scripts can cause some or all features of TiddlyWiki to stop working - the default Linkify script seems to be particularly troublesome. There doesn't seem to be a //solid// way to disable GreaseMonkey from within TiddlyWiki (which is technically entirely understandable but does lead to a fairly grim user experience).

    TiddlyWiki makes a great GuerillaWiki in situations where it's not practical to use a traditional wiki.

    For instance, in a corporate setting, persuading an over-worked IT department to install you a Wiki server for you isn't always going to be possible overnight. And your PC is locked down so you can't install a conventional Wiki yourself. But, equally, you can't go and use one of the public hosted Wiki services because your Information Security department would not allow all that corporate data to flow into an outside server.

    TiddlyWiki slices through those barriers by being usable on virtually all PCs.

    Welcome to TiddlyWiki!

    ~TiddlyWiki is a single html file which has all the characteristics of a [[wiki|WikiWikiWeb]] - including all of the content, the functionality (including editing, saving, tagging and searching) and the style sheet. Because it's a single file, it's very portable - you can email it, put it on a web server or share it via a [[USB stick|WikiOnAStick]].

    ''But it's not just a wiki!'' It has very powerful plugin capabilities, so it can also be used to build new tools. You have full control over how it looks and behaves. For example, ~TiddlyWiki is already being used as:
    *A personal notebook
    *A GTD ("Getting Things Done") productivity tool
    *A collaboration tool
    *For building websites (this site is a ~TiddlyWiki file!)
    *For rapid prototyping
    *...and much more!
    You can import and export data to and from all sorts of places. Check out some of the [[Examples]] of ~TiddlyWiki in use, and the [[Features]] that are available.

    You can see the web functionality of ~TiddlyWiki by clicking on some of the links on this website. Double click some of the text to see 'edit mode'. For the full range of functions, including editing and saving changes, download and install a copy of the basic version and then follow the guidelines in [[Getting Started|GettingStarted]]. Have fun!

    <<tiddler Download>>

    /***
    |Name|HelloWorldMacro|
    |Created by|SimonBaird|
    |Location|http://simonbaird.com/mptw/#HelloWorldMacro|
    |Version|1.1|
    |Requires|~TW2.x|
    !Description
    It's a Hello World TiddlyWiki macros.

    !History
    * 11-Jan-06, version 1.1, updated for ~TW2.0

    !Examples
    |!Source|!Output|h
    |{{{<<helloWorld dude>>}}}|<<helloWorld dude>>|
    |{{{<<helloWorld 'to everyone'>>}}}|<<helloWorld 'to everyone'>>|
    (You can use (single or double) quotes or double square brackets for params with spaces)

    !Notes
    This is intended to help you get started with customising your TW. To make the macro work you have to give this tiddler a tag of systemConfig then save and reload. To learn more about customising Tiddlywiki? Look at other people's plugins or... click View, Source in your browser and start reading. :)

    !Code
    ***/
    //{{{
    config.macros.helloWorld = {};
    config.macros.helloWorld.handler = function (place,macroName,params,wikifier,paramString,tiddler) {
    	var who = params.length > 0 ? params[0] : "world";
    	 wikify("Hello //" + who + "// from the '" + macroName + "' macro in tiddler [[" + tiddler.title + "]].", place);
    }

    //}}}

    [>img[tiddlywiki.org logo|http://trac.tiddlywiki.org/chrome/site/tworg_logo_med.jpg][http://www.tiddlywiki.org]]~TiddlyWiki today is the result of the efforts of dozens of people around the world generously contributing their time and skill, and offering considerable help and support.

    If you'd like help getting your ~TiddlyWiki project off the ground, perhaps the best place to start is the community wiki at http://www.tiddlywiki.org. It contains detailed project documentation, as well as the master copy of the ~TiddlyWiki source code, and a system for tracking bugs and enhancement requests. The community welcomes [[contributions|Contribute]].
    !Discussion forums
    Also, there are two Google Group discussion forums for discussions about ~TiddlyWiki, whether basic entry level questions or more complex challenges! They are the best places to ask questions about ~TiddlyWiki, and to connect with other enthusiasts:
    * A ~TiddlyWiki group for general discussion, bug reports and announcements at http://groups.google.com/group/TiddlyWiki
    * A ~TiddlyWikiDev group for discussion about ~TiddlyWiki development at http://groups.google.com/group/TiddlyWikiDev
    !~Non-English resources
    There are a number of resources for non-English language speakers:
    * ~TiddlyWikiFR, in French, at http://groups.google.com/group/TiddlyWikiFR
    * ~TiddlyWiki 華語支援論壇, in Chinese, at http://groups.google.com/group/TiddlyWiki-zh
    * ~TiddlyWikiPT, in Brazilian Portuguese, at http://groups.google.com.br/group/tiddlywikipt
    * A guide to [[TiddlyWiki in Japanese|http://www.geocities.jp/potto372/tiddlywiki/tiddlywikinote.html]]
    !Tutorials and guides
    The ~TiddlyWiki community have created several tutorials and guides. Here are some of the most popular ones:
    * Dave Gifford's [[TiddlyWiki for the Rest of Us|http://www.giffmex.org/twfortherestofus.html]] and his [[slideshow introduction|http://www.giffmex.org/blog/?p=23]]
    * Morris Gray's [[TW Help - TiddlyWiki help file for beginners|http://tiddlyspot.com/twhelp/]]
    * Dmitri Popov's [[TiddlyWiki quick reference card|http://nothickmanuals.info/doku.php/cheatsheets]]
    * Julie Starr's [[Tiddler Toddler|http://tiddlertoddler.tiddlyspot.com/]], documenting the learning curve from a beginner's perspective
    * Screencasts from [[JimVentola|http://faculty.massasoit.mass.edu/jventola/videocasts/tidhelp2/tidhelp2.html]], [[LeonKilat|http://max.limpag.com/2006/09/07/using-a-tiddlywiki-a-video-guide/]] and [[Phil Whitehouse|http://www.youtube.com/watch?v=ezNScBd7_h4]]
    !Developers
    Michael Mahemoff has written a very helpful outline of the architecture of ~TiddlyWiki: [[Part 1|http://softwareas.com/tiddlywiki-internals-1-of-3-architectural-concepts]], [[Part 2|http://softwareas.com/tiddlywiki-internals-2-of-3-list-of-javascript-files]] and [[Part 3|http://softwareas.com/tiddlywiki-internals-3-of-3-key-javascript-classes-and-files]]

    Many ~TiddlyWiki hackers hang out on the ~TiddlyWiki IRC room at irc://irc.freenode.net/TiddlyWiki
    !Publications and articles
    ~TiddlyWiki has also appeared in a number of publications and articles:
    * Pao-hsu Shih, a professor at Taipai University in Taiwan, has written an [[Introduction to TiddlyWiki|http://www.wunan.com.tw/bookdetail.asp?no=8852]] in Chinese
    * Dmitri Popov discusses ~TiddlyWiki in [[Writer for Writers and Advanced Users|http://www.lulu.com/content/221513]]
    * Jeremy Wagstaff's [[The Power of Tiddly|http://www.loosewireblog.com/2007/11/the-power-of-ti.html]]
    !Licence
    ~TiddlyWiki is published under a BSD licence, and is owned by the not-for-profit [[UnaMesa Foundation|http://www.unamesa.org/]].

    This is an advanced option that lets you choose whether editting features are shown when a TiddlyWiki file is viewed over {{{http:}}} (as opposed to {{{file:}}}).

    To publish a TiddlyWiki with the editting features hidden you'll need to create a tiddler tagged with 'systemConfig' and include in it the line:

    {{{
    config.options.chkHttpReadOnly = true;
    }}}

    End users can then override the setting using the AdvancedOptions panel.

    You can divide a tiddler into
    ----
    sections by typing four dashes on a line by themselves

    The core TiddlyWiki code is regularly updated with bug fixes and new features. If you're using an earlier revision of TiddlyWiki, you should consider upgrading to the latest version.

    The steps you need to take depend on which version of TiddlyWiki you are upgrading from. From version 2.4.0 onwards, you can upgrade to the latest version using the 'Upgrade' tab in the BackstageArea, as described below. If you're using an earlier version of TiddlyWiki, you'll need to follow [[these instructions|HowToUpgradeOlderTiddlyWikis]] instead.

    ! Upgrading from ~TiddlyWiki 2.4.0+ to the most recent version
    * Open the BackstageArea by clicking the 'backstage' button at the top right
    * Click on the 'Upgrade' tab
    * Click on the 'Upgrade' button, and follow the prompts

    The steps you need to take depend on which version of TiddlyWiki you are upgrading from. From version 2.4.0 onwards, you can upgrade to the latest version using the 'Upgrade' tab in the BackstageArea, as described in HowToUpgrade. If you're using an earlier version of TiddlyWiki, you'll need to follow these instructions instead:
    ! Upgrading from TiddlyWiki earlier than version 2.4.0 to the latest version
    * Download a fresh, empty version of TiddlyWiki by right-clicking on [[this link|http://www.tiddlywiki.com/empty.html]], selecting 'Save target' or 'Save link' and saving it in a convenient location as (say) "mynewtiddlywiki.html"
    * Open the new TiddlyWiki file in your browser
    * Choose ''import'' from the BackstageArea at the top of the window (you may need to click the 'backstage' button at the upper right to show the BackstageArea)
    * Click the ''browse'' button and select your original TiddlyWiki file (say, "mytiddlywiki.html") from the file browser
    * Click the ''open'' button on the import wizard; a list of all of your tiddlers is displayed
    * Click on the top-left checkbox to select all the tiddlers in the list
    * Scroll down to the bottom of the wizard and ensure that the checkbox labelled //Keep these tiddlers linked to this server...// is ''clear''
    * Click the ''import'' button
    The most likely cause of the upgrade process not working properly is that one of the [[Plugins]] you're using is not compatible with a change in the new release. If so, you can repeat the process omitting the troublesome plugins.

    Entities in HTML documents allow characters to be entered that can't easily be typed on an ordinary keyboard. They take the form of an ampersand (&), an identifying string, and a terminating semi-colon (;). There's a complete reference [[here|http://www.htmlhelp.com/reference/html40/entities/]]; some of the more common and useful ones are shown below. Also see [[Paul's Notepad|http://thepettersons.org/PaulsNotepad.html#GreekHtmlEntities%20HtmlEntitiesList%20LatinHtmlEntities%20MathHtmlEntities]] for a more complete list.

    |>|>|>|>|>|>| !HTML Entities |
    | &amp;nbsp; | &nbsp; | no-break space | &nbsp;&nbsp; | &amp;apos; | &apos; | single quote, apostrophe |
    | &amp;ndash; | &ndash; | en dash |~| &amp;quot; | " | quotation mark |
    | &amp;mdash; | &mdash; | em dash |~| &amp;prime; | &prime; | prime; minutes; feet |
    | &amp;hellip; | &hellip; |	horizontal ellipsis |~| &amp;Prime; | &Prime; | double prime; seconds; inches |
    | &amp;copy; | &copy; | Copyright symbol |~| &amp;lsquo; | &lsquo; | left single quote |
    | &amp;reg; | &reg; | Registered symbol |~| &amp;rsquo; | &rsquo; | right  single quote |
    | &amp;trade; | &trade; | Trademark symbol |~| &amp;ldquo; | &ldquo; | left double quote |
    | &amp;dagger; | &dagger; | dagger |~| &amp;rdquo; | &rdquo; | right double quote |
    | &amp;Dagger; | &Dagger; | double dagger |~| &amp;laquo; | &laquo; | left angle quote |
    | &amp;para; | &para; | paragraph sign |~| &amp;raquo; | &raquo; | right angle quote |
    | &amp;sect; | &sect; | section sign |~| &amp;times; | &times; | multiplication symbol |
    | &amp;uarr; | &uarr; | up arrow |~| &amp;darr; | &darr; | down arrow |
    | &amp;larr; | &larr; | left arrow |~| &amp;rarr; | &rarr; | right arrow |
    | &amp;lArr; | &lArr; | double left arrow |~| &amp;rArr; | &rArr; | double right arrow |
    | &amp;harr; | &harr; | left right arrow |~| &amp;hArr; | &hArr; | double left right arrow |

    The table below shows how accented characters can be built up by subsituting a base character into the various accent entities in place of the underscore ('_'):

    |>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>| !Accented Characters |
    | grave accent | &amp;_grave; | &Agrave; | &agrave; | &Egrave; | &egrave; | &Igrave; | &igrave; | &Ograve; | &ograve; | &Ugrave; | &ugrave; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; |
    | acute accent | &amp;_acute; | &Aacute; | &aacute; | &Eacute; | &eacute; | &Iacute; | &iacute; | &Oacute; | &oacute; | &Uacute; | &uacute; | &nbsp; | &nbsp; | &Yacute; | &yacute; | &nbsp; | &nbsp; |
    | circumflex accent | &amp;_circ; | &Acirc; | &acirc; | &Ecirc; | &ecirc; | &Icirc; | &icirc; | &Ocirc; | &ocirc; | &Ucirc; | &ucirc; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; |
    | umlaut mark | &amp;_uml; | &Auml; | &auml; |  &Euml; | &euml; | &Iuml; | &iuml; | &Ouml; | &ouml; | &Uuml; | &uuml; | &nbsp; | &nbsp; | &Yuml; | &yuml; | &nbsp; | &nbsp; |
    | tilde | &amp;_tilde; | &Atilde; | &atilde; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &Otilde; | &otilde; | &nbsp; | &nbsp; | &Ntilde; | &ntilde; | &nbsp; | &nbsp; | &nbsp; | &nbsp; |
    | ring | &amp;_ring; | &Aring; | &aring; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; |
    | slash | &amp;_slash; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &Oslash; | &oslash; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; |
    | cedilla | &amp;_cedil; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &Ccedil; | &ccedil; |

    To import tiddlers from another ~TiddlyWiki file, or from an external website, follow these instructions.
    #If the tiddler is on an external site, first copy the URL of the site which includes the tiddler you'd like to download into your clipboard (eg http://www.tiddlytools.com)
    #Open your local ~TiddlyWiki file from your computer.
    #Click on the 'Backstage' link that you can see at the very top right hand side of the page.
    #In the menu, click on 'Import'. You will then see a window that looks like this - and you can follow the guidance from there. Note that you may need to grant authorisation to your ~TiddlyWiki file to import tiddlers - this is fine and expected.
    <<importTiddlers>>
    //Note also that the popular [[Firebug|http://www.joehewitt.com/software/firebug/]] extension for Firefox interferes with ImportTiddlers if its "Show XMLHttpRequest" option is switched on//

    When you type more than three characters in the search box at the upper right, any matching tiddlers are automatically displayed with the text highlighted. There's a couple of minor issues: the highlights don't get removed when you clear the search, and occasionally, on some browsers, keystrokes get missed if you type quickly so you may need to click the 'search' button to manually trigger the search.

    TiddlyWiki lets you write ordinary HTML by enclosing it in {{{<html>}}} and {{{</html>}}}:

    <html>
    <a href="javascript:;" onclick="onClickTiddlerLink(event);" tiddlyLink="TiddlyWiki" style="background-color: yellow;">Link to wikiwords from HTML</a>
    </html>

    The source for the above is:

    {{{
    <html>
    <div style="background-color: yellow;">
    <a href="javascript:;" onclick="onClickTiddlerLink(event);" tiddlyLink="Macros">Link to wikiwords from HTML</a>
    </div>
    </html>
    }}}

    HTML can enable some exotic new features (like [[embedding GMail and Outlook|http://groups.google.com/group/TiddlyWiki/browse_thread/thread/d363303aff5868d0/056269d8409d121f?lnk=st&q=embedding+gmail&rnum=1#056269d8409d121f]] in a TiddlyWiki). However it doesn't work for some JavaScript code libraries; see CustomMarkup for another way to include custom HTML in your TiddlyWiki.

    The following installation guidelines have been created to cover the vast majority of browsers and operating systems.

    If you are still having trouble installing ~TiddlyWiki after checking these guidelines, check the [[list of browsers|Browsers]] to make sure your browser and operating system are supported. And you can always [[turn to the community|Help and Support]] for help!
    !Installation guidelines
    [[Firefox on Mac OS X|Installation guidelines: Firefox on Mac OS X]]
    [[Firefox on Windows Vista|Installation guidelines: Firefox on Windows Vista]]
    [[Firefox on Windows XP|Installation guidelines: Firefox on Windows XP]]
    [[Firefox on Ubuntu|Installation guidelines: Firefox on Ubuntu]]
    [[Internet Explorer on Windows Vista|Installation guidelines: Internet Explorer on Windows Vista]]
    [[Internet Explorer on Windows XP|Installation guidelines: Internet Explorer on Windows XP]]
    [[Safari on Mac OS X|Installation guidelines: Safari on Mac OS X]]
    [[Opera on Mac OS X|Installation guidelines: Opera on Mac OS X]]

    Follow these easy steps to get started! Note that these guidelines are for Firefox v3.0.1 running on Mac OS X 10.5.4.

    ''If these guidelines aren't appropriate, check the [[other browser-specific guidelines|Installation]] to find some that are right for you.''
    !Step 1 - Download file
    You'll need to choose a name and location for your empty ~TiddlyWiki file - we recommend either your Desktop or Documents folder. Make sure you keep the .html file extension and leave the "Save As: Hypertext" default option as it is.
    [img[images/step1mac.jpg]]
    !Step 2 - Download complete
    Empty ~TiddlyWiki files are very small, and download should be completed quickly. You can now either launch the file from the download pane (shown below, double click on the file name to launch), or open your finder to open the file from there.
    [img[images/step2mac.jpg]]
    !Step 3 - Open file
    You'll be asked if you're sure you want to open the file - click "Open".
    [img[images/step3mac.jpg]]
    !Step 4 - Grant authority
    When you try to save your changes for the first time, Firefox may ask you to grant access to the file system. You will need to 'Allow' this for ~TiddlyWiki changes to be saved, and we recommend you tick the 'Remember this decision' checkbox so this dialogue box doesn't appear each time.

    [img[images/step4mac.jpg]]

    !Step 5 - You're ready to start!
    You're now ready to start playing with your ~TiddlyWiki file - be sure to check out the guidelines in [[Getting Started|GettingStarted]]!

    Follow these easy steps to get started! Note that these guidelines are for Firefox v3.0.1 running on Ubuntu version 8.0.4 (Hardy Heron).

    ''If these guidelines aren't appropriate, check the [[other browser-specific guidelines|Installation]] to find some that are right for you.''
    !Step 1 - Download file
    You'll need to choose a name and location for your empty ~TiddlyWiki file - we recommend either your Desktop or Documents folder. Make sure you keep the file type as HTML Document.

    [img[images/step1ubuntu.png]]
    !Step 2 - Download complete
    Empty ~TiddlyWiki files are very small, and download should be completed quickly. You can now either launch the file from the download pane (shown below, double click on the file name to launch), or open your finder to open the file from there.

    [img[images/step2ubuntu.png]]

    !Step 3 - Grant authority
    When you try to save your changes for the first time, Firefox may ask you to grant access to the file system. You will need to 'Allow' this for ~TiddlyWiki changes to be saved, and we recommend you tick the 'Remember this decision' checkbox so this dialogue box doesn't appear each time.

    [img[images/step3ubuntu.png]]

    !Step 4 - You're ready to start!
    You're now ready to start playing with your ~TiddlyWiki file - be sure to check out the guidelines in [[Getting Started|GettingStarted]]!

    <<tiddler [[Installation guidelines: Firefox on Windows Vista]]>>

    Follow these steps to get started! These guidelines are for Firefox 3.0.1 running on Microsoft Windows Vista 6.0.0. Hopefully they will be helpful for your setup too.

    ''If these guidelines aren't appropriate, check the [[other browser-specific guidelines|Installation]] to find some that are right for you.''
    !Step 1 - Download file
    You'll need to choose a name and location for your empty ~TiddlyWiki file - we recommend either your Desktop or Documents folder. Make sure you leave the "Save as type: HTML Document" default option as it is. Then click 'Save'.

    [img[images/step1vistaff.jpg]]
    !Step 2 - Open file
    Click on the file name in the Download dialogue box. This will open your ~TiddlyWiki file, and you'll be able to start editing immediately - but you'll need to complete Step 3 below to save your changes.

    [img[images/step2vistaff.jpg]]
    !Step 3 - Enable advanced features
    When you try to save changes for the first time, this dialogue box will appear. These features will enable the saving mechanism. Tick the 'Remember this decision' checkbox and then click on 'Allow'.

    [img[images/step3vistaff.jpg]]
    !Step 4 - You're ready to start!
    You're now ready to start playing with your ~TiddlyWiki file - be sure to check out the guidelines in [[Getting Started|GettingStarted]]!

    Follow these steps to get started! These guidelines are for Firefox 3.0.1 running on Microsoft Windows XP, Service Pack 3. Hopefully they will be helpful for your setup too.

    ''If these guidelines aren't appropriate, check the [[other browser-specific guidelines|Installation]] to find some that are right for you.''
    !Step 1 - Download file
    You'll need to choose a name and location for your empty ~TiddlyWiki file - we recommend either your Desktop or My Documents folder. Make sure you leave the "Save as type: Firefox Document" default option as it is. Then click 'Save'.

    [img[images/step1xpff.jpg]]
    !Step 2 - Open file
    Double click on the file name in the Download dialogue box, shown below. This will open your ~TiddlyWiki file, and you'll be able to start editing immediately - but you'll need to complete Step 3 below to save your changes.

    [img[images/step2xpff.jpg]]
    !Step 3 - Enable advanced features
    When you try to save changes for the first time, this dialogue box will appear. These features will enable the saving mechanism. Tick the 'Remember this decision' checkbox and then click on 'Allow'.
    [img[images/step3xpff.jpg]]
    !Step 4 - You're ready to start!
    You're now ready to start playing with your ~TiddlyWiki file - be sure to check out the guidelines in [[Getting Started|GettingStarted]]!

    <<tiddler [[Installation guidelines: Internet Explorer on Windows Vista]]>>

    Follow these steps to get started! These guidelines are for Internet Explorer 7.0 running on Microsoft Windows Vista 6.0.0. Hopefully they will be helpful for your setup too.

    ''If these guidelines aren't appropriate, check the [[other browser-specific guidelines|Installation]] to find some that are right for you.''
    !Step 1 - Download file
    You'll need to choose a name and location for your empty ~TiddlyWiki file - we recommend either your Desktop or Documents folder. Make sure you leave the "Save as type: HTML Document" default option as it is. Then click 'Save'.

    [img[images/step1vista.jpg]]
    !Step 2 - Open folder
    Once the download has been completed, ''don't open the file yet'' - a minor modification is required before ~TiddlyWiki will work! Click on 'Open Folder'.

    [img[images/step2vista.jpg]]
    !Step 3 - Modify properties
    In the folder, right click on the file name and select 'Properties' from the bottom of the contextual menu.

    [img[images/step3vista.jpg]]
    !Step 4 - Unblock file
    In order to allow saving, you need to Unblock the file. Select 'Unblock' near the bottom of the dialogue box, then click on 'OK'. If the Unblock button doesn't appear, then you don't need to worry about it - click on OK and proceed to step 5.

    [img[images/step4vista.jpg]]

    !Step 5 - Open file
    Double click on the file name to open the file. Internet Explorer takes special care to block javascript from untrusted sources, so a screen will appear with a yellow bar at the top and a warning in red. Click on the yellow bar (this will make it turn blue, as shown below), and select 'Allow Blocked Content...'.

    [img[images/step5vista.jpg]]

    !Step 6 - Allow active content
    ~TiddlyWiki contains 'active content' that, for example, allows search and tagging to function. Approve this active content by clicking on 'Yes'.
    [img[images/step6vista.jpg]]
    !Step 7 - Enable saving mechanism
    One final hurdle! When you save for the first time, you'll be prompted to allow the activity. Click on 'Yes'.
    [img[images/step7vista.jpg]]
    !Step 8 - You're ready to start!
    You're now ready to start playing with your ~TiddlyWiki file - be sure to check out the guidelines in [[Getting Started|GettingStarted]]!

    Follow these steps to get started! These guidelines are for Internet Explorer 7.0 running on Microsoft Windows XP, Service Pack 3. Hopefully they will be helpful for your setup too.

    ''If these guidelines aren't appropriate, check the [[other browser-specific guidelines|Installation]] to find some that are right for you.''
    !Step 1 - Download file
    You'll need to choose a name and location for your empty ~TiddlyWiki file - we recommend either your Desktop or My Documents folder. Make sure you leave the "Save as type: HTML Document" default option as it is. Then click 'Save'.

    [img[images/step1xpie.jpg]]
    !Step 2 - Open folder
    Once the download has been completed, ''don't open the file yet'' - a minor modification is required before ~TiddlyWiki will work! ''Click on 'Open Folder'''.

    [img[images/step2xpie.jpg]]
    !Step 3 - Modify properties
    In the folder, right click on the file name and select 'Properties' from the bottom of the contextual menu.

    [img[images/step3xpie.jpg]]
    !Step 4 - Unblock file
    In order to allow saving, you need to Unblock the file. Select 'Unblock' near the bottom of the dialogue box, then click on 'OK'. If the Unblock button doesn't appear, then you don't need to worry about it - click on OK and proceed to step 5.

    [img[images/step4xpie.jpg]]

    !Step 5 - Open file
    Now you've unblocked the file, you can double click on the file name to open the file. Internet Explorer takes special care to block javascript from untrusted sources, so a screen will appear with a yellow bar at the top and a warning in red. Click on the yellow bar (this will make it turn blue, as shown below), and select 'Allow Blocked Content...'.

    [img[images/step5xpie.jpg]]
    !Step 6 - Allow active content
    ~TiddlyWiki contains 'active content' that, for example, allows animations to function. Approve this active content by clicking on 'Yes'.
    [img[images/step6xpie.jpg]]
    !Step 7 - Enable saving mechanism
    One final hurdle! When you save for the first time, you'll be prompted to allow the activity. Click on 'Yes'.
    [img[images/step7xpie.jpg]]
    !Step 8 - You're ready to start!
    You're now ready to start playing with your ~TiddlyWiki file - be sure to check out the guidelines in [[Getting Started|GettingStarted]]!

    Follow these easy steps to get started! Note that these guidelines are for Opera 9.5.1 running on Mac OS X 10.5.4, but will apply to several other configurations (including most other versions of [[Opera]])

    ''If these guidelines aren't appropriate, check the [[other browser-specific guidelines|Installation]] to find some that are right for you.''
    !Step 1 - Download files
    Download the zip file to a location of your choice.

    [img[images/step1macopera.jpg]]
    !Step 2 - Check files
    Open the zip file, and then check in the resulting folder that you have automatically received two files:
    *empty.html (this is your ~TiddlyWiki file)
    *~TiddlySaver.jar (this is a java applet, which will make sure everything works in your chosen browser. Note a copy of this file ''must'' be kept in the same folder as any ~TiddlyWiki file you are using)
    [img[images/step2macopera.jpg]]
    You can download the TiddlySaver file on it's own from [[here|http://www.tiddlywiki.com/TiddlySaver.jar]] if you need it.

    Open the empty.html file to get started.
    !Step 3 - Trust applet
    The ~TiddlySaver.jar applet has been signed by [[UnaMesa|http://www.unamesa.org]], who hold the rights to ~TiddlyWiki on behalf of the community. You can find out more about the applet itself [[here|TiddlySaver]], and you'll need to click on 'Trust' in order for the ~TiddlyWiki to work. If you've accidentally clicked on 'Don't Trust' previously, don't worry - just restart the browser and you should get asked again.

    [img[images/step3macopera.jpg]]
    !Step 4 - You're done!
    Thanks to the applet, you now have the full functionality of ~TiddlyWiki at your disposal. Be sure to check out the guidelines in [[Getting Started|GettingStarted]]!

    Follow these easy steps to get started! Note that these guidelines are for Safari 3.1.2 running on Mac OS X 10.5.4, but will apply to several other configurations (other versions of [[Safari]] and [[Opera]] too)

    ''If these guidelines aren't appropriate, check the [[other browser-specific guidelines|Installation]] to find some that are right for you.''
    !Step 1 - Check downloaded files
    After [[Download]], check first that you have automatically received a zip file containing two files (the contents of the zip file may have been extracted automatically - if not, open the zip file):
    *empty.html (this is your ~TiddlyWiki file)
    *~TiddlySaver.jar (this is a java applet, which will make sure everything works in your chosen browser. Note a copy of this file ''must'' be kept in the same folder as any ~TiddlyWiki file you are using)
    [img[images/step1macsafari.jpg]]
    You can download the ~TiddlySaver.jar file on it's own from [[here|http://www.tiddlywiki.com/TiddlySaver.jar]] if you need it.

    Double click the empty.html file to get started.
    !Step 2 - Open file
    The system will check you're happy to open the ~TiddlyWiki file. Click on 'Open'.

    [img[images/step2macsafari.jpg]]
    !Step 3 - Trust applet
    The ~TiddlySaver.jar applet has been signed by [[UnaMesa|http://www.unamesa.org]], who hold the rights to ~TiddlyWiki on behalf of the community. You can find out more about the applet itself [[here|TiddlySaver]], and you'll need to click on 'Trust' in order for the ~TiddlyWiki to work. If you've accidentally clicked on 'Don't Trust' previously, don't worry - just restart the browser and you should get asked again.

    [img[images/step3macsafari.jpg]]
    !Step 4 - You're done!
    Thanks to the applet, you now have the full functionality of ~TiddlyWiki at your disposal. Be sure to check out the guidelines in [[Getting Started|GettingStarted]]!

    [[Plugins]] are just tiddlers containing ~JavaScript code that is tagged with <<tag systemConfig>>. TiddlyWiki executes any [[Plugins]] as it loads; they can add [[Macros]] or otherwise extend and enhance the base code.

    The recommended way to install a plugin into your own copy of TiddlyWiki is to use ImportTiddlers (there are instructions for ManuallyInstallIngPlugins when required).

    InterfaceOptions are displayed when you click the 'options' button on the right in your TiddlyWiki file. They are saved in a cookie on your browser, making them sticky between visits:
    <<<
    <<tiddler OptionsPanel>>
    <<<
    * The user name for edits should be set //before// starting to edit things (ouch. another bug)
    * SaveBackups gives the option of whether to generate backup files
    * AutoSave gives the option of automatically saving every time a change is made
    * RegExpSearch allows more complex search expressions
    * CaseSensitiveSearch does as its name implies

    TiddlyWiki works on InternetExplorer 6.x and above under Windows. It also allows you to SaveChanges, albeit there are some annoying XP ServicePack2Problems and VistaIssues to work around. If you're having problems, make sure you've followed the appropriate [[installation guidelines|Installation]].

    Known problems with ~TiddlyWiki under InternetExplorer:
    * [[Gradient|GradientMacro]] fills sometimes appear in the wrong place until you move the mouse over the tiddler
    * Horizontal gradients don't work correctly
    * Links to tiddlers with multiple consecutive spaces in their titles is broken
    * Runs of spaces within tiddlers get conflated into a single space when you edit a tiddler. This is particularly annoying when using MonospacedText blocks

    |''URL:''|http://jackparke.googlepages.com/jtw.html|
    |''Description:''|Plugins, Macros and Hacks|
    |''Author:''|JackParker|

    Jeremy is the original creator of TiddlyWiki (nowadays, it's more of a [[group effort|Community]]). I work at [[BT|http://www.btplc.com/]] where I am Head of Open Source Innovation. I run the [[Osmosoft]] team, and generally try to help BT be better at understanding and participating in open source.

    I can be reached at {{{jeremy (at) osmosoft (dot) com}}}, and I regularly read and reply to messages on the [[TiddlyWiki Google Groups|Community]]. I (occasionally) blog at http://jermolene.wordpress.com/ and you can also find me on [[Flickr|http://www.flickr.com/photos/jermy/]], [[del.icio.us|http://del.icio.us/jeremyruston]] and [[twitter|http://twitter.com/Jermolene]].

    Offers a popup menu to jump directly to any of the currently open tiddlers. It is used with the ToolbarMacro like this:
    {{{
    <<toolbar jump>>
    }}}

    Access keys are shortcuts to common functions accessed by typing a letter with either the 'alt' (PC) or 'control' (Mac) key:
    |!PC|!Mac|!Function|
    |Alt-F|Ctrl-F|Search|
    |Alt-J|Ctrl-J|NewJournal|
    |Alt-N|Ctrl-N|NewTiddler|
    |Alt-S|Ctrl-S|SaveChanges|
    These access keys are provided by the associated internal [[Macros]] for the functions above. The macro needs to be used in an open tiddler (or the MainMenu or SideBar) in order for the access keys to work.

    While editing a tiddler:
    * ~Control-Enter or ~Control-Return accepts your changes and switches out of editing mode (use ~Shift-Control-Enter or ~Shift-Control-Return to stop the date and time being updated for MinorChanges)
    * Escape abandons your changes and reverts the tiddler to its previous state

    In the search box:
    * Escape clears the search term

    |''URL:''|http://tw.lewcid.org/|
    |''Description:''|a repository of my extensions for TW|
    |''Author:''|SaqImtiaz|

    You've clicked on an example link! Click close to close this tiddler.

    The format for PrettyLinks allows for links that open local or network folders. Depending on your browser and operating system, the folders are opened in Windows Explorer, the OS X Finder, or the browser itself.

    Edit this tiddler to see [[this link to a Windows network share|file://///server/share/folder/path/name]], [[this link to a Windows drive-mapped folder|file:///c:/folder/path/name]] and [[this link to a Unix-style folder|file:///folder/path/name]].

    [[Macros]] let you write tiddlers containing more exotic objects than just text. Built-in macros include:
    * NewJournalMacro and NewTiddlerMacro
    * GradientMacro
    * TabMacro
    * TaggingMacro
    * TodayMacro
    * ToolbarMacro

    Tag popup:
    {{{
    <<tag features>>
    }}}
    will result in <<tag features>>

    Slider:
    {{{
    <<slider chkTestSlider OptionsPanel options "Change TiddlyWiki advanced options">>
    }}}
    Results in this button <<slider chkTestSlider OptionsPanel options "Change TiddlyWiki advanced options">>
    The parameters are:
    * cookie name to be used to save the state of the slider
    * name of the tiddler to include in the slider
    * title text of the slider
    * tooltip text of the slider

    HelloThere
    [[Features]]
    [[Examples]]
    [[Download]]
    [[Getting Started|GettingStarted]]
    [[Customisation]]
    [[Help and Support]]
    [[RSS|RssFeed]]

    ^^[img[favicon.ico]] TiddlyWiki <<version>>
    © 2009 [[UnaMesa|http://www.unamesa.org/]]^^

    In some situations it can be useful to use the clipboard insead of InstallingPlugins using ImportTiddlers.

    # Open a new browser window and navigate to the TiddlyWiki site containing the macro you want
    # Double click the tiddler, or click the {{{source}}} button (on other sites it will sometimes be a {{{view}}} or {{{edit}}} button)
    # The entire text of the tiddler should be selected; if not select it manually with Control-A or Command-A
    # Copy the entire text of the tiddler to the clipboard
    # Open your TiddlyWiki file in a new browser window
    # Click {{{new tiddler}}} to create a new blank tiddler
    ## Paste the contents of the clipboard into it's body
    ## Set the title as appropriate
    ## Add the tag {{{systemConfig}}}
    # Click {{{done}}} on the tiddler
    # SaveChanges
    # Reload your TiddlyWiki in the browser
    The plugin should now be available for use.

    <!--{{{-->
    <style type="text/css">
    #contentWrapper {display:none;}
    #splashScreen {display:block;}
    /*{{{*/
    body {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}

    a {color:[[ColorPalette::PrimaryMid]];}
    a:hover {background-color:[[ColorPalette::PrimaryMid]]; color:[[ColorPalette::Background]];}
    a img {border:0;}

    h1,h2,h3,h4,h5,h6 {color:[[ColorPalette::SecondaryDark]]; background:transparent;}
    h1 {border-bottom:2px solid [[ColorPalette::TertiaryLight]];}
    h2,h3 {border-bottom:1px solid [[ColorPalette::TertiaryLight]];}

    .button {color:[[ColorPalette::PrimaryDark]]; border:1px solid [[ColorPalette::Background]];}
    .button:hover {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::SecondaryLight]]; border-color:[[ColorPalette::SecondaryMid]];}
    .button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::SecondaryDark]];}

    .header {background:[[ColorPalette::PrimaryMid]];}
    .headerShadow {color:[[ColorPalette::Foreground]];}
    .headerShadow a {font-weight:normal; color:[[ColorPalette::Foreground]];}
    .headerForeground {color:[[ColorPalette::Background]];}
    .headerForeground a {font-weight:normal; color:[[ColorPalette::PrimaryPale]];}

    .tabSelected{color:[[ColorPalette::PrimaryDark]];
    	background:[[ColorPalette::TertiaryPale]];
    	border-left:1px solid [[ColorPalette::TertiaryLight]];
    	border-top:1px solid [[ColorPalette::TertiaryLight]];
    	border-right:1px solid [[ColorPalette::TertiaryLight]];
    }
    .tabUnselected {color:[[ColorPalette::Background]]; background:[[ColorPalette::TertiaryMid]];}
    .tabContents {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::TertiaryPale]]; border:1px solid [[ColorPalette::TertiaryLight]];}
    .tabContents .button {border:0;}

    #s_sidebar {}
    #s_sidebarOptions input {border:1px solid [[ColorPalette::PrimaryMid]];}
    #s_sidebarOptions .sliderPanel {background:[[ColorPalette::PrimaryPale]];}
    #s_sidebarOptions .sliderPanel a {border:none;color:[[ColorPalette::PrimaryMid]];}
    #s_sidebarOptions .sliderPanel a:hover {color:[[ColorPalette::Background]]; background:[[ColorPalette::PrimaryMid]];}
    #s_sidebarOptions .sliderPanel a:active {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::Background]];}

    .wizard {background:[[ColorPalette::PrimaryPale]]; border:1px solid [[ColorPalette::PrimaryMid]];}
    .wizard h1 {color:[[ColorPalette::PrimaryDark]]; border:none;}
    .wizard h2 {color:[[ColorPalette::Foreground]]; border:none;}
    .wizardStep {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];
    	border:1px solid [[ColorPalette::PrimaryMid]];}
    .wizardStep.wizardStepDone {background:[[ColorPalette::TertiaryLight]];}
    .wizardFooter {background:[[ColorPalette::PrimaryPale]];}
    .wizardFooter .status {background:[[ColorPalette::PrimaryDark]]; color:[[ColorPalette::Background]];}
    .wizard .button {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryLight]]; border: 1px solid;
    	border-color:[[ColorPalette::SecondaryPale]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryPale]];}
    .wizard .button:hover {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Background]];}
    .wizard .button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::Foreground]]; border: 1px solid;
    	border-color:[[ColorPalette::PrimaryDark]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryDark]];}

    .wizard .notChanged {background:transparent;}
    .wizard .changedLocally {background:#s_80ff80;}
    .wizard .changedServer {background:#s_8080ff;}
    .wizard .changedBoth {background:#s_ff8080;}
    .wizard .notFound {background:#s_ffff80;}
    .wizard .putToServer {background:#s_ff80ff;}
    .wizard .gotFromServer {background:#s_80ffff;}

    #s_messageArea {border:1px solid [[ColorPalette::SecondaryMid]]; background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]];}
    #s_messageArea .button {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::SecondaryPale]]; border:none;}

    .popupTiddler {background:[[ColorPalette::TertiaryPale]]; border:2px solid [[ColorPalette::TertiaryMid]];}

    .popup {background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]]; border-left:1px solid [[ColorPalette::TertiaryMid]]; border-top:1px solid [[ColorPalette::TertiaryMid]]; border-right:2px solid [[ColorPalette::TertiaryDark]]; border-bottom:2px solid [[ColorPalette::TertiaryDark]];}
    .popup hr {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::PrimaryDark]]; border-bottom:1px;}
    .popup li.disabled {color:[[ColorPalette::TertiaryMid]];}
    .popup li a, .popup li a:visited {color:[[ColorPalette::Foreground]]; border: none;}
    .popup li a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border: none;}
    .popup li a:active {background:[[ColorPalette::SecondaryPale]]; color:[[ColorPalette::Foreground]]; border: none;}
    .popupHighlight {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
    .listBreak div {border-bottom:1px solid [[ColorPalette::TertiaryDark]];}

    .tiddler .defaultCommand {font-weight:bold;}

    .shadow .title {color:[[ColorPalette::TertiaryDark]];}

    .title {color:[[ColorPalette::SecondaryDark]];}
    .subtitle {color:[[ColorPalette::TertiaryDark]];}

    .toolbar {color:[[ColorPalette::PrimaryMid]];}
    .toolbar a {color:[[ColorPalette::TertiaryLight]];}
    .selected .toolbar a {color:[[ColorPalette::TertiaryMid]];}
    .selected .toolbar a:hover {color:[[ColorPalette::Foreground]];}

    .tagging, .tagged {border:1px solid [[ColorPalette::TertiaryPale]]; background-color:[[ColorPalette::TertiaryPale]];}
    .selected .tagging, .selected .tagged {background-color:[[ColorPalette::TertiaryLight]]; border:1px solid [[ColorPalette::TertiaryMid]];}
    .tagging .listTitle, .tagged .listTitle {color:[[ColorPalette::PrimaryDark]];}
    .tagging .button, .tagged .button {border:none;}

    .footer {color:[[ColorPalette::TertiaryLight]];}
    .selected .footer {color:[[ColorPalette::TertiaryMid]];}

    .sparkline {background:[[ColorPalette::PrimaryPale]]; border:0;}
    .sparktick {background:[[ColorPalette::PrimaryDark]];}

    .error, .errorButton {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Error]];}
    .warning {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryPale]];}
    .lowlight {background:[[ColorPalette::TertiaryLight]];}

    .zoomer {background:none; color:[[ColorPalette::TertiaryMid]]; border:3px solid [[ColorPalette::TertiaryMid]];}

    .imageLink, #s_displayArea .imageLink {background:transparent;}

    .annotation {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border:2px solid [[ColorPalette::SecondaryMid]];}

    .viewer .listTitle {list-style-type:none; margin-left:-2em;}
    .viewer .button {border:1px solid [[ColorPalette::SecondaryMid]];}
    .viewer blockquote {border-left:3px solid [[ColorPalette::TertiaryDark]];}

    .viewer table, table.twtable {border:2px solid [[ColorPalette::TertiaryDark]];}
    .viewer th, .viewer thead td, .twtable th, .twtable thead td {background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::Background]];}
    .viewer td, .viewer tr, .twtable td, .twtable tr {border:1px solid [[ColorPalette::TertiaryDark]];}

    .viewer pre {border:1px solid [[ColorPalette::SecondaryLight]]; background:[[ColorPalette::SecondaryPale]];}
    .viewer code {color:[[ColorPalette::SecondaryDark]];}
    .viewer hr {border:0; border-top:dashed 1px [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::TertiaryDark]];}

    .highlight, .marked {background:[[ColorPalette::SecondaryLight]];}

    .editor input {border:1px solid [[ColorPalette::PrimaryMid]];}
    .editor textarea {border:1px solid [[ColorPalette::PrimaryMid]]; width:100%;}
    .editorFooter {color:[[ColorPalette::TertiaryMid]];}

    #s_backstageArea {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::TertiaryMid]];}
    #s_backstageArea a {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
    #s_backstageArea a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; }
    #s_backstageArea a.backstageSelTab {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
    #s_backstageButton a {background:none; color:[[ColorPalette::Background]]; border:none;}
    #s_backstageButton a:hover {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
    #s_backstagePanel {background:[[ColorPalette::Background]]; border-color: [[ColorPalette::Background]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]];}
    .backstagePanelFooter .button {border:none; color:[[ColorPalette::Background]];}
    .backstagePanelFooter .button:hover {color:[[ColorPalette::Foreground]];}
    #s_backstageCloak {background:[[ColorPalette::Foreground]]; opacity:0.6; filter:'alpha(opacity=60)';}
    /*}}}*/
    /*{{{*/
    * html .tiddler {height:1%;}

    body {font-size:.75em; font-family:arial,helvetica; margin:0; padding:0;}

    h1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;}
    h1,h2,h3 {padding-bottom:1px; margin-top:1.2em;margin-bottom:0.3em;}
    h4,h5,h6 {margin-top:1em;}
    h1 {font-size:1.35em;}
    h2 {font-size:1.25em;}
    h3 {font-size:1.1em;}
    h4 {font-size:1em;}
    h5 {font-size:.9em;}

    hr {height:1px;}

    a {text-decoration:none;}

    dt {font-weight:bold;}

    ol {list-style-type:decimal;}
    ol ol {list-style-type:lower-alpha;}
    ol ol ol {list-style-type:lower-roman;}
    ol ol ol ol {list-style-type:decimal;}
    ol ol ol ol ol {list-style-type:lower-alpha;}
    ol ol ol ol ol ol {list-style-type:lower-roman;}
    ol ol ol ol ol ol ol {list-style-type:decimal;}

    .txtOptionInput {width:11em;}

    #s_contentWrapper .chkOptionInput {border:0;}

    .externalLink {text-decoration:underline;}

    .indent {margin-left:3em;}
    .outdent {margin-left:3em; text-indent:-3em;}
    code.escaped {white-space:nowrap;}

    .tiddlyLinkExisting {font-weight:bold;}
    .tiddlyLinkNonExisting {font-style:italic;}

    /* the 'a' is required for IE, otherwise it renders the whole tiddler in bold */
    a.tiddlyLinkNonExisting.shadow {font-weight:bold;}

    #s_mainMenu .tiddlyLinkExisting,
    	#s_mainMenu .tiddlyLinkNonExisting,
    	#s_sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;}
    #s_sidebarTabs .tiddlyLinkExisting {font-weight:bold; font-style:normal;}

    .header {position:relative;}
    .header a:hover {background:transparent;}
    .headerShadow {position:relative; padding:4.5em 0 1em 1em; left:-1px; top:-1px;}
    .headerForeground {position:absolute; padding:4.5em 0 1em 1em; left:0px; top:0px;}

    .siteTitle {font-size:3em;}
    .siteSubtitle {font-size:1.2em;}

    #s_mainMenu {position:absolute; left:0; width:10em; text-align:right; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;}

    #s_sidebar {position:absolute; right:3px; width:16em; font-size:.9em;}
    #s_sidebarOptions {padding-top:0.3em;}
    #s_sidebarOptions a {margin:0 0.2em; padding:0.2em 0.3em; display:block;}
    #s_sidebarOptions input {margin:0.4em 0.5em;}
    #s_sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;}
    #s_sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;}
    #s_sidebarOptions .sliderPanel input {margin:0 0 0.3em 0;}
    #s_sidebarTabs .tabContents {width:15em; overflow:hidden;}

    .wizard {padding:0.1em 1em 0 2em;}
    .wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}
    .wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}
    .wizardStep {padding:1em 1em 1em 1em;}
    .wizard .button {margin:0.5em 0 0; font-size:1.2em;}
    .wizardFooter {padding:0.8em 0.4em 0.8em 0;}
    .wizardFooter .status {padding:0 0.4em; margin-left:1em;}
    .wizard .button {padding:0.1em 0.2em;}

    #s_messageArea {position:fixed; top:2em; right:0; margin:0.5em; padding:0.5em; z-index:2000; _position:absolute;}
    .messageToolbar {display:block; text-align:right; padding:0.2em;}
    #s_messageArea a {text-decoration:underline;}

    .tiddlerPopupButton {padding:0.2em;}
    .popupTiddler {position: absolute; z-index:300; padding:1em; margin:0;}

    .popup {position:absolute; z-index:300; font-size:.9em; padding:0; list-style:none; margin:0;}
    .popup .popupMessage {padding:0.4em;}
    .popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0;}
    .popup li.disabled {padding:0.4em;}
    .popup li a {display:block; padding:0.4em; font-weight:normal; cursor:pointer;}
    .listBreak {font-size:1px; line-height:1px;}
    .listBreak div {margin:2px 0;}

    .tabset {padding:1em 0 0 0.5em;}
    .tab {margin:0 0 0 0.25em; padding:2px;}
    .tabContents {padding:0.5em;}
    .tabContents ul, .tabContents ol {margin:0; padding:0;}
    .txtMainTab .tabContents li {list-style:none;}
    .tabContents li.listLink { margin-left:.75em;}

    #s_contentWrapper {display:block;}
    #s_splashScreen {display:none;}

    #s_displayArea {margin:1em 17em 0 14em;}

    .toolbar {text-align:right; font-size:.9em;}

    .tiddler {padding:1em 1em 0;}

    .missing .viewer,.missing .title {font-style:italic;}

    .title {font-size:1.6em; font-weight:bold;}

    .missing .subtitle {display:none;}
    .subtitle {font-size:1.1em;}

    .tiddler .button {padding:0.2em 0.4em;}

    .tagging {margin:0.5em 0.5em 0.5em 0; float:left; display:none;}
    .isTag .tagging {display:block;}
    .tagged {margin:0.5em; float:right;}
    .tagging, .tagged {font-size:0.9em; padding:0.25em;}
    .tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;}
    .tagClear {clear:both;}

    .footer {font-size:.9em;}
    .footer li {display:inline;}

    .annotation {padding:0.5em; margin:0.5em;}

    * html .viewer pre {width:99%; padding:0 0 1em 0;}
    .viewer {line-height:1.4em; padding-top:0.5em;}
    .viewer .button {margin:0 0.25em; padding:0 0.25em;}
    .viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;}
    .viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;}

    .viewer table, table.twtable {border-collapse:collapse; margin:0.8em 1.0em;}
    .viewer th, .viewer td, .viewer tr,.viewer caption,.twtable th, .twtable td, .twtable tr,.twtable caption {padding:3px;}
    table.listView {font-size:0.85em; margin:0.8em 1.0em;}
    table.listView th, table.listView td, table.listView tr {padding:0px 3px 0px 3px;}

    .viewer pre {padding:0.5em; margin-left:0.5em; font-size:1.2em; line-height:1.4em; overflow:auto;}
    .viewer code {font-size:1.2em; line-height:1.4em;}

    .editor {font-size:1.1em;}
    .editor input, .editor textarea {display:block; width:100%; font:inherit;}
    .editorFooter {padding:0.25em 0; font-size:.9em;}
    .editorFooter .button {padding-top:0px; padding-bottom:0px;}

    .fieldsetFix {border:0; padding:0; margin:1px 0px;}

    .sparkline {line-height:1em;}
    .sparktick {outline:0;}

    .zoomer {font-size:1.1em; position:absolute; overflow:hidden;}
    .zoomer div {padding:1em;}

    * html #s_backstage {width:99%;}
    * html #s_backstageArea {width:99%;}
    #s_backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em;}
    #s_backstageToolbar {position:relative;}
    #s_backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em;}
    #s_backstageButton {display:none; position:absolute; z-index:175; top:0; right:0;}
    #s_backstageButton a {padding:0.1em 0.4em; margin:0.1em;}
    #s_backstage {position:relative; width:100%; z-index:50;}
    #s_backstagePanel {display:none; z-index:100; position:absolute; width:90%; margin-left:3em; padding:1em;}
    .backstagePanelFooter {padding-top:0.2em; float:right;}
    .backstagePanelFooter a {padding:0.2em 0.4em;}
    #s_backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}

    .whenBackstage {display:none;}
    .backstageVisible .whenBackstage {display:block;}
    /*}}}*/

    #s_splashScreen {display:block;}

    /***
    This fixes a problem with the tabs slider
    ***/
    /*{{{*/
    #s_sidebarTabs .button {
    	margin:0em 0.2em;
    	padding:0.2em 0.3em;
    	display:block;
    }
    /*}}}*/
    /***
    This is a sample style definition to demonstrate CustomCssClass formatting
    ***/
    /*{{{*/
    .wrappingClass {color: #s_666; background: #s_bbb;}
    [[ChunkyButtonStyle]]
    /*}}}*/
    #s_messageArea {display:none;}

    </style>
    <!--}}}-->

    <!--{{{-->

    <div id="splashScreen">

    <div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
    <div class='headerShadow'>
    <span class="siteTitle">TiddlyWiki</span>&nbsp;
    <span class="siteSubtitle">a reusable non-linear personal web notebook</span>
    </div>
    <div class='headerForeground'>
    <span class="siteTitle">TiddlyWiki</span>&nbsp;
    <span class="siteSubtitle">a reusable non-linear personal web notebook</span>
    </div>
    </div>
    <div id='s_mainMenu' refresh='content' tiddler='MainMenu'></div>
    <div id='s_sidebar'>
    <div id='s_sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
    <div id='s_sidebarTabs' refresh='macro' force='true' macro='slider chkSideBarTabs SideBarTabs "index »" "display lists of tiddlers"'></div>
    </div>
    <div id='s_displayArea'>
    <div id='s_messageArea'></div>
    <div id="s_tiddlerDisplay"><div id="splashId_HelloThere" class="tiddler">

    <div class="toolbar"><br></div>
    <div class="title">HelloThere</div>
    <div class="viewer">Welcome to TiddlyWiki!<br><br>TiddlyWiki is a single html file which has all the characteristics of a wiki - including all of the content, the functionality (including editing, saving, tagging and searching) and the style sheet. Because it's a single file, it's very portable - you can email it, put it on a web server or share it via a USB stick.<br><br><strong>But it's not just a wiki!</strong> It has very powerful plugin capabilities, so it can also be used to build new tools. You have full control over how it looks and behaves. For example, TiddlyWiki is already being used as:<br><ul><li>A personal notebook</li><li>A GTD ("Getting Things Done") productivity tool</li><li>A collaboration tool</li><li>For building websites (this site is a TiddlyWiki file!)</li><li>For rapid prototyping</li><li>...and much more!</li></ul>You can import and export data to and from all sorts of places. Check out some of the Examples of TiddlyWiki in use, and the Features that are available.<br><br>You can see the web functionality of TiddlyWiki by clicking on some of the links on this website. Double click some of the text to see 'edit mode'. For the full range of functions, including editing and saving changes, download and install a copy of the basic version and then follow the guidelines in Getting Started. Have fun!<br><br><span tiddler="Download" refresh="content"><div class="downloadButton"><table class="twtable"><tbody><tr class="evenRow"><td><span class="chunkyButton"><a class="button" title="Download TiddlyWiki" href="javascript:;">download</a></span></td></tr></tbody></table><br>Advanced options &gt;&gt;</div></span></div>
    <div class="tagClear"></div>

    </div>
    <div id="splashId_NewFeatures" class="tiddler">

    <div class="toolbar"><br></div>
    <div class="title">NewFeatures</div>
    <div class="viewer">Release 2.5.3 is primarily a bugfix release, but also contains usability enhancements:<br><ul><li> Reverted changes to the file system code that were made in 2.5.2</li><li> Fixed problem with lack of confirmation prompt when cancelling editing on new and shadow tiddlers</li><li> Improved feedback on synchronization and dynamic loading of tiddlers</li></ul><br>For the full release notes see:<br><a target="_blank" title="External link to http://trac.tiddlywiki.org/wiki/History" href="http://trac.tiddlywiki.org/wiki/History" class="externalLink">http://trac.tiddlywiki.org/wiki/History</a><br></div>
    <div class="tagClear"></div>

    </div>
    </div>
    </div>
    </div>
    <!--}}}-->

    <script type="text/javascript">
    document.getElementById("splashScreen").style.display="none";
    </script>

    |''URL:''|http://www.martinswiki.com/ |
    |''Description:''|Martin Buddens's Plugins |
    |''Author:''|MartinBudden |

    MicroContent being a fashionable word for self-contained fragments of content that are typically smaller than entire pages. Often MicroContent is presented via some kind of aggregation that reduces the perceptual shock and resource cost of context switching (eg Blogs aggregating several entries onto a page or Flickr presenting photos in an album). This TiddlyWiki aggregates MicroContent items that I call 'tiddlers' into pages that are loaded in one gulp and progressively displayed as the user clicks hypertext links to read them.

    Sometimes it's useful to stop a minor change to a tiddler from causing it to rise to the top of the timeline. This can be done by pressing the Shift key while clicking the 'done' toolbar button, or with the ~Shift-Control-Enter key. This behaviour can be switched to become the default with one of the AdvancedOptions.

    The 'Missing' option on the MoreTab shows you the names of tiddlers that you've referred to but not gone ahead to define. It can be useful during writing sessions to keep track of things you need to come back and fill out.

    |''URL:''|http://mptw.tiddlyspot.com/|
    |''Description:''|a tiddlywiki distribution and plugins|
    |''Author:''|SimonBaird|

    {{{Monospaced text}}} is supported - edit this tiddler to see the syntax.

    You can also have monospaced blocks (useful for source code):

    {{{
    var posTop = findPosY(e);
    var posBot = posTop + e.offsetHeight;
    var winTop = findScrollY();
    var winHeight = findWindowHeight();
    var winBot = winTop + winHeight;
    if(posTop < winTop)
    return(posTop);
    else if(posBot > winBot)
    {
    if(e.offsetHeight < winHeight)
    return(posTop - (winHeight - e.offsetHeight));
    else
    return(posTop);
    }
    else
    return(winTop);
    }}}

    The functions of 'Timeline' and 'All' tabs have been around since the FirstVersion of TiddlyWiki. The purpose of the 'More' tab is to bring together some other, more specialised lists of tiddlers that can be useful during writing sessions. Currently, it offers lists of OrphanTiddlers and MissingTiddlers.

    Within a CustomStyleSheet, you can include the text of another tiddler by including it in double square brackets. For example, if the tiddler MyFavouriteColour contains {{{#ff763e}}}, and the StyleSheet tiddler contained:

    {{{
    #mainMenu {background-color:[[MyFavouriteColour]];}
    }}}

    Then, the effect is that each CSS declaration will be set to {{{background-color: #ff763e;}}}.

    In practice, for small bits of text like a colour, it makes sense to use TiddlerSlicing format to reference a chunk of text within a tiddler. See ColorPalette and StyleSheetColors for an example.

    Of course, you can use this mechanism to redirect any part of a stylesheet, not just colours. And you can nest references for more complex effects.

    A PageTemplate, ViewTemplate or EditTemplate can include the text of another tiddler by including it in double square brackets. For example:

    {{{
    <div>
    [[MyHeader]]
    </div>
    }}}

    You can also use TiddlerSlicing format to include a smaller chunk of the text of a tiddler.

    Release 2.5.3 is primarily a bugfix release, but also contains usability enhancements:
    * Reverted changes to the file system code that were made in 2.5.2
    * Fixed problem with lack of confirmation prompt when cancelling editing on new and shadow tiddlers
    * Improved feedback on synchronization and dynamic loading of tiddlers

    For the full release notes see:
    http://trac.tiddlywiki.org/wiki/History

    The {{{<<newJournal>>}}} macro creates a new tiddler with it's title set to the current date, and the cursor in the body text area ready to type.

    This macro is identical to the NewTiddlerMacro except that the "title" parameter is treated as a DateFormatString so that you can specify your own date format.

    The {{{<<newTiddler>>}}} macro displays a button that can be clicked to create a new tiddler. By default, the new tiddler is opened in edit mode or you can specify a custom template.

    The available parameters are:

    |!Parameter |!Description |
    |label |The text of the button |
    |prompt |The tooltip for the button |
    |accessKey |The access key to trigger the button (specify a single letter; different browsers require a different modifier key like Alt- or Control-) |
    |focus |Which of the edittable fields to default the focus to (eg, "title", "text", "tags") |
    |template |The template to use to display the new tiddler (defaults to EditTemplate) |
    |text |The default text for the new tiddler |
    |title |The default title for the new tiddler |
    |tag |A single tag to be applied to the new tiddler (repeat this parameter to specify multiple tags) |

    For example: <<newTiddler label:"try this" accessKey:1 focus:tags text:"hello there!" tag:greeting tag:"an example">> (can also be triggered with Alt-1)
    {{{
    <<newTiddler label:"try this" accessKey:1 focus:tags text:"hello there!" tag:greeting tag:"an example">>
    }}}

    You can only prime the initial values of fields that map to a text input box in the specified template (for instance, if you specify the standard ViewTemplate as the template you won't be able to prime any fields). For example, this doesn't work as you might expect:
    {{{
    <<newTiddler template:ViewTemplate text:"To be or not to be">>
    }}}
    <<newTiddler template:ViewTemplate text:"To be or not to be">>

    To make a tiddler that doesn't have a WikiWord as its name, you can enclose the name in [[double square brackets]] - edit this tiddler to see an example. After saving the tiddler you can then click on the link to create the new tiddler. NonWikiWordLinks permits tiddlers to be created with names that are made from character sets that don't have upper and lower case.

    We've recently had a spate of cases of Norton AntiVirus software incorrectly identifying TiddlyWiki files as carrying the [[W32.Feebs]] virus. If you've been affected, see  [[this discussion|http://groups.google.com/group/TiddlyWiki/browse_frm/thread/f98da9a720d01ba5/87a96ed9899e05c9?hl=en]] about recovering your data.

    It's easy to create NumberedBulletPoints.
    # Use a single '#' at the start of each line
    # and the tiddler will automatically
    # start numbering your list.
    ## If you want a sub-list
    ## within any bullets
    ## add two '#'s at the start of the lines.
    # When you go back to a single '#'
    # the main numbered list will start up
    # where it left off.

    It's just as simple to do normal BulletPoints.

    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.

    ~TiddlyWiki works with all recent versions of Opera, and can save changes using the TiddlySaver Java applet. If you're experiencing problems, make sure you've followed the appropriate [[installation guidelines|Installation]].

    The 'Orphans' option on the MoreTab shows you the names of tiddlers that aren't linked to from any other tiddlers - in other words, tiddlers that there is no way for readers to find other than searching for them.

    Osmosoft is a small team run by JeremyRuston within [[BT|http://www.btplc.com/]] that focuses on working with the wider community to improve TiddlyWiki and its related ecosystem. See http://www.osmosoft.com/ for more details.

    <!--{{{-->
    <div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
    <div class='headerShadow'>
    <span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
    <span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
    </div>
    <div class='headerForeground'>
    <span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
    <span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
    </div>
    </div>
    <div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
    <div id='sidebar'>
    <div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
    <div id='sidebarTabs' refresh='macro' force='true' macro='slider chkSideBarTabs SideBarTabs "index »" "display lists of tiddlers"'></div>
    </div>
    <div id='displayArea'>
    <div id='messageArea'></div>
    <div id='tiddlerDisplay'></div>
    </div>
    <!--}}}-->

    The ParameterParser is used in several places in TiddlyWiki:
    * to process the StartupParameters after the '#' in a TiddlyWiki URL
    * to process the DefaultTiddlers list
    * to process the parameters to [[Macros]]
    * to process tag lists when editing a tiddler
    It supports a list of parameters each of the form "name:value". For example:
    {{{
    name:John   location:"Isle of Wight"   [[dietary needs]]:none   really:'yes, really'
    }}}
    Names and values that need to contain spaces may be quoted with single- or double-quotes or double-square brackets. The parser is generally tolerant of additional spaces.

    When processing macro parameters, names and values may also be quoted with double-braces which causes them to be evaluated as a JavaScript expression. For example:
    {{{
    title:{{window.title}}
    }}}

    The ParameterParser will cope with either the name or the value being omitted, and will substitute a specified default. This is how the StartupParameters work; the default parameter name is specified as 'open'.

    |''URL:''|http://bradleymeck.tiddlyspot.com/|
    |''Description:''|Resources that are Ripe for the Picking|
    |''Author:''|BradleyMeck|

    |Standard Periodic Table (ref. Wikipedia)|c
    || !1 | !2 |!| !3 | !4 | !5 | !6 | !7 | !8 | !9 | !10 | !11 | !12 | !13 | !14 | !15 | !16 | !17 | !18 |
    |!1|bgcolor(#a0ffa0): @@color(red):H@@ |>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>||bgcolor(#c0ffff): @@color(red):He@@ |
    |!2|bgcolor(#ff6666): Li |bgcolor(#ffdead): Be |>|>|>|>|>|>|>|>|>|>||bgcolor(#cccc99): B |bgcolor(#a0ffa0): C |bgcolor(#a0ffa0): @@color(red):N@@ |bgcolor(#a0ffa0): @@color(red):O@@ |bgcolor(#ffff99): @@color(red):F@@ |bgcolor(#c0ffff): @@color(red):Ne@@ |
    |!3|bgcolor(#ff6666): Na |bgcolor(#ffdead): Mg |>|>|>|>|>|>|>|>|>|>||bgcolor(#cccccc): Al |bgcolor(#cccc99): Si |bgcolor(#a0ffa0): P |bgcolor(#a0ffa0): S |bgcolor(#ffff99): @@color(red):Cl@@ |bgcolor(#c0ffff): @@color(red):Ar@@ |
    |!4|bgcolor(#ff6666): K |bgcolor(#ffdead): Ca ||bgcolor(#ffc0c0): Sc |bgcolor(#ffc0c0): Ti |bgcolor(#ffc0c0): V |bgcolor(#ffc0c0): Cr |bgcolor(#ffc0c0): Mn |bgcolor(#ffc0c0): Fe |bgcolor(#ffc0c0): Co |bgcolor(#ffc0c0): Ni |bgcolor(#ffc0c0): Cu |bgcolor(#ffc0c0): Zn |bgcolor(#cccccc): Ga |bgcolor(#cccc99): Ge |bgcolor(#cccc99): As |bgcolor(#a0ffa0): Se |bgcolor(#ffff99): @@color(green):Br@@ |bgcolor(#c0ffff): @@color(red):Kr@@ |
    |!5|bgcolor(#ff6666): Rb |bgcolor(#ffdead): Sr ||bgcolor(#ffc0c0): Y |bgcolor(#ffc0c0): Zr |bgcolor(#ffc0c0): Nb |bgcolor(#ffc0c0): Mo |bgcolor(#ffc0c0): Tc |bgcolor(#ffc0c0): Ru |bgcolor(#ffc0c0): Rh |bgcolor(#ffc0c0): Pd |bgcolor(#ffc0c0): Ag |bgcolor(#ffc0c0): Cd |bgcolor(#cccccc): In |bgcolor(#cccccc): Sn |bgcolor(#cccc99): Sb |bgcolor(#cccc99): Te |bgcolor(#ffff99): I |bgcolor(#c0ffff): @@color(red):Xe@@ |
    |!6|bgcolor(#ff6666): Cs |bgcolor(#ffdead): Ba |bgcolor(#ffbfff):^^*1^^|bgcolor(#ffc0c0): Lu |bgcolor(#ffc0c0): Hf |bgcolor(#ffc0c0): Ta |bgcolor(#ffc0c0): W |bgcolor(#ffc0c0): Re |bgcolor(#ffc0c0): Os |bgcolor(#ffc0c0): Ir |bgcolor(#ffc0c0): Pt |bgcolor(#ffc0c0): Au |bgcolor(#ffc0c0): @@color(green):Hg@@ |bgcolor(#cccccc): Tl |bgcolor(#cccccc): Pb |bgcolor(#cccccc): Bi |bgcolor(#cccc99): Po |bgcolor(#ffff99): At |bgcolor(#c0ffff): @@color(red):Rn@@ |
    |!7|bgcolor(#ff6666): Fr |bgcolor(#ffdead): Ra |bgcolor(#ff99cc):^^*2^^|bgcolor(#ffc0c0): Lr |bgcolor(#ffc0c0): Rf |bgcolor(#ffc0c0): Db |bgcolor(#ffc0c0): Sq |bgcolor(#ffc0c0): Bh |bgcolor(#ffc0c0): Hs |bgcolor(#ffc0c0): Mt |bgcolor(#ffc0c0): Ds |bgcolor(#ffc0c0): Rg |bgcolor(#ffc0c0): @@color(green):Uub@@ |bgcolor(#cccccc): Uut |bgcolor(#cccccc): Uuq |bgcolor(#cccccc): Uup |bgcolor(#cccccc): Uuh |bgcolor(#fcfecc): @@color(#cccccc):Uus@@ |bgcolor(#ecfefc): @@color(#cccccc):Uuo@@ |

    | !Lanthanides^^*1^^|bgcolor(#ffbfff): La |bgcolor(#ffbfff): Ce |bgcolor(#ffbfff): Pr |bgcolor(#ffbfff): Nd |bgcolor(#ffbfff): Pm |bgcolor(#ffbfff): Sm |bgcolor(#ffbfff): Eu |bgcolor(#ffbfff): Gd |bgcolor(#ffbfff): Tb |bgcolor(#ffbfff): Dy |bgcolor(#ffbfff): Ho |bgcolor(#ffbfff): Er |bgcolor(#ffbfff): Tm |bgcolor(#ffbfff): Yb |
    | !Actinides^^*2^^|bgcolor(#ff99cc): Ac |bgcolor(#ff99cc): Th |bgcolor(#ff99cc): Pa |bgcolor(#ff99cc): U |bgcolor(#ff99cc): Np |bgcolor(#ff99cc): Pu |bgcolor(#ff99cc): Am |bgcolor(#ff99cc): Cm |bgcolor(#ff99cc): Bk |bgcolor(#ff99cc): Cf |bgcolor(#ff99cc): Es |bgcolor(#ff99cc): Fm |bgcolor(#ff99cc): Md |bgcolor(#ff99cc): No |

    *Chemical Series of the Periodic Table
    **@@bgcolor(#ff6666): Alkali metals@@
    **@@bgcolor(#ffdead): Alkaline earth metals@@
    **@@bgcolor(#ffbfff): Lanthanides@@
    **@@bgcolor(#ff99cc): Actinides@@
    **@@bgcolor(#ffc0c0): Transition metals@@
    **@@bgcolor(#cccccc): Poor metals@@
    **@@bgcolor(#cccc99): Metalloids@@
    **@@bgcolor(#a0ffa0): Nonmetals@@
    **@@bgcolor(#ffff99): Halogens@@
    **@@bgcolor(#c0ffff): Noble gases@@

    *State at standard temperature and pressure
    **those in @@color(red):red@@ are gases
    **those in @@color(green):green@@ are liquids
    **those in black are solids

    I think this feature from the SecondVersion of TiddlyWiki is quite original. It's a button in the right-hand sidebar that sets the browser address bar to a URL embodying all the currently open tiddlers in the order that they are currently shown. To use it, arrange the open tiddlers that you want, click the permaview button, copy the URL from the browser address bar, and then paste it into an email, web page or whatever.

    On some browsers, PermaView can be unreliable if any of the tiddler titles include characters that have special meanings in URLs (like "+" and "\") or are outside the basic ANSI character set.

    Changes the browser address bar to a permalink to the current tiddler. It is used with the ToolbarMacro like this:
    {{{
    <<toolbar permalink>>
    }}}

    On some browsers, the PermalinkCommand can be unreliable if the tiddler title includes characters that have special meanings in URLs (like "+" and "\") or are outside the basic ANSI character set.

    Sometimes text can inadvertently match TiddlyWiki formatting instructions - particularly program code, or text pasted from elsewhere. In these situations you can either use MonospacedText or you can accomplish the same thing without the monospaced effect like this:
    {{{
    This is AnotherLink, this is a copyright symbol &copy; and this site is called <<tiddler SiteTitle>>
    <nowiki>This is AnotherLink, this is a copyright symbol &copy; and this site is called <<tiddler SiteTitle>></nowiki>
    """This is AnotherLink, this is a copyright symbol &copy; and this site is called <<tiddler SiteTitle>>"""
    }}}
    Which displays as:
    This is AnotherLink, this is a copyright symbol &copy; and this site is called <<tiddler SiteTitle>>
    <nowiki>This is AnotherLink, this is a copyright symbol &copy; and this site is called <<tiddler SiteTitle>></nowiki>
    """This is AnotherLink, this is a copyright symbol &copy; and this site is called <<tiddler SiteTitle>>"""

    The [[Community]] is experimenting with using the [[del.icio.us|http://del.icio.us/]] bookmarking service as a PluginDirectory. The idea is to use the tag "TiddlyWikiPlugin" to identify the URL of a TiddlyWiki plugin. The del.icio.us fields should be set as follows:

    |!Field |!Example |
    |url |http://authorsite.com/#ThePlugin |
    |title |ThePluginTitle |
    |notes |Brief description/review of plugin |
    |tags |TiddlyWikiPlugin <AuthorName> |

    The beauty of this approach is that it aggregates together multiple comments about a single plugin. For example, this is the del.icio.us [[page about UdoBorkowski's YourSearch plugin|http://del.icio.us/url/8085cbf3bbeda20f39a04a2969616afd]]. You can also browse the tag directly to see recently added plugins: http://del.icio.us/tag/TiddlyWikiPlugin

    BidiX has also created a special del.icio.us account (http://del.icio.us/TiddlyWikiPlugin) that he's using to compile a master list of plugins tagged with TiddlyWikiHackers.

    It is recommended that [[Plugins]]  start with some standard information in TiddlerSlicing format. For example, see the ExamplePlugin:
    {{{
    |''Name:''|ExamplePlugin|
    |''Description:''|To demonstrate how to write TiddlyWiki plugins|
    |''Version:''|2.0.2|
    |''Date:''|Jul 12, 2006|
    |''Source:''|http://www.tiddlywiki.com/#ExamplePlugin|
    |''Author:''|JeremyRuston (jeremy (at) osmosoft (dot) com)|
    |''License:''|[[BSD open source license]]|
    |''~CoreVersion:''|2.1.0|
    |''Browser:''|Firefox 1.0.4+; Firefox 1.5; InternetExplorer 6.0|
    }}}
    At the moment, only ~CoreVersion affects how [[Plugins]] are processed: if the ~CoreVersion is specified for a plugin, TiddlyWiki will only execute the plugin if the core code version matches or exceeds the version specified. For example, if you specify a ~CoreVersion of 2.2, version 2.1.x of TiddlyWiki will refuse to execute the plugin.

    To indicate an error, plugins should just {{{throw}}} an exception. The text of the exception will be displayed in the PluginManager.

    To make plugins, stylesheets and templates easier to read, you can use special alternative formatting for monospaced blocks.

    In JavaScript code:
    {{{
    //{{{
    var id = document.getElementById("mainMenu");
    //}}}
    }}}
    In HTML templates:
    {{{
    <!--{{{-->
    <div id="MainMenu">
    </div>
    <!--}}}-->
    }}}
    In CSS stylesheets
    {{{
    /*{{{*/
    div {color: #ff0000;}
    /*}}}*/
    }}}
    It will be displayed as:
    //{{{
    var id = document.getElementById("mainMenu");
    //}}}

    <!--{{{-->
    <div id="MainMenu">
    </div>
    <!--}}}-->

    /*{{{*/
    div {color: #ff0000;}
    /*}}}*/

    ~TiddlyWiki can be extended by installing plugins that implement a wide variety of features (including new [[Macros]], themes or tweaks). Plugins are simply tidders (written in javascript) which contain the additional functionality. So, to install a plugin, you need to import the relevant tiddler(s) into your ~TiddlyWiki file.

    Community member Dave Gifford oversees an extensive catalogue of available plugins at [[TiddlyVault|http://tiddlyvault.tiddlyspot.com/]], and Eric Shulman maintains his own impressive collection of plugins at [[TiddlyTools|http://www.tiddlytools.com]].

    When you've chosen the plugin you'd like to import, follow the directions in ImportTiddlers.

    As with saving changes, this will only work when ~TiddlyWiki is opened on your local computer (as opposed to being viewed over the internet).

    Finally, community member Chris Klimas has written some superb documentation on writing plugins and macros for ~TiddlyWiki, which can now be found on the [[Writing Macros|http://tiddlywiki.org/wiki/Dev:Macros]] and [[Core Code|http://tiddlywiki.org/wiki/Dev:Core_Code_Overview]] sections of the Community wiki.

    You can now link to [[external sites|http://www.osmosoft.com]] or [[ordinary tiddlers|TiddlyWiki]] with ordinary words, without the messiness of the full URL appearing. Edit this tiddler to see how.

    You can also LinkToFolders.

    |''URL:''|http://ptw.sourceforge.net/ptwe.html|
    |''Description:''|BramChen's Extensions for TiddlyWiki|
    |''Author:''|BramChen|

    "~TiddlyWiki offers a glimpse of how things are changing in terms of how people think about software... a new beginning for simple software." -- //Jeremy Wagstaff, [[WSJ.com|http://groups.google.com/group/TiddlyWiki/browse_thread/thread/53c7b7686b9bb5c2/122f1b2146d2ba6d?q=wsj&rnum=1]]//

    "The original ~TiddlyWiki by Jeremy Ruston is, without a doubt, one of the most amazing dynamic web apps I've ever seen (sorry Gmail.)" -- [[Lifehacker.com recommendation|http://www.lifehacker.com/software/productivity/getting-things-done-tiddlywiki-102953.php]]

    "It's blowing my mind." -- //Evan Williams, founder of Blogger, Twitter and Odeo, [[EvHead|http://evhead.com/2005/05/tiddlywiki-reusable-non-linear.asp]]//

    "What I love most about ~TiddlyWiki is that it is quite easy to use but incredibly flexible." -- //Ed Sim of Dawntreader Ventures, [[BeyondVC|http://www.beyondvc.com/2005/10/tiddlywiki.html]]//

    "~TiddlyWiki is completely blowing my mind... Completely tripped out. Try it and you'll see what I mean." -- //Russell Beattie of Yahoo!, [[Russell Beattie's Notebook|http://www.russellbeattie.com/notebook/1008896.html]]//

    "OK, this is the first wiki interface I’ve seen that has real potential. Dunno quite why exactly, but this blows my mind." -- //Jason Kottke, [[Kottke's Remaindered Links|http://www.kottke.org/remainder/04/09/6574.html]]//

    |''URL:''|http://solo.dc3.com/tw/|
    |''Description:''|Bob Denny's extensions to TiddlyWiki|
    |''Author:''|BobDenny|

    Since the FirstVersion of TiddlyWiki, the ReferencesButton has been implemented as a canned search for the name of the current tiddler. That approach was a bit disruptive because of the way that a search operation wipes the current reading state of the document.

    The new implementation offers a popup menu of the names of all the referring tiddlers. It can be consulted without disturbing any tiddlers that are currently open.

    Offers a popup menu displaying the tiddlers that link to the current one. It is used with the ToolbarMacro like this:
    {{{
    <<toolbar references>>
    }}}

    RegExpSearch uses JavaScript's [[RegExp syntax|http://www.programmershelp.co.uk/docs/javascript/regexp.html#1193188]] to allow flexible searches.

    Release 2.4.3 of TiddlyWiki includes some minor enhancements and bug fixes. Here are some of the highlights; see the full change history [[at TiddlyWiki.org|http://trac.tiddlywiki.org/wiki/History]] for more details.
    !!!Usability
    * Date-format strings now support escaping of literal characters ([[ticket #623|http://trac.tiddlywiki.org/ticket/623]])
    * PluginManager wizard now displays Description slices ([[ticket #739|http://trac.tiddlywiki.org/ticket/739]])
    * Support for {{{<hr>}}} syntax in wiki markup ([[ticket #741|http://trac.tiddlywiki.org/ticket/741]])
    * Filter expressions no longer omit non-existing tiddlers ([[ticket #768|http://trac.tiddlywiki.org/ticket/768]])
    * Provided access to context variables {{{tiddler}}} and {{{place}}} for evaluated macro parameters ([[ticket #444|http://trac.tiddlywiki.org/ticket/444]])
    !!!Hackability
    * Extended invokeParamifier to process "option paramifiers" ([[ticket #823|http://trac.tiddlywiki.org/ticket/823]])
    * Added support for TiddlyWikis with empty {{{noscript}}} tag ([[ticket #858|http://trac.tiddlywiki.org/ticket/858]])
    * Added {{{removeCookie}}} function ([[ticket #757|http://trac.tiddlywiki.org/ticket/757]])
    !!!Bug Fixes
    * Improved detection of missing links ([[ticket #67|http://trac.tiddlywiki.org/ticket/67]])
    * Fixed overlapping tiddlers in Firefox ([[ticket #320|http://trac.tiddlywiki.org/ticket/320]])
    * TagChooser macro now supports //excludeLists// tag ([[ticket #515|http://trac.tiddlywiki.org/ticket/515]])
    * RSS feed now uses proper locale value ([[ticket #591|http://trac.tiddlywiki.org/ticket/591]])
    * Fixed importing under Windows Vista ([[ticket #635|http://trac.tiddlywiki.org/ticket/635]])
    * Various minor fixes and enhancements

    TiddlyWiki's RSS feed is available [[here|http://www.tiddlywiki.com/index.xml]]. You can generate an RSS feed for your own TiddlyWiki using the GenerateAnRssFeed option.

    Safari can SaveChanges using the TiddlySaver Java applet.

    There are still some issues with Safari:
    * Permalinks with Unicode characters in them (like [[this one|http://avm.free.fr/tidlipo.html#AdaptationFran%C3%A7aise]]) don't work properly

    SafeMode can be selected by putting {{{#start:safe}}} (see StartupParameters) on the end of a TiddlyWiki URL. It stops TiddlyWiki from executing any [[Plugins]], modifying shadow tiddlers, or reading/writing cookies. It can be useful for tracking down problems caused by rogue [[Plugins]].

    This is one of the InterfaceOptions you can use to customize TiddlyWiki. It determines whether TiddlyWiki creates a backup file each time you SaveChanges. I'd suggest keeping it switched on for safety!

    If you've followed the appropriate [[Installation]] guidelines, then you can save your changes as you go along.

    It's important to save changes using ~TiddlyWiki's built in saving functionality (rather than the browser's 'Save As' function - [[here's why|SaveUnpredictabilities]]). Your local version of ~TiddlyWiki will have a button on the right hand side that says 'save changes' - that's the button you'll need to use.

    It's worthwhile configuring your backup settings. You can edit the AdvancedOptions to decide when backups are made and where they're saved.

    If you're still experiencing problems, the following links will help:
    *General guidance on FireFox, InternetExplorer, [[Opera]], [[Camino]] or [[Safari]]
    * if you're using InternetExplorer on Windows you might run into XP ServicePack2Problems or VistaIssues

    This causes a blank, template TiddlyWiki to be saved alongside your file when you SaveChanges. It's intended to help people who are distributing TiddlyWikiAdaptations, and isn't needed when you're an end-user of TiddlyWiki.

    The template TiddlyWiki is called 'empty.html'.

    Saves any pending edits to the current tiddler, and switches it to the default view. It is used with the ToolbarMacro like this:
    {{{
    <<toolbar saveTiddler>>
    }}}

    Several people have reported problems with reusing TiddlyWiki when they have used the File/Save command of their browser to save it. The issue is that some browsers (notably FireFox) don't save the text of the HTML file exactly as it appears on the server, but rather save a snapshot of the current state of the page. In the case of a highly dynamic page like TiddlyWiki, this leads to all sorts of peculiarness...

    TiddlyWiki now displays a warning if it thinks that it has been saved wrongly.

    The basic version of ~TiddlyWiki includes basic search functionality. Using this basic functionality, when a search term is entered, all tiddlers that contain this term are opened, with the search term highlighted wherever it appears.

    However, using the [[plugin architecture|Plugins]] of ~TiddlyWiki, the [[community|Help and Support]] has written a number of search plugins which can be installed on your local ~TiddlyWiki files easily. The most popular search plugins are:
    *Eric Shulman's ~SearchOptionsPlugin - a highly configurable plugin that produces a list of tiddler titles with options for advanced searches. Available at http://www.TiddlyTools.com/#SearchOptionsPlugin
    *Udo Borkowski's ~YourSearchPlugin - opens the search results in a large iFrame in the same style as Google (result, then synopsis). Available at http://tiddlywiki.abego-software.de/
    *Frederik Dohr's ~SimpleSearchPlugin (which this site is using) - copy and paste the code on [[this page|http://svn.tiddlywiki.org/Trunk/contributors/FND/plugins/SimpleSearchPlugin.js]] into a new tiddler, tag the tiddler with systemConfig, and save / re-open your ~TiddlyWiki.
    You can find out more about the various search plugins on the [[Community Wiki|http://tiddlywiki.org/wiki/Enhanced_Search]].

    Released in December 2004, the [[second version|secondversion.html]] of TiddlyWiki grew 50% over the FirstVersion to 76KB. It added IncrementalSearch, the ReferencesButton, the PermaLinkButton, PermaView, CloseAll, SmoothScrolling, an ImprovedSidebar, an animation for the CloseButton and a tiny EasterEgg in homage to Macintosh OS X. It also introduced a new SiteDesign.

    One of the neatest features of TiddlyWiki is that it is entirely self-contained in a single HTML file - even including graphics like the GradientMacro. The file contains the actual hypertext document, and the ~JavaScript, ~CascadingStyleSheets and HTML necessary to both view and edit it. This means that it is trivial to host a TiddlyWiki on a website, or to distribute one by email. And anyone with a reasonably recent web browser will be able to read and edit it.

    Out of the box, ~TiddlyWiki doesn't have a Server Side back end. In many applications that's a great strength because it means that you can work with ~TiddlyWiki without having to be connected to the Internet or, because it's SelfContained, installing any software.

    In other applications, a ~ServerSide can be very useful, particularly if you want to edit a ~TiddlyWiki while it's online, or you need lots of people to be able to edit a ~TiddlyWiki at the same time. The development [[Community]] has come up with several ~ServerSide implementations that are suitable for a range of applications. The most popular and up-to-date ones that you can download and install on your own servers are:
    * [[TiddlyWeb|http://www.tiddlywiki.org/wiki/TiddlyWeb]] in Python from Chris Dent
    * [[Coral|https://coral.dev.java.net/]] in Java
    * [[ccTiddly|http://cctiddly.sourceforge.net/]] from Matthew So (aka ~CoolCold)
    * [[PrinceTiddlyWiki|http://ptw.sourceforge.net/]] from Bram Chen
    * [[ZiddlyWiki|http://www.ziddlywiki.org/]] from Bob ~McElrath and Tim Morgan
    * [[PhpTiddlyWiki|http://www.patrickcurry.com/tiddly/]] from Patrick Curry

    [[TiddlySpot|http://tiddlyspot.com]] offers a fantastic, free hosted version of ~TiddlyWiki with some very cool features (although at present it does not support simultaneous editing by multiple users). It's based on ~BidiX's remarkable [[UploadPlugin|http://tiddlywiki.bidix.info/#HowToUpload]].

    There are also some TiddlyWikiAdaptations that have taken some of the code and ideas from ~TiddlyWiki and diverged off to do their own thing.

    Internet Explorer Windows XP ~SP2 seems to have a magical ability to keep track of html files that have been downloaded from the internet and saved on an NTFS drive. By storing additional data in an [[alternate data stream|http://www.microsoft.com/technet/sysinternals/FileAndDisk/Streams.mspx]], it manages to keep them in the 'Internet' zone regardless of attempts to rename or modify the file. But, in order to be able to SaveChanges, TiddlyWiki needs to run in the 'My Computer' zone.

    The solution is to right-click on the TiddlyWiki html file and choose //Properties//. If the file is blocked, you'll see an 'Unblock' button on the resulting property sheet that removes the protection and allows the file to open in the 'My Computer' zone. Then open the file in Internet Explorer - it might put up its information bar asking you whether you want to run it. You need to 'Allow blocked content' to let TiddlyWiki do its stuff.
    <<<
    If you find yourself running into the information bar frequently, you can disable it by visiting the "Options" dialog and, on the "Advanced" tab make sure that "Allow active content to run in files on My Computer" is checked.

    Alternatively, you can rename the file to {{{*.hta}}} which has the added bonus of automatically granting all necessary save permissions.
    <<<
    This is all a bit frustrating. An easy alternative is to use FireFox, which seems to do the trick on all platforms.

    ShadowTiddlers are special tiddlers that have default values that take over if they are undefined or deleted. For example, PageTemplate and StyleSheetColors are both shadow tiddlers.

    ShadowTiddlers make it harder to render a TiddlyWiki inoperative by accidentally deleting something important.  You can see a list of shadow tiddlers in the Shadowed tab under the More tab in the right hand column.  When you create a tiddler with the same title you override the underlying shadow tiddler.
    ----
    <<list shadowed>>

    /***
    |''Name''|SimpleSearchPlugin|
    |''Description''|displays search results as a simple list of matching tiddlers|
    |''Authors''|FND|
    |''Version''|0.4.1|
    |''Status''|stable|
    |''Source''|http://devpad.tiddlyspot.com/#SimpleSearchPlugin|
    |''CodeRepository''|http://svn.tiddlywiki.org/Trunk/contributors/FND/plugins/SimpleSearchPlugin.js|
    |''License''|[[Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]]|
    |''Keywords''|search|
    !Revision History
    !!v0.2.0 (2008-08-18)
    * initial release
    !!v0.3.0 (2008-08-19)
    * added Open All button (renders Classic Search option obsolete)
    * sorting by relevance (title matches before content matches)
    !!v0.4.0 (2008-08-26)
    * added tag matching
    !To Do
    * tag matching optional
    * animations for container creation and removal
    * when clicking on search results, do not scroll to the respective tiddler (optional)
    * use template for search results
    !Code
    ***/
    //{{{
    if(!version.extensions.SimpleSearchPlugin) { //# ensure that the plugin is only installed once
    version.extensions.SimpleSearchPlugin = { installed: true };

    if(!config.extensions) { config.extensions = {}; }

    config.extensions.SimpleSearchPlugin = {
    	heading: "Search Results",
    	containerId: "searchResults",
    	btnCloseLabel: "close",
    	btnCloseTooltip: "dismiss search results",
    	btnCloseId: "search_close",
    	btnOpenLabel: "Open all",
    	btnOpenTooltip: "open all search results",
    	btnOpenId: "search_open",

    	displayResults: function(matches, query) {
    		story.refreshAllTiddlers(true); // update highlighting within story tiddlers
    		var el = document.getElementById(this.containerId);
    		query = '"""' + query + '"""'; // prevent WikiLinks
    		if(el) {
    			removeChildren(el);
    		} else { //# fallback: use displayArea as parent
    			var container = document.getElementById("displayArea");
    			el = document.createElement("div");
    			el.id = this.containerId;
    			el = container.insertBefore(el, container.firstChild);
    		}
    		var msg = "!" + this.heading + "\n";
    		if(matches.length > 0) {
    			msg += "''" + config.macros.search.successMsg.format([matches.length.toString(), query]) + ":''\n";
    			this.results = [];
    			for(var i = 0 ; i < matches.length; i++) {
    				this.results.push(matches[i].title);
    				msg += "* [[" + matches[i].title + "]]\n";
    			}
    		} else {
    			msg += "''" + config.macros.search.failureMsg.format([query]) + "''"; // XXX: do not use bold here!?
    		}
    		createTiddlyButton(el, this.btnCloseLabel, this.btnCloseTooltip, config.extensions.SimpleSearchPlugin.closeResults, "button", this.btnCloseId);
    		wikify(msg, el);
    		if(matches.length > 0) { // XXX: redundant!?
    			createTiddlyButton(el, this.btnOpenLabel, this.btnOpenTooltip, config.extensions.SimpleSearchPlugin.openAll, "button", this.btnOpenId);
    		}
    	},

    	closeResults: function() {
    		var el = document.getElementById(config.extensions.SimpleSearchPlugin.containerId);
    		removeNode(el);
    		config.extensions.SimpleSearchPlugin.results = null;
    		highlightHack = null;
    	},

    	openAll: function(ev) {
    		story.displayTiddlers(null, config.extensions.SimpleSearchPlugin.results);
    		return false;
    	}
    };

    config.shadowTiddlers.StyleSheetSimpleSearch = "/*{{{*/\n" +
    	"#" + config.extensions.SimpleSearchPlugin.containerId + " {\n" +
    	"\toverflow: auto;\n" +
    	"\tpadding: 5px 1em 10px;\n" +
    	"\tbackground-color: [[ColorPalette::TertiaryPale]];\n" +
    	"}\n\n" +
    	"#" + config.extensions.SimpleSearchPlugin.containerId + " h1 {\n" +
    	"\tmargin-top: 0;\n" +
    	"\tborder: none;\n" +
    	"}\n\n" +
    	"#" + config.extensions.SimpleSearchPlugin.containerId + " ul {\n" +
    	"\tmargin: 0.5em;\n" +
    	"\tpadding-left: 1.5em;\n" +
    	"}\n\n" +
    	"#" + config.extensions.SimpleSearchPlugin.containerId + " .button {\n" +
    	"\tdisplay: block;\n" +
    	"\tborder-color: [[ColorPalette::TertiaryDark]];\n" +
    	"\tpadding: 5px;\n" +
    	"\tbackground-color: [[ColorPalette::TertiaryLight]];\n" +
    	"}\n\n" +
    	"#" + config.extensions.SimpleSearchPlugin.containerId + " .button:hover {\n" +
    	"\tborder-color: [[ColorPalette::SecondaryMid]];\n" +
    	"\tbackground-color: [[ColorPalette::SecondaryLight]];\n" +
    	"}\n\n" +
    	"#" + config.extensions.SimpleSearchPlugin.btnCloseId + " {\n" +
    	"\tfloat: right;\n" +
    	"\tmargin: -5px -1em 5px 5px;\n" +
    	"}\n\n" +
    	"#" + config.extensions.SimpleSearchPlugin.btnOpenId + " {\n" +
    	"\tfloat: left;\n" +
    	"\tmargin-top: 5px;\n" +
    	"}\n" +
    	"/*}}}*/";
    store.addNotification("StyleSheetSimpleSearch", refreshStyles);

    // override Story.search()
    Story.prototype.search = function(text, useCaseSensitive, useRegExp) {
    	highlightHack = new RegExp(useRegExp ? text : text.escapeRegExp(), useCaseSensitive ? "mg" : "img");
    	var matches = store.search(highlightHack, null, "excludeSearch");
    	var q = useRegExp ? "/" : "'";
    	config.extensions.SimpleSearchPlugin.displayResults(matches, q + text + q);
    };

    // override TiddlyWiki.search() to sort by relevance
    TiddlyWiki.prototype.search = function(searchRegExp, sortField, excludeTag, match) {
    	var candidates = this.reverseLookup("tags", excludeTag, !!match);
    	var primary = [];
    	var secondary = [];
    	var tertiary = [];
    	for(var t = 0; t < candidates.length; t++) {
    		if(candidates[t].title.search(searchRegExp) != -1) {
    			primary.push(candidates[t]);
    		} else if(candidates[t].tags.join(" ").search(searchRegExp) != -1) {
    			secondary.push(candidates[t]);
    		} else if(candidates[t].text.search(searchRegExp) != -1) {
    			tertiary.push(candidates[t]);
    		}
    	}
    	var results = primary.concat(secondary).concat(tertiary);
    	if(sortField) {
    		results.sort(function(a, b) {
    			return a[sortField] < b[sortField] ? -1 : (a[sortField] == b[sortField] ? 0 : +1);
    		});
    	}
    	return results;
    };

    } //# end of "install only once"
    //}}}

    a reusable non-linear personal web notebook

    TiddlyWiki

    http://www.tiddlywiki.com/

    TiddlyWiki defines a small number of SpecialTags that are used to indicate that tiddlers should be treated differently in some way:
    * ''excludeSearch'': excludes a tiddler from search results
    * ''excludeLists'': excludes a tiddler from the lists in the sidebar tabs
    * ''systemConfig'': marks tiddlers that contain JavaScript that should be executed once TiddlyWiki has loaded
    * ''excludeMissing'': excludes a tiddler from the processing that generates the MissingTiddlers list. Use it when you have a tiddler that contains links to missing tiddlers and you don't want those missing links to appear in the MissingTiddlers list

    ~TiddlyWiki uses several "special tiddlers" to perform a number of essential functions as follows:
    *[[Configuration]] tiddlers configure the layout of the page, including the MainMenu, the SiteTitle, the SiteSubtitle and other features.
    *A tiddler called DefaultTiddlers is used to list the tiddlers that are shown at startup.
    *A tiddler called SaveChanges is automatically displayed if there's a problem with saving. Any of them can be edited with the changes taking effect immediately.

    /***
    |''Name:''|SplashScreenPlugin|
    |''Description:''|Provides a splash screen that consists of the rendered default tiddlers|
    |''Author:''|Martin Budden|
    |''~CodeRepository:''|http://svn.tiddlywiki.org/Trunk/contributors/MartinBudden/plugins/SplashScreenPlugin.js |
    |''Version:''|0.1.5|
    |''Date:''|April 17, 2008|
    |''Comments:''|Please make comments at http://groups.google.co.uk/group/TiddlyWikiDev |
    |''License:''|[[Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]] |
    |''~CoreVersion:''|2.4|

    !!Description
    Provides a splash screen that consists of the default tiddlers while TiddlyWiki is loading

    !!Usage
    !!TODO describe how to use the plugin - how a user should include it in their TiddlyWiki, parameters to the plugin etc

    ***/

    //{{{
    if(!version.extensions.SplashScreenPlugin) {
    version.extensions.SplashScreenPlugin = {installed:true};

    //config.macros.splashScreen = {};
    //config.macros.splashScreen.init = function()
    version.extensions.SplashScreenPlugin.setup = function()
    {
    	if(store.tiddlerExists("MarkupPostHead"))
    		return;

    	var text = "<!--{{{-->\n";
    	text += "<style type=\"text/css\">\n";
    	text += "#contentWrapper {display:none;}\n";
    	text += "#splashScreen {display:block;}\n";

    	var sc = store.getTiddlerText("StyleSheetColors");
    	sc += "\n" + store.getTiddlerText("StyleSheetLayout") + "\n";
    	sc += "\n#splashScreen {display:block;}\n";
    	sc += "\n" + store.getTiddlerText("StyleSheet") + "\n";
    	sc = sc.replace(/#/mg,"#s_");

    	var slices = ["Background","Foreground",
    		"PrimaryPale","PrimaryLight","PrimaryMid","PrimaryDark",
    		"SecondaryPale","SecondaryLight","SecondaryMid","SecondaryDark",
    		"TertiaryPale","TertiaryLight","TertiaryMid","TertiaryDark",
    		"Error"];
    	for(var i in slices) {
    		s = store.getTiddlerSlice("ColorPalette",i);
    		sc = sc.replace("[[ColorPalette::"+i+"]]",s);
    	}

    	text += sc;
    	text += "#s_messageArea {display:none;}\n";
    	text += "\n</style>\n";
    	text += "<!--}}}-->\n";
    	var tiddler = store.createTiddler("MarkupPostHead");
    	tiddler.set(tiddler.title,text,config.options.txtUserName,null,"excludeLists excludeSearch");

    	var sitetitle = store.getTiddlerText("SiteTitle");
    	var sitesubtitle = store.getTiddlerText("SiteSubtitle");
    	var pt = store.getTiddlerText("PageTemplate");
    	pt = pt.replace(/<span class='siteTitle' refresh='content' tiddler='SiteTitle'><\/span>/mg,"<span class=\"siteTitle\">"+sitetitle+"</span>");
    	pt = pt.replace(/<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'><\/span>/mg,"<span class=\"siteSubtitle\">"+sitesubtitle+"</span>");
    	pt = pt.replace(/<!--\{\{\{-->/mg,"").replace(/<!--\}\}\}-->/mg,"");
    	pt = pt.replace(/<div id='/mg,"<div id='s_");

    	text = "";
    	var filter = store.getTiddlerText("SplashTiddlers") || store.getTiddlerText("DefaultTiddlers");
    	tiddlers = store.filterTiddlers(filter);
    	for(i=0;i<tiddlers.length;i++) {
    		tiddler = tiddlers[i];
    		var title = tiddler.title;
    		var tiddlerElem = createTiddlyElement(null,"div","tempId"+tiddler.title,"tiddler");
    		tiddlerElem.style.display = "none";
    		tiddlerElem.setAttribute("refresh","tiddler");
    		var template = story.chooseTemplateForTiddler(title);
    		var t = story.getTemplateForTiddler(title,template,tiddler);
    		t = t.replace(/<div class=['"]toolbar[^<]*<\/div>/mg,"<div class=\"toolbar\"><br /></div>");
    		t = t.replace(/<div class=['"]tagging['"][^>]*><\/div>\n/mg,"");
    		t = t.replace(/<div class=['"]tagged['"][^>]*><\/div>\n/mg,"");
    		tiddlerElem.innerHTML = t;
    		applyHtmlMacros(tiddlerElem,tiddler);
    		text += '<div id="splashId_' + tiddler.title + '" class="tiddler">\n';
    		t = tiddlerElem.innerHTML;
    		// remove all tiddler links
    		t = t.replace(/<a tiddlylink=[^>]*>([^<]*)<\/a>/mg,"$1");
    		t = t.replace(/<a tiddlyfields=[^>]*>([^<]*)<\/a>/mg,"$1");
    		text += t + '\n</div>\n';
    	}
    	text = text.replace(/<!--\{\{\{-->/mg,"").replace(/<!--\}\}\}-->/mg,"");

    	var splash = "<!--{{{-->\n\n";
    	splash += "<div id=\"splashScreen\">\n";
    	pt = pt.replace(/<div id='s_tiddlerDisplay'><\/div>/mg,"<div id=\"s_tiddlerDisplay\">"+text+"</div>");
    	splash += pt;

    	splash += "</div>\n";
    	splash += "<!--}}}-->\n\n";
    	splash += '<script type="text/javascript">\ndocument.getElementById("splashScreen").style.display="none";\n</script>\n';

    	tiddler = store.createTiddler("MarkupPreBody");
    	tiddler.set(tiddler.title,splash,config.options.txtUserName,null,"excludeLists excludeSearch");

    	store.setDirty(true);
    };

    version.extensions.SplashScreenPlugin.saveChanges = window.saveChanges;
    window.saveChanges = function()
    {
    	version.extensions.SplashScreenPlugin.setup();
    	version.extensions.SplashScreenPlugin.saveChanges();
    }

    } //# end of 'install only once'
    //}}}

    When it loads, TiddlyWiki looks for the names of tiddlers to open as a space-separated list after the # in the URL. If there are no tiddlers in the URL it instead loads the tiddlers named in DefaultTiddlers, one of the SpecialTiddlers.

    TiddlyWiki obtains its StartupParameters from the //location// portion of it's URL (the bit after the '#'). At it's simplest, the StartupParameters can list the names of the tiddlers to be opened when the TiddlyWiki is opened:
    {{{
    http://www.tiddlywiki.com/#HelloThere JeremyRuston
    }}}
    In fact, that usage is equivalent to:
    {{{
    http://www.tiddlywiki.com/#open:HelloThere open:JeremyRuston
    }}}
    The complete list of commands is:
    |!Command |!Description |!Example |
    |open:title |Opens the tiddler with the specified title |http://www.tiddlywiki.com/#open:HelloThere |
    |start:safe |Switches to SafeMode |http://www.tiddlywiki.com/#start:safe |
    |search:text |Performs a search for the specified text |http://www.tiddlywiki.com/#search:jeremy |
    |tag:text |Displays tiddlers tagged with the specified tag |http://www.tiddlywiki.com/#tag:news |
    |newTiddler:title |Opens a new tiddler with the specified title in edit mode |http://www.tiddlywiki.com/#newTiddler:"This is a new tiddler" |
    |newJournal:titleFormat |Opens a new tiddler with the specified DateFormatString |http://www.tiddlywiki.com/#newJournal:"YYYY MMM DD" |

    See the details of the underlying ParameterParser for more details.

    /***
    This fixes a problem with the tabs slider
    ***/
    /*{{{*/
    #sidebarTabs .button {
    	margin:0em 0.2em;
    	padding:0.2em 0.3em;
    	display:block;
    }
    /*}}}*/
    /***
    This is a sample style definition to demonstrate CustomCssClass formatting
    ***/
    /*{{{*/
    .wrappingClass {color: #666; background: #bbb;}
    [[ChunkyButtonStyle]]
    /*}}}*/

    !Header 1
    !!Header 2
    !!!Header 3
    !!!!Header 4
    !!!!!Header 5

    This is an example of a tab:

    <<tabs txtFavourite
    One "First tab" HelloThere
    Two "Second tab" ThankYou
    >>

    *sample:
    |!th1111111111|!th2222222222|
    |>| colspan |
    | rowspan |left|
    |~| right|
    |bgcolor(#a0ffa0):colored| center |
    |caption|c
    *another sample: see PeriodicTable.
    For advanced effects, you can control the CSS style of a table by adding a row like this:
    {{{
    |cssClass|k
    }}}

    The TaggingMacro produces a list of links to tiddlers that carry the specified tag. If no tag is specified, it looks for tiddlers tagged with the name of the current tiddler. It looks like this:
    {{{
    <<tagging>>
    <<tagging TiddlerTitle>>
    <<tagging sep:[[, ]]>>
    }}}
    In HTML, the list is formatted like so:
    {{{
    <ul>
    <li class="listTitle">List title label</li>
    <li><a class="tiddlyLink ..." href="javascript:;" onclick="..."
    	   refresh="link" tiddlyLink="ExampleOne">ExampleOne</a></li>
    </ul>
    }}}
    The optional {{{sep}}} parameter specifies a string of characters to be inserted as a separator between each {{{<li>}}} element. In conjunction with the CSS {{{ul li {display: none;} }}} this allows the tagging list to be formatted as a nicely formatted inline list.

    You can categorise a tiddler by assigning it with one or more special keywords called tags.

    Tiddlers which have been assigned tags can be accessed using the tagging menu that appears at the top right of each tiddler (when in read mode). For instance, this tiddler is tagged with "features", "terminology" and "gettingstarted". If you click on these tag names in the tagging menu, you get access to all the other tiddlers that have been given the same tag.

    You can see a whole list of tags by looking in the [[SideBarTabs]], and selecting the Tags tab.

    This site uses the standard convention that the names of tags start with a lower case letter, and tiddlers with an upper case letter, but this is not actually enforced.

    Tags can be tiddlers themselves, with their own tags, so you can have hierarchies of tiddlers.  This is a surprisingly useful and powerful technique has been dubbed ~TagglyTagging by the [[Community]].

    This is the ThirdVersion of TiddlyWiki, released in April 2005. The SecondVersion was released in December 2004, and before that the FirstVersion in September 2004.

    See the RevisionHistory for details of minor changes and bug-fixes since the ThirdVersion. See HowToUpgrade an earlier version of TiddlyWiki to the latest revision.

    A 'tiddler' is the name given to a unit of MicroContent in TiddlyWiki.

    Tiddlers are pervasive in TiddlyWiki. The MainMenu is defined by a tiddler, plugins are delivered in tiddlers, there are special StyleSheet tiddlers, and so on.

    Other systems have analogous concepts with more prosaic names: like "items", "entries", "entities". Even though "tiddler" is undoubtedly a SillyName it at least has the virtue of being confusingly distinctive rather than confusingly generic.

    To hide text within a tiddler so that it is not displayed you can wrap it in {{{/%}}} and {{{%/}}}. It can be a useful trick for hiding drafts or annotating complex markup. Edit this tiddler to see an example.
    /%This text is not displayed
    until you try to edit %/

    TiddlerSlicing allows you to use special notation to pull out a chunk of specially marked text from within a tiddler. Each slice has a name and a value which can be specified anywhere within a tiddler in any of these formats:
    {{{
        theName:  textSlice
        |theName:| textSlice |
        |theName| textSlice |
    }}}
    The name may contain any of the characters "a-ZA-Z_0-9", and may also be decorated with {{{''}}} or {{{//}}} markers for ''bold'' and //italic// formatting that are ignored. For example:
    {{{
        |''theName:''| textSlice |
    }}}
    Slices can be then be referenced by qualifying the parent tiddler name with the symbols "::" and the name of the slice. For example:
    {{{
    ColorPalette::PrimaryLight
    }}}
    TiddlerSlicing doesn't work eveywhere; at this point it is mainly intended to support the ColorPalette and similar usages.

    Finally, here's an example of some more complex slice formatting:
    {{{
    version: 1.2.3.4
    Author: Joe Brown
    ''Credits:'' ASmith BBrown CCalony
    //~SeeAlso:// The rise and fall of the M-perium
    |!Name|!Value|
    |Name:|TextSlice Tester|
    |URL:|http:\\sample.com\TestSliced |
    |''Type:''| Plugin |
    |//Source//| http:\\sample.com\TestSliced\src\text.js |
    }}}
    The slices defined in that example are:
    |version|1.2.3.4|
    |Author|Joe Brown|
    |Credits|ASmith BBrown CCalony|
    |~SeeAlso|The rise and fall of the M-perium|
    |Name|TextSlice Tester|
    |URL|http:\\sample.com\TestSliced|
    |Type|Plugin|
    |Source|http:\\sample.com\TestSliced\src\text.js|

    [[Bookmarklets|http://en.wikipedia.org/wiki/Bookmarklet]] can be useful for TiddlyWiki hackers. They are browser bookmarks that contain embedded JavaScript that can reach into the currently loaded TiddlyWiki page to manipulate them and extract data.

    Drag these links to your bookmark/favourites bar, or right click on them and choose "add to bookmarks" or "add to favourites":
    * [[Scrub shadow tiddlers|javascript:(function(){if(window.version&&window.version.title=='TiddlyWiki'){for(var s in config.shadowTiddlers){store.removeTiddler(s);}refreshDisplay();}})()]] - deletes any overridden shadow tiddlers, reverting them to their default values. Handy when you’ve gone mad with PageTemplate customisations and your ~TiddlyWiki document won’t display properly
    * [[Scrub tiddler fields|javascript:(function(){if(window.version&&window.version.title=='TiddlyWiki'){store.forEachTiddler(function(title,tiddler){tiddler.fields={};});refreshDisplay();}})()]] - all the extended fields from a ~TiddlyWiki document, including that pesky “changecount” field
    * [[Rescue raw TiddlyWiki content|javascript:(function(){if(window.version&&window.version.title=='TiddlyWiki'){var w=window.open();w.document.open();w.document.write('<html><body><pre>');w.document.write(store.allTiddlersAsHtml().htmlEncode());w.document.write('</pre></body></html>');w.document.close();}})()]] - opens a new window containing the raw content of a ~TiddlyWiki.  Handy when you’ve inadvertently been editing an online version of TiddlyWiki that isn’t letting you save changes in the usual way

    Saq Imtiaz has a more extensive [[collection of bookmarklets|http://lewcid.org/tiddlywiki-bookmarklets/]] with better documentation.

    If you're creating your own bookmarklets, this [[editor|http://subsimple.com/bookmarklets/jsbuilder.htm]] and these [[tips|http://subsimple.com/bookmarklets/tips.asp]] are useful resources.

    The ~TiddlySaver Java applet allows ~TiddlyWiki to save changes in a local version (from a file:// URL) of Safari, Opera and other browsers. It is a small file named [["TiddlySaver.jar"|TiddlySaver.jar]] that must be placed in the same directory as your ~TiddlyWiki file. As of August 2008, when an empty ~TiddlyWiki file is downloaded using either Safari or Opera, it is bundled with a copy of the ~TiddlySaver.jar file in a zip file - both files must be in the same directory ''whenever the ~TiddlyWiki file is opened'' in order to work.

    [["TiddlySaver.jar"|TiddlySaver.jar]]  is signed by [[UnaMesa Association|UnaMesa]]. The [[UnaMesa Association|UnaMesa]] certificate is signed by the ''Thawte Code Signing CA'' intermediate certificate which is chained to the ''Thawte Premium Server CA'' root certificate. You need to trust this certificate Chain to be able to use the applet.

    Note that there is currently [[a bug|http://trac.tiddlywiki.org/ticket/172]] that prevents ~TiddlySaver from working if you have specified a backup directory in AdvancedOptions and the directory doesn't exist.

    Thanks to Andrew Gregory for the original TiddlySaver code, and ~BidiX for arranging all the certificate magic.

    |''URL:''|http://tiddlystyles.com/|

    |''URL:''|http://www.tiddlytools.com/|
    |''Description:''|Small Tools for Big Ideas!|
    |''Author:''|EricShulman|

    ~TiddlyWiki is a complete [[wiki|WikiWikiWeb]] in a single HTML file. It contains the entire text of the wiki, and all the ~JavaScript, CSS and HTML goodness to be able to display it, and let you edit it or search it - without needing a server. Although, having said that, there are some fine ServerSide adaptations out there.

    ~TiddlyWiki is published under an OpenSourceLicense and maintained by a busy [[Community|Help and Support]] of independent developers.

    Before TiddlyWiki supported [[Plugins]], several independent developers created their own extended adaptations to support new features. These can be considered forks of the original core code, and won't necessarily be based on the latest version. For that reason, the trend more recently has been for developers to release new features as [[Plugins]] that can be readily mixed and matched and upgraded to the latest version.

    Here's a list of known adaptations - note that many of these are quite old, and the links may be dead (all working as at 10 July 2008):
    * Bram Chen's [[PrinceTiddlyWiki|http://ptw.sourceforge.net/]]
    * Josh Goebel's [[ServerSideWiki|http://www.serversidewiki.com]]
    * Masaki Yatsu's [[LesserWiki|http://lesserwiki.org/]]
    * David Harper's [[BloTid|http://www.spacecoastweb.net/BloTid/Tiddly/]]
    * Jacques Turbé's [[TidliPo|http://avm.free.fr/tidlipo.html]] (in French)
    * Joe Raii's [[pytw|http://www.cs.utexas.edu/~joeraii/pytw/]] and [[Siglet|http://www.cs.utexas.edu/~joeraii/siglet/]]
    * Jároli József's [[MagyarTiddlyWiki|http://innen.hu/MagyarTiddlyWiki]] (in Hungarian)
    * Yoshimov's [[EncryptedTiddlyWiki|http://wiki.yoshimov.com/?page=EncryptedTiddlyWiki]] (in Japanese)
    * Tim Morgan's [[ZiddlyWiki based on Zope|http://ziddlywiki.org/]]
    * Steve Rumsby's [[YetAnotherTiddlyWikiAdaptation|http://www.rumsby.org/yatwa/]]
    * Phono Hawk's [[PerlTiddlyWiki|http://ccm.sherry.jp/tiddly/]]
    * Nathan Bower's [[GTDTiddlyWiki|http://shared.snapgrid.com/gtd_tiddlywiki.html]] (also see GTDTiddlyWiki)
    * Dan Phiffer's [[TiddlyWikiRemote|http://phiffer.org/tiddly/]]
    * Jonny ~LeRoy's [[TiddlyTagWiki|http://www.digitaldimsum.co.uk/tiddlywiki/]]
    * Jody Foo's [[TagglyWiki|http://informationality.com/tagglywiki/tagglywiki.html]]
    * Christian Hauck's [[CompleXimple InDeed|http://www.christianhauck.net/html/14300.html]]
    * Alan Hecht's [[QwikiWeb|http://snipurl.com/qwikiweb]]
    * Tim Cuthbertson and Matt Giuca's [[TiddlyWikiCSS|http://codestar.lidonet.net/misc/tiddlywikicss.html]] (and Peter Lazarev's [[further improvements|http://petka.webhop.net/#NiceTiddlyWiki]])
    * Patrick Curry and Gabriel Jeffrey's [[PhpTiddlyWiki|http://www.patrickcurry.com/tiddly/]]
    * Henrik Aasted Sorensen's [[server side adaptation|http://aasted.org/wiki]]
    * [[KamiWiki|http://rakusai.org/kamiwiki/]]
    * Kevem Buangga's [[TiddlyWikiClone|http://www.kevembuangga.com/hwk/hailiwiki.htm]]
    * Andre Nho's [[StickWiki|http://stickwiki.sourceforge.net/]]
    * [[MessageVault|http://www.kokogiak.com/gedankengang/2007/03/introducing-message-vault.html]], a personal password store built on some ~TiddlyWiki technology
    There's also some TiddlyWikiTools that extend ~TiddlyWiki.

    ~TiddlyWiki has been used as the basis of a few experiments in hypertext fiction.
    *"[[Bibliotheca Caelestis. Tiddlywikiroman|http://bc.etkbooks.com/opac/]]" from Hartmut Abendschein
    *"[[Die, Vampire! Die!|http://www.davidvanwert.com/wiki/dievampiredie.html]]" from David Van Wert
    *"[[Rose|http://www.emacswiki.org/alex/rose.html]]" from Alex Schroeder
    *"[[Gimcrack'd|http://gimcrackd.com/]]" from Chris Klimas
    *"[[Singularity!|http://www.accelerando.org/_static/toughguide.html]]" by Charles Stross

    Isao Sonobe's [[TiddlyWikiPod|http://www8.ocn.ne.jp/~sonoisa/TiddlyWikiPod/index.html]] is a nifty utility for Mac OS X that copies the content of a ~TiddlyWiki to an iPod where it can be read, and links followed, using the touch wheel. Isao has also added the ability to link to songs from the ~TiddlyWiki text which enables some interesting applications. At the moment, the instructions apply to the older SecondVersion of ~TiddlyWiki.

    Saq Imtiaz and Kalle Alm have just released a release candidate of [[TiddlySnip|http://tiddlysnip.com/]], a Firefox extension that lets you use your ~TiddlyWiki as a scrapbook. Simply select text, right click and choose "~TiddlySnip selection". Next time you open your ~TiddlyWiki file, your snippets will be there, already tagged and organised.

    The first add-on tool for ~TiddlyWiki was Isao Sonobe's TiddlyWikiPod that let's you transfer the contents of a ~TiddlyWiki to an iPod (well, not an iPod shuffle).

    Markus Koch has [[released a script|http://bloggern.de/cms/wiki.php]] that allows Postnuke to publish content in ~TiddlyWiki format (Postnuke is a popular full-blown open source content management system).

    The 33ad blog features a neat tool by Jeremy Kelley to [[create a calendar in ~TiddlyWiki table format|http://33ad.org/tools/gtdtwcal.php]].

    See TiddlyBookmarklets for some ideas about using bookmarklets to extend and hack ~TiddlyWiki.

    The {{{<<today>>}}} macro inserts the current date and time into a tiddler. It's updated each time the tiddler is redisplayed.

    It can optionally take a DateFormatString to determine the way that the date is displayed:

    {{{
    <<today>>
    <<today>>
    }}}

    Results in:
    <<today>>
    <<today>>

    If your press the command key on the Mac or the control key on the PC while clicking on a link to a tiddler, the tiddler will be opened as usual if it isn't already open, but if //is// open, it will be closed. It makes a handy way to review links without having to move the mouse around to re-close tiddlers.

    You can make this behaviour the default under AdvancedOptions (you can override back to the normal behaviour with the same command/control key).

    A row of ToolbarButtons appears to the right of a tiddler title when the mouse is hovered over it. The buttons are:
    * ''close'' - close the current tiddler
    * ''edit'' - edit the current tiddler
    * ''permalink'' - puts a link direct to the current tiddler into the address bar
    * ''references'' - displays all the tiddlers that link to the current tiddler
    * ''done'' - save changes to a tiddler being editted
    * ''cancel'' - cancel changes to a tiddler being editted
    * ''delete'' - delete the current tiddler

    The ToolbarMacro is used in the TiddlerTemplateMechanism to define the toolbar that appears when the mouse is hovered over a tiddler. It looks like this:
    {{{
    <<toolbar closeTiddler -editTiddler +jump>>
    }}}
    The arguments to the ToolbarMacro is a list of command names, as discussed in the CommandMechanism. The available commands are tagged <<tag commands>>.

    You can precede a command name with a "+" to specify a default command that is automatically chosen when a tiddler is double-clicked, or the ctrl-Enter key combination pressed. Similarly, precede it with "-" to specify a command to be chosen when the Escape key is pressed.

    [[UnaMesa|http://www.unamesa.org/]] is a non-profit organisation that owns and holds the IPR for TiddlyWiki in trust for the public.

    <!--{{{-->
    <div class='toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
    <div class='title' macro='view title'></div>
    <div class='tagged' macro='tags'></div>
    <div class='viewer' macro='view text wikified'></div>
    <div class='tagClear'></div>
    <!--}}}-->

    TiddlyWiki works fine under Internet Explorer on Windows Vista, although you may run into the blocking problem described in ServicePack2Problems.

    Under Vista, TiddlyWiki will not save changes correctly if you are viewing the TiddlyWiki file in Vista's file preview pane.

    |''URL:''|http://visualtw.ouvaton.org/VisualTW.html|
    |''Author:''|Pascal|

    In late February 2007 an update to Norton's anti-virus software causes it to falsely identify TiddlyWiki files as containing the "W32.Feebs" virus. This is an incorrect report and should be ignored. See [[this discussion|http://groups.google.com/group/TiddlyWiki/browse_frm/thread/f98da9a720d01ba5/87a96ed9899e05c9?hl=en]] for more details.

    TiddlyWiki seems to [[work fine on the Wii browser|http://blog.deuceofalltrades.com/2007/02/wii-browser-meets-microcontent.html]], at least for browsing -- it doesn't appear that you can save or upload changes.

    Putting ~TiddlyWiki on a USB stick lets you carry around a self contained notebook that you can update wherever there's a computer, whether it's a Mac, Linux or a PC.

    To be even more independent you can [[install FireFox on the drive|http://www.mozilla.org/support/firefox/tips#oth_usb]] as well!

    A wiki (derived from the Hawaiian word for "fast") is a popular way of building collaborative websites. It's based on the two ideas of allowing users to easily edit any page and the use of special formatting to create links between pages. See Wikipedia for [[more details|http://en.wikipedia.org/wiki/Wiki]].

    ~TiddlyWiki is fundamentally different from a conventional Wiki because it is not based on separate, entire pages of content, but rather items of MicroContent referred to as [[Tiddlers|Tiddler]] that live together on the same page.

    Out of the box, ~TiddlyWiki is also different because it doesn't support public editing - or indeed any persistent editing when viewed over the web. However, there are ServerSide editions, TiddlyWikiAdaptations and [[Plugins]] that provide these features in a wide range of different configurations.

    A WikiWord is a word composed of a bunch of other words slammed together with each of their first letters capitalised. WikiWord notation in a conventional WikiWikiWeb is used to name individual pages while TiddlyWiki uses WikiWord titles for smaller chunks of MicroContent. Referring to a page with a WikiWord automatically creates a link to it. Clicking on a link jumps to that page or, if it doesn't exist, to an editor to create it. It's also easy to have NonWikiWordLinks, and there's a WikiWordEscape for situations where you don't want a WikiWord to be interpreted as a link.

    Sometimes it's handy to be able to write WikiWords without them being recognised as links (for people's names, for instance). You can do this by preceding the WikiWord with a tilde ({{{~}}}). For example, ~JamesBond, ~JavaScript and ~TiddlyWiki

    I'm hoping that after using TiddlyWiki for a while a new WritingStyle will emerge that is appropriate for this medium.				Jakob Neilsen wrote an article about [[writing styles|http://www.useit.com/alertbox/980906.html]] for MicroContent back in 1998 that still seems surprisingly relevant.

    You just clicked on an example link, which was created by putting the word 'example' in double square brackets. You can now close this tiddler by clicking on the 'close' link above, and return to the guidelines.

    Tiddlers tagged {{{systemServer}}} wrap up all the connection details of a particular server so that they can be accessed quickly.

    A list of available {{{systemServer}}} tiddlers is presented at the start of the ImportTiddlers macro. Selecting one of them pre-selects the relevant fields in the wizard. After a successful import operation, ImportTiddlers also offers the opportunity to automatically create a {{{systemServer}}} tiddler with the details of the server that was used. {{{systemServer}}} tiddlers are also used by the [[syncing]] command.

    Here's an example {{{systemServer}}} tiddler:

    <<<
    |''Description:''|My example server|
    |''Type:''|mediawiki|
    |''URL:''|http://www.myexampleserver.org/x/|
    |''Workspace:''|Main|
    |''~TiddlerFilter:''|[tags[important unpluggable]]|
    <<<

    The fields are as follows:

    |!Field |!Description |!Status |
    |Description |Brief description of the server |Optional |
    |Type |Type of server connection eg {{{file}}} or {{{mediawiki}}} |Optional - defaults to {{{file}}} |
    |URL |Host URL of the server |Mandatory |
    |Workspace |Name of the workspace |Optional |
    |TiddlerFilter |Specifies which tiddlers are to be imported |Optional |

    ~TiddlyWiki has now been translated into over 20 languages - see the [[translation page at TiddlyWiki.org|http://trac.tiddlywiki.org/wiki/Translations]] for more details.