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
<!--{{{-->
<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>>
<<importTiddlers>>
<!--{{{-->
<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml' />
<!--}}}-->
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]]
<!--{{{-->
<div class='header' role='banner' 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' role='navigation' refresh='content' tiddler='MainMenu'></div>
<div id='sidebar'>
<div id='sidebarOptions' role='navigation' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' role='complementary' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea' role='main'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
/*{{{*/
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]];}

.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]];}
.readOnly {background:[[ColorPalette::TertiaryPale]];}

#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:0; top:0;}

.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:0 3px 0 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:0; padding-bottom:0;}

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

.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='toolbar' role='navigation' 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>
<!--}}}-->
HelloThere
WhatsNew
''This is version <<version>> of ~TiddlyWiki Classic.''

@@font-size:24pt;[[download now...|http://classic.TiddlyWiki.com/beta/empty.zip]]@@

You can view other versions of ~TiddlyWiki from the following locations:
| current release of ~TiddlyWiki|!http://TiddlyWiki.com/ |
| beta pre-release of ~TiddlyWiki Classic|!http://classic.TiddlyWiki.com/beta |
| current release of ~TiddlyWiki Classic|!http://classic.TiddlyWiki.com/ |
| previous releases of ~TiddlyWiki Classic|!http://classic.tiddlywiki.com/archive/ |
version <<version>>
~TiddlyWiki Classic
This revision includes updates to resolve the following open issues and/or pull requests:
^^''//(click an individual heading below to toggle details, or click here to <html><a href="javascript:;" class="TiddlyLink"
onclick="
	var show='show all details';
        var hide='hide all details';
	var here=story.findContainingTiddler(this); if (!here) return false;
	var elems=here.getElementsByTagName('*');
	var state=(this.innerHTML==show)?'none':'block';
	for (var e=0; e<elems.length; e++) { var p=elems[e];
		if (p.className!='sliderPanel' || p.style.display!=state) continue;
		p.previousSibling.onclick();
	}
	this.innerHTML=state=='none'?hide:show;
	return false;
">show all details</a><nowiki></html>)//''^^
*<<slider "" "WhatsNew##112" "112: Allow international characters and leading/trailing whitespace in slice names">>
*<<slider "" "WhatsNew##132" "132: URLs containing square brackets not recognized">>
*<<slider "" "WhatsNew##147" "147: Transclusion problem on startup">>
*<<slider "" "WhatsNew##154" "154: Parametric transclusion doesn't work properly with refreshing">>
*<<slider "" "WhatsNew##156" "156: Fix javaDebugInformation function">>
*<<slider "" "WhatsNew##157" "157: Improve the String.prototype.escapeRegExp utility">>
*<<slider "" "WhatsNew##159" "159: Cookies are not working in Opera">>
*<<slider "" "WhatsNew##160" "160: Remove the syncing item from the default ToolbarCommands">>
*<<slider "" "WhatsNew##161" "161: Make new tiddlers open below below the one containing newTiddler macro">>
*<<slider "" "WhatsNew##162" "162: Substitute missing arguments of parametric transclusions with an empty line">>
*<<slider "" "WhatsNew##166" "166: Use default editmode text for themes with non-standard template names">>
*<<slider "" "WhatsNew##170" "170: literal embedded HTML syntax breaks PhoneGap">>
/%
!!!112
<<<
''Description:''
https://github.com/TiddlyWiki/tiddlywiki/pull/112
Slice names currently only recognize standard Latin characters, and do not permit flexible use of whitespace both within and/or surrounding a slice name.
''Changes:''
The {{{TiddlyWiki.prototype.slicesRE}}} regular expression has been updated to allow international characters and variable whitespace.
''Expected Impact:''
Slice names currently recognized in existing documents will continue to be handled as before.  Slice names may now contain international characters and/or spaces within the slice name, and can use variable surrounding whitespace to help format the slice table defintion (e.g., for readability of slice tables in edit mode).
<<<
!!!132
<<<
''Description:''
https://github.com/TiddlyWiki/tiddlywiki/issues/132
If a URL embedded in tiddler content contains square brackets (e.g., using literal {{{"[["}}} and {{{"]]"}}} for a perma-link to another ~TiddlyWiki document), the brackets are not properly recognized by ~TiddlyWiki as being part of the URL, and the resulting link is incorrect.
''Changes:''
The {{{config.textPrimitives.urlPattern}}} regular expression has been updated to permit square brackets to occur within the URL text.
''Expected Impact:''
Embedded URLs that contain perma-links using square brackets will now be properly recognized.  No impact on URLs not containing square brackets.  No impact on other wiki formats.
<<<
!!!147
<<<
''Description:''
https://github.com/TiddlyWiki/tiddlywiki/issues/147
During startup processing, tiddlers are being rendered and then automatically refreshed.  When a tiddler contains transcluded content that uses macro parameter substitutions, the additional refresh handling will re-process any substitution macro parameters, which can cause unintended side effects due to processing of evaluated parameters.
''Changes:''
The refresh handler for tiddlers now checks for the 'startingUp' global flag, and bypasses the extra (and unnecessary) re-rendering of the tiddler.
''Expected Impact:''
This only affects startup processing, and will have no impact on subsequent display updates during the session.
For additional technical details, see http://startuptransclusions.tiddlyspot.com/ and http://tobibeer.tiddlyspace.com/#startingUp
<<<
!!!154
<<<
''Description:''
https://github.com/TiddlyWiki/tiddlywiki/issues/154
If a parameter used with the {{{<<tiddler>>}}} macro contains square brackets, the transclusion will render properly when first displayed, but will incorrectly re-parse the parameters when automatically refreshing the transcluded content in response to changes in the source tiddler.
''Changes:''
The parameters used with {{{<<tiddler>>}}} are now stored as a pre-parsed data object, rather than a text attribute, so they don't need to be re-parsed during a refresh.
''Expected Impact:''
{{{<<tiddler>>}}} parameters with square brackets will be processed correctly when content is refreshed.  No impact on parameters not containing square brackets.
<<<
!!!156
<<<
''Description:''
https://github.com/TiddlyWiki/tiddlywiki/pull/156
javaDebugInformation() function was calling a misnamed applet function
''Changes:''
The function name has been corrected.
''Expected Impact:''
This is a development utility function that is only invoked manually when debugging a failure in TiddlySaver.jar, and will have NO effect during normal TiddlyWiki operation.
<<<
!!!157
<<<
''Description:''
https://github.com/TiddlyWiki/tiddlywiki/issues/157
The ~TWCore utility function, escapeRegExp(), does not properly handle special symbols, "dash" (-) and "slash" (/).  In addition, this same function has been re-implemented in ~TiddlyWiki5, using a much more efficient method that is 100% backward-compatible with ~TiddlyWiki Classic.
''Changes:''
The code for {{{String.escapeRegExp()}}} has been replaced with the newer implementation from ~TiddlyWiki5.
''Expected Impact:''
Unknown, but none expected.
<<<
!!!159
<<<
''Description:''
https://github.com/TiddlyWiki/tiddlywiki/issues/159
The ~TWCore utility function, encodeHashMap() is used to "pack" the ~TiddlyWiki option values when storing persistent settings in a browser-based cookie.  This function uses double-quotes around the options value.  However, double-quotes are officially illegal in a cookie value.  Although many browsers allow the use of double-quotes anyway, some browsers, such as Opera, will reject cookie values containing double-quotes.
''Changes:''
The ~TWCore {{{saveCookie()}}} and {{{loadCookies()}}} functions have been updated to encode/decode all double-quotes into "%22" character codes, allowing them to be stored and retrieved from all browsers, without violating formal specifications for allowed cookie values.  To preserve backward compatibility, the new, quote-encoded cookie is named "~TiddlyWikiOptions" rather than just "~TiddlyWiki", so that previous versions of TiddlyWiki will continue to use the old cookie name, while new version will use the updated cookie name.
''Expected Impact:''
The first time a copy of TW290 or above is opened, the option values from any existing "~TiddlyWiki" cookie will be copied to the new "~TiddlyWikiOptions" cookie and use %22 encoding whenever a cookie value is changed.  Once the new option cookie is stored, changes to option values made using older versions of TiddlyWiki will not be reflected in version TW290 and above.
<<<
!!!160
<<<
''Description:''
https://github.com/TiddlyWiki/tiddlywiki/issues/160
The default ~ViewToolbar definition in ~ToolbarCommands, includes a command for "syncing".  However, the supporting 'sync' handlers were removed from ~TiddlyWiki some time ago, so this command item produces a non-functional blank space when the toolbar is displayed.
''Changes:''
The default Shadow definition for ~ToolbarCommands has been updated.
''Expected Impact:''
Elimination of errant whitespace between toolbar command items.  Custom server-side environments such as TiddlySpace that provide their own 'sync' handlers may need to update the default ~ToolbarCommands to restore the 'sync' menu item.
<<<
!!!161
<<<
''Description:''
https://github.com/TiddlyWiki/tiddlywiki/issues/161
By default, the {{{<<newTiddler>>}}} and {{{<<newJournal>>}}} macros open a newly created tiddler at the top of the story column.  For the default use from the sidebar controls, this is a reasonable behavior.  However, if the newTiddler/newJournal macro is placed within tiddler content, then the placement of the newly created tiddler can cause the page display to scroll the current tiddler out of view, which can disrupt the workflow.
''Changes:''
The newTiddler/newJournal macro handler has been updated so that new tiddlers will automatically appear below the one that contains the macro, rather than always at the top of the story column.
''Expected Impact:''
Reduced scrolling and improved workflow when creating new tiddlers.
<<<
!!!162
<<<
''Description:''
https://github.com/TiddlyWiki/tiddlywiki/issues/162
When using {{{<<tiddler TiddlerName with: param param ...>>}}}, occurences of $1 through $9 contained in the source tiddler are replaced with the corresponding parameter values from the {{{<<tiddler>>}}} macro.  However, any unused markers are left as-is; e.g., if only two parameters are provided, only $1 and $2 will be replaced, and instances of $3 through $9 will remain in the rendered content.  For some use-cases, removing any remaining markers is preferable; however, changing the current default behavior may result in unexpected results for existing users.
''Changes:''
A new option, ''chkRemoveExtraMarkers'', has been added to AdvancedOptions to permit the alternative handling for markers.  The option defaults to undefined/false, which results in the existing behavior.  Setting this option enables the alternative handling that removes any transcluded markers not otherwise replaced by macro parameter values.
''Expected Impact:''
None, unless chkRemoveExtraMarkers option flag is enabled.
<<<
!!!166
<<<
''Description:''
https://github.com/TiddlyWiki/tiddlywiki/issues/166
When a theme defines an edit template with a name other than "~EditTemplate", the default text shown when editing a new tiddler was incorrectly using the viewmode text ("The tiddler '...' doesn't yet exist. Double-click to create it"), instead of the correct editmode text ("Type the text for '...'").
''Changes:''
The tiddler display handler now checks for the edit template name as defined by the current theme, rather than always looking for the standard template name.
''Expected impact:''
Themes that use an alternative name for the ~EditTemplate will now use the correct default text when editing a new tiddler.
<<<
!!!170
<<<
''Description:''
https://github.com/TiddlyWiki/tiddlywiki/issues/170
When submitting ~TiddlyWiki documents to http://build.phonegap.com, they produced mangled output because the recreateOriginal() function includes embedded /body and /html syntax.
''Changes:''
The code within recreateOriginal() has been changed to split literal HTML syntax into pieces and use '+' to rejoin them, so that the strings are unaffected, but PhoneGap will not stumble on them.
''Expected impact:''
No effect on TiddlyWiki usage.  Allows TiddlyWiki Classic documents to be correctly used in PhoneGap projects.
<<<
!
%/