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>
<!--}}}-->
Here you will find (as sub-topics in the [[Show references and info]] panel) explanations of the various [[Tabs]] that make up the [[Index]] allowing you to sort and sift the many pages in the manual in different ways
* [[Licensed]] content
** Information about the way this manual is released under the Creative Commons to maximise sharing and wide dissemination.
* Information on [[Using the Manual]]
** How to navigate around it easily
** How find content you seek
** How to compare what is in this version, and those of other teams
* [[Recent changes]] in the manual (it is [[always improving|Dynamic, adaptive Manualization]]!)
* [[List LOCAL EDITS to the manual]] - if this is LOCAL TEAM's version, check to see their own local edits. 
* [[Authors]]
* [[Sponsors]]
* [[Feedback please!]]
''@@color(blue):Please note that the editing function is undergoing some development work so some parts of these instructions may no longer be correct. Apologies for the inconvenience and we hope to have these updated soon. @@''

!What's here?
# The purpose of the page explained
# Groundrules for embedding material
# Link to material on embedding IMAGES
# A video introduction to embedding VIDEO
#Where to store (or "host") material for embedding
!1. Purpose of this page?
Your TiddlyManual is a "multimedia" site - that means there are [[Videos]] and [[Slides]] and [[Audio clips]] embedded in the pages.  We assume this material enriches the content and improves the likelihood that it will influence practice in positive ways.

We want local teams to [[Manualize|Manualization]] their own work - adding documentation of local adaptations, improvements and attunements that will better support their local team to do the work it does.  There is more basic information on how to [[Edit]] these [[Wiki]]s.  The point of //this// page is to show you how to add "the fancy stuff" like video clips, audio clips, pictures, or downloadable documents.  

This is very easy... honest... try it!  

!2. Groundrules:
|bgcolor(red): ''N.B. - NO CONFIDENTIAL CLIENT VIDEO MATERIAL SHOULD EVER BE UPLOADED TO AN ONLINE SOURCE, AND THE STREAMING VIDEO USED IN THE AMBIT MANUAL INVOLVING ~ROLE-PLAYS SHOULD ONLY BE DISPLAYED WITH APROPRIATE CONSENT.  TEAMS ARE RESPONSIBLE FOR THE MATERIAL THAT THEY UPLOAD THEMSELVES, NOT THE AMBIT PROJECT!'' |


!3. EMBEDDING IMAGES
See [[Embedding Images in your TiddlyManual]]

<<image [[New AMBIT WHEEL]] width:100 height:100>> 

!4.Video introducing "how to embed VIDEO":
<html><iframe width="480" height="360" src="http://www.youtube.com/embed/I_5Cqd3gvkA?rel=0" frameborder="0" allowfullscreen></iframe></html>

!5. Understanding how it works
First, this is called a //~Mash-Up// - what is that?!

This is what --geeks-- programmers refer to when a single website actually uses functions and pieces of information that are drawn from different places across the internet - the //mash-up// brings these disparate elements together to produce something quite specific and 'fit-for-purpose'.  [[TiddlyManual]]s work like this.  Video, audio, pictures and documents can all be stored in different online places, but can be accessed through (or "embedded within") the one tiddlymanual.

!6.Where/how to store (or "host") material for embedding?
Where can you upload material online, so that you can embed it and display it in your manual?

Here are a few examples of ''"hosting resources"'' that are in use in the manual - all of them are FREE - you just have to register to set up an account:

!!!(a) Video
We mainly use [[YouTube|http://www.youtube.com/]] but another good hosting site is [[Vimeo|http://vimeo.com/]].   You will need to find the "EMBED" code from the website, and use that pasted into place within this extra bit of code:

|bgcolor(beige): {{{<html>}}}~ADD_YOUR_EMBED_CODE_HERE{{{</html>}}} |

!!!(b) Audio
A good site is [[Soundcloud|http://soundcloud.com]] - you can upload Mp3 tracks (lots of musicians use this site, but it works equally well for the spoken voice) and then "embed" the player for that track in your page (as above).
!!!(c) Pictures
See [[Embedding Images in your TiddlyManual]].  The easiest place to upload to is to TiddlySpace itself.  We also use [[Google Picasa|http://picasaweb.google.com/]]  or [[Flickr|http://www.flickr.com/]] to host pictures (but increasingly the IT red tape in NHS or Social care settings blocks these).
!!!(d) Documents
We use [[Google Docs|http://www.google.com/google-d-s/b1.html]] or the more recent [[Google Drive|https://drive.google.com]].  Annoyingly, some dinosaur organisations (mentioning no names) still block Google Documents via their IT departments - this kind of problem will surely die off eventually... See [[Organisational support for the technology to run TiddlyManuals]] for advice on how to tackle this nuisance.

In Google docs you open the document, look for the "Share" button (top right of the screen) and then select Publish/Embed, and that will offer you a range of options so for slides you can choose to automatically start a slide show running and looping every time the site is accessed, etc (see [[Thinking Together]] for an example of this).  Google docs offers a bit of code, which you copy.
!!!(e) For PowerPoint slides
You can display slides so that others can see them as a slideshow, or can DOWNLOAD them from your page in your manual

* You can do this via Google Docs, Google Drive, or one of many other "web-hosting" services for PowerPoint slides
* Alternatively, you can actually save individual PowerPoint slides as JPEG files (essentially these are just digital photos) and then upload these to a photo hosting site (see just above for examples) and mount them in your page as a straightforwards picture (simpler, nicer "feel", but a bit fiddlier if you have loads of pictures! - the photo above is actually taken from a PowerPoint slide that was saved as a JPEG.)  
** By the way, ancient versions of PowerPoint make it a bit more complicated to save slides as JPEGs, but modern versions make it easy... (open the slide, click "Save as", then select what kind of file (JPEG) you want to save it as from the drop-down list that appears beneath all the file locations you could save it into...

!!!EMBEDDING CODE
* Find the "Embed code" from the site where you are hosting the image/document/etc
* Slap this embed code INSIDE the code given below (cut and paste it from here):

|bgcolor(beige): {{{<html>}}}~ADD_YOUR_EMBED_CODE_HERE{{{</html>}}} |

|bgcolor(red): ''Do note'' the little //forwards slash// that must sit before the second "html"... it is fiddly, but once you know it, simple! |

!! iFRAMES - a whole "web-page-within-a-page"!

An iFrame simply opens a "port-hole" onto another part of the web from within a [[Tiddler]].  If you want to 'embed' a ''whole web-page'' inside a page of your manual, you can easily make one of these 'windows', using a similar little bit of code (called an "iFrame").  Here is the code that you need to this... you can __cut and paste the code for this from here__:

|bgcolor(beige): {{{<html><div align="center"><iframe src="PASTE_YOUR_WEBPAGE_URL_HERE" frameborder="0" width="100%" height="600"></iframe></div></html>}}} |

## Now go to the web-page you want to embed in your manual page
## Copy the web address ("URL") for that web-page
## Go back to the [[Tiddler]] you are editing, and paste the web-page URL just where the code says "~PASTE_YOUR_WEBPAGE_URL_HERE" (''//be sure to leave the speech marks in place so that they bracket your URL//'')
## Done!  Click "Done" (or the tick) on your [[Tiddler]] page - top right, and the page will switch back to ordinary viewing mode... if you got it right, you'll see your other web-page within that one.  Here is an example (probably the most boring blog in the blogosphere):

<html><div align="center"><iframe src="http://dickonb.blogspot.co.uk/" frameborder="0" width="100%" height="600"></iframe></div></html>
 
!!Notes:

#If you are viewing a downloaded //copy// of the manual then it will still fish out the web-based content //so long as your computer is hooked up to the internet//, but if you are not online, obviously no image will show. 
#If you are wanting to put a bit of YouTube video up, you will see on the You Tube page that there are actually two bits of code displayed that can be cut and pasted - one is titled "URL" - this is what you would use for the iFrame technique, the other is titled "Embed" and is a neater way of doing things (see "embedding code" above - but essentially, just sandwich the Youtube embed code in between these two extra bits of code: {{{<html>}}} and {{{</html>}}} (again, do note that there is an extra "forward slash" in the second of these.)  If you use an "Embed" code then you will ONLY get the video image in its own little "player", rather than the whole You Tube page - much neater.
!What is it and where is it?
* This is one of the options on the [[Mode and Login panel]].  
* You can only access this option if you are [[logged in|Log in]] as a member of the space.

Via an extra set of [[Menus]] on the black [[Top menu bar]] that appears right across the top of your desktop screen (you may need to scroll to the top of the page to reveal this) you can find:
* Extra information about the site
* How to add or subtract members (given that you have the appropriate permissions), etc.  
* Additional ways to [[Index]] and [[Search]] material, or to make changes to "batches" of pages.
* Etc
!It //is// only for advanced users!
As the name suggests, most team members or visitors will either not have access to this menu, or would have no use for it.







!Purpose
To find ways around large organisations' bans on staff accessing to the ~YouTube video clips.

!The easy way:
The ''best'' way to do this is to persuade your organisation to make an exception so that members of your team are given permission to access Youtube, Vimeo, Google Docs and Picasa (where most of the multimedia content is hosted, and then accessed by the manual.)

The problem that you //may// have is that your IT Dept is mixing its technical/facilitating role with a MANAGEMENT role.  (Most definitions of the role of an IT dept is that it is there to make IT work for the benefit of the organisation.)  If members of your team were to access //inappropriate material// or to //waste the hours they are being paid to work// by watching tedious or crass videos instead, then this would be a //management// issue, and should be dealt with accordingly by line management.  Asking for a technological fix for human behaviour is not great management, and not very 21st century!  

!The harder way: permissions for each //individual// ~YouTube clip
This is a bit fiddly, so you I suggest that you ask your IT dept to do this for you if this is what is being asked for!

Note that everytime a new videoclip is added to the manual (and we hope that lots of new video will be being added!) they will have to go and make a new exception - which is a drag.  Many large organisations, including in the NHS, are now beginning to grant blanket permission for certain users to access Youtube, etc, and then managing infringements in more grown up ways.

There is some good material in the manual about marshalling this kind of argument for senior managers in an organisation: see [[Organisational support for the technology to run TiddlyManuals]].

If in spite of all this the organisation still insists on approving each individual video clip then this is how to find the URL's (that is the web address that the IT system will have to enter into their system to "Allow" it):

1. Go to [[Videos]] - this page has all the video content listed as sub-topics find this when you click the "[[Show references and info]]" panel.

2. Open each page with video embedded in it, and then get the URL for that filmclip as follows:

3. Within each embedded youtube screen on the page there are buttons that will appear when you mouse over the screen.  These allow you :

(a) to minimise the film screen and reveal beside this the "URL" for that bit of film (select and copy it!), or 
(b) to "watch this film in ~YouTube" which opens the youtube page in a separate tab or window (which also gives you the URL - select and copy it.)

4. Give a list of the ~YouTube clip URL's to your IT department.  Warn them that you will be supplying them with a regular supply of new URL's as new video continues to be added.

!But...
Obviously if you were to try to do this yourself at work you would struggle as you can't get the films to show!  But there is still a way...

5. You need to [[Log in]] and then switch the manual to [[Edit mode]].

6. Open up a page that has video in it, and click the Edit button to "open the hood" of that page to look at the workings...

>(tip: NB - IF YOU DO THIS, THEN WHEN YOU CLOSE THE PAGE UP AGAIN, USE THE X, RATHER THAN THE TICK, SO THAT YOU "UNDO CHANGES TO THIS TIDDLER" - that way the system doesn't assume you have been busily editing your content and log all the pages you do this with as different versions from the core manual)....

7. Once you are inside the workings of the page, what you then look for is a bit of gobbledegook code that will be placed where the video window occurs in the page.  This is what we call an iFrame - it consists of two lumps of code that sandwich the URL and tell the page to make a window and to show the URL inside it.  It will look something like this:

>{{{<html><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/jlmDRbXttcw?hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/jlmDRbXttcw?hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></html>}}}

8.  All you have to do now (I warned you it was fiddly!) is find the URL and copy it out of this - it will always start with {{{http://}}} and will always be bracketted with speech marks - I have highlighted this one:

>{{{<html><object width="425" height="344"><param name="movie" value="}}}http://www.youtube.com/v/jlmDRbXttcw?hl=en&fs=1{{{"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/jlmDRbXttcw?hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></html>}}}

I hope that is helpful.  Many large organisations are now making ~YouTube and Facebook, etc, open to all their staff, which is felt to be more respectful, and does not change the fact that if there is evidence of misuse then this is may be evidenced easily enough with help from the IT dept, and then managed through line management.  That way IT gets to do what it is good at, and managers too...
This button/heading is found on one of the Tabs, in the [[Index]].  It lists all the [[Tiddler]]s in the whole manual, in alphabetical order. You can also use the [[Search]] facility to look for the information you want.
The NHS [[Armchair Involvement project]], is an official NHS site called the Armchair Involvement project describes itself as "Helping you to use new technology to engage people in service improvement" which ticks a lot of boxes.  the direct weblink is [[here|http://www.institute.nhs.uk/building_capability/armchair_no_comment/armchair_involvement.html]]

It references a site called [[Social Strategy - breaking down the barriers]], which lists 50 hurdles or barriers to large public organisations making best use of web 2.0 technology.

<html><div align="center"><iframe src="http://webarchive.nationalarchives.gov.uk/20100809193706/https://www.institute.nhs.uk/images//documents/BuildingCapability/Armchair/armchair%20involvement%20report.pdf" frameborder="0" width="100%" height="600"></iframe></div></html>
!SpaceUnplugged
{{unpluggedSpaceTab{
{{wizard{
<<image unsyncedIcon width:48>> Sync is currently unavailable in ~TiddlyWiki due to security constraints in modern browsers. Research is being done to build a suitable alternative. In the meantime if you have changed content in an offline ~TiddlyWiki, you can get your content back into ~TiddlySpace by using the ''import'' functionality from the backstage of the online wiki.
}}}
}}}

!Menu
<<message messages.memberStatus>> <<homeLink>>
{{unsyncedList{<<message messages.syncListHeading>> <<list filter [is[unsynced]]>>}}}

running TiddlySpace@glossary version <<message extensions.tiddlyweb.status.tiddlyspace_version>>
{{autotable{
<<tiddler Backstage##Resources>>
}}}

!Resources
[[blog|@@blog]] [[documentation|@@docs]] [[featured spaces|@@featured]] 

!ImportExport
<<fileImport>>
You can download this TiddlySpace as an offline TiddlyWiki:

{{chunkyButton{<<exportSpace>>}}}

!BackstageTiddlers
|upload a <<message messages.privacySetting>> file: <<binaryUpload>>|<<closeAll>><<permaview>><<newTiddler>><<newJournal "DD MMM YYYY" "journal">><<saveChanges>>|
|>|<<search>>|
|>|<<tiddler Backstage##Tiddlers>>|

!Tiddlers
<<tabs
	txtMainTab
	"Recent" "Recently edited tiddlers" TabTimeline
	"All" "All tiddlers" TabAll
	"Public" "All public tiddlers" [[TiddlySpaceTabs##Public]]
	"Private" "All private tiddlers" [[TiddlySpaceTabs##Private]]
	"Tags" "All tags" TabTags
	"Spaces" "Tiddlers grouped by space" [[TiddlySpaceTabs##Spaces]]
	"Missing" "Missing tiddlers" TabMoreMissing
	"Orphans" "Orphaned tiddlers" TabMoreOrphans
	"Shadows" "Shadowed tiddlers" TabMoreShadowed
>>

!BatchOps
<<tabs
	txtPublisherTab
	"Private" "Move tiddlers from private to public" Backstage##BatchPrivate
	"Public" "Move tiddlers from public to private" Backstage##BatchPublic
>>

!BatchPrivate
<<TiddlySpacePublisher type:private>>

!BatchPublic
<<TiddlySpacePublisher type:public>>

!Plugins
''Note:'' Many of these plugins are core TiddlySpace plugins and cannot be changed unless first cloned.

<<tiddler PluginManager>>

!Tweaks
These options change behavior in TiddlyWiki //only// and may be ineffective in TiddlySpace.

<<tiddler AdvancedOptions>>
/***
|''Name''|BinaryTiddlersPlugin|
|''Description''|renders base64-encoded binary tiddlers as images or links|
|''Author''|FND|
|''Version''|0.3.2|
|''Status''|@@beta@@|
|''Source''|http://svn.tiddlywiki.org/Trunk/association/plugins/BinaryTiddlersPlugin.js|
|''License''|[[BSD|http://www.opensource.org/licenses/bsd-license.php]]|
|''CoreVersion''|2.5|
!Code
***/
//{{{
(function($) {

"use strict";

var ctfield = "server.content-type";

var plugin = config.extensions.BinaryTiddlersPlugin = {
	isWikiText: function(tiddler) {
		var ctype = tiddler.fields[ctfield];
		if(ctype) {
			if (ctype === 'text/x-tiddlywiki') {
				return true;
			}
			return !this.isBinary(tiddler) && !this.isTextual(ctype);
		} else {
			return true;
		}
	},
	// NB: pseudo-binaries are considered non-binary here
	isBinary: function(tiddler) {
		var ctype = tiddler.fields[ctfield];
		return ctype ? !this.isTextual(ctype) : false;
	},
	isTextual: function(ctype) {
		return ctype.indexOf("text/") === 0
			|| this.endsWith(ctype, "+xml")
			|| ctype === 'application/json'
			|| ctype === 'application/javascript';
	},
	endsWith: function(str, suffix) {
		return str.length >= suffix.length &&
			str.substr(str.length - suffix.length) === suffix;
	},
	isLink: function(tiddler) {
		return this.isBinary(tiddler) && tiddler.text.indexOf("<html>") !== -1;
	}
};

// Disable edit for linked tiddlers (for now)
// This will be changed to a GET then PUT
config.commands.editTiddler.isEnabled = function(tiddler) {
    var existingTest = config.commands.editTiddler.isEnabled;
    if (existingTest) {
        return existingTest && !plugin.isLink(tiddler);
    } else {
        return !plugin.isLink(tiddler);
    }
};

// hijack text viewer to add special handling for binary tiddlers
var _view = config.macros.view.views.wikified;
config.macros.view.views.wikified = function(value, place, params, wikifier,
		paramString, tiddler) {
	var ctype = tiddler.fields["server.content-type"];
	if(params[0] === "text" && ctype && ctype !== 'text/x-tiddlywiki' &&
			!tiddler.tags.contains("systemConfig") && !plugin.isLink(tiddler)) {
		var el;
		if(plugin.isBinary(tiddler)) {
			var uri = "data:%0;base64,%1".format([ctype, tiddler.text]); // TODO: fallback for legacy browsers
			if(ctype.indexOf("image/") === 0) {
				el = $("<img />").attr("alt", tiddler.title).attr("src", uri);
			} else {
				el = $("<a />").attr("href", uri).text(tiddler.title);
			}
		} else {
			el = $("<pre />").text(tiddler.text);
		}
		el.appendTo(place);
	} else {
		_view.apply(this, arguments);
	}
};

// hijack edit macro to disable editing of binary tiddlers' body
var _editHandler = config.macros.edit.handler;
config.macros.edit.handler = function(place, macroName, params, wikifier,
		paramString, tiddler) {
	if(params[0] === "text" && plugin.isBinary(tiddler)) {
		return false;
	} else {
		_editHandler.apply(this, arguments);
	}
};

// hijack autoLinkWikiWords to ignore binary tiddlers
var _autoLink = Tiddler.prototype.autoLinkWikiWords;
Tiddler.prototype.autoLinkWikiWords = function() {
	return plugin.isWikiText(this) ? _autoLink.apply(this, arguments) : false;
};

}(jQuery));
//}}}
/***
|''Name''|BinaryUploadPlugin|
|''Version''|0.3.16|
|''Author''|Ben Gillies and Jon Robson|
|''Type''|plugin|
|''Source''|http://github.com/TiddlySpace/tiddlyspace/raw/master/src/plugins/BinaryUploadPlugin.js|
|''Description''|Upload a binary file to TiddlyWeb|
|''CoreVersion''|2.6.1|
|''Requires''|TiddlySpaceConfig TiddlyWebConfig|
!Usage
{{{
<<binaryUpload bag:<name> edit:tags edit:title tags:<default tags> title:<title> >>
}}}
* {{{bag:<name>}}}: optional; if left out, the file will be saved to the current workspace
* {{{edit:tags}}}: specifies that you want to tag the file being uploaded
* {{{edit:title}}}: specifies that you want to set the title to something other than the filename
* {{{tags:<default tags>}}}: specifies a default set of tags to apply to the file (requires {{{edit:tags}}} to be set)
* {{{title:<title>}}}: predefines the title of the binary tiddler
!Requires
TiddlyWeb
tiddlywebplugins.form
!Code
***/
//{{{
(function($) {

var tiddlyspace = config.extensions.tiddlyspace;

var macro = config.macros.binaryUpload = {
	locale: {
		titleDefaultValue: "Please enter a title...",
		tagsDefaultValue: "Please enter some tags...",
		titlePrefix: "title: ",
		tagsPrefix: "tags: ",
		loadSuccess: 'Tiddler %0 successfully uploaded',
		loadError: "An error occurred when uploading the tiddler %0",
		uploadInProgress: "Please wait while the file is uploaded...",
		membersOnly: "Only members can upload."
	},
	renderInputFields: function(container, options) {
		var locale = macro.locale;
		var editableFields = options.edit;
		var includeFields = {
			tags:  editableFields && editableFields.contains("tags") ? true : false,
			title: editableFields && editableFields.contains("title") ? true : false
		};
		var fields = ["title", "tags"];
		for(var i = 0; i < fields.length; i++) {
			var fieldName = fields[i];
			var userDefault = options[fieldName];
			var defaultValue = userDefault ? userDefault[0] : false;
			if(includeFields[fieldName] || defaultValue) {
				var localeDefault = locale["%0DefaultValue".format(fieldName)];
				var className = defaultValue ? "userInput" : "userInput notEdited";
				var inputEl;
				var val = defaultValue || localeDefault || "";
				var iContainer = $("<div />").addClass("binaryUpload%0".format(fieldName)).
					appendTo(container);
				if(defaultValue && !includeFields[fieldName]) {
					var label = locale["%0Prefix".format(fieldName)];
					$("<span />").text(label).appendTo(iContainer);
					$("<span />").addClass("disabledInput").text(val).appendTo(iContainer);
					inputEl = $("<input />").attr("type", "hidden");
				} else {
					inputEl = $("<input />").attr("type", "text");
				}
				inputEl.attr("name", fieldName).
					addClass("%0Edit".format(fieldName)).
					val(val).addClass(className).appendTo(iContainer);
			}
		}
	},
	getTiddlerName: function(fileName) {
		var fStart = fileName.lastIndexOf("\\");
		var fStart2 = fileName.lastIndexOf("/");
		fStart = fStart < fStart2 ? fStart2 : fStart;
		fileName = fileName.substr(fStart+1);
		return fileName;
	},
	errorHandler: function(fileName) {
		displayMessage("upload of file %0 failed".format(fileName));
	},
	uploadFile: function(place, baseURL, workspace, options) {
		var pleaseWait = $(".uploadProgress", place);
		var iframeName = options.target;
		var form = $("form", place);
		var existingVal = $("input[name=title]", form).val();
		var fileName = existingVal || $('input:file', form).val();
		if(!fileName) {
			return false; // the user hasn't selected a file yet
		}
		fileName = macro.getTiddlerName(fileName);
		$("input[name=title]", place).val(fileName);
		// we need to go somewhere afterwards to ensure the onload event triggers
		var redirectTo = "/%0/tiddlers.txt?select=title:%1".
			format(workspace, fileName);
		var token = tiddlyspace ? tiddlyspace.getCSRFToken() : "";
		var action = "%0?csrf_token=%1&redirect=%2"
			.format(baseURL, token, redirectTo);
		form[0].action = action; // dont use jquery to work with ie
		form[0].target = iframeName;
		// do not refactor following line... won't work in IE6 otherwise
		$(place).append($('<iframe name="' + iframeName + '" id="' + iframeName + '"/>').css('display','none'));
		macro.iFrameLoader(iframeName, function() {
			var content = document.getElementById(iframeName).contentWindow.document.documentElement;
			if($(content).text().indexOf(fileName) > -1) {
				options.callback(place, fileName, workspace, baseURL);
			} else {
				macro.errorHandler(fileName);
			}
			form.show(1000);
			pleaseWait.hide(1000);
		});
		form.hide(1000);
		pleaseWait.show(1000);
		return true;
	},
	createUploadForm: function(place, options) {
		var locale = macro.locale;
		if(readOnly) {
			$('<div class="annotation" />').text(locale.membersOnly).
				appendTo(place);
			return;
		}
		var bag = options.bag;
		options.callback = options.callback ? options.callback :
			function(place, fileName, workspace, baseurl) {
				macro.displayFile(place, fileName, workspace);
				displayMessage(locale.loadSuccess.format(fileName));
				$("input[type=text]", place).val("");
			};
		var defaults = config.defaultCustomFields;
		place = $("<div />").addClass("container").appendTo(place)[0];
		var workspace = bag ? "bags/%0".format(bag) : config.defaultCustomFields["server.workspace"];
		var baseURL = defaults["server.host"];
		baseURL += (baseURL[baseURL.length - 1] !== "/") ? "/" : "";
		baseURL = "%0%1/tiddlers".format(baseURL, workspace);
		//create the upload form, complete with invisible iframe
		var iframeName = "binaryUploadiframe%0".format(Math.random());
		// do not refactor following line of code to work in IE6.
		var form = $('<form action="%0" method="POST" enctype="multipart/form-data" />'.
					format(baseURL)).addClass("binaryUploadForm").
			appendTo(place)[0];
		macro.renderInputFields(form, options);
		$(form).
			append('<div class="binaryUploadFile"><input type="file" name="file" /></div>').
			append('<div class="binaryUploadSubmit"><input type="submit" value="Upload" disabled /></div>').
			submit(function(ev) {
				this.target = iframeName;
				options.target = iframeName;
				macro.uploadFile(place, baseURL, workspace, options);
			})
			.find('[type="file"]').bind('change', function() {
				$(form).find('[type="submit"]').prop('disabled', false);
			}).end();
		$('<div />').addClass("uploadProgress").text(locale.uploadInProgress).hide().appendTo(place);
		$("input[name=file]", place).change(function(ev) {
			var target = $(ev.target);
			var fileName = target.val();
			var title = $("input[type=text][name=title]", place);
			if(!title.val()) {
				title.val(fileName);
			}
		});
	},
	handler: function(place, macroName, params, wikifier, paramString, tiddler) {
		params = paramString.parseParams(null, null, true);
		macro.createUploadForm(place, params[0]);
	},
	iFrameLoader: function(iframeName, callback) {
		var iframe = document.getElementById(iframeName); //jQuery doesn't seem to want to do this!?
		var locale = macro.locale;
		$(".userInput").addClass("notEdited"); // reset editing
		var finishedLoading = function() {
			callback();
		};
		var iFrameLoadHandler = function() {
			finishedLoading.apply();
			return;
		};

		iframe.onload = iFrameLoadHandler;
		//IE
		completeReadyStateChanges = 0;
		iframe.onreadystatechange = function() {
			if (++(completeReadyStateChanges) == 3) {
				iFrameLoadHandler();
			}
		};
	},
	displayFile: function(place, title, workspace) {
		var adaptor = store.getTiddlers()[0].getAdaptor();
		var context = {
			workspace: workspace,
			host: config.defaultCustomFields['server.host']
		};
		adaptor.getTiddler(title, context, null, function(context) {
			if(context.status) {
				store.addTiddler(context.tiddler);
				story.displayTiddler(place, title);
				var image = config.macros.image;
				if(image && image.refreshImage) {
					image.refreshImage("/%0/tiddlers/%1".format(workspace, title));
					image.refreshImage(title);
					image.refreshImage("/%0".format(title));
					image.refreshImage("%0/%1/tiddlers/%2".format(config.extensions.tiddlyweb.host, workspace, title));
				}
			} else {
				displayMessage(macro.locale.loadError.format(title));
			}
		});
	}
};

if(tiddlyspace) {
	config.macros.binaryUploadPublic = {
		handler: function(place, macroName, params, wikifier, paramString, tiddler) {
			var options = paramString.parseParams(null, null, true)[0];
			var bag = tiddlyspace.getCurrentBag("public");
			options.bag = bag;
			macro.createUploadForm(place, options);
		}
	};
	config.messages.privacySetting = config.options.chkPrivateMode ?
		"private" : "public";
	config.macros.binaryUpload.defaultWorkspace = tiddlyspace.
		getCurrentWorkspace(config.messages.privacySetting);
}

})(jQuery);
//}}}
!!!What you type in the edit box...
{{{
> blockquote, level 1
>> blockquote, level 2
>>> blockquote, level 3

<<<
blockquote
<<<
}}}
!!!...and what you see in the ordinary "viewing mode"...
<<<
> blockquote, level 1
>> blockquote, level 2
>>> blockquote, level 3

> blockquote
<<<
If you are not [[logged in|Log in]] then you only have access to the ''BROWSING'' mode.  

This is the simplest way to use the manual.  It is just a website to all intents and puposes - you can open and close pages, and that is it.
!!@@color(blue):Lists@@
!!!What you type in the edit box...
{{{
* unordered list, level 1
** unordered list, level 2
*** unordered list, level 3

# ordered list, level 1
## ordered list, level 2
### unordered list, level 3

; definition list, term
: definition list, description
}}}
!!!...and what you see in the ordinary "viewing mode"...
<<<
* unordered list, level 1
** unordered list, level 2
*** unordered list, level 3

# ordered list, level 1
## ordered list, level 2
### unordered list, level 3

; definition list, term
: definition list, description
<<<
!To make more space:

On your browser (different browsers all phrase this slightly differently, but they all do it) click on the "View" menu, and then select "Full screen" - this will get rid of the whole top browser menu, which tends to take up a lot of screen, and does very little once you are working in the TiddlyManual itself.  

Many (Windows PC) computers do this if you just press F11.

!To make typeface bigger.

if you press CTRL and the (+) sign together, the typeface will get larger, if you press CTRL and the (-) sign together, the typeface will get smaller

!Change Titles, Icons, etc
You can make changes to the following things:

* ''__Upload a SiteIcon__''. A SiteIcon gives your manual an identity to make it recognisable to others. ''Try to keep your SiteIcon 40px or less in height.''

<<binaryUploadPublic title:SiteIcon>>

If you can't make this work, you can also do this via the [[Space menu]] which you will find in the [[Top menu bar]].

* ''__Change Titles__'': The [[SiteTitle]] & [[SiteSubtitle]] can both be changed. After saving and refreshing your browser, they will appear in the browser title bar.
* ''__Change the main menu:__'' - click and then edit the [[MainMenu]]: this is the menu that appears in the [[Sidebar]].
* ''__Change which Tiddlers automatically open on start-up:__'' You can decide which tiddlers you want 'ready-opened' (if any) on start-up by going to [[DefaultTiddlers]] - Whichever titles of other tiddlers are recorded in the text of that tiddler, those are the ones that will be automatically opened when you first open the TiddlyManual.

----

* Many other features of TiddlySpace are accessed via the [[Top menu bar]] located at the top of the page, accessed when you are in the [[Advanced mode]].


!What is it?
This "Button" is one of the [[Comparing and Sharing functions]] of a TiddlyManual.  It is at the heart of the ideas about [[Community of Practice]] that support AMBIT; 

It enables you to make a copy of a page that //another local team// have developed, that would have value for //your local team// - in other words, to [[Go shopping for freely shared material]] that other members of the AMBIT Community of Practice have created.

<html><object width="480" height="360"><param name="movie" value="//www.youtube.com/v/xGoXRgCkddY?hl=en_GB&amp;version=3&amp;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="//www.youtube.com/v/xGoXRgCkddY?hl=en_GB&amp;version=3&amp;rel=0" type="application/x-shockwave-flash" width="480" height="360" allowscriptaccess="always" allowfullscreen="true"></embed></object></html>

!Where is it?
Look at the [[+ Getting started]] page, and click the ''"Browse the Community of Practice"'' button.  This will reveal a list of all the local pages that have been authored recently.

* [[Log in]] to your own local manual
* Get your manual switched to [[Edit mode]]

* Click on a page you are interested in 
** You will open a panel that has a ''"Go To"'' button, and beside that (''//only// visible if you are in [[Edit mode]]'') you will see the Clone and Customise button
This is one of the options you have on the individual [[Tiddler]] menu; unless you are using a very old browser it is usually represented by the symbol 'X'. 

Clicking this option on a specific [[Tiddler]] menu will close that specific Tiddler: for instance, click the (X) button on this tiddler and it will be gone!

!Other ways to close

You can ALSO close individual tiddlers by clicking the little X that you will see beside them in the [[Currently Open]] list on the [[Sidebar]] in the left hand margin.
/*{{{*/
Background: #dcf8e8
Foreground: #062212
PrimaryPale: #f4fdf8
PrimaryLight: #95ecbb
PrimaryMid: #36db7e
PrimaryDark: #072b17
SecondaryPale: #fdfbf4
SecondaryLight: #ecdf95
SecondaryMid: #dbc236
SecondaryDark: #2b2507
TertiaryPale: #f4f4fd
TertiaryLight: #9795ec
TertiaryMid: #3936db
TertiaryDark: #08072b
Error: #f88
ColorPaletteParameters: HSL([146|85], [0.6984885442919181],[0.1|0.9763473066490718])
/*}}}*/
There are a number of different ways that [[TiddlyManual]]s help and encourage workers who consult them to //compare// and //share// their local expertise with that of others...  getting curious about how other teams are solving problems and sharing our own learning with them is key to AMBIT's goal to support the development and dissemination of best practice for excluded and disadvantaged youth. 

<html><object width="480" height="360"><param name="movie" value="//www.youtube.com/v/02QyMFIQRNY?hl=en_GB&amp;version=3&amp;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="//www.youtube.com/v/02QyMFIQRNY?hl=en_GB&amp;version=3&amp;rel=0" type="application/x-shockwave-flash" width="480" height="360" allowscriptaccess="always" allowfullscreen="true"></embed></object></html>

* This is part of the effort to build and sustain what has been referred to as a [[Community of Practice]].

* Sub-topics of this page give explanations for all of these functions.
** See the [[Show references and info]] panel... 
This is a bit more complex, and fiddly, but it works!...
!!!What you type in the edit box...
{{{
|CssClass|k
|!heading column 1|!heading column 2|
|row 1, column 1|row 1, column 2|
|row 2, column 1|row 2, column 2|
|>|COLSPAN|
|ROWSPAN| … |
|~| … |
|CssProperty:value;…| … |
|caption|c
}}}
''Annotation:''
* The {{{>}}} marker creates a "colspan", causing the current cell to merge with the one to the right.
* The {{{~}}} marker creates a "rowspan", causing the current cell to merge with the one above.
!!!...and what you see in the ordinary "viewing mode"...
<<<
|CssClass|k
|!heading column 1|!heading column 2|
|row 1, column 1|row 1, column 2|
|row 2, column 1|row 2, column 2|
|>|COLSPAN|
|ROWSPAN| … |
|~| … |
|CssProperty:value;…| … |
|caption|c
<<<
This is a key place in the manual - you find it on the lefthand [[Sidebar]], and it shows you the titles of all the pages ([[Tiddler]]s) that are currently opened on your desktop.

!"Self-service" chapters
When you are reading content in a tiddler, if you click on an interesting [[link|Links]], you will NOT immediately flick from the material you are reading into this new material...  Instead, you will see that the links you click ''open at the bottom of your "Currently Open" list'': it is as if you are "ordering up" the chapter that you want to read //as you read.//  We have set the manual to behave in this way as [[Feedback|Feedback please!]] suggested that readers struggled to stay on task if they were clicking on lots of links.
!Navigating with the Currently Open List
Sometimes you may find you have opened lots of tiddlers (like having loads of 'flashcards' spread around your desk), and the "Currently Open" list helps you manage and navigate around them.
*''You can click on any title in this list to jump straight to that tiddler.''
*''You can close any tiddler in the list by clicking the X next to it.''
[[Welcome to ambit-help]]
To DELETE a [[Tiddler]]:

First open your tiddler in [[Edit]]ing mode by clicking the "edit" button ('pencil' icon).

You will now see a "delete" option in the Tiddler menu - in most browsers this is represented by an icon of a wastebin.

!What happens if I delete?

It depends what you are deleting!

If you have edited content in a tiddler that exists in the "core" manual then you have effectively been "over-writing" material that is independently curated by the originators.  When you delete YOUR local manualized content, the //original material// under that same tiddler title will 'pop back' in its place (this happens once you reload the manual, by clicking the refresh button on your browser.) 

If you have written entirely NEW material (tiddlers with titles that do not exist in the original core manual) then this material is YOURS and will be deleted for ever.

You can look back at REVISIONS (i.e. past versions) of any tiddler, by looking at [[Show references and info]] - so that past versions can be recovered, so long as you don't delete the whole tiddler.

, If you delete content from a TiddlyManual that was a LOCAL VERSION of core content (i.e. if a tiddler from the core AMBIT manual had previously been edited to 

See [[Menus]] if you need more information.
This is the main area on your screen: to the left is the [[Sidebar]], to the right at the top is the [[Mode and Login panel]] and if you switch in [[Advanced mode]] you reveal the [[Top menu bar]] across the top. 

The [[Desktop]] is the main space on your screen - where you open [[Tiddler]]s, the 'pages' within this document.  A TiddlyManual is just a large collection of these 'notes' (pieces of '[[MicroContent]]'), that can be used, and sorted, in many different ways.  

As you open [[Tiddler]]s you will notice that their titles appear in the [[Currently Open]] list in the [[Sidebar]].  If you have clicked on [[Links]] to open those tiddlers then they will have opened at the ''bottom of your list''  - this is so that you do not lose the page you are currently reading.  Instead of jumping from page to page, this way the reader selects and 'lines up' the "chapter" that she requires.

Each Tiddler has its own [[menu|Menus]] that allows you to edit it, close it, etc.

Each Tiddler also has a section that slides open called "[[Show references and info]]" - and this is important as it helps the reader place this material in a wider context (//"How does THIS piece of information fit alongside all of THAT information?... and what related areas to this content might also be of interest and value to me.//)
/***
|''Name''|DiffFormatter|
|''Description''|highlighting of text comparisons|
|''Author''|FND|
|''Version''|0.9.0|
|''Status''|beta|
|''Source''|http://svn.tiddlywiki.org/Trunk/contributors/FND/formatters/DiffFormatter.js|
|''CodeRepository''|http://svn.tiddlywiki.org/Trunk/contributors/FND/|
|''License''|[[BSD|http://www.opensource.org/licenses/bsd-license.php]]|
|''Keywords''|formatting|
!Description
Highlights changes in a unified [[diff|http://en.wikipedia.org/wiki/Diff#Unified_format]].
!Notes
Based on Martin Budden's [[DiffFormatterPlugin|http://svn.tiddlywiki.org/Trunk/contributors/MartinBudden/formatters/DiffFormatterPlugin.js]].
!Usage
The formatter is applied to blocks wrapped in <html><code>{{{diff{..}}}</code></html> within tiddlers tagged with "diff".
!Revision History
!!v0.9 (2010-04-07)
* initial release; fork of DiffFormatterPlugin
!StyleSheet
.diff { white-space: pre; font-family: monospace; }
.diff ins, .diff del { display: block; text-decoration: none; }
.diff ins { background-color: #dfd; }
.diff del { background-color: #fdd; }
.diff .highlight { background-color: [[ColorPalette::SecondaryPale]]; }
!Code
***/
//{{{
(function() {

config.shadowTiddlers.StyleSheetDiffFormatter = store.getTiddlerText(tiddler.title + "##StyleSheet");
store.addNotification("StyleSheetDiffFormatter", refreshStyles);

var formatters = [{
		name: "diffWrapper",
		match: "^\\{\\{diff\\{\n", // XXX: suboptimal
		termRegExp: /(.*\}\}\})$/mg,
		handler: function(w) {
			var el = createTiddlyElement(w.output, "div", null, "diff");
			w.subWikifyTerm(el, this.termRegExp);
		}
	}, {
		name: "diffRange",
		match: "^(?:@@|[+\\-]{3}) ",
		lookaheadRegExp: /^(?:@@|[+\-]{3}) .*\n/mg,
		handler: function(w) {
			createTiddlyElement(w.output, "div", null, "highlight").
				innerHTML = "&#8230;";
			this.lookaheadRegExp.lastIndex = w.matchStart;
			var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
			if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
				w.nextMatch = this.lookaheadRegExp.lastIndex;
			}
		}
	}, {
		name: "diffAdded",
		match: "^\\+",
		termRegExp: /(\n)/mg,
		handler: function(w) {
			var el = createTiddlyElement(w.output, "ins", null, "added");
			w.subWikifyTerm(el, this.termRegExp);
		}
	}, {
		name: "diffRemoved",
		match: "^-",
		termRegExp: /(\n)/mg,
		handler: function(w) {
			var el = createTiddlyElement(w.output, "del", null, "removed");
			w.subWikifyTerm(el, this.termRegExp);
		}
	}
];

config.parsers.diffFormatter = new Formatter(formatters);
config.parsers.diffFormatter.format = "diff";
config.parsers.diffFormatter.formatTag = "diff";

})();
//}}}
!Downloading is not fully functional at present (spring 2012)

We are working on other aspects for now - so although you can download a copy, it is not as fully functional as it will be in due course.

!What are you downloading?

Unlike ordinary Websites, this manual is what is known as a "TiddlyWiki". It is easy to download and save a copy of the whole manual so you can run it from your computer, a secure server, or even from a USB stick - without having to be connected to the internet at all.

!How do I download a copy?

#Go to the [[TiddlySpace menu]] (found via the [[Top menu bar]] when you have switched the menu to [[Advanced mode]]).
#Find your way to the ''Export'' tab
*Having opened the Export tab, click the big "download" button.
*When you click the "download" link, a copy of the whole manual (manual.html) will automatically be downloaded to your computer to wherever your computer usually saves downloads (sometimes this is to a "Downloads" folder, sometimes the desktop).  
*Be patient as it is a file of about 2Mb - not huge, but not instantaneous.
*You may get an automatic warning sign asking you if you are sure you want to download this - click ''Yes'' to allow the download to proceed.

!Using a downloaded manual to record notes:

See [[Start a new patient file]] for additional advice.

You will need to:
*Rename the downloaded file to mark it out as that particular client's file.''N.B. Do not change the extension at the end of the file name from ".html"'' as this is how the computer knows to use your browser to open and read it.
*Store it in a way that conforms to DataSecurity policies in your workplace.
*Note the [[Licensed]] nature of this manual and the restrictions that this places upon its use without prior agreement from the authors.

!Problems

Downloaded copies of the manual do not require any additional software in your computer to run - they work from inside your web-browser.  They work best in [[Firefox|http://www.mozilla-europe.org/en/firefox/]] a freely downloadeable internet browser, but they also work fine in Internet Explorer and Safari as well as others.  

Sometimes these browsers need a little extra setting up, especially to allow you to edit and save content in your manual - once you have done this once, it doesn't need repeating.  There is guidance for this available at: [[TiddlyWiki installation instructions|http://www.tiddlywiki.com/#Installation]]
''@@color(blue):Please note that the editing function is undergoing some development work so some parts of these instructions may no longer be correct. Apologies for the inconvenience and we hope to have these updated soon. @@''

!Purpose
To help the user understand the basics of editing content in a TiddlyManual.
!Video introductions

*[[Video introduction to editing a tiddlymanual]] - basics of how to do it.
*[[Video introduction to editing conventions ("Mark-up")]] - how to lay out text and //make it look nice//.
*[[Adding IMAGES, DOCUMENTS or VIDEO clips]] - including adding DOCUMENTS that you can view and download from within a page of the manual.
!Other material

See [[Customising your local TeamTemplate]] and [[Understanding TiddlyManual format]] for more technical knowledge and skills (simple, honest!) on how to add new material to your team's local version of the AMBIT manual (your "TeamTemplate")
!Authority?

To edit your team's local version of the manual (your "TeamTemplate") online, you must have the right permissions and passwords (see [[I am authorized to edit to our local team's manual]] and [[Manualization Boundaries]]).  Your manual must be switched to [[Edit mode]], rather than the browsing mode.
!Start editing

Once your manual is in [[Edit mode]], rather than just seeing the X that closes the page (top right) you also get an icon of a little page with a + sign which stands for //"edit the content of this page"// (or you can understand this as //"write a local version of this page which will sit on top of the inherited version from the original AMBIT manual"//).  Click this to start editing content of an existing tiddler.

You can open a brand new blank new page ([[Tiddler]]) by clicking: ''@@color(red):|<<newTiddler>>|@@''  (button only visible if you are in Edit mode.)

!Editing the online version ("Customising")

This is called [[Manualization]].  Instructions on how to do this are at [[Customising your local TeamTemplate]], or:

Mostly you see tiddlers in their standard ''"viewing"'' mode.  When you click on [[Edit]] in the Tiddler menu (the pen icon) this opens the Tiddler up in its ''"editing mode"''; what you see in that situation is three boxes, where you can add text:
 
*The __''//top box//''__ is narrow and whatever you type in here will give you the ''Title'' of your Tiddler.
*The __''//middle box//''__ is fatter, and is where the ''Text or other Content'' for your Tiddler goes. Certain simple EditingConventions allow you to place links, or [[Tags]], or other stylistic additions like headings, sub headings, italics, bold, etc.  It is worth understanding these to make the text you type look pleasant on teh page.
*The __''//bottom box//''__ is narrow (like the top one) and you can add [[Tags]] (think of these as "Topic headings" under which the content of this page should sit.) You may type as many ''tag words'' in as you want, each one separated by a space.  Alternatively, you can click the button ''"tags"'' which is found right underneath this tags editing box: this opens a drop-down 'pick-list' of all the existing tags in the manual; click on any of these tags and it will automatically be added to the tag box.

When you have finished editing, click 'done' on the Tiddler menu to return to the normal view.

![[ICR]]

Using the manual as an [[ICR]] is an advanced use of editing //@@color(red):(not in use at present - September 2011)@@// - using downloaded copies of the manual as wiki-based workbooks to record thinking about a case.  The [[ICR]] function will need to be negotiated and agreed locally.

Whenever you ''Make a client note'' you are effectively editing.  Or, for instance, you might wish to add additional content in the form of [[Our Resources]] [[Local Contacts]], [[Local Protocols]], etc, etc, or to modify the suggested interventions if the developing evidence base changes.  You may wish to form new [[Tags]] to link Tiddlers around a new theme of your choosing.
''@@color(blue):Please note that the editing function is undergoing some development work so some parts of these instructions may no longer be correct. Apologies for the inconvenience and we hope to have these updated soon. @@''

This is one of the modes which you can switch the manual into via the [[Mode and Login panel]], assuming you have the authority to do so and are logged in.

Unsurprisingly, it allows you to [[Edit]] content in your version of the manual.
<!--{{{-->
<div class='toolbar'
	macro='toolbar [[ToolbarCommands::EditToolbar]] icons:yes'>
</div>
<div class='heading editorHeading'>
	<div class='editor title' macro='edit title'></div>
	<div class='tagClear'></div>
</div>
<div class='annotationsBox' macro='annotations'>
	<div class='editSpaceSiteIcon'
		macro='tiddlerOrigin height:16 width:16 label:no interactive:no'>
	</div>
	<div class="privacyEdit" macro='setPrivacy label:no interactive:no'></div>
	<div class='tagClear'></div>
</div>
<div class='editor' macro='edit text'></div>
<div class='editorFooter'>
	<div class='tagTitle'>tags</div>
	<div class='editor' macro='edit tags'></div>
	<div class='tagAnnotation'>
		<span macro='message views.editor.tagPrompt'></span>
		<span macro='tagChooser excludeLists'></span>
	</div>
</div>
<!--}}}-->
''@@color(blue):Please note that the editing function is undergoing some development work so some parts of these instructions may no longer be correct. Apologies for the inconvenience and we hope to have these updated soon. @@''

!What's this page about?
Mostly this helps you use simple tricks to make text and pictures you want in your wiki look nice an shiny.

There is also a page of [[Top tips for editing content]] that is more about style, using links and tags constructively, etc... so that your wiki hangs together well and (more important) so other people can find stuff you have written about!

!Making new text look smart on the page

If you do write in a TiddlyWiki then it is worth knowing some of this stuff.  Learning a few of these very simple "conventions" (the programmers call these conventions //"Mark-up"//) means you can turn text in tiddlers into something much easier on the eye and easier to read! 

!Introductory video:

Rather than reading all the notes below, there is a quick [[Video introduction to editing conventions ("Mark-up")]] that you might find simpler...

!Formating

Tiddlers use a very simple "language" (known as the 'syntax'.)   This language tells your browser how to display text when the page (or [[Tiddler]]) is switched from its [[Edit]]ing mode (what I describe as "having the bonnet/hood up, so you can see the workings") back to the standard 'viewing' mode.

The ''"syntax"'' is just "what you type in the Content box of a tiddler" that is switched to [[Edit]] mode.  The ''"Output"'' is what you see when the tiddler is switched back into the ordinary viewing mode.

!Basic syntax
By ''"syntax"'' we just mean //"what you type into the page in order to make it display the way you want it to"//
|!Option|!Syntax|!Output|
|bold font|{{{''bold''}}}|''bold''|
|italic type|{{{//italic//}}}|//italic//|
|underlined text|{{{__underlined__}}}|__underlined__|
|coloured text|{{{@@color(blue):text in blue@@}}}|@@color(blue):text in blue@@|
|highlighted text|{{{@@highlighted@@}}}|@@highlighted@@|
|strikethrough text|{{{--strikethrough--}}}|--strikethrough--|
|superscript text|{{{^^super^^script}}}|^^super^^script|
|subscript text|{{{~~sub~~script}}}|~~sub~~script|
|preformatted text|<html><code>{{{preformatted}}}</code></html>|{{{preformatted}}}|

!Other stuff you might like to use:
[[Headings and Sub-headings]]
[[Bullet points and Numbered Lists]]
[[Adding IMAGES, DOCUMENTS or VIDEO clips]]
[[Links and Shortcuts to making them]]
[[BlockQuotes]]
[[Creating Tables]]
[[Special Markers and clever tricks]]



!The easy way
1. Use the Uploader, which uploads your image to the TiddySpace server; this creates a page (a "[[Tiddler]]") that is a picture.  
2. You can then embed that picture in as many other pages, or in as many different sizes, as you wish.

|bgcolor(lightblue): Clear the existing text (Please enter a title... ''Think about your title!'' - make it clear, easy to search, and check there isn't already a page with the same title in existence!) and type the name of your image (to be the IMAGE TITLE) here:<br><<binaryUploadPublic edit:title>>Then select the image file you want to upload, click Upload, and you will create a tiddler which is an IMAGE |
|bgcolor(pink): Note you will only see the uploader if you are a [[member|Making someone a member of a space]] of this space, are [[logged in|Log in]] and are in [[Edit mode]] |

|bgcolor(lightblue): Now, to EMBED that image in any OTHER page, you just use this code: <br> {{{<<image [[Paste the IMAGE TITLE here]] width:48 height:48>>}}} <br> You can set the ''Width'' and ''Height'' according to how big you want the photo to display (48x48 is quite small, 480x480 is middle sized, 600x600 is large, for instance) |

EXAMPLES (different sizes to give you an idea of the pixels you might want to set the size you want for your image)...
!!!The OLD AMBIT wheel
__height=100, width=100__
<<image [[Old AMBIT wheel]] width:100 height:100>>
!!!The NEW AMBIT Wheel
__height=48, width=48__
<<image [[New AMBIT WHEEL]] width:48 height:48>>

__height=200, width=200__
<<image [[New AMBIT WHEEL]] width:200 height:200>>

__height=400, width=400__
<<image [[New AMBIT WHEEL]] width:400 height:400>>

!2. Another way - embedding pictures hosted elsewhere:
!!!Understanding how it works
First, this manual is called a //~Mash-Up// - what is that?!

This is what --geeks-- programmers refer to when a single website actually uses functions and pieces of information that are drawn from different places across the internet - the //mash-up// brings these disparate elements together to produce something quite specific and 'fit-for-purpose'.  [[TiddlyManual]]s work like this.  Video, audio, pictures and documents can all be stored in different online places, but can be accessed through (or "embedded within") the one tiddlymanual.
!How to embed a picture that is hosted elsewhere:
## Open the photo you want to embed in the hosting site where you have uploaded it.
## Right click the photo, and select "COPY PICTURE URL" to copy the URL (web address) of that picture
## Go to your "[[Tiddler]]" and make sure it is in [[Edit]]ing mode...
## Select where you want to post the photo and then type the following code in to your page and paste that URL in just where it says so:

|{{{[img[paste_your_photo_URL_right_here]]}}}|
 - it will work like a dream... see here:

[img[https://lh4.googleusercontent.com/-ovJdn_fOy8c/UQYmZLMRQBI/AAAAAAAAGlY/1OfohPedcBM/s960/Outreach%2520-%2520mountain%2520ridge.jpg]]
/***
|''Name''|ErrorHandlerPlugin|
|''Version''|0.4.3|
|''Author''|Jon Robson|
|''Description''|Localised tiddler save errors including edit conflict resolution.|
|''CoreVersion''|2.6.1|
|''Requires''|TiddlySpaceConfig|
***/
//{{{
(function($) {

var tiddlyspace = config.extensions.tiddlyspace;
var currentSpace = tiddlyspace.currentSpace.name;
tiddlyspace.getLocalTitle = function(title, workspace, suffix) {
	var endsWith = config.extensions.BinaryTiddlersPlugin.endsWith;
	if(!suffix) {
		var isPublic = endsWith(workspace, "_public");
		suffix = tiddlyspace.resolveSpaceName(workspace);
		if(currentSpace == suffix) {
			suffix = isPublic ? "public" : "private";
		} else {
			suffix = "@%0".format(suffix);
		}
	}
	return "%0 *(%1)*".format(title, suffix);
};

var sssp = config.extensions.ServerSideSavingPlugin;

var msgs = config.messages.editConflict = {
	loading: "Loading..",
	resolve: "[[Edit Conflict]]@glossary: this tiddler may have been changed by someone else.",
	reviewDiff: "review (recommended)",
	reviewDiffTooltip: "review changes made to this tiddler",
	reviewDiffError: "error retrieving revision.",
	save: "overwrite",
	saveTooltip: "make this revision the top revision of this tiddler",
	discard: "cancel",
	discardTooltip: "undo changes to this tiddler and get most recent version",
	diffTitle: "%0",
	diffFieldTitle: "%0 - fields",
	diffTextTitle: "%0 - text",
	updating: "updating your version...",
	diffHeader: ["Review the changes that have been made whilst you were editing this tiddler. ",
		"Fold relevant changes back into your version.\n",
		"{{removed{Red}}} highlight shows content removed. ",
		"{{added{Green}}} highlight shows content added.\n"].join(""),
	diffTextHeader: "View changes in text",
	diffFieldsHeader: "View changes in fields"
};

var plugin = config.extensions.errorHandler = {
	diffTags: ["excludeLists", "excludeMissing", "excludeSearch"],
	displayMessage: function(message, tiddler, context) {
		var desc = context && context.httpStatus ? context.statusText :
			sssp.locale.connectionError;
		var reportArea = plugin.reportError(tiddler.title);
		var msg = $("<div />").appendTo(reportArea);
		if(message == "saveConflict") {
			wikify(msgs.resolve, msg[0]);
			var choiceArea = $("<div />").appendTo(reportArea)[0];
			plugin.editConflictHandler(choiceArea, tiddler);
		} else {
			msg.text(sssp.locale[message].format(tiddler.title, desc));
		}
	},
	editConflictHandler: function(container, tiddler) {
		var title = tiddler.title;
		var myrev = tiddler.fields["server.page.revision"];
		// note user now needs to edit, fix problem and save. 
		// TODO: make sure this gets reset in save callback
		store.getTiddler(title).fields["server.page.revision"] = "false";

		var diffBtn = createTiddlyButton(container, msgs.reviewDiff, msgs.reviewDiffTooltip, function(ev) {
			var title = $(ev.target).data("title");
			plugin.displayDiff(ev.target, store.getTiddler(title), myrev);
		});
		var saveBtn = createTiddlyButton(container, msgs.save, msgs.saveTooltip, function(ev) {
				var title = $(ev.target).data("title");
				var tid = store.saveTiddler(store.getTiddler(title));
				autoSaveChanges(null, [tid]);
			});
		var ignoreBtn = createTiddlyButton(container, msgs.discard, msgs.discardTooltip, function(ev) {
			var title = $(ev.target).text(msgs.updating).data("title");
			plugin.resetToServerVersion(store.getTiddler(title));
		});
		$([diffBtn, ignoreBtn, saveBtn]).data("title", title);
	},
	getDiffTiddlerTexts: function(diffText) {
		var chunks = diffText.split("\n  \n");
		if(chunks.length < 2) {
			return [chunks[0], ""];
		} else {
			var diffFieldsText = "{{diff{\n%0\n}}}".format(chunks[0]);
			diffText = '{{diff{\n%0\n}}}'.format(chunks.splice(1, chunks.length).join("\n"));
			return [diffText, diffFieldsText];
		}
	},
	makeDiffTiddler: function(title, diff) {
		var newTiddler = new Tiddler(title);
		var tags = plugin.diffTags;
		newTiddler.text = msgs.loading;
		newTiddler.fields.doNotSave = true;
		newTiddler.tags = diff ? tags.concat(["diff"]) : tags;
		newTiddler = store.saveTiddler(newTiddler);
		$.extend(store.getTiddler(title).fields,
			config.defaultCustomFields); // allow option to save it
		return newTiddler;
	},
	displayDiff: function(src, tiddler, latestRevision) {
		var adaptor = tiddler.getAdaptor();
		var title = tiddler.title;
		var ts = new Date().formatString("0hh:0mm:0ss");
		var suffix = "edit conflict %0".format(ts);
		var diffTitle = tiddlyspace.getLocalTitle(msgs.diffTitle.format(title), "", suffix);
		var diffTextTitle = tiddlyspace.getLocalTitle(msgs.diffTextTitle.format(title), "", suffix);
		var diffFieldsTitle = tiddlyspace.getLocalTitle(msgs.diffFieldTitle.format(title), "", suffix);
		plugin.makeDiffTiddler(diffTextTitle, true);
		plugin.makeDiffTiddler(diffFieldsTitle, true);
		var newTiddler = plugin.makeDiffTiddler(diffTitle, false);
		newTiddler.text = ['%0\n<<slider chkViewDiffText "%1" "%2">>\n',
			'<<slider chkViewDiffField "%3" "%4">>'].join("").
			format(msgs.diffHeader, diffTextTitle, msgs.diffTextHeader,
				diffFieldsTitle, msgs.diffFieldsHeader);
		store.saveTiddler(newTiddler);

		var callback = function(r) {
			var text = plugin.getDiffTiddlerTexts(r);
			store.getTiddler(diffTextTitle).text = text[0];
			store.getTiddler(diffFieldsTitle).text = text[1];
			story.refreshTiddler(diffTitle, null, true);
		};
		var workspace = "bags/%0".format(tiddler.fields["server.bag"]);
		ajaxReq({
			type: "get",
			dataType: "text",
			url: "/diff?format=unified&rev1=%0/%1/%2&rev2=%0/%1".format(workspace, title, latestRevision),
			success: callback,
			error: function() {
				displayMessage(msgs.reviewDiffError);
			}
		});
		story.displayTiddler(src, diffTitle);
	},
	resetToServerVersion: function(tiddler) {
		var adaptor = tiddler.getAdaptor();
		var ctx = { 
			host: tiddler.fields["server.host"],
			workspace: "bags/" + tiddler.fields["server.bag"]
		};
		adaptor.getTiddler(tiddler.title, ctx, null, function(context) {
			store.saveTiddler(context.tiddler);
			story.refreshTiddler(tiddler.title);
			store.setDirty(false);
		});
	},
	reportError: function(title) {
		var el = story.getTiddler(title);
		if(!el) {
			el = story.displayTiddler(null, title);
		}
		return $("<div />").addClass("error annotation").prependTo(el)[0];
	}
};

sssp.reportFailure = function(message, tiddler, context) {
	config.options.chkViewDiffText = config.options.chkViewDiffText === undefined ?
		true : config.options.chkViewDiffText;
	config.options.chkViewDiffFields = config.options.chkViewDiffFields || false;
	plugin.displayMessage(message, tiddler, context);
};

})(jQuery);
//}}}
!Purpose
For more general learning about this manual see [[Using the Manual]].  This page is to explain how to find your way around the manual (the AMBIT theme) so you can locate what you want quickly, and share it with others ([[SNAPSHOT]].)

!Finding what you want: the [[Sidebar]]
Most of what you need is located on the [[Sidebar]] to the left of the screen... Learn how to use this!

* There is a [[Search]] function.
* There is a [[History recorder]] that tracks content you have previously opened in a session.
* There is a [[Currently Open]] list, that records all the pages open on your [[Desktop]] right now
** Beside this is the [[SNAPSHOT]] button to record these, so they can be reopened at a later date.
* There is a [[Contents/Sitemap]] 
* FIND YOUR OWN STUFF - for a local team writing in their local version of this manual, look at [[OUR Team]] where there are a series of useful "front doors" into finding content that might be of practical use (you can find that page in the [[+ Getting Started]] page, too), or go to [[List LOCAL EDITS to the manual]] to find just the pages that you have written listed out.
!Other useful contents and functions:

* There is an [[Index]] to sort and list content in different ways
* There is a [[Glossary]] to list and explain jargon
* There are [[Comparing and Sharing functions]] to help you see how OTHER teams are adapting this manual.
* There are [[Academic references]]

!Common questions that help locate what you need

*''[[I want a brief introduction to AMBIT|AMBIT: an overview]]''
*''[[I want to learn about using this TiddlyManual|Using the Manual]]''
*''[[I am just starting work with a client|INITIAL PHASE]]''
*''[[I am already working with a client; where next?|INTERVENTION PHASE]]''
*''[[I want to look up a specific piece of information, or surf and browse|Find your way around]]''
*''[[I just want to fill an AIM questionnaire|AIM Form]]''
*''[[I am authorized to edit to our local team's manual]]''
*''[[None of the above!]]''
ColorPalette
StyleSheet
SiteSubtitle
GettingStarted
SiteTitle
MainMenu
SiteIcon
DefaultTiddlers
ViewTemplate
PageTemplate
SideBarOptions
EditTemplate
SiteInfo
SideBarTabs
ToolbarCommands
/%

Hello,

If you choose to change this GettingStarted tiddler, you may wish to add the following to your new content if you expect you space to be included:

<<<
----
Hello,
''This ~GettingStarted tiddler has been customized.''
If you want to see the original system tiddler just click the following link: GettingStarted@system-info at system-info.
<<<
%/

Welcome to your brand new [[TiddlySpace|http://docs.tiddlyspace.com/TiddlySpace]].

You're almost ready to go, there are just a couple of things left to do.

!Customise your space
Go to [[SpaceSettings]] to finish customising  your space. When you're done, come back here (just scroll up). Don't worry though, this will still be open when you've finished.

!Further Customisation

For advanced options, the [[ServerSettings]] tiddler is used to enable the following features:

#index: The value is the name of a tiddler that will be presented when loading the space.  For example, when set to {{{Hello}}} for the space hello.tiddlyspace.com, navigating to that URL will present the Hello tiddler. If there is no {{{Hello}}} you will get an error.
#editor: The name of an [[editor application|http://docs.tiddlyspace.com/Example%20Tiddler%20Editors]] to edit tiddlers with.  Applications come from [[included spaces|http://docs.tiddlyspace.com/How%20do%20I%20include%2Fexclude%20spaces%3F]]

//If you do not need or understand these features there is no need to create a ServerSettings tiddler.//

To edit these options: 

* click [[here|ServerSettings]] to open the [[ServerSettings]] tiddler
* click on the edit button (the pencil icon)
* add the options you wish to set 
* click on the save button (the tick icon).

An example [[ServerSettings]] tiddler:
{{{
index: HelloThere
editor: /edit#{tiddler}
}}}

The additional text after /edit allows a tiddler to be opened in edit mode e.g:
{{{http://hello.tiddlyspace.com/edit#MyTiddler}}}

!!See Also

* [[ServerSettings shadow tiddler|http://docs.tiddlyspace.com/ServerSettings%20shadow%20tiddler]]
* [[Choosing a non-TiddlyWiki Default Application for your Space|http://docs.tiddlyspace.com/Choosing%20a%20non-TiddlyWiki%20Default%20Application%20for%20your%20Space]]

!Finished customising?
You can [[Start writing]] some [[tiddlers|http://docs.tiddlyspace.com/Tiddler]].
If you're not done tweaking yet though, you can always [[Customise this space|SpaceSettings]] a bit more.

You can also [[access and read other tiddlers in various ways|http://docs.tiddlyspace.com/Viewing%20Tiddlers]].

!Administration
If you'd like to change your password or create another space, visit "Your Account" from the [[Universal Backstage|http://docs.tiddlyspace.com/UniversalBackstage]] (the blue dot in the upper right of the page). If you'd like to add a member or [[include a space|http://docs.tiddlyspace.com/How%20do%20I%20include%2Fexclude%20spaces%3F]] visit "This Space" from the [[Universal Backstage|http://docs.tiddlyspace.com/UniversalBackstage]].

You can have as many spaces as you like and each space can have as many members as you or your group need.

!Stuck?
If you're stuck, and would like some help, please visit the [[help|http://help.tiddlyspace.com]] space, which can point you in the right direction.
/***
|''Name''|GroupByPlugin|
|''Description''|Mimics allTags macro to provide ways of creating lists grouping tiddlers by any field|
|''Version''|0.6.1|
|''Author''|Jon Robson|
|''Status''|beta|
!Usage
{{{<<groupBy tags>>}}}
mimics allTags macro

{{{<<groupBy server.bag>>}}}
groups by the server.bag field (this version contains TiddlySpace specific code for turning a bag into a space name)

{{{groupBy modified dateFormat:"YYYY"}}}
group tiddlers by year.

{{{<<groupBy tags exclude:excludeLists exclude:systemConfig>>}}}
group tiddlers by tag but exclude the tags with values excludeLists and systemConfig

Within that group you can also exclude things by filter
{{{groupBy modifier filter:[tag[film]]}}}
will group tiddlers tagged with film by modifier.
***/
//{{{
(function($) {
var taglocale = config.views.wikified.tag;
var macro = config.macros.groupBy = {
	locale: {
		tooltip: "all tiddlers in group %0",
		noTiddlers: "no tiddlers",
		openAllText: taglocale.openAllText,
		openAllTooltip: taglocale.openAllTooltip,
		openTiddler: "open tiddler with title %0"
	},
	morpher: {
		// TODO: note currently the following 2 morphers are TiddlySpace specific and probably should be in separate plugin
		"server.workspace": function(value, options) {
			return macro.morpher["server.bag"](value.replace("bags/", "").replace("recipes/", ""));
		},
		"server.bag": function(value, options) {
			if(typeof(value) !== "string") {
				return false;
			} else if(value.indexOf("_public") === -1 && value.indexOf("_private") === -1) {
				value = "*%0".format(value); // add star for non-space bags.
			}
			return value.replace("_public", "").replace("_private", "");
		},
		created: function(value, options) {
			return value.formatString(options.dateFormat || "DD MMM YYYY");
		},
		modified: function(value, options) {
			return macro.morpher.created(value, options);
		}
	},

	handler: function(place, macroName, params, wikifier, paramString) {
		var field = params[0] || "server.workspace";
		var dateFormat = params[1] || "DD MMM YYYY";
		var container = $("<div />").attr("macroName", macroName).addClass("groupBy").
			attr("refresh", "macro").attr("fieldName", field).
			attr("paramString", paramString).
			attr("dateFormat", dateFormat).appendTo(place)[0];
		macro.refresh(container);
	},
	isTypeArray: function(value) {
		var valueType = typeof value;
		if(valueType === "object" && typeof value.length === "number" &&
			!(value.propertyIsEnumerable("length")) &&
			typeof value.splice === "function") { //is Array
			return true;
		} else {
			return false;
		}
	},
	_onClickGroup: function(ev, options) {
		var i, target = ev.target, locale = macro.locale;
		var tiddlers = $(target).closest(".templateContainer").data("tiddlers");
		var popup = $(Popup.create(target)).addClass("taggedTiddlerList")[0];
		var value = $(target).attr("value");
		var openAll = createTiddlyButton($("<li />").appendTo(popup)[0],
			locale.openAllText.format(value), locale.openAllTooltip);
		$(openAll).click(function(ev) {
			story.displayTiddlers(ev.target, tiddlers);
			return false;
		});
		var listBreak = $("<li />").addClass("listBreak").html("<div />").appendTo(popup);
		for(i = 0; i < tiddlers.length; i++) {
			var item = $("<li />").appendTo(popup)[0];
			var template = store.getTiddlerText(options.template) || macro.template;
			wikify(template, item, null, tiddlers[i]);
		}
		listBreak.clone().appendTo(popup);
		$(createTiddlyLink($("<li />").appendTo(popup)[0], value, false)).
			text(locale.openTiddler.format(value));
		Popup.show();
		ev.stopPropagation();
		return false;
	},
	_refresh: function(container, tiddlers, options) {
		var totalGroups = 0, locale = macro.locale, i, j;
		var excludeValues = options.exclude;
		var values = {}, value_ids = [];
		var field = options.field;
		var morpher = macro.morpher[field] || function(value) {
			return value;
		};
		for(i = 0; i < tiddlers.length; i++) {
			var tiddler = tiddlers[i];
			var value = tiddler[field] || tiddler.fields[field];
			value = macro.isTypeArray(value) ? value : [ value ];
			for(j = 0; j < value.length; j++) {
				var v = morpher(value[j], options);
				if(v && $.inArray(v, excludeValues) === -1) {
					totalGroups += 1;
					if(!values[v]) {
						values[v] = [];
					}
					values[v].push(tiddler);
					value_ids.pushUnique(v);
				}
			}
		}
		var ul = $("<ul />").appendTo(container)[0];
		if(totalGroups === 0) {
			$("<li />").addClass("listTitle").text(locale.noTiddlers);
		}
		value_ids = value_ids.sort();
		var groupTemplate = store.getTiddlerText(options.groupTemplate);
		var onClick = function(ev) {
			macro._onClickGroup(ev, options);
		};
		for(i = 0; i < value_ids.length; i++) {
			var title = value_ids[i];
			var info = getTiddlyLinkInfo(title);
			tiddlers = values[title];
			var btn = createTiddlyButton($("<li />").appendTo(ul)[0],
				"%0 (%1)".format(title, tiddlers.length), locale.tooltip.format(title), null, info.classes);
			if(groupTemplate) {
				$(btn).empty();
				wikify(groupTemplate, btn, null, tiddlers[0]);
			}
			$(btn).click(onClick).attr("value", title).attr("refresh", "link").attr("tiddlyLink", title);
			$(btn).addClass("templateContainer").data("tiddlers", tiddlers);
		}
	},
	refresh: function(container) {
		container = $(container).empty();
		var paramString = container.attr("paramString");
		var args = paramString.parseParams("name", null, true, false, true)[0];
		var options = { field: container.attr("fieldName"), dateFormat: container.attr("dateFormat"), exclude: args.exclude || [],
			template: args.template ? args.template[0] : false, groupTemplate: args.groupTemplate ? args.groupTemplate[0] : "" };
		var tiddlers = args.filter ? store.filterTiddlers(args.filter[0]) : store.getTiddlers("title");
		macro._refresh(container, tiddlers, options);
	},
	template: "<<view title link>>"
};

}(jQuery));
//}}}
!!@@color(blue):Headings@@
!!!What you type in the edit box...
{{{
!Heading 1
!!Heading 2
!!!Heading 3
!!!!Heading 4
!!!!!Heading 5
}}}
!!!...and what you see in the ordinary "viewing mode"...
<<<
!Heading 1
!!Heading 2
!!!Heading 3
!!!!Heading 4
!!!!!Heading 5
<<<
!What is help?!
Delivering therapy is all about //finding ways to help//, and for our clients to find ways to //be helped//.  In the @ambit manual there is a lot of material relating to the [[Relationship to help]] that you can explore.

!Help with this *!?$&*%ing web manual!

There is lots of help for the user of a TiddlyManual at [[Using the Manual]] - have a look there first.

Give us [[Feedback please!]] if you are still stuck; we will try to respond asap but bear with us, the AMBIT project is not resourced to be a full scale IT support service!

!SOURCES OF TECHNICAL HELP

!!!Tiddlymanuals discussion group

There is a (currently not much used, but the more the merrier) Google Group for discussion of tiddlymanuals and ambit.  You will need to request an invitation to join this group when you first go there.  Click on the link below, and you will be able to do this.

[[Visit the ambit-tiddlymanuals Google Group|http://groups.google.com/group/ambit-tiddlymanuals]]

!NOT a helpline!

The ambit project does not have the resources to run a technical helpline, although we will try to be helpful wherever we can - contact us at the [[Anna Freud Centre]].  If you get stuck with a technical problem you can generally find the solution inside the manual under [[Using the Manual]] or [[Understanding TiddlyManual format]], and we'd prefer you to try first with these other sources of help:

!!!Answers to Technical problems - Tiddlyspace Google Group:

TiddlyWiki is driven by a large and extremely helpful community of programmers, who are generally very happy to share their expertise and via the [[TiddlyWiki Google group|http://groups.google.com/group/tiddlywiki]] they are usually quick to respond to even the simplest and least technically-adept questions!  If you are not a "techie" don't worry, just say so; the tiddlyspace project is trying very hard to simplify things so that more non-technical users can use it with ease, so your experience is extremely valuable feedback for the community.

If you post to this group:

* ''Title'' your help request as clearly as you can (it's like [[Marking the Task]] for @ambit!)
* Tell them ''who you are'' and that ''this relates to the AMBIT project'' (the AMBIT community is an important group of "end-users"for the Tiddlyspace community.) 
* Remember that ''the TiddlySpace community is a voluntary group'', and will mostly be helping you fix things just because they are being helpful - so hold back if you are frustrated!
* Tell them briefly what you are stuck with, and give them the website URL (the address in your browser bar) so they can have a look.
*  If you can, tell them what browser you are using (Internet Explorer, Firefox, Safari, etc) and better still which VERSION you are using (look under the Help in your browser, and select "About Windows Explorer" etc, to find this.
* Tell them whether you are on a Mac or a PC and if you can what operating system (eg windows XP, or Windows 7, etc) this will all be helpful.
* in general questions get answered amazingly quickly as the Tiddlyspace community is worldwide, and lots of the common glitches are well understood.

!More technical advice:

You can also go to the [[TiddlyWiki website|http://www.tiddlywiki.com]] which has lots of links to other sources of help, as an open source project.

Well done! You now see how quickly and easily a new chunk of MicroContent (known In TiddlyWiki language as a [[Tiddler]]) appears, and how easy it is to get rid of it once you have read it. As you pass your computer cursor over this Tiddler, its own one of a set of different [[Menus]] appears on the right hand side, just above it.  Click on "[[Close]]" and this Tiddler will disappear.
Remember that all the pages ([[Tiddler]]s) in this manual are actually part of ONE single web-page, so the "Backwards", "Forwards" and "History" buttons on your BROWSER are of no use to you in a tiddlymanual.  (Incidentally, clicking F11, or selecting View > Full Screen to hide the browser and make more room for the manual is a useful trick.)  
So, instead of accessing the History via the browser you do it from the the left hand [[Sidebar]], where you will see a panel titled "History": this records and lists the title of each [[Tiddler]] you open during a session in the manual.  
Think of this as //the piece of thread that you unravel as you go into the labyrinth// - it can be useful to remember where you have been during a session, and to re-trace your steps or revisit any content you have closed earlier.  When you click on any title stored in the history widget, you will re-open that tiddler.
!Use [[SNAPSHOT]] to remember/share history
When you close the whole manual (or click "refresh" on your browser) the history will be lost, so if you want to share a page or collection of pages that you have opened, use the [[SNAPSHOT]] button (in the [[Currently Open]] panel, just beneath the History recorder.)
It is worth spending a little time to familiarise yourself with this material.  

!Video tour

[[Video tour of the AMBIT manual]] gives you a quick look around the main features of the manual.

Beginners will particularly want to check they understand the [[Sidebar]], how to use [[Links]], and to open and close [[pages|Tiddler]] in this [[TiddlyManual]], and how to use the various [[Menus]] that are available.

!Links don't open pages?!

You will notice that if you click a link the page you are after doesn't automatically open straight away: instead the link appears to fly off towards the sidebar, and nothing else much happens:
>//Grrrrrr! Where's my page?!//
This is the most obvious difference between a TiddlyManual and a conventional website.  Your page HAS opened, but it hasn't immediately flipped you out of the page you are reading - instead it has joined an orderly queue - your 'reading list', if you like, or your //Chapter-for-today//...
>//So where IS it?!//
The link you clicked actually //has// already opened on your [[Desktop]], but it has opened at the //bottom of the list// of pages that you have opened so far... If you scroll down to the bottom of this [[page|Tiddler]] you'll find it there waiting for you, or if you click its title in the '[[Currently Open]]' list in the [[Sidebar]], you'll jump straight there.
>//What is the POINT of that?!  It's irritating!//
We found that people reported getting less sense out of what they were reading if clicking a link immediately "threw" them out of the page they were reading and onto a completely new page... 

Arranging things the way we have means that you can focus on what you are currently reading, and //simply 'line up' what you want further detail on for later...//  It is as though you generate the chapter you are interested in reading //as you go//.  

You can jump direct from page to page in 'your' individually-selected chapter by clicking the links to pages in your [[Currently Open]] list.  It takes a bit of getting used to but we hope that once you have got used to it, you actually find the reading experience less 'dizzying', and that it is easier to absorb material.

!Show me round!

Have a quick look at the screen you are faced with.  There are three main bits - the ''Title bar'' at the top, the [[Sidebar]], and the main area, the [[Desktop]]. It is worth spending a little time to understand how these work if you plan to spend any time referring to tiddlymanuals.

!To the LEFT: the Sidebar
The [[Sidebar]] is the right hand border of your screen, it is there to help you [[Find your way around]], and //share useful material// that you find in the manual.  working down from the top, you will find:
*The [[SNAPSHOT]] helps you share content you've opened here with other people.
*The [[Search]] box - one of of the key ways to [[Find your way around]]
*The [[History recorder]] to track and revisit where you have been.
*The [[Currently Open]] list shows what pages (or "[[Tiddler]]s") you currently have open.
*The [[Contents/Sitemap]] lays out the content - click the [+] to show sub-topics.

!The [[Desktop]]
The [[Desktop]] is the main space on your screen - where you open [[Tiddler]]s, the 'pages' within this document.  It behaves in ways that are worth understanding.

!TOP: the Top Menu bar

The [[Top menu bar]] offers extra [[Menus]] for functions that are mostly for more advanced users, for instance if you want to [[Download a copy!]] or to [[Switch the "status" of tiddlers from Private to Public, or vice versa]]
There are a lot of interesting people using ~TiddlySpace that you might like to keep track of and interact with. There are a number of ways of doing this.

If you see a number in the speech bubble in one of your tiddlers, it means that someone is writing about the same thing as you. You can find out what they're saying by clicking on it. Likewise, if you see something interesting in someone else's space, you can respond to it and write up your own thoughts on the subject by clicking "Reply to this tiddler".

Additionally, if you find anyone interesting, or you find an interesting looking space and you'd like to know when it's changed, you can "follow" that space. To do this, simply create a tiddler with the title: {{{@space-name}}} and tag it {{{follow}}}. If you want, you can store some notes about that space in the body of the tiddler.

If you then want to know what happening, simply [[include|How do I include/exclude spaces?]]@docs the @tivity space and then visit your activity stream at [[/activity|/activity]], or just visit the @tapas space directly.

!Not sure who to follow?
Here's a few suggestions:
* @fnd
* @cdent
* @pmario
* @bengillies
* @dickon
A hyperlink is a link that you can click on which points your browser at another web page outside the manual itself - most browsers nowadays open hyperlinks in a separate window, or a separate "tab" on your browser.

To place a hyperlink in a [[Tiddler]] you are [[Edit]]ing just follow these directions:

The simplest way is just to copy the URL (the "address") of the page you want to hyperlink to from the address bar at the top of your browser, and paste it into your Tiddler!

To do it in a slightly fancier way (good if the URL is very long and doesn't really describe what the page is that it refers to) you can open double square brackets with the name or your own description of the page you are linking to, followed by a vertical line ( | ) and then paste in the URL, and close the double square brackets.  So in the [[Edit]] mode of the tiddler it would look like this:

@@{{{[[The website of the Royal College of Psychiatrists|http://www.rcpsych.ac.uk/]]}}}@@ 

Once you have clicked "done" it will look (and work) like this:

[[The website of the Royal College of Psychiatrists|http://www.rcpsych.ac.uk/]]
/***
|''Name''|ImageMacroPlugin|
|''Version''|0.9.4|
|''Description''|Allows the rendering of svg images in a TiddlyWiki|
|''Author''|Osmosoft|
|''License''|[[BSD|http://www.opensource.org/licenses/bsd-license.php]]|
|''Notes''|Currently only works in modern browsers (not IE)|
|''Requires''|BinaryTiddlersPlugin|
!Usage
{{{<<image SVG>>}}} will render the text of the tiddler with title SVG as an SVG image (but not in ie where it will fail silently)
!!Parameters
width/height: specify width/height parameters
link: make the image link to a given location
tiddlyLink: link to a tiddler

!Notes
Binary tiddlers in TiddlyWeb when passed through the wikifier will be shown as images.
eg. {{{<<view text wikified>>}}} on a binary tiddler will show the image.
{{{<<view fieldname image>>}}}
will render the value of the tiddler field 'fieldname' as an image. This field can contain a tid
{{{<<image SiteIcon>>}}}
will create an image tag where the tiddler has content type beginning image and not ending +xml
will attempt to create svg object in other scenarios
{{{<<image /photos/x.jpg>>}}}
will create an image tag with src /photos/x.jpg as long as there is not a tiddler called /photos/x.jpg in 
which case it will render that tiddler as an image. Note for the case of svg files it will attempt to render as an svg if possible via the image
tag. It doesn't embed the svg in the dom for security reasons as svg code can contain javascript.
!Code
***/
//{{{
(function($) {

var macro = config.macros.image = {
	shim: "/bags/common/tiddlers/shim",
	ieVersion: config.browser.isIE ? parseInt(config.browser.ieVersion[1], 10) : false,
	svgns: "http://www.w3.org/2000/svg",
	xlinkns: "http://www.w3.org/1999/xlink", 
	svgAvailable: document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1"),
	_fixPrefix: 1,
	_external_cache: {},
	_image_tag_cache: {},
	_image_dimensions: {},
	locale: {
		badImage: "This image cannot be displayed."
	},
	handler: function(place, macroName, params, wikifier, paramString, tiddler){
		var imageSource = params[0];
		// collect named arguments
		var args = macro.getArguments(paramString, params);
		this.renderImage(place, imageSource, args);
	},
	init: function() {
		var startupImages = store.getTaggedTiddlers("systemImage");
		var place = $("<div />").attr("id", "systemImageArea").appendTo("body").hide()[0];
		for(var i = 0; i < startupImages.length; i++) {
			var image = startupImages[i];
			macro.renderImage(place, image.title, { idPrefix: "" });
		}
		var data = new Image();
		data.onload = function() {
			// note ie 8 only supports data uris up to 32k so cannot be relied on
			macro.supportsDataUris = this.width != 1 || this.height != 1 ? false : true;
			macro.supportsDataUris = macro.ieVersion && macro.ieVersion < 9 ? false : macro.supportsDataUris;
		};
		data.onerror = data.onload;
		data.src = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==";
	},
	refreshImage: function(src) {
		var elements = macro._image_tag_cache[src] ? macro._image_tag_cache[src] : [];
		if(macro._image_dimensions[src]) {
			macro._image_dimensions[src] = false;
		}
		for(var i = 0; i < elements.length; i++) {
			var el = $(elements[i]);
			var newSrc = "%0?nocache=%1".format(src, Math.random());
			el.attr("src", newSrc); // force reload
		}
	},
	isBinaryImageType: function(contentType) {
		return (contentType && contentType.indexOf("image") === 0 &&
			contentType.indexOf("+xml") != contentType.length - 4) ? true : false;
	},
	isImageTiddler: function(tiddler) {
		return macro.isSVGTiddler(tiddler) || macro.isBinaryImageTiddler(tiddler);
	},
	isSVGTiddler: function(tiddler) {
		var type = tiddler ? tiddler.fields['server.content-type'] : false;
		return type == "image/svg+xml";
	},
	isBinaryImageTiddler: function(tiddler) {
		return macro.isBinaryImageType(tiddler.fields['server.content-type']);
	},
	renderImage: function(place, imageSource, options) {
		var imageTiddler = store.getTiddler(imageSource);
		var container;
		var classes = ["image"];
		if(options.link) {
			classes = classes.concat(["imageLink", "externalLink"]);
			container = $("<a />").attr("href", options.link).appendTo(place)[0];
		} else if(options.tiddlyLink) {
			classes.push("imageLink");
			container = createTiddlyLink(place, options.tiddlyLink, false);
		} else {
			container = $("<span />").appendTo(place)[0];
		}
		$(container).addClass(classes.join(" "));

		options = options ? options : {};
		if(imageTiddler && macro.isBinaryImageTiddler(imageTiddler)) { // handle the case where we have an image url
			return macro._renderBinaryImageTiddler(container, imageTiddler, options);
		} else if(imageTiddler){ // handle the case where we have a tiddler
			return macro._renderSVGTiddler(container, imageTiddler, options);
		} else { // we have a string representing a url
			return macro._renderBinaryImageUrl(container, imageSource, options);
		}
	},
	_renderAlternateText: function(container, options) {
		var img;
		var src = options.src || "";
		if(options.width && options.height) {
			img = $("<img />").attr("src", src).addClass("svgImageText").attr("width", options.width).
				attr("height", options.height).appendTo(container);
		}
		var alt = options.alt;
		if(img && alt) {
			img.attr("alt", alt).attr("title", alt);
		} else if(alt) {
			$(container).addClass("svgImageText").text(alt);
		}
		macro._image_tag_cache[src] = img;
	},
	_renderSVGTiddler: function(place, tiddler, options) {
		if(!options) {
			options = {};
		}
		merge(options, { tiddler: tiddler, fix: true});

		if(macro.svgAvailable) {
			this._importSVG(place, options); // display the svg
		} else if(options.altImage) {
			var image = options.altImage;
			delete options.altImage;
			this._renderBinaryImageUrl(place, image, options);
		} else {
			this._renderAlternateText(place, options); // instead of showing the image show the alternate text.
		}
	},
	_renderBinaryImageTiddler: function(place, tiddler, options) {
		var resourceURI;
		var fields = tiddler.fields;
		if(fields["server.type"] == "tiddlyweb") { // construct an accurate url for the resource
			resourceURI = "%0/%1/tiddlers/%2".format(config.defaultCustomFields["server.host"],
				fields["server.workspace"], encodeURI(fields["server.title"]));
		} else { // guess the url for the resource
			resourceURI = tiddler.title;
		}
		var ctype = fields["server.content-type"] || tiddler.type;
		var text = tiddler.text;
		if(macro.supportsDataUris && ctype && text.indexOf("<html") == -1) {
			var uri = "data:%0;base64,%1".format(ctype, text);
			options.src = resourceURI;
			return macro._renderBinaryImageUrl(place, uri, options);
		} else if(options.src) {
			return macro._renderBinaryImageUrl(place, options.src, options);
		} else {
			return macro._renderBinaryImageUrl(place, resourceURI, options);
		}
	},
	_renderImageTag: function(container, src, width, height, options) {
		var img;
		img = $("<img />").appendTo(container);
		if(height) {
			img.attr("height", height);
		}
		if(width) {
			img.attr("width", width);
		}
		if(macro.ieVersion && macro.ieVersion < 7 && macro.shim && options.ie6png) {
			$(img).css({width: userW, height: userH,
					filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='%0', sizingMethod='scale')".format(src)
				}).attr("src", macro.shim);
		} else {
			img.attr("src", src);
		}
		if(!macro._image_tag_cache[options.srcUrl]) {
			macro._image_tag_cache[options.srcUrl] = [];
		}
		img = $(img).addClass(options.imageClass)[0];
		macro._image_tag_cache[options.srcUrl].push(img);
		return img;
	},
	_getDimensions: function(realDimensions, reqDimensions, preserve) {
		var w = realDimensions.width;
		var h = realDimensions.height;
		var reqh = reqDimensions.height;
		var reqw = reqDimensions.width;
		var finalw = w, finalh = h;
		var ratiow = reqw / w, ratioh = reqh / h;
		var scaledw = ratioh * w;
		var scaledh = ratiow * h;
		if(!reqw && reqh) {
			finalw = scaledw;
			finalh = reqh;
		} else if(reqw && !reqh) {
			finalw = reqw;
			finalh = scaledh;
		} else if(reqh && reqw) {
			var preserveWidth = w > h ? true : false;
			if(preserve) {
				if(preserveWidth && scaledh < reqh) {
					finalh = scaledh;
					finalw = reqw;
				} else {
					finalh = reqh;
					finalw = scaledw;
				}
			} else {
				finalw = reqw;
				finalh = reqh;
			}
		}
		return { width: parseInt(finalw, 10), height: parseInt(finalh, 10) };
	},
	_renderBinaryImageUrl: function(container, src, options) {
		var srcUrl = options.src ? options.src : src;
		srcUrl = srcUrl.indexOf("/") === -1 ? "/%0".format(srcUrl) : srcUrl; // for IE. 
		var image_dimensions = macro._image_dimensions[srcUrl];
		var image = new Image(); // due to weird scaling issues where you use just a width or just a height
		var createImageTag = function(dimensions, error) {
			if(error) {
				var altImage = options.altImage;
				if(altImage) {
					delete options.altImage;
					macro._renderBinaryImageUrl(container, altImage, options);
				} else {
					options.src = src;
					macro._renderAlternateText(container, options);
				}
			} else {
				var dim = macro._getDimensions(dimensions, { 
					width: options.width, height: options.height }, options.preserveAspectRatio);
				options.srcUrl = srcUrl;
				macro._renderImageTag(container, src, dim.width, dim.height, options);
			}
		};

		if(!image_dimensions) {
			image.onload = function() {
				var dimensions = { width: image.width, height: image.height};
				macro._image_dimensions[srcUrl] = dimensions;
				createImageTag(dimensions);
			};
			image.onerror = function() {
				createImageTag(null, true);
			};
			image.src = src;
		} else {
			createImageTag(image_dimensions);
		}
	},
	_generateIdPrefix: function(){
		return "twsvgfix_" + (this._fixPrefix++).toString() + "_";
	},
	_fixSVG: function(childNodes, idPrefix) {
		var urlPattern = /url\(\#([^\)]*)\)*/ig;
		var fixes = [
		{ attr: "id", pattern: /^(.*)$/ig },
		{ attr: "href", namespace: macro.xlinkns, pattern: /^#(.*)$/ig }
		];
		var url_fixes = ["filter", "fill", "mask", "stroke", "style"];
		for(var i = 0; i < url_fixes.length; i++) {
			fixes.push({ attr: url_fixes[i], pattern: urlPattern });
		}
		for(var t = 0; t < childNodes.length; t++) {
			var node = childNodes[t];
			for(var a = 0; a < fixes.length; a++) {
				var fix = fixes[a];
				var attr = fix.attr;
				var ns = fix.namespace || "";
				if(node.hasAttributeNS && node.hasAttributeNS(ns, attr)) {
					var v = node.getAttributeNS(ns, attr);
					fix.pattern.lastIndex = 0;
					var match = fix.pattern.exec(v);
					if(match) {
						// Make sure replacement string doesn't contain any single dollar signs
						var toReplace = match[1];
						if(toReplace.indexOf(idPrefix) !== 0 && toReplace.indexOf("twglobal_") !== 0) {
							var replacement = (idPrefix + toReplace).replace("$", "$$$$"); 
							v = v.replace(match[1], replacement);
						}
						node.setAttributeNS(ns, attr,v);
					}
				}
			}
			var children = node.childNodes;
			if(children.length > 0) {
				this._fixSVG(children, idPrefix);
			}
		}
	},
	_importSVG: function(place, options){
		options = options ? options : {};
		var svgDoc, tiddlerText = options.tiddler.text;
		if (window.DOMParser) {
			svgDoc = new DOMParser().parseFromString(tiddlerText, "application/xml").documentElement;
			var idPrefix = options.idPrefix || this._generateIdPrefix();
			this._fixSVG([svgDoc], idPrefix);
			var el = document.importNode(svgDoc, true);
			var svgHolder = document.createElementNS(macro.svgns,"svg");
			var width = options.width;
			var height = options.height;
			if(width || height) {
				if(width && height) { // set view box of containing svg element based on the svg viewbox and width and height.
					var viewBox = el.getAttribute("viewBox");
					var topLeft = "0 0";
					if(viewBox) {
						topLeft = viewBox.replace(/([0-9]*) +([0-9]*) +([0-9]*) +([0-9]*) */gi,"$1 $2");
					}
					svgHolder.setAttributeNS(macro.svgns, "viewBox", "0 0 %0 %1".format(width, height));
				} else {
					if(!width) {
						width = el.getAttribute("width");
					}
					if(!height) {
						height = el.getAttribute("height");
					}
				}
				svgHolder.setAttribute("width", width);
				svgHolder.setAttribute("height", height);

				el.setAttribute("width", "100%");
				el.setAttribute("height", "100%");
				svgHolder.setAttribute("class", "svgImage svgIcon %0".format(options.imageClass || ""));
				svgHolder.appendChild(el);
				place.appendChild(svgHolder);
			}
			else {
				var existing = el.className ? el.className.baseVal : "";
				el.setAttribute("class","svgImage %0".format(existing));
				place.appendChild(el);
			}
			// if a tiddler attribute is set this is read as a link
			$("[tiddler], [tiddlyLink]", place).attr("refresh", "link").click(function(ev) {
				var tiddler = $(ev.target).attr("tiddlyLink");
				if(tiddler) {
					story.displayTiddler(ev.target, tiddler);
				}
			});
		}
	},
	getArguments: function(paramString, params) {
		var args = paramString.parseParams("name", null, true, false, true)[0];
		var options = {};
		for(var id in args) {
			if(true) {
				var p = args[id];
				if(id == "def") {
					options[id] = p;
				} else {
					options[id] = p[0];
				}
			}
		}
		var width = isNaN(params[1]) ? false : parseInt(params[1], 10);
		var height = isNaN(params[2]) ? false : parseInt(params[2], 10);

		options.width = macro.lookupArgument(options, "width", width);
		options.height = macro.lookupArgument(options, "height", height);
		options.preserveAspectRatio = args.preserveAspectRatio && 
			args.preserveAspectRatio[0] == "yes" ? true : false;
		options.tiddlyLink = macro.lookupArgument(options, "tiddlyLink", false);
		options.link = macro.lookupArgument(options, "link", false);
		return options;
	},
	lookupArgument: function(args, id, ifEmpty) {
		return args[id] ? args[id] : ifEmpty;
	}
};

// update views
var _oldwikifiedview = config.macros.view.views.wikified;
// update wikifier to check tiddler type before rendering
merge(config.macros.view.views, {
	wikified: function(value, place, params, wikifier, paramString, tiddler) {
		if(macro.isImageTiddler(tiddler) && params[0] == "text") {
			var newplace = $("<div />").addClass("wikifiedImage").appendTo(place)[0];
			macro.renderImage(newplace, tiddler.title, { alt: macro.locale.badImage });
		} else {
			_oldwikifiedview.apply(this, arguments);
		}
	},
	image: function(value, place, params, wikifier, paramString, tiddler) {
		// a field can point to another tiddler whereas text is the current tiddler.
		var title = params[0] == "text" ? tiddler.title : value;
		var args = macro.getArguments(paramString, params);
		macro.renderImage(place, title, args);
	}
});
config.shadowTiddlers.StyleSheetImageMacro = [".wikifiedImage svg, .wikifiedImage .image { width: 80%; }",
	".svgImageText { background-color:[[ColorPalette::Error]]; color:#ddd; display: inline-block; }",
	"span.svgImageText { display: inline-block; overflow: hidden; }"
].join("");
store.addNotification("StyleSheetImageMacro", refreshStyles);

})(jQuery);
//}}}
This is for advanced users only.

!!!If you want to include a separate space in your space:
*Ensure you are [[logged in|Log in]]
*You can only include a separate space into one that you are a [[member|Making someone a member of a space]] of. 
*Go to the [[Space menu]]
*Select the tab ''"Includes"''
*Write the name of the space that you want to //include// in the textbox there:
**You need to stick to lower case text
**preface the name of the space with an @ sign (so for instance {{{@ambit}}})
*click the button ''"Include space"'' - the wiki will need to reload (refresh) for the new space to appear.
!!!If you want to remove a previously included space
*You will see the list of included spaces (usually these are just 'systems' spaces, to make the wiki behave in predictable ways, so beware un-including these!) - click the red X beside the space you want to remove.  Done.
!!About the Index
Learn [[About the Index]]
!!As well as the Index...
There is a [[Glossary]] of technical terms that we use, and because all the pages have [[Links]] (or "references") to one another, we can list out the 30 ''most-referenced pages'' here (the bigger the page title, the more references to it).  Click on any of the page titles to see a drop-down list of all the references to it in the manual:
|bgcolor(lightblue): <<cloud references action:popup limit:30>> |
!Now here's the Index:
Pages listed as "Public" are the ones YOUR TEAM has authored in ''this local version'' of the manual
<<tabs
	txtMainTab
	"Recent" "Recently edited tiddlers" TabTimeline
	"All" "All tiddlers" TabAll
	"Public" "All public tiddlers" [[TiddlySpaceTabs##Public]]
	"Private" "All private tiddlers" [[TiddlySpaceTabs##Private]]
	"Tags" "All tags" TabTags
	"Spaces" "Tiddlers grouped by space" [[TiddlySpaceTabs##Spaces]]
	"Missing" "Missing tiddlers" TabMoreMissing
	"Orphans" "Orphaned tiddlers" TabMoreOrphans
	"Shadows" "Shadowed tiddlers" TabMoreShadowed
>>
When you select "Jump" in the [[menu|Menus]] for a tiddler, a drop down list will appear - of all of the //other tiddlers// that you currently have open on your desktop.  Selecting one of these titles will immediately jump you to that tiddler.
A Link is what has opened this new [[Tiddler]] from within the last one; Links take the form of HighlightedWords, and anyone familiar with the internet will know what they are.  A single click on the word opens the linked Tiddler ( think of it as a 'page' or 'note').

In general a Link denotes an immediate and specific association between material in one Tiddler and material in the other one, whereas [[Tags]] denote thematic connections under which a whole range of sub-topics may sit (think of Tags as chapter-headings, and Links as footnotes, if you like.)

You can check which other Tiddlers have Links to the one you are reading by clicking on the [[References]] section of the individual Tiddler menu (see the additional or related information section.)
!More about links
There is a bit more detail on making links and cleverer ways of making links at [[Links and Shortcuts to making them]]
* A WikiWord (with a capital in the middle of it) is automatically transformed into a [[Link|Links]] to a tiddler with the same title.  
** We used these quite a lot in the early stages of writing content, but it makes for an odd reading experience (words apparently jammed together) so we are slowly removing them and using ordinary language links...
** this automatic transformation can be //suppressed// by preceding the respective WikiWord with a "tilde" (i.e. one of these: ~ ): so if I type the letters: {{{~WikiWord}}} ...then it WON'T become an automatic link in the page (look: ~WikiWord.)
* [[Pretty Links]] that can include spaces and look like "ordinary" text are just ''text that is enclosed in double square brackets'' which contain the desired tiddler name
**e.g.: {{{[[Pretty Links]]}}}
** That makes a link to [[Pretty Links]]...
* Optionally, a custom title or description can be added, separated by a "pipe character" ( the vertical line - {{{|}}})): {{{[[page title that shows in the text|target page that opens when you click]]}}}<br>'''N.B.:''' In this case, the target can also be any website (i.e. URL) - i.e. you can make an external link to the tiddlymanuals site like [[this|http://www.tiddlymanuals.com]] by using this code: {{{[[this|http://www.tiddlymanuals.com]]}}}.
!What's here?
|bgcolor(lightgray):''1.'' NEW local content sorted by TOPICS |
|bgcolor(lightgray):''2.'' ALL local material (including pre-existing pages that have been edited locally) listed alphabetically |
|bgcolor(lightgray):''3.'' Notes on how to edit this page |
!!!1. New local content sorted by topics
Below (for AMBIT services using these manuals - others will want to edit this) is a colour-coded list of some of the main topic headings under which your team "files" its new entries if you work from the [[+ Manualize our work]] page. 
<<image [[AMBIT wheel 2014_SMALL]] width:350 height:300>> Of course there are already pre-existing pages [[tagged|Tags]] with these topic headings, but this still makes it easier to find a page you have previously authored. At the bottom of this page you can find instructions if you want to change the topic headings to suit you needs better.
|bgcolor(pink):<<tag [[Manage RISK]]>> Notes on how we do ''RISK management'' |
|bgcolor(pink):<<tag [[Manage CLIENT RELATIONSHIP]]>> Notes on how we ''manage relationships with clients'' |
|bgcolor(pink):<<tag [[Manage CLINICAL PROBLEM]]>> Notes on how we do ''"field-work" with our clients'' |
|bgcolor(lightgreen):<<tag [[Manage NETWORK PROBLEM]]>> Notes on how we ''work effectively with the network'' |
|bgcolor(lightgreen):<<tag [[Our Resources]]>> Log of ''local resources'' available (sports centres, agencies...) |
|bgcolor(yellow):<<tag [[OUR LOCAL Teamwork and Governance]]>> Notes on ''"How this Team conducts itself"'' |
|bgcolor(yellow):<<tag [[SUSTAIN best practice]]>> Notes on how we ''maintain quality in our work'' |
|bgcolor(yellow):<<tag [[Local AMBIT training session plans]]>> Notes about local training/practice sessions |
|bgcolor(lightblue):<<tag [[Local Manualization Homework Tasks]]>> A ''"To Do list"'' of material we want to manualize |
|bgcolor(lightblue):<<tag [[Supervision Notes]]>> Notes on ''key learning points from team supervision sessions'' |
|bgcolor(lightblue):<<tag [[Local Protocols]]>> Lists all topics defining local best practice. |
!!!2. List ALL local edits, alphabetically
Listed below are all the local Edits that YOUR team has made so far.  @@color(green):Note that local edits may be ''__PUBLIC__'' (visible to all) or ''__PRIVATE__'' (only visible if you are MEMBER of the space, and are logged in).  If you have editing rights (are a [[member|Making someone a member of a space]] of this [[Space|Spaces]]), then it is easy to [[Switch the "status" of tiddlers from Private to Public, or vice versa]].  We advise that teams just publish publicly ("private" is just "out of sight" and NOT encrypted.) You can toggle between the lists of PUBLIC and PRIVATE pages by clicking on the two tabs below.@@
<<tabs
	txtMainTab
	"Public" "All public tiddlers" [[TiddlySpaceTabs##Public]]
	"Private" "All private tiddlers" [[TiddlySpaceTabs##Private]]
>>
!!!3. How to edit the content on this page
If you open his page to [[Edit]] it, it does look rather "scary" - don't panic!
* If it all goes wrong, just DELETE your version of this page, and our original one will pop back in its place once you "refresh" the whole manual - you can't break it!
* Don't fiddle with no. ''2. List ALL local edits, alphabetically'' unless you are very clever with coding!
* You can add/delete the topic headings ([[Tags]]) that you want in section ''1. New local content sorted by topics'' quite easily.
** To create a clickable button that generates a "drop down list" of all the pages that are [[Sub-topic]]s of a Particular page (let's call it ''Title of Topic'' - you will have [[tagged|Tags]] all the subtopics with this code: ''{{{[[Title of Topic]]}}}'')  ...you use a simple bit of code:
|bgcolor(pink): <br>''{{{<<tag [[Title of Topic]]>>}}}''<br> |
** Once you finish editing, you will see you have created a new drop down list button!
** ''The other stuff you see'' (stuff like ''|bgcolor(pink):'' and an upright stroke | at the end of the line) is just layout code, to make the pretty pink boxes - //just copy the way this is done in the existing table, but replace the button code as described above.
If you are part of a team that has its own TeamTemplate online (for instance as part of the AMBIT project run from the [[Anna Freud Centre|http://www.annafreud.org/]]), and are [[authorised|Making someone a member of a space]] to make edits to your local version of the manual, then you will have a username and password for TiddlySpace, which allows you to log in and make [[Edit]]s to your online version.

To get a username and password you need to [[Register on TiddlySpace]]

!Logging in

To log on go to the [[Mode and Login panel]], add your user name and password, and click log in
The whole manual will "reload" when you log in.

Once you have logged in, you can access the [[Edit mode]] and [[Advanced mode]] via the [[Mode and Login panel]].
This is for advanced users and is not required for day to day use of [[TiddlyManual]]s.

It involves starting an an entirely separate wiki - that you can use for lots of different things (see @dickon for an example) but which are separate from //this// wiki!

*Ensure you are [[Logged in|Log in]] as a user.
*Go to your [[User menu]]
*You will see a button saying ''"Create Space"'' and a box above to give your new space a name.  If the name you choose is already taken then you'll need to choose a new one!

*If you want to work on the current space that you have opened //with someone else//, but you //don't want to make them a member// (which would give them completely equal rights over the content with you) then check the box that says ''"Include the current space in the new space"'' - this will make a new space that [[includes|Including spaces]] the original - you can then make your colleague a member of that space and while your original material remains untouched, the two of you can hack away at the new version to your heart's content.
All [[Web browser]]s allow you to set the homepage - that is the page(s) that open when you first open your browser.  Below we show you how to set which page(s) your browser will automatically open on starting up.
!!!Getting round the corporate homepage
If you are in a corporate system (eg most NHS Trusts, or most organisations, full stop!) it is not uncommon that your web browser will already be set to open with the corporate homepage as your "starting point", and that this will be fixed.

This is fine, and we wouldn't wish to alter this, but most modern browsers can have a number of different "Tabs" open, so that you can have several websites open simultaneously.  What we suggest is that you add your AMBIT manual as an additional tab that will open automatically on start-up.  If your browser has a ''//corporate//'' homepage, then you will probably find it is "locked", and that you have to request permission to add another tab to your homepage from your I.T. department.  If this is awkward, then there is advice on getting [[Organisational support for the technology to run TiddlyManuals]] which might help you argue your case, though in most cases I.T. departments are only too happy to be able to help.

!How to set the homepage

This is slightly different according to what browser you are using, but the principles are the same.
* __First__:  Open up exactly the page(s) that you want to open //automatically// on starting up your browser.
* __Second__:  Look for a menu that is to do with "Settings" or "Options" in one of the drop-down menus on your browser's menu bar.  It may also be signified by a little spanner or cogwheel or list icon. 
* __Third__:  Look for options in that menu to do with //"on start up"// or //"set home page"// etc and select the item about setting new homepages, or "pages to open on start-up"
* __Fourth__:  Find the option "use //current// pages" and select it!
* __Fifth__:  ''Sit back and relax''.  Perhaps close your browser, and then re-open it to check that your work is done.
* __Sixth__:  Offer to show your colleague how to do this, avoiding all outward signs of smug satisfaction, but knowing inwardly that you have achieved yet another of many steps towards mastery.

You can only make changes to a [[Space|Spaces]] if you are member of that space.

!If you are a member of a Space, then you can:

* Make [[Edit]]s to the content of that space
* Add or remove OTHER members to/from that Space
* Do more advanced things such as [[Include|Including spaces]] the public content from other [[Spaces]] in this space, or remove previously included spaces. 

!Adding a new member:

To make someone a member of a space, ensure you are a member of that space yourself, and that you are [[logged in|Log in]].

Obviously, to add a member to your space, they must FIRST have a username to add, which means they have to [[Register on TiddlySpace]].

Then go to the [[Space menu]] (which you find by selecting the [[Advanced mode]] from the [[Mode and Login panel]].)

The [[Space menu]] reveals simple instructions for how to add a member - type their username into the box and click "ADD MEMBER"! 
<!--{{{-->
<link rel="shortcut icon" href="/recipes/ambit-help_public/tiddlers/favicon.ico" />
<link href="/bags/ambit-help_public/tiddlers.atom" rel="alternate"
	type="application/atom+xml" title="ambit-help's public feed" />
<!--}}}-->
There are a variety of different menus on the computer screen to help the user navigate around and manage the material in the manual. 

!Individual Tiddler Menus

Each page ([[Tiddler]]) has two of its own menus:

!!!1. Related Information
The [[Show references and info]] menu is accessed by clicking the black box beside the page title, and helps you see how this tiddler fits in to the wider context, listing revisions, references, sub-topics, headings, etc.

!!!2. Tiddler Menu
You find this on the top right corner of each tiddler: 
*[[Edit]] (usually a page with a + sign on it, or a 'pen logo') is only visible if you are logged in, and have the manual switched to "[[Edit]] @@color(red):''mode''@@"
*[[Close]] (an ''X'')

!Menus on the Sidebar

See [[Sidebar]] - these are the functions that help you find your way around, and organise contnet , as well as links to content.

!Menus on the [[Top menu bar]]

The [[Top menu bar]] is only revealed when you switch to [[Advanced mode]] via the [[Mode and Login panel]] - it reveals extra menus that help you organise your wiki, which are rarely required for everyday use: for instance if you wanted to [[Download a copy!]] of your manual, or to [[Switch the "status" of tiddlers from Private to Public, or vice versa]].


MicroContent is a collection of meaningful information delivered in a chunk of about a paragraph's length: It is argued that if an IDEA takes more space than this to explain 'in a nutshell' ...then it is unlikely to be of much practical use to the clinician on the ground. 

The TiddlyWiki format refers to one of these these chunks of MicroContent as a [[Tiddler]].

In the digital world of the web, a collection of 'pages' that are interlinked and which cover a specific area is known as a 'Wiki'- for instance see the online encyclopaedia www.wikipedia.com . Hence the term 'TiddlyWiki'.
This [[Tab|Tabs]] within the [[Index]] lists [[Tiddler]]s that //have links to them, but have not got any content written//.  

For instance [[This one right here...]] - if you click that link it will offer the philosophical conundrum, telling you that "this tiddler does not exist - in that nobody has given it any content - it is 'just a link'!!

Being able to list "missing" tiddlers is quite useful for authors/editors.

|bgcolor(pink): ''NOTE: when you open a "missing" page (tiddler) you will see a message saying //"double click this page to open it for editing"// - THIS WONT WORK in the AMBIT or MBTF manuals, as we have "switched off" the "double-click to edit" function (people got confused when they double clicked by accident and found themselves looking at an editing page!) - INSTEAD switch to [[Edit mode]] and click the "edit icon" in the right hand corner of your page... |
!Where is it?
This is the panel at the top right of your screen.  You will see it as you first open the manual and then it will fold itself away leaving just a small icon:
* a ''@@color(lightgreen):Green reading book@@'' - to denote BROWSING MODE
* a ''@@color(red):Red pen@@'' - to denote EDITING or ADVANCED modes
Tapping on that icon (top right corner of your screen) will make the hidden panel unfold and reveal itself again.
<html><iframe width="640" height="480" src="http://www.youtube.com/embed/BNE2EnOTYPU?rel=0" frameborder="0" allowfullscreen></iframe></html>
!What is it for?
It is where you can [[Log in]] as a member of a particular manual (or "[[space|Spaces]]") and you can set the "mode" to determine how the manual behaves (how much you want to interact with the content).  It is also one place from which you can open a page to give [[Feedback please!]]
!Logging in
See [[Log in]]
!Modes
There are three "modes".
* 1. [[Browsing mode]]: 
If you are not [[logged in|Log in]] then you only have access to the ''BROWSING'' mode.  This is the simplest way to use the manual.  It is just a website to all intents and puposes - you can open and close pages, and that is it.
* 2. [[Edit mode]]: 
If you have logged in then this option will appear.  When you select it you will see that each page ([[Tiddler]]) that opens now has an "edit" icon in the top right corner; clicking this will allow you to start to [[Edit]] content in your manual.
** ''__NOTE__'': Some pages have buttons embedded in the middle of their content to start you off on [[Edit]]ing brand new material (for instance [[+ Manualize our work]], which will generate new pages ready for you to edit...)
**  if you //already// have a page (such as [[+ Manualize our work]]) open when you switch to EDIT MODE, then these buttons won't appear until you have CLOSED that page, and then reopen it (you can look in the [[History recorder]] to find it again.) 
* 3. [[Advanced mode]]: 
This mode opens the [[Top menu bar]] across the very top of the page (//you may have to scroll up to see it.//) for more advanced actions.
** The [[Top menu bar]] gives access to additional menus that allow you to:
*** make other people [[members|Making someone a member of a space]] of this space
*** manipulate content in more complex ways
*** browse content in the wider TiddlySpace (beyond just [[TiddlyManual]]s), etc...

* 4. [[Feedback please!]]:
We also include this link, as we do want you to see it often and think of giving us feedback often!  We rely on this to shape and improve the manual.  Feedback can be very quick to give:
** From very quick reports of broken links, or glitches (if you can use the [[SNAPSHOT]] to send us a link to the broken bit, that would be fantastic!)
** To spending just a few minutes to fill in a short questionnaire.
** Or you can tell us we are doing OK, and make our day.
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
|bgcolor(pink):  Take a few minutes to learn about [[Using the Manual]]... this is //similar but different// to other websites.  Pages you open by clicking [[Links]] will appear in your "Currently Open" list in the left hand margin (or scroll down to find them at the bottom of your desktop, where they will have already opened.  You can see how many pages you have opened on the left hand margin - a little number on the pages icon for your "Currently open" list.)<br><html><iframe width="480" height="360" src="http://www.youtube.com/embed/TJ4WFQ1ov7g?rel=0" frameborder="0" allowfullscreen></iframe></html> |
iVBORw0KGgoAAAANSUhEUgAAAp4AAAJbCAMAAAB6jWSmAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpGRTdGMTE3NDA3MjA2ODExOTEwOUY5OTBCQ0YxRjM1MCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpEMkE2OTFFOTRBMTYxMUUxQkI0ODgzMDJGMDFGM0M0OCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpEMkE2OTFFODRBMTYxMUUxQkI0ODgzMDJGMDFGM0M0OCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkNGODRBODgyNjAyMDY4MTE5MTA5Rjk5MEJDRjFGMzUwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkZFN0YxMTc0MDcyMDY4MTE5MTA5Rjk5MEJDRjFGMzUwIi8+IDwvcmRmOkRlc2NyaXB0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
It can be difficult to persuade large organisations such as the NHS or Social Services to make the I.T. changes to allow the full use of [[TiddlyManual]]s.

We have worked hard to ensure the manuals will work even in quite old (ancient) versions of not-particularly-great browsers such as internet explorer (many NHS organisations still use Internet Explorer 6 in 2011!)

!Simple fixes

!!!Use a better browser
It may be possible to make a specific case for a team using tiddlymanuals to be allowed to download and use the freely available [[Firefox browser|http://www.mozilla.org/en-US/firefox/new/]], which is a much better browser than Internet Explorer, especially in its earlier versions, and which works much better with the simple technology that [[TiddlyManual]]s use.  [[Google Chrome|http://www.google.com/chrome]] would be another free option.

!!!Permit streaming video
Apply for an exception for a team using Tiddlymanuals so that they are allowed to access Youtube or other streaming video content.  Many large organisations are anxious about "everyone" using streaming video resources, as these are demanding on "bandwidth", but in reality, staff in a tiddlymanual are not going to be spending all day watching the [[Videos]]!  There is further [[Advice on getting permissions to view YouTube clips]].

!!!Upgrade Flash player
Some Trusts do not update the Flash Player that they supply, and this can make it hard to access video content in the manual.

!Strategic approaches

Find a friendly senior member of the I.T. department in your organisation - many of these people are only too aware of the limitations of the systems they are paid to maintain, and are looking for interesting, creative ways to improve the organisation's use of IT, in wayys that are not too expensive.  It is important to emhasise the fact that this is a "future-facing" approach, and that it is free.  The UK government has recently published [[guidelines|http://www.cabinetoffice.gov.uk/resource-library/open-source-procurement-toolkit]] advising offices to look at open source solutions as a first port of call.

Ideally, broker a meeting between senior managers in your organisation with a more strategic outlook, and the IT department, to consider how the organisation wishes to move forwards using IT to support its aims.  Suggest that your team might be seen as a small test case for this kind of approach.

See also some of the external resources laid out below.

!External resources

There are some helpful online resources to show to managers in the NHS, that may help to allay concerns or overcome common barriers to change that occur:

An official NHS site called the [[Armchair Involvement project]] describes itself as //"Helping you to use new technology to engage people in service improvement"// which ticks a lot of boxes.

A site, referenced from the above site, called [[Social Strategy - breaking down the barriers]] lists 50 hurdles or barriers to large public organisations making best use of web 2.0 technology.

!Keep up, the world is changing!
Finally, the [[UK government|http://www.cabinetoffice.gov.uk/resource-library/open-source-procurement-toolkit]] itself is recommending that opensource solutions are looked at by its various offices before they commit to old-style 'closed-source' resources - See [[UK Government support for Open Source]]
This is a description of a phrase used in the technical workings of the manual, rather than (in this instance) referring to children whose parents have died.

The [[tab|Tabs]] that you will find in the [[Index]] lists any Tiddlers ''that are not [[linked|Links]] to from any other Tiddlers.  This is quite useful to know if you are an author/editor, but otherwise quite boring.
<!--{{{-->
<div class='header'>
	<div id='sidebarSearch'>
		<span macro='search'></span>
	</div>
	<div class='headerForeground'>
		<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>
		<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
	</div>
	<div class='clearFloat'></div>
</div>

<div id='menuBar'>
	<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
	<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
</div>
<div id='displayArea'>
	<div id='messageArea'></div>
	<div id='tiddlerDisplay'></div>
	<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<!--}}}-->
Well known Microsoft Slide program.  As in "death by power point".

Consider other ways of organizing your information to speak about it - why not a TiddlyManual!
It may have been a Pretty Link that you clicked to find your way here, but the content is pretty boring.

* [[Pretty Links]] allow you to include spaces and can look like "ordinary" text; they are just ''text that is enclosed in double square brackets'' which contain the desired tiddler name:
** e.g.: {{{[[Pretty Links]]}}} makes a link to [[Pretty Links]]...

* Optionally, a custom title or description can be added, separated by a "pipe character" ( the vertical line - {{{|}}})):
** {{{[[page title that shows in the text|target page that opens when you click]]}}}
** '''N.B.:''' In this case, the target can also be any website (i.e. URL) - i.e. you can make an external link to the tiddlymanuals site like [[this|http://www.tiddlymanuals.com]] by using this code: {{{[[this|http://www.tiddlymanuals.com]]}}}.
This is easy.

If you press the Print button on your Browser then all [[Tiddler]]s //that are currently open on your desktop// will print out.

!!!!NB the following content NOT yet working (as at Oct 2012):
If you are using downloaded copies of the manual in its most interactive mode - as workbooks to keep notes on client work ([[ICR]]) - then in order to print out all notes related to your client, you should use the [[Print ClientNotes]] function.
One of the [[Tabs]] from the [[Index]] lists [[Tiddler]]s, that are ''Private'' as opposed to [[Public]].

In TiddlySpace [[Tiddler]]s can exist in one of two states - you can see the state indicated when you are in the [[Edit]] mode for a particular tiddler. A blue circle, with white in the centre, signifies "Public", a pink centre, with white around the circumference, signifies "private".

You can [[Switch the "status" of tiddlers from Private to Public, or vice versa]] very easily.

You will see that you (or at least anyone who is a MEMBER of the SPACE - see [[Space menu]]) can [[Switch the "status" of tiddlers from Private to Public, or vice versa]].
One of the [[Tabs]] from the [[Index]] lists [[Tiddler]]s that are ''Public'' as opposed to [[Private]].

In TiddlySpace [[Tiddler]]s can exist in one of two states - you can see the state indicated when you are in the [[Edit]] mode for a particular tiddler.  A blue circle, with white in the centre, signifies "Public", a pink centre, with white around the circumference, signifies "private".

You can [[Switch the "status" of tiddlers from Private to Public, or vice versa]] very easily.

You (or at least anyone who is a MEMBER of the SPACE - see [[Space menu]]) can [[Switch the "status" of tiddlers from Private to Public, or vice versa]].
/***
|''Name''|RandomColorPalettePlugin|
|''Description''|Adds a random color palette to TiddlyWiki|
|''Author''|Jon Robson|
|''Version''|1.4.0|
|''Status''|stable|
|''Source''|https://github.com/jdlrobson/TiddlyWikiPlugins/raw/master/plugins/RandomColorPalettePlugin/RandomColorPalettePlugin.js|
|''License''|[[BSD|http://www.opensource.org/licenses/bsd-license.php]]|
!Usage
{{{
<<RandomColorPalette>>
}}}
Sets and saves a random color palette on execution

{{{
<<RandomColorPaletteButton>>
}}}
Creates a button, which when clicked will change the color palette
More information at http://macros.tiddlyspace.com/#%5B%5BRandomColorPaletteButton%20macro%5D%5D
!Code
***/
//{{{
RGB.prototype.toRGBString = function() {
	return "rgb(%0,%1,%2)".format(parseInt(this.r * 255, 10),
		parseInt(this.g * 255, 10), parseInt(this.b * 255, 10))
}
function HSL_TO_RGB(h, s, l) { // h (hue) between 0 and 360, s (saturation) & l (lightness) between 0 and 1
	var c = l <= 0.5 ? 2 * l * s : ( 2 - (2 * l)) * s;
	var h1 = h / 60;
	var x = c * (1 - Math.abs((h1 % 2) - 1)); 
	var r, g, b;
	if(typeof(h) == 'undefined') {
		r = 0;
		g = 0;
		b = 0;
	} else if(0 <= h1 && h1 < 1) {
		r = c;
		g = x;
		b = 0;
	} else if(1 <= h1 && h1 < 2) {
		r = x;
		g = c;
		b = 0;
	} else if(2 <= h1 && h1 < 3) {
		r = 0;
		g = c;
		b = x;
	} else if(3 <= h1 && h1 < 4) {
		r = 0;
		g = x;
		b = c;
	} else if(4 <= h1 && h1 < 5) {
		r = x;
		g = 0;
		b = c;
	} else if(5 <= h1 && h1 < 6) {
		r = c;
		g = 0;
		b = x;
	}
	m = l - (0.5 * c);
	return new RGB(r + m, g + m, b + m);
}

(function($){
	var macro = config.macros.RandomColorPalette = {
		messagesOn: false, 
		changedPaletteText: "We have assigned you a random theme by adjusting the [[ColorPalette]] tiddler.\nDon't like it? Click <<RandomColorPalette>> for another one.", 
		handler: function(place, macroName, params, wikifier, paramString, tiddler) {
			paramString = paramString || "";
			var options = macro.getOptions(paramString);
			macro.generatePalette(options, true);
		},
		optionTypes: {
			floats: ["hue", "saturation", "darkest", "lightness", "huevariance", "dark", "pale", "light", "mid",
				"saturation_light", "saturation_pale", "saturation_mid", "saturation_dark"
			]
		},
		getOptions: function(paramString) {
			var args = paramString.parseParams("name", null, true, false, true)[0];
			var options = {};
			var numbers = macro.optionTypes.floats;
			for(var i in args) {
				options[i] = numbers.indexOf(i) > -1 ? parseFloat(args[i][0], 10) : args[i][0];
			}
			return options;
		},
		generateRandomNumber: function(min, max, info) {
			var num = (Math.random() * 1);
			info = !info ? { attempts:0 } : info;
			info.attempts += 1;
			var good = true;
			if(min == max) {
				return max;
			}
			if(min && num < min) {
				good = false;
			} else if(max && num > max) {
				good = false;
			}
			if(!good) {
				if(info.attempts < 5) {
					return macro.generateRandomNumber(min, max, info);
				} else {
					if(max) {
						return max;
					} else if(min) {
						return min;
					} else {
						return 1;
					}
				}
			}
			return num;
		},
		getExistingPalette: function(asJSON) {
			var title = "ColorPalette";
			var tiddlerText;
			if(store.tiddlerExists(title)) {
				tiddlerText = store.getTiddlerText(title);
			} else if(store.isShadowTiddler(title)){
				tiddlerText = config.shadowTiddlers[title];
			}
			if(asJSON) {
				var json = {};
				if(tiddlerText) {
					var lines = tiddlerText.split("\n");
					for(var i = 0; i < lines.length; i++) {
						var definition = lines[i].split(":");
						if(definition.length == 2) {
							var name = definition[0].trim();
							var value = definition[1].trim();
							json[name] = value;
						}
					}
				}
				return json;
			} else {
				return tiddlerText;
			}
		},
		generatePalette: function(options, save) {
			var outputRGB = options.rgb;
			var palette = macro.getExistingPalette(true);
			var hue = options.hue || Math.floor(Math.random() * 359);
			var saturation = options.saturation || macro.generateRandomNumber(0.3, 0.7);
			var dark = options.dark || options.darkest || macro.generateRandomNumber(0, 0.10);
			var pale = options.pale || options.lightness || macro.generateRandomNumber(0.90, 1);
			var delta = ( ( pale - dark ) / 3 );
			var mid = options.mid || dark + delta;
			var light = options.light || dark + (delta * 2);
			var lightness_values = {Dark: dark, Mid: mid, Light: light, Pale: pale};
			var saturation_values = {};
			for(i in lightness_values) {
				if(true) {
					saturation_values[i] = options["saturation_" + i.toLowerCase()] || saturation;
				}
			}

			var opposite_hue = (hue + 180) % 360;
			var seed = options.huevariance || Math.floor((85 * Math.random()) + 5); // we want it to be at least 5 degrees
			var huetwo = (opposite_hue + seed) % 360;
			var huethree = (opposite_hue - seed) % 360;
			if(huetwo < 0) {
				huetwo = 360 + huetwo;
			}
			if(huethree < 0) {
				huethree = 360 + huethree;
			}
			for(var j in lightness_values) {
				if(true) {
					var saturation = saturation_values[j];
					palette["Primary" + j] = HSL_TO_RGB(hue, saturation, lightness_values[j]);
					palette["Secondary" + j] = HSL_TO_RGB(huetwo, saturation, lightness_values[j]);
					palette["Tertiary" + j] = HSL_TO_RGB(huethree, saturation, lightness_values[j]);
				}
			}
			palette.Background = HSL_TO_RGB(hue, saturation, 0.92);
			palette.Foreground = HSL_TO_RGB(hue, saturation, 0.08);
			palette.ColorPaletteParameters = ["HSL([", hue, "|", seed, "], [", saturation_values.Pale, "|",
				saturation_values.Light, "|", saturation_values.Mid, "|", saturation_values.Dark, "],",
				"[", dark, "|", mid, "|", light, "|", pale, "])"].join("");
			// construct new ColorPalette
			var text = ["/*{{{*/\n"];
			var colorcode;
			for(var id in palette) {
				if(true) {
					var color = palette[id];
					colorcode = outputRGB ? color.toRGBString() : color.toString();
					text.push("%0: %1\n".format(id, colorcode));
				}
			}
			text.push("/*}}}*/");
			text = text.join("");
			if(save) {
				macro.saveColorPalette(text);
			}
			return text;
		},
		saveColorPalette: function(text) {
			var tid = store.getTiddler("ColorPalette");
			if(!tid) {
				tid = new Tiddler("ColorPalette");
				tid.fields = merge({}, config.defaultCustomFields);
			} // TODO: detect that the ColorPalette in the space comes from outside recipe
			tid.fields["server.page.revision"] = "false"; // edit conflicts dont matter

			// save the color palette in tid
			tid = store.saveTiddler(tid.title, tid.title, text, tid.modifier, tid.modified,
				tid.tags, tid.fields, false, tid.created, tid.creator);
			// an interval is used to cope with users clicking on the palette button quickly.
			if(macro._nextSave) {
				window.clearTimeout(macro._nextSave);
			}
			macro._nextSave = window.setTimeout(function() {
					autoSaveChanges(null, [tid]);
				}, 2000);
			// temporary workaround for IE.
			$.twStylesheet.remove({ id: "StyleSheetColors" });
			$.twStylesheet.remove({ id: "StyleSheet" });
			refreshAll();
			macro.reportChange();
			return tid;
		},
		reportChange: function() {
			if(macro.messagesOn) { // only display message once..
				var msgPlace = getMessageDiv();
				if(!$(".changedPalette", msgPlace)[0]) {
					var tempPlace = document.createElement("div");
					wikify("{{changedPalette{" + macro.changedPaletteText + "}}}", tempPlace);
					msgPlace.appendChild(tempPlace);
				}
			}
		}
	};
	var btnMacro = config.macros.RandomColorPaletteButton = {
			text: "New ColorPalette",
			tooltip: "Generate a random colour scheme for your TiddlyWiki",
			makeButton: function(place, options) {
				var btnHandler = function(ev) {
					var t = $(ev.target);
					var options = t.data("options");
					macro.generatePalette(options, true);
					ev.preventDefault();
					return false;
				};
				var btn = createTiddlyButton(place, this.text, this.tooltip, btnHandler);
				$(btn).data("options", options);
				return btn;
			},
			handler: function(place, macroName, params, wikifier, paramString, tiddler) {
				var options = macro.getOptions(paramString);
				btnMacro.makeButton(place, options);
			}
	};
})(jQuery);
//}}}
This is the title of one of the [[Tabs]] in the [[Index]].

It is of particular use if material is being added frequently, as it lists all the [[Tiddler]]s in date order ''according to which ones have been most recently edited/worked upon'' (N.B. NOT in the order in which they have most recently been opened for reading.)
!Work in Progress

The content of this [[Dynamic, adaptive Manualization]] and its layout is ''continually being updated and improved'' by the [[Authors]], as well as by the [[Manualizing|Manualization]] efforts by local teams in the many [[local versions|http://tiddlymanuals.tiddlyspace.com/#AMBIT]] that are now being adapted.  (Your [[Feedback please!]] helps to improve things.)   If needed (e.g. for formal intervention trials) it is possible to separate out a 'fixed' version.  

|bgcolor(lightblue): Keep a track of recent changes (last 100 days) in content here (select from the drop-down list, and then click "go to"): <br> <br> <<recentChanges 100>> <br> |

<<tabs
	txtMainTab
	"Pages listed in order of recent changes" "Recently edited tiddlers" TabTimeline
        "All pages listed alphabetically" "All tiddlers" TabAll
>>
This is one of the options contained in the [[Show references and info]] panel that is accessible for every page ([[Tiddler]].)

This menu option opens a drop down pick-list of all/any  related Tiddlers that link to (or 'reference') the one you are currently studying.

For example, clicking on the [[References]] option from menu for //this// Tiddler right here will show a list of all the other Tiddlers that have [[Links]] to this one. 

!Why?

This is more obviously useful in a clinical/learning framework.  A worker might read a Tiddler about a particular subject, and use the [[References]] button to locate //associated// material from a wide variety of areas. 

Sometimes, referenced associations discovered in this way will be //unexpected//, or will have been //overlooked//, so that fostering a habit of checking for [[Integrative]] links in this way is a helpful KeyWorker practice.
/***
|''Name''|RefreshTiddlerCommand|
|''Version''|0.3.0|
***/
//{{{
(function($) {

var cmd = config.commands.refreshTiddler = {
	text: "refresh",
	locale: {
		refreshing: "Refreshing tiddler..."
	},
	tooltip: "refresh this tiddler to be the one on the server",
	handler: function(ev, src, title) {
		var tiddler = store.getTiddler(title);
		if(!tiddler) {
			tiddler = new Tiddler(title);
			merge(tiddler.fields, config.defaultCustomFields);
		}
		$(story.getTiddler(title)).find(".viewer").
			empty().text(cmd.locale.refreshing);
		var dirtyStatus = store.isDirty();
		story.loadMissingTiddler(title, {
			"server.workspace": tiddler.fields["server.recipe"]  ? "recipes/" + tiddler.fields["server.recipe"] :
				tiddler.fields["server.workspace"] || "bags/"+tiddler.fields["server.bag"],
			"server.host": tiddler.fields["server.host"],
			"server.type": tiddler.fields["server.type"]
		}, function() {
			store.setDirty(dirtyStatus);
		});
	}
};

})(jQuery);
//}}}
If you are not yet registered, go to http://tiddlyspace.com, and follow the instructions there.

This will give you a username and a password.  

In addition you get a TiddlySpace of your own.

>//NB: You don't have to do anything with that space (wiki) at all if you don't want to (just leave it blank) - it is just a personal wiki that you could use if you want one.  Some people use TiddlyWiki's as blogs, or personal websites, or - indeed - treatment manuals!//

Once you are registered, you can:
 
(a) Open/create new spaces (see the [[User menu]] for instructions on how to do this, or go straight to [[Make a new space]].) 
(b) Make other people members of spaces (if you are a member yourself!)

!Getting editing rights

If you want to be able to edit your team's local tiddlymanual, then you need to give your username (just your username, not your password!) to another person who is already a member of that space, who can add you as a member, using the [[Space menu]] for that manual.  See [[Making someone a member of a space]].
<!--{{{-->
<div macro='slideRevision'></div>
<div class='heading'>
	<span class="titleBar">
		<div class='title' macro='view title text'></div>
	</span>
	<span class='modifierIcon'
		macro='view modifier SiteIcon label:no height:48 width:48 preserveAspectRatio:yes'>
	</span>
	<div class='toolbar'
		macro='toolbar [[ToolbarCommands::RevisionToolbar]] icons:yes height:48 width:48 more:popup'>
	</div>
	<div class='tagClear'></div>
</div>
<div class='content'>
	<div class='viewer' macro='view text wikified'></div>
</div>
<div class='tagInfo'>
	<div class='tidTags' macro='tags'></div>
	<div class='tagging' macro='tagging'></div>
</div>
<!--}}}-->
/***
|''Name''|RevisionsCommandPlugin|
|''Description''|provides access to tiddler revisions|
|''Author''|FND|
|''Contributors''|Martin Budden|
|''Version''|0.3.3|
|''Status''|@@beta@@|
|''Source''|http://svn.tiddlywiki.org/Trunk/association/plugins/RevisionsCommandPlugin.js|
|''CodeRepository''|http://svn.tiddlywiki.org/Trunk/association/plugins/|
|''License''|[[BSD|http://www.opensource.org/licenses/bsd-license.php]]|
|''CoreVersion''|2.6.0|
|''Keywords''|serverSide|
!Usage
Extend [[ToolbarCommands]] with {{{revisions}}}.
!Revision History
!!v0.1 (2009-07-23)
* initial release (renamed from experimental ServerCommandsPlugin)
!!v0.2 (2010-03-04)
* suppressed wikification in diff view
!!v0.3 (2010-04-07)
* restored wikification in diff view
* added link to side-by-side diff view
!To Do
* strip server.* fields from revision tiddlers
* resolve naming conflicts
* i18n, l10n
* code sanitizing
* documentation
!Code
***/
//{{{
(function($) {

jQuery.twStylesheet(".diff { white-space: pre, font-family: monospace }",
	{ id: "diff" });

var cmd = config.commands.revisions = {
	type: "popup",
	hideShadow: true,
	text: "revisions",
	tooltip: "display tiddler revisions",
	revTooltip: "", // TODO: populate dynamically?
	loadLabel: "loading...",
	loadTooltip: "loading revision list",
	selectLabel: "select",
	selectTooltip: "select revision for comparison",
	selectedLabel: "selected",
	compareLabel: "compare",
	linkLabel: "side-by-side view",
	revSuffix: " [rev. #%0]",
	diffSuffix: " [diff: #%0 #%1]",
	dateFormat: "YYYY-0MM-0DD 0hh:0mm",
	listError: "revisions could not be retrieved",

	handlePopup: function(popup, title) {
		title = this.stripSuffix("rev", title);
		title = this.stripSuffix("diff", title);
		var tiddler = store.getTiddler(title);
		var type = _getField("server.type", tiddler);
		var adaptor = new config.adaptors[type]();
		var limit = null; // TODO: customizable
		var context = {
			host: _getField("server.host", tiddler),
			workspace: _getField("server.workspace", tiddler)
		};
		var loading = createTiddlyButton(popup, cmd.loadLabel, cmd.loadTooltip);
		var params = { popup: popup, loading: loading, origin: title };
		adaptor.getTiddlerRevisionList(title, limit, context, params, this.displayRevisions);
	},

	displayRevisions: function(context, userParams) {
		removeNode(userParams.loading);
		if(context.status) {
			var callback = function(ev) {
				var e = ev || window.event;
				var revision = resolveTarget(e).getAttribute("revision");
				context.adaptor.getTiddlerRevision(tiddler.title, revision, context,
					userParams, cmd.displayTiddlerRevision);
			};
			var table = createTiddlyElement(userParams.popup, "table");
			for(var i = 0; i < context.revisions.length; i++) {
				var tiddler = context.revisions[i];
				var row = createTiddlyElement(table, "tr");
				var timestamp = tiddler.modified.formatString(cmd.dateFormat);
				var revision = tiddler.fields["server.page.revision"];
				var cell = createTiddlyElement(row, "td");
				createTiddlyButton(cell, timestamp, cmd.revTooltip, callback, null,
					null, null, { revision: revision });
				cell = createTiddlyElement(row, "td", null, null, tiddler.modifier);
				cell = createTiddlyElement(row, "td");
				createTiddlyButton(cell, cmd.selectLabel, cmd.selectTooltip,
					cmd.revisionSelected, null, null, null,
					{ index:i, revision: revision, col: 2 });
				cmd.context = context; // XXX: unsafe (singleton)!?
			}
		} else {
			$("<li />").text(cmd.listError).appendTo(userParams.popup);
		}
	},

	revisionSelected: function(ev) {
		var e = ev || window.event;
		e.cancelBubble = true;
		if(e.stopPropagation) {
			e.stopPropagation();
		}
		var n = resolveTarget(e);
		var index = n.getAttribute("index");
		var col = n.getAttribute("col");
		while(!index || !col) {
			n = n.parentNode;
			index = n.getAttribute("index");
			col = n.getAttribute("col");
		}
		cmd.revision = n.getAttribute("revision");
		var table = n.parentNode.parentNode.parentNode;
		var rows = table.childNodes;
		for(var i = 0; i < rows.length; i++) {
			var c = rows[i].childNodes[col].firstChild;
			if(i == index) {
				if(c.textContent) {
					c.textContent = cmd.selectedLabel;
				} else {
					c.text = cmd.selectedLabel;
				}
			} else {
				if(c.textContent) {
					c.textContent = cmd.compareLabel;
				} else {
					c.text = cmd.compareLabel;
				}
				c.onclick = cmd.compareSelected;
			}
		}
	},

	compareSelected: function(ev) {
		var e = ev || window.event;
		var n = resolveTarget(e);
		var context = cmd.context;
		context.rev1 = n.getAttribute("revision");
		context.rev2 = cmd.revision;
		context.tiddler = context.revisions[n.getAttribute("index")];
		context.format = "unified";
		context.adaptor.getTiddlerDiff(context.tiddler.title, context,
			context.userParams, cmd.displayTiddlerDiffs);
	},

	displayTiddlerDiffs: function(context, userParams) {
		var tiddler = context.tiddler;
		tiddler.title += cmd.diffSuffix.format([context.rev1, context.rev2]);
		tiddler.text = "{{diff{\n" + context.diff + "\n}}}";
		tiddler.tags = ["diff"];
		tiddler.fields.doNotSave = "true"; // XXX: correct?
		if(!store.getTiddler(tiddler.title)) {
			store.addTiddler(tiddler);
		}
		var src = story.getTiddler(userParams.origin);
		var tiddlerEl = story.displayTiddler(src, tiddler);
		var uri = context.uri.replace("format=unified", "format=horizontal");
		var link = $('<a target="_blank" />').attr("href", uri).text(cmd.linkLabel);
		$(".viewer", tiddlerEl).prepend(link);
	},

	displayTiddlerRevision: function(context, userParams) {
		var tiddler = context.tiddler;
		tiddler.title += cmd.revSuffix.format([tiddler.fields["server.page.revision"]]);
		tiddler.fields.doNotSave = "true"; // XXX: correct?
		if(!store.getTiddler(tiddler.title)) {
			store.addTiddler(tiddler);
		}
		var src = story.getTiddler(userParams.origin);
		story.displayTiddler(src, tiddler);
	},

	stripSuffix: function(type, title) {
		var str = cmd[type + "Suffix"];
		var i = str.indexOf("%0");
		i = title.indexOf(str.substr(0, i));
		if(i != -1) {
			title = title.substr(0, i);
		}
		return title;
	}
};

var _getField = function(name, tiddler) {
	return tiddler.fields[name] || config.defaultCustomFields[name];
};

})(jQuery);
//}}}
!What is this for?
The Snapshot is a simple and immediate way to make a record of a page or a set of pages that you have opened and want to be able to share...   It allows you to generate a link (a "URL") that you can email to anyone, which will open just those pages that you have got opened on your [[Desktop]] at this time.   

This is one of a number of [[Comparing and Sharing functions]] that [[TiddlyManual]]s contain.

!What do I do?
1. Get the page or pages that you are interested in opened up on your [[Desktop]].
2. Open the [[Sidebar]] and find the little Camera icon beside the [[Currently Open]] list:

<html><a href="https://picasaweb.google.com/lh/photo/wScWtP2SLM_Y_qQpeqI5t9MTjNZETYmyPJy0liipFm0?feat=embedwebsite"><img src="https://lh3.googleusercontent.com/-7DBn-KiG2js/T2DZuajleJI/AAAAAAAAEC0/rrx_sX9DYZ4/s800/SnapshotButton.jpg" height="414" width="575" /></a></html>

3. Click the SNAPSHOT button 
4. Have a look at your browser's Address box (where the web address or "URL" goes that sends the browser to the right web page.)
5. Copy the new URL (web address) that is in the browser's address box.
6. Paste that address into the body of an email (or anywhere you want to save it).
7. Next time you or the person who receives the email click that link, it will open the manual with exactly those same pages already opened up.

!Why?
This can be very helpful in [[Team Meetings]] or in supervision sessions: case discussion may involve looking at content from the manual and this can be emailed directly to the worker.
This function is also known as "permaview" - clicking here <<permaview>> does exactly the same thing (try it!)
When you are editing your ''online'' version of the manual saving of any changes you make is AUTOMATIC - this will happen as long as you are;

(a) ''__REGISTERED__'' as a user of Tiddlyspace (you will need to define a username and a password to do this - [[Register on TiddlySpace]].)
(b) ''__A MEMBER__'' of the space you are editing (this will require someone who is ALREADY a member of the space to make you a member.  See the [[Space menu]] for more details. 
(c) ''__LOGGED__'' in as a user (see [[Log in]].)

!Saving in downloaded versions

If you are playing with a DOWNLOADED version of the manual, then at present you will not be able to edit and save content - this is because the developers are working to make local saving of a downloaded copy robust and simple enough to support the use of downloaded copies of the manual as "workbooks".  When this is done (later in 2011) working notes on the client will be able to be made within the wiki, stored securely on a local server (not online!) and will easily export notes to other settings such as paper (print-outs) or other secure databases.  This will bring manualized content into direct proximity with day-to-day notekeeping (we refer to this //developing// function as [[ICR]] - interactive case recording.)


!What?
The Search facility is simple, but cleverer than it looks at first.  In particular it lets you search for a word or phrase either just in your OWN manual, or //across all the different versions// of (the AMBIT or other) [[TiddlyManual]]s that are included in the "[[Community of Practice]]" that AMBIT in particular seeks to foster.  It is one of the ways that the AMBIT manual encourages workers and separate teams with [[Comparing and Sharing functions]].

<html><iframe width="480" height="360" src="http://www.youtube.com/embed/1fkROEXtaI8?rel=0" frameborder="0" allowfullscreen></iframe></html>
!Where?
Find the search box at the top of the [[Sidebar]] on the left of your screen (you may need to toggle the sidebar into view if it has been tucked away.) 
!How?
Just type in the word or phrase you are looking for and it will automatically open up a list of all the [[Tiddler]]s which contain it, with the word highlighted in each one - if it is a long list, then there will be a little scroll bar to help to scan up and down the list to select the title tat you are interested in.
//''NB'' - It searches only for the precise phrase you type in, not the same words but in different combinations (if you search for "red apples" you won't turn up "green apples and red tomatoes".)
!!Searching across OTHER team's versions
If you click the little checkbox just above the main search box that is labelled ''//"search all manuals"//'' you will see additional titles of other versions of the manual listed.
!Why?
This makes it easy to search for content in your own manual, but is also designed to foster curiosity in workers from //one// team, about the ways that workers from //another// team manage particular areas of practice
/***
|''Name''|ServerSideSavingPlugin|
|''Description''|server-side saving|
|''Author''|FND|
|''Version''|0.6.5|
|''Status''|stable|
|''Source''|http://svn.tiddlywiki.org/Trunk/association/plugins/ServerSideSavingPlugin.js|
|''License''|[[BSD|http://www.opensource.org/licenses/bsd-license.php]]|
|''CoreVersion''|2.5.3|
|''Keywords''|serverSide|
!Notes
This plugin relies on a dedicated adaptor to be present.
The specific nature of this plugin depends on the respective server.
!Revision History
!!v0.1 (2008-11-24)
* initial release
!!v0.2 (2008-12-01)
* added support for local saving
!!v0.3 (2008-12-03)
* added Save to Web macro for manual synchronization
!!v0.4 (2009-01-15)
* removed ServerConfig dependency by detecting server type from the respective tiddlers
!!v0.5 (2009-08-25)
* raised CoreVersion to 2.5.3 to take advantage of core fixes
!!v0.6 (2010-04-21)
* added notification about cross-domain restrictions to ImportTiddlers
!To Do
* conflict detection/resolution
* rename to ServerLinkPlugin?
* document deletion/renaming convention
!Code
***/
//{{{
(function($) {

readOnly = false; //# enable editing over HTTP

var plugin = config.extensions.ServerSideSavingPlugin = {};

plugin.locale = {
	saved: "%0 saved successfully",
	saveError: "Error saving %0: %1",
	saveConflict: "Error saving %0: edit conflict",
	deleted: "Removed %0",
	deleteError: "Error removing %0: %1",
	deleteLocalError: "Error removing %0 locally",
	removedNotice: "This tiddler has been deleted.",
	connectionError: "connection could not be established",
	hostError: "Unable to import from this location due to cross-domain restrictions."
};

plugin.sync = function(tiddlers) {
	tiddlers = tiddlers && tiddlers[0] ? tiddlers : store.getTiddlers();
	$.each(tiddlers, function(i, tiddler) {
		var changecount = parseInt(tiddler.fields.changecount, 10);
		if(tiddler.fields.deleted === "true" && changecount === 1) {
			plugin.removeTiddler(tiddler);
		} else if(tiddler.isTouched() && !tiddler.doNotSave() &&
				tiddler.getServerType() && tiddler.fields["server.host"]) { // XXX: server.host could be empty string
			delete tiddler.fields.deleted;
			plugin.saveTiddler(tiddler);
		}
	});
};

plugin.saveTiddler = function(tiddler) {
	try {
		var adaptor = this.getTiddlerServerAdaptor(tiddler);
	} catch(ex) {
		return false;
	}
	var context = {
		tiddler: tiddler,
		changecount: tiddler.fields.changecount,
		workspace: tiddler.fields["server.workspace"]
	};
	var serverTitle = tiddler.fields["server.title"]; // indicates renames
	if(!serverTitle) {
		tiddler.fields["server.title"] = tiddler.title;
	} else if(tiddler.title != serverTitle) {
		return adaptor.moveTiddler({ title: serverTitle },
			{ title: tiddler.title }, context, null, this.saveTiddlerCallback);
	}
	var req = adaptor.putTiddler(tiddler, context, {}, this.saveTiddlerCallback);
	return req ? tiddler : false;
};

plugin.saveTiddlerCallback = function(context, userParams) {
	var tiddler = context.tiddler;
	if(context.status) {
		if(tiddler.fields.changecount == context.changecount) { //# check for changes since save was triggered
			tiddler.clearChangeCount();
		} else if(tiddler.fields.changecount > 0) {
			tiddler.fields.changecount -= context.changecount;
		}
		plugin.reportSuccess("saved", tiddler);
		store.setDirty(false);
	} else {
		if(context.httpStatus == 412) {
			plugin.reportFailure("saveConflict", tiddler);
		} else {
			plugin.reportFailure("saveError", tiddler, context);
		}
	}
};

plugin.removeTiddler = function(tiddler) {
	try {
		var adaptor = this.getTiddlerServerAdaptor(tiddler);
	} catch(ex) {
		return false;
	}
	var context = {
		host: tiddler.fields["server.host"],
		workspace: tiddler.fields["server.workspace"],
		tiddler: tiddler
	};
	var req = adaptor.deleteTiddler(tiddler, context, {}, this.removeTiddlerCallback);
	return req ? tiddler : false;
};

plugin.removeTiddlerCallback = function(context, userParams) {
	var tiddler = context.tiddler;
	if(context.status) {
		if(tiddler.fields.deleted === "true") {
			store.deleteTiddler(tiddler.title);
		} else {
			plugin.reportFailure("deleteLocalError", tiddler);
		}
		plugin.reportSuccess("deleted", tiddler);
		store.setDirty(false);
	} else {
		plugin.reportFailure("deleteError", tiddler, context);
	}
};

plugin.getTiddlerServerAdaptor = function(tiddler) { // XXX: rename?
	var type = tiddler.fields["server.type"] || config.defaultCustomFields["server.type"];
	return new config.adaptors[type]();
};

plugin.reportSuccess = function(msg, tiddler) {
	displayMessage(plugin.locale[msg].format([tiddler.title]));
};

plugin.reportFailure = function(msg, tiddler, context) {
	var desc = (context && context.httpStatus) ? context.statusText :
		plugin.locale.connectionError;
	displayMessage(plugin.locale[msg].format([tiddler.title, desc]));
};

config.macros.saveToWeb = { // XXX: hijack existing sync macro?
	locale: { // TODO: merge with plugin.locale?
		btnLabel: "save to web",
		btnTooltip: "synchronize changes",
		btnAccessKey: null
	},

	handler: function(place, macroName, params, wikifier, paramString, tiddler) {
		createTiddlyButton(place, this.locale.btnLabel, this.locale.btnTooltip,
			plugin.sync, null, null, this.locale.btnAccessKey);
	}
};

// hijack saveChanges to trigger remote saving
var _saveChanges = saveChanges;
saveChanges = function(onlyIfDirty, tiddlers) {
	if(window.location.protocol == "file:") {
		_saveChanges.apply(this, arguments);
	} else {
		plugin.sync(tiddlers);
	}
};

// override removeTiddler to flag tiddler as deleted -- XXX: use hijack to preserve compatibility?
TiddlyWiki.prototype.removeTiddler = function(title) { // XXX: should override deleteTiddler instance method?
	var tiddler = this.fetchTiddler(title);
	if(tiddler) {
		tiddler.tags = ["excludeLists", "excludeSearch", "excludeMissing"];
		tiddler.text = plugin.locale.removedNotice;
		tiddler.fields.deleted = "true"; // XXX: rename to removed/tiddlerRemoved?
		tiddler.fields.changecount = "1";
		this.notify(title, true);
		this.setDirty(true);
	}
};

// hijack ImportTiddlers wizard to handle cross-domain restrictions
var _onOpen = config.macros.importTiddlers.onOpen;
config.macros.importTiddlers.onOpen = function(ev) {
	var btn = $(resolveTarget(ev));
	var url = btn.closest(".wizard").find("input[name=txtPath]").val();
	if(window.location.protocol != "file:" && url.indexOf("://") != -1) {
		var host = url.split("/")[2];
		var macro = config.macros.importTiddlers;
		if(host != window.location.host) {
			btn.text(macro.cancelLabel).attr("title", macro.cancelPrompt);
			btn[0].onclick = macro.onCancel;
			$('<span class="status" />').text(plugin.locale.hostError).insertAfter(btn);
			return false;
		}
	}
	return _onOpen.apply(this, arguments);
};

})(jQuery);
//}}}
Knowing about these is of little use to the everyday Tiddlymanual user.

The "Shadows" [[tab|Tabs]] in the [[Index]] lists all of the [[Tiddler]]s that are '''built in''', to make the TiddlyWiki format run properly - you can write over them but this will generally break stuff, so it is not recommended!  (If you do by accident, then you can always just delete your local version and "our" original version which yours had overwritten will just "pop back" into place - so you can't break anything permanently!)  

Mostly shadow tiddlers do the boring but necessary work of making the tiddlywiki run properly - but an example that you can (and generally do) change is, say, the SiteTitle.  
!A //"Mentalize this!"// function for each page...
Here you can look at "what lies beneath" a page; its "meta-data" - i.e.  its ''context'' (how it fits in to the whole), its ''connections'' (''references'' to this page from others in the form of [[Links]], and its [[Topic]]s and [[Sub-topic]]s), and its history -  how it has been developed over time, other versions, etc...  This kind of musing about the content has lots in common with our core theory of [[Mentalization]].

!How do I find this on a page?
You will find that every page ([[Tiddler]]) has an additional panel that you reveal by clicking in the black box (titled "Show references and info") just to the right of the main title.  When you click on this, the panel slides open up to reveal a number of headings, that give you information about this page and how it fits together with the rest of what is in the manual:

!Headings in the "Show references and info" panel:

!!!@@color(blue):Information@@
Under this heading you can look at:
* Who has ''Edited'' the content of the tiddler
* ''When'' it was edited last
* You can browse the history of ''revisions'' that led to it arriving in its present form (note that [[TiddlyManual]]s emphasise the fact that all treatments are "works in progress".)
* Any ''References'' to this tiddler in the form of [[Links]] to it from other tiddlers - ''this is a useful way to look for other material that is likely to be covering similar or neighbouring territory.''

!!!@@color(blue):Elsewhere - Comparing@@
[[TiddlyManual]]s are designed to provide a platform //for teams to work out their own implementation of best practice//, and they provide a number of [[Comparing and Sharing functions]] so that workers from one team can easily compare/contrast their methods of working with those of other teams, and can //share best practice// among a geographically and culturally diverse [[Community of Practice]]. 

You can see also [[Manualization]], which explains how a //locally-adapted// [[TeamTemplate]] is produced, that describes how //THIS team, working with THESE problems, in THIS setting// is working.  This adds up to a [[Dynamic, adaptive Manualization]] that grows and differentiates over time, as experience and evidence accumulates, while best new practices can be shared more widely and more quickly as required.

Using the buttons in the ''__Elsewhere__'' menu, content that diverges between different versions of the manual (different [[TeamTemplate]]s) can be ''compared'':
  
*If there are different versions available, you can click on the 'Compare' button, and you will see a drop-down list of other versions of the same tiddler in different "spaces" (tiddlymanuals).  
*Click on any item within this list that you want to compare to your own page.
*A new tab will immediately open in your browser, that shows //both versions of the page// you are comparing, side-by-side, with changes (deletions, additions, etc) highlighted in colours (the user interface of this comparing is due to improve in late 2012.)
 
!!!@@color(blue):Sub-topics@@
[[Tiddler]]s in a TiddlyManual are arranged in flexible hierarchies.  Under ''"This topic contains these sub-topics:"'' you will find links to any tiddlers that are classified as "[[Sub-topic]]s" of the tiddler you are looking at.  For instance, if the tiddler you were looking at was titled "Birds" you might find as sub-topics "Sparrows", "Hawks", "Crows".  

However, "Hawks" might //itself// have sub-topics, too.  If you looked at its own "Show Related Information" menu these would show up ("Kestrels", Sparrowhawks", etc).  

If you are [[Edit]]ing content, it is worth knowing that to produce [[Sub-topic]]s of Tiddler "A" you would [[tag|Tags]] them with the title of the [[Topic]] ("A", in this case.)  The same tiddler can thus be a Sub-topic, as well as being a Topic heading itself (with its own sub-topics.)

!!!@@color(blue):Topics@@
The heading ''"This topic is a sub-topic of:"'' shows you which other tiddlers are [[tagging|Tags]] //this particular Tiddler// - these are the 'Topic headlines' that this tiddler stands beneath.
<<closeAll>><<permaview>><<newTiddler>>
<<tiddler Backstage##Tiddlers>>
This is to the left of your screen.  You can make it appear or slide out of view by clicking the triangle on the little tab at the top.

The Sidebar is where you can navigate and order the material in the manual so that on your [[Desktop]] you have gathered only what you are interested in, and you can jump from page to page.  The following tools are here:

!SEARCH

[[Search]] box

!HISTORY

[[History recorder]]

!CURRENTLY OPEN

The [[Currently Open]] list shows you the pages you have opened on your [[Desktop]], and includes the camera icon button for the [[SNAPSHOT]] function.

!CONTENT

Here you will see an unfolding 'tree' view of all the contents of the manual.  Click on the + sign by a heading, and the sub-headings under that topic will open out - click on the words and the page will open on your [[Desktop]].  You can also look at this on a separate page ([[Contents/Sitemap]].)

/***
|''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|
!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);
		if(matches.length > 0) { // XXX: redundant!?
			createTiddlyButton(el, this.btnOpenLabel, this.btnOpenTooltip, config.extensions.SimpleSearchPlugin.openAll, "button", this.btnOpenId);
		}
		wikify(msg, el);
	},

	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;
	}
};

// 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"
//}}}
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
This is a plugin space for inclusion containing the following ~TiddlyWiki plugin from [[FND|http://devpad.tiddlyspot.com/#SimpleSearchPlugin]]:
*SimpleSearchPlugin
{{annotation{
''Note:'' I recommended to use this space in combination with and as an extension for [[GotoPlugin|http://GotoPlugin.tiddlyspace.com]]
}}}
A "TiddlyWiki" help site for understanding how to use this TiddlyManual
ambit-help
this website site, referenced by the NHS [[Armchair Involvement project]] site, lists 50 hurdles or barriers to large public organisations making best use of web 2.0 technology.  It is a helpful resource in negotiating for large organisations to allow for simple changes to I.T. systems to support the best use of the unfolding capabilities of the web.

<html><div align="center"><iframe src="http://web.archive.org/web/20091107041114/http://www.practicalparticipation.co.uk/socialstrategy/barriers:start" frameborder="0" width="100%" height="600"></iframe></div></html>

Most of what is here is ''only useful to advanced users'', and it is only available if you are using the manual in [[Advanced mode]].  

!Finding the Space menu

The Space menu is found on the [[Top menu bar]], that you can access in [[Advanced mode]] (click the little "target" symbol, and select ''"THIS SPACE"'').

!Menu contents

In the panel that opens, you can see:
* ''//information about the space//'', 
* information about ''//members of the space//'' (and you can [[add or subtract members|Making someone a member of a space]] if you are a member yourself).
* you can ''//[[include|Including spaces]] (or exclude) other spaces//'' here, too (but this is definitely a "high level" interaction, not for beginners, and is likely to interfere with the functioning of other bits of the manual, even though it is perfectly reversible!)

!To GET OUT of SPACE Menu

Click the button (top right) in the menu panel that says "HOME".

!Upload an icon
<<tiddler spaceIcon>>
!Describe your space
If you haven't already done so, you should provide a brief decscription of yourself and what you're using this space for. To do this, just edit the [[SiteInfo]] tiddler (keeping the title the same of course).

!Change the title
<<tiddler spaceTitle>>
!Change the theme
<<tiddler colorScheme>>
!Change the menu
If you'd like to change the menu items along the top, you can edit the [[MainMenu]] tiddler.

!Change the default tiddlers
<<tiddler setDefaultTiddlers>>
!More Advanced customisations
If you know HTML and CSS, you can edit some or all of the following tiddlers to customise your space further:
* PageTemplate
* EditTemplate
* ViewTemplate
* StyleSheet
A Space is what the web-based 'TiddlySpace' provides to host your [[Wiki]].

Read about TiddlySpace to understand the broader picture.
A Space can belong to a single member, or that member can make other people members (see [[Making someone a member of a space]]). 
If there is more than one person as members of a particular Space this is what the TiddlySpace developers call a 'small trusted group' - all of whom have equal rights (just as giving someone a key to the door of the office or your home would entail some trust.)

!Spaces can include other spaces!
What is neat about TiddlySpace is that ''one Space can include OTHER spaces'' (that is, the [[Public]] content from wikis that are curated by other people.)
These included Spaces might add //content//, //themes// (which determine how the wiki looks and behaves), or extra //functions//.
In the [[Index]], one of the [[Tabs]] you will see is Spaces, adn this lists all the Spaces that are INCLUDED in the present one to give you the nd reulst you are looking at.
If you are an advanced user, you may want to know about [[Including spaces]] to add further content/functions to your own wiki.
* To prevent the wiki 'markup syntax' (what we are calling the "EditingConventions") from taking effect for a particular section, that section can be enclosed in three double curly brackets: e.g. {{{"""WikiWord"""}}}.
* {{{<br>}}} forces a manual line break in a block of text
* {{{----}}} at the beginning of a line creates a horizontal ruler across the whole page - like this:
----
* [[HTML entities|http://www.tiddlywiki.com/#HtmlEntities]]
* {{{<<macroName>>}}} calls the respective [[macro|Macros]]
* ''To hide text within a tiddler so that it is not displayed'', it can be wrapped in {{{/%}}} and {{{%/}}}.<br/>This can be a useful trick for hiding drafts or annotating complex markup.
----
CSS programming for really fancy formating (complicated!)
* {{{@@CssProperty:value;CssProperty:value;…@@}}}<br>''N.B.:'' CSS color definitions should use lowercase letters to prevent the inadvertent creation of WikiWords.
* <html><code>{{customCssClass{…}}}</code></html>
* raw HTML can be inserted by enclosing the respective code in HTML tags: {{{<html> … </html>}}}
Click the "new tiddler" button towards the top right of the screen to write something in your space. You'll need to give it a title, some content and, optionally, some tags that will help you identify it later.

!Stuck for ideas?
Not sure what to write about? Not sure what to keep in your space? Other people use ~TiddlySpace for almost anything. How about some of the following:

* [[Save interesting sites|http://bookmarks.tiddlyspace.com]], images or articles from around the web so that you can refer back to them.
* [[Record your family tree|http://familytree.tiddlyspace.com]], store notes on long lost relatives or ancestors and map their relationship to you.
* [[Make up a pocketbook|http://pocketbook.tiddlyspace.com]] to store some useful information in, then print it out, [[fold it up|http://www.pocketmod.com/]], and take it with you.
* [[Plan your holiday|http://the-web-is-your-oyster.tiddlyspace.com/]], record where you're planning to go, note down places of interest and refer back to it later.
* [[Create a mindmap|http://mindmaps.tiddlyspace.com/]] to visualise your inner thoughts and see how they relate to each other.
* [[Set up a questionnaire|http://questionnaire.tiddlyspace.com/]] and get all your friends to answer it.

If you don't like any of those ideas, you can still use this space directly to keep notes and link them together, make a todo list and keep track of everything you're doing, or any one of a hundred million other things.

Still stuck? Check out the @featured space for more suggestions.

You can also [[socialise with others|How to socialise]].
[[StyleSheetTiddlySpace]]
/*{{{*/
.tiddler .originButton div {
	display: inline-block;
}

.tiddler .spaceSiteIcon .siteIcon {
	_display: inline; /* IE doesn't like inline-block */
}

.tiddler .originButton {
	display: block;
}

.selected .tagging,
.selected .tagging:hover {
	border: none;
	background: none;
}

.tagging {
	float: none;
	background: none;
	border: none;
}

.tagging li.listTitle {
	margin-left: 0px;
}
.tagging li {
	margin: 0 8px;
}

.tagging .tiddlyLink {
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	-o-border-radius: 3px;
	border-radius: 3px;
	padding: 1px 2px;
	line-height: 1.2em;
}

/* for following */
#popup .siteIcon {
	float: left;
	height: 25px;
}

.content {
	width: 100%; /* IE */
	font-size: 0.9em;
}

.editorHeading {
	height: 48px;
}

.heading {
	left: 0;
	margin-bottom: 40px;
	position: relative;
	top: 32px;
}

.followButton a {
	display: block;
	margin-top: -20px;
}

.tiddler .followPlaceHolder {
	display: block;
	position: absolute;
	top: 16px;
	right: 64px;
	_right: 138px; // add width of modifierIcon
}

.tiddler .followButton {
	position: relative;
	height: 24px;
	text-align: left;
	color: #fff;
	background: [[ColorPalette::PrimaryMid]];
	padding: 10px 0px 0px 10px;
	width: 38px;
	margin: -16px -8px 24px 0;
}

/* creates the larger triangle */
.followButton:before {
	content: "\00a0";
	display: block; /* reduce the damage in FF3.0 */
	position: relative;
	bottom: -20px;
	right: 0;
	width: 0;
	height: 0;
	border-width: 0 0 20px 20px;
	border-style: solid;
	border-color: transparent [[ColorPalette::PrimaryMid]];
}

.toolbar svg {
	height: 16px;
	width: 16px;
}

.toolbar svg .glyph {
	fill: #ccc;
}

.toolbar a:hover .glyph {
	fill: black;
}

.toolbar a:active .glyph {
	fill: [[ColorPalette::Background]];
}

.originButton,
.followPlaceHolder,
.tiddler .subtitle {
	cursor: pointer;
}

.editSpaceSiteIcon .originButton {
	cursor: auto;
}

.tiddler .subtitle:hover {
	font-weight: bold;
	background: none;
}

.originButton img,
.originButton svg {
	margin-left: 0px;
}

.modifierIcon {
	position: absolute;
	width: 74px;
	top: 0px;
	right: 0px;
	_right: 74px; /* in IE6 positioning works incorrectly so use -width instead */
	text-align: right;
}

.modifierIcon img,
.modifierIcon svg {
	margin-right: 8px;
}

.tiddler .viewer {
	padding-bottom: 16px;
	margin: 0 0 0 56px;
	line-height: 1.4em;
}

.viewer pre {
	margin-left: 0;
}

.siteIcon .label {
	color: [[ColorPalette::TertiaryDark]];
}

.tiddler .spaceSiteIcon {
	float: left;
	margin-right: 0;
	margin-top: 0;
	position: relative;
	display: block;
}

.tiddler .titleBar {
	display: block;
	margin-right: 136px;
	margin-left: 56px;
}

.followButton a {
	color: [[ColorPalette::Background]];
}

.tiddler {
	position: relative;
	padding: 0;
	margin-bottom: 3em;
	border-top: 3px solid [[ColorPalette::PrimaryMid]];
	background: #fff;
}

.tiddler .editor {
	padding: 0px 8px;
}

.tiddler .heading .title {
	position: relative;
	display: block;
	word-wrap: break-word;
	font-size: 32px;
	line-height: 32px;
}
.tiddler .heading .editor.title {
	font-size: 1.7em;
	line-height: normal;
}

.tiddler .headingClear {
	clear: both;
}

.tiddler .subtitle {
	font-style: italic;
	font-size: 0.9em;
	color: #a6a59e;
	margin-top: 0;
}

.toolbar {
	position: absolute;
	padding: 0;
	top: 8px;
	right: -8px;
}

.toolbar .moreCommand.highlight {
	background: none;
}

.tiddler .toolbar .button {
	border: none;
	display: inline;
	padding: 0px;
	margin-right: 16px;
}

.tiddler .toolbar a:hover {
	background: none;
}

.tiddler .tagged .listTitle {
	display: none;
}

.revButton {
	float: right;
}

/*! EditTemplate specific*/
.tiddler .privacySettings {
	text-align: center;
}
.tiddler .privacySettings .originButton {
	display: inline;
}

.editSpaceSiteIcon, .privacyEdit {
	float: left;
}

.editSpaceSiteIcon svg,
.editSpaceSiteIcon img,
.editSpaceSiteIcon .roundelLabel {
	float: left;
}

.tagTitle {
	position: absolute;
	text-align: center;
	width: 48px;
	top: 0px;
	left: -56px;
}

.editSpaceSiteIcon .originButton img,
.editSpaceSiteIcon .originButton svg {
	height: 16px;
	margin-left: 24px;
	margin-right: 32px;
	width: 16px;
}

.tagAnnotation {
	margin-top: 8px;
	padding-bottom: 8px;
}
.annotationsBox {
	margin-top: 8px;
}

.editorFooter {
	position: relative;
	padding: 0;
	margin-top: 16px;
	margin-left: 64px;
}

.tiddler .editorFooter .editor {
	padding-left: 0px;
}

.heading .editor input {
	width: 100%;
	font-size: 1.5em;
}

.spaceSiteIcon .externalImage .image a:hover,
.modifierIcon .externalImage .image a:hover {
	background: none;
}

div.toolbar {
	visibility:hidden;
	right:-16px;
}

.selected div.toolbar {
	visibility: visible;
}

.followButton a:hover {
	background: [[ColorPalette::PrimaryMid]];
	text-decoration: underline;
}

a.image:hover {
	background: transparent;
}

@media all and (max-device-width: 480px) {
	div.toolbar {
		visibility:visible;
	}
}
@media only screen and (device-width: 768px) {
	div.toolbar {
		visibility:visible;
	}
}
@media all and (max-width: 960px) {
	.tiddler .titleBar {
		margin-left: 36px;
		margin-right: 80px;
	}

	.tiddler .heading {
		margin-bottom: 48px;
	}

	.tiddler .heading .title {
		font-size: 32px;
		line-height: 32px;
	}

	.tiddler .modifierIcon img,
	.tiddler .modifierIcon svg,
	.tiddler .spaceSiteIcon .originButton img,
	.originButton svg {
		width: 32px;
		height: 32px;
		margin-left: 0px;
		margin-right: 0px;
	}

	.tiddler .followPlaceHolder {
		right: 48px;
	}

	.tiddler .followButton {
		width: 24px;
	}

	.tiddler .viewer {
		margin: 0px 0px 0px 36px;
		padding-top: 0;
	}

	br {
		line-height: 0.5em;
	}
}
/*}}}*/
/*{{{*/
body {
	font-size: 1em;
	font-family: helvetica, arial, sans-serif;
	background-color: #fff;
	color: [[ColorPalette::Foreground]];
}

body ul { margin: 0; }

#popup {
	background-color: [[ColorPalette::TertiaryPale]];
}

#popup.confirmationPopup, .followList {
	font-size: 0.8em;
	padding: 1em;
	border: solid 1px [[ColorPalette::SecondaryMid]];
	background-color: [[ColorPalette::SecondaryPale]];
}

.followList .listTitle {
	text-decoration: underline;
}

#popup .followTiddlersList a {
	display: inline;
	padding: 0;
}

#popup li a {
	color: [[ColorPalette::PrimaryMid]];
	font-weight: bold;
}

#popup li a:hover {
	color: [[ColorPalette::PrimaryPale]];
	background: [[ColorPalette::PrimaryMid]];
}

#popup li.listTitle {
	border-bottom: 1px solid #000;
	font-weight: bold;
	margin-bottom: 10px;
}

#popup.followList {
	margin-left: 50px;
	margin-top: -30px;
}

.followTiddlersList .label {
	display: block;
	left: 10px;
	top: 0px;
	line-height: 16px;
	position: relative;
}

#popup .followTiddlersList .siteIcon{
	height: auto;
}

#popup .followTiddlersList li{
	clear: both;
	display: block;
	height: 48px;
	margin-bottom: 8px;
	position: relative;
}

#popup .followTiddlersList a{
	display: inline;
}

#displayArea {
	margin: 0;
	top: 0px;
	left: 0px;
	width: 100%;
	position: relative;
}

.revisionCloak {
	position: absolute;
	position: fixed !important;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	border: 0;
	margin: 0;
	padding: 0;
	opacity: 0.5;
	filter: alpha(opacity=50);
	background-color: #000;
}

/* *** Header *** */
.header {
	position: relative;
	background-color: [[ColorPalette::PrimaryMid]];
	_width: 100%; /* ie 6 demands */
}

.headerForeground {
	background-color: [[ColorPalette::PrimaryMid]];
	float: left;
	margin: 24px 16px 0px 72px;
	padding: 0;
	position: relative;
	top: 0;
	_width: 70%; /*ie6: needed for the background to actually be transparent*/
	_background-color: transparent; /*ie6: needed to show the search box*/
}

.clearFloat {
	clear: both;
}

#contentWrapper {
	position: relative;
	padding-top: 1px;
	top: -1px;
}

#tiddlerDisplay {
	_position: relative; /* ie 6*/
}

.siteTitle {
	clear: both;
	display: block;
	font-size: 32px;
	font-weight: bold;
	line-height: 32px;
}

.siteSubtitle {
	display: block;
	font-size: 14px;
	height: 16px;
	margin-bottom: 8px;
}

#sidebarSearch {
	padding: 0;
	position: absolute;
	right: 80px;
	top: 8px;
	width: 176px;
}

#sidebarSearch .txtOptionInput {
	width: 100%;
	margin-top: 5px;
	_color: #bbb; /* ie6 danger */
}

#sidebarSearch .txtOptionInput:focus {
	color: #000;
}

#sidebarSearch .searchButton {
	display: none;
}

/* *** Menu Bar *** */

#mainMenu {
	position: static;
	text-align: left;
	margin-left: 72px;
	float: left;
	width: auto;
	padding: 0;
	font-size: 1em;
	line-height: normal;
}

#mainMenu a {
	color: #fff;
	padding: 8px;
	font-size: 0.9em;
	margin-right: 16px;
}

#mainMenu a:hover {
	background-color: [[ColorPalette::PrimaryMid]];
	color: [[ColorPalette::Background]]
}

#sidebarOptions {
	margin-right: 72px;
	float: right;
	font-size: 1.1em;
	line-height: 1.6em;
	min-height: 1em;
	padding-top: 0;
}

#sidebarOptions a {
	margin-right: 8px;
}

.confirmationPopup .button,
#sidebarOptions .button {
	cursor: pointer;
	line-height: 1.4em;
	text-align: center;
	margin-right: 8px;
	margin-left:-2px;
}

.confirmationPopup .button {
	font-size: 0.9em;
	padding: 2px;
}

#sidebarOptions .button {
	font-size: 0.7em;
	float: left;
	width: 80px;
	padding: 0px;
        color: #fff;
}

.confirmationPopup a.button,
#sidebarOptions a {
	border: none;
	margin: 0 0.2em;
	padding: 0.6em 0.25em;
	display: inline;
	color: #666;
}

.confirmationPopup a.button:hover,
#sidebarOptions a:hover {
	color: #000;
}

.confirmationPopup a.button:active,
#sidebarOptions a:active {
	border: solid 1px [[ColorPalette::PrimaryMid]];
	background-color: #fff;
	background: -webkit-gradient( linear, left bottom, left top, color-stop(0.1,rgb(200,200,200)), color-stop(1, rgb(100,100,100)));
	background: -moz-linear-gradient(center bottom , rgb(200,200,200) 10%,rgb(100,100,100) 100%) repeat scroll 0 0 transparent;
}
/* *** Sidebar *** */

#sidebar .wizard table {
	margin: 0px;
}

.tabContents .listTitle:first-child {
	margin-top: 0px;
}

#menuBar {
	background: [[ColorPalette::PrimaryLight]];
	left: 0;
	right: 0;
	position: relative;
	margin: 0;
	padding: 0.5em 0 0.5em 0;
	min-height: 1em;
	overflow: hidden;
	_width: 100%; /* for ie 6 */
}

#sidebarOptions a.button:hover {
	color: [[ColorPalette::PrimaryPale]];
    background: [[ColorPalette::PrimaryMid]];
}

#tiddlerDisplay, #searchResults {
	margin: 16px 448px 0 72px;
}

#sidebarTabs {
	position: absolute;
	right: 72px;
	width: 352px;
	top: 0;
}

#sidebarTabs .tabsetWrapper .tabset {
	width: 87px;
	border-top: 1px solid [[ColorPalette::PrimaryPale]];
	border-left: 1px solid [[ColorPalette::PrimaryPale]];
	border-bottom: 1px solid [[ColorPalette::PrimaryPale]];
	height: auto;
	float: left;
	word-wrap: break-word;
	top: 0;
	padding: 0;
}

#sidebarTabs .tabsetWrapper .tabContents {
	background-color: [[ColorPalette::PrimaryPale]];
	border: 3px solid [[ColorPalette::PrimaryMid]];
	width: 242px;
	_width: 238px;
	left: -3px;
	_left: -5px;
	position: relative;
	min-height: 34em;
	padding: 8px;
	font-size: 0.8em;
}

/* ---- Side style --- */

#sidebarTabs .tabsetWrapper .tabset .tab {
	font-size: 0.9em;
	padding: 0.7em 8px 0.5em;
	color: #fff;
	background: [[ColorPalette::PrimaryLight]];
	border: none;
	line-height: 16px;
	position: relative;
	display: block;
	margin: 0;
}

#sidebarTabs .tabsetWrapper .tabset .tabSelected {
	color: [[ColorPalette::PrimaryMid]];
	background: [[ColorPalette::PrimaryPale]];
	border-top: 3px solid [[ColorPalette::PrimaryMid]];
	border-bottom: 3px solid [[ColorPalette::PrimaryMid]];
	border-left: 3px solid [[ColorPalette::PrimaryMid]];
	z-index: 10;
	margin-top: -1px;
	font-weight: bold;
}

#sidebarTabs .tabContents li {
	border: none;
	margin-left: 0;
	word-wrap: break-word;
}

.tabContents .timeline {
	background: [[ColorPalette::PrimaryPale]];
	margin-bottom: 8px;
}

#sidebarTabs .timeline li.listTitle {
	color: #132E43;
	margin-left: 8px 0;
	padding: 0.3em 0.11em;
	font-size: 1em;
	border-bottom: none;
}

#sidebarTabs .tabContents li a {
	display: block;
	text-align: left;
	margin: 0 0 1px 0;
	padding: 0.3em 1em;
	background: [[ColorPalette::PrimaryPale]];
}

#sidebarTabs .tabsetWrapper .tabset a:hover,
#sidebarTabs .tabContents li a:hover {
	color: [[ColorPalette::PrimaryPale]];
	background: [[ColorPalette::PrimaryMid]];
}

/* Activity Stream */
#sidebarTabs .tabContents .activityStream .feedItem a {
	display: inline-block;
	padding: 0;
	background: none;
}

/* ---- Tagging box --- */
.tagInfo {
	border: 1px solid #cccccc;
	padding: 10px 15px;
	-moz-box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
	box-shadow: 0 2px 2px rgba(0,0,0,0.2);
	color: [[ColorPalette::TertiaryMid]];
	background: -moz-linear-gradient(100% 100% 90deg, #f4f4f4, #e5e5e5);
	background: -webkit-gradient(linear, left top, right top, from(#e5e5e5), to(#f4f4f4));
	margin-top: 1em;
	font-size: 13px;
	margin: 0 0 0 56px;
}

.tagInfo ul {
	list-style: none;
	padding-left: 2.2em;
}

.tagInfo ul li {
	display: inline;
}

.tagInfo ul li.listTitle,
.tagInfo .tagging ul li.listTitle {
	color: [[ColorPalette::PrimaryMid]];
	font-size: 13px;
}

.tagInfo ul li a {
	border: none;
}

.tagInfo .tagging ul li {
	float: none;
	display: inline-block;
}

.tagInfo .tagging {
	padding: 0;
}

.viewRevision .toolbar {
	right: 48px;
	top: 8px;
}

.viewRevision .modifierIcon img,
.viewRevision .modifierIcon svg {
	margin-right: 8px;
}

.viewRevision .toolbar svg {
	width: 32px;
	height: 32px;
}

/* --- IE hacks from lattice --- */

/* ie hacks */
* html #menuBar {
	margin-bottom: 8px;
}
.toolbar .svgIconText {
	*display: inline;
}

div.tiddler .toolbar a {
	cursor: pointer;
	float: left\9;
	display: inline\9;
}

* html .toolbar {
	right: 8px;
}
* html .followButton a {
	margin-top: 0px;
	margin-right: 8px;
}
* html #tiddlerDisplay {
	margin-top: 0px;
}

/* for printing purposes */
@media print {
	#mainMenu,
	#sidebar,
	#messageArea,
	.toolbar,
	.followPlaceHolder,
	#backstageButton,
	#backstageArea,
	#sidebarTabs,
	#sidebarSearch .txtOptionInput,
	#sidebarOptions {
		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 */
	}
	#tiddlerDisplay {
		margin: 16px 16px;
	}
}

@media all and (max-width: 960px){
	#tiddlerDisplay,
	#searchResults {
		margin: 16px 366px 0 16px;
	}

	#mainMenu {
		margin-left: 16px;
	}

	.headerForeground {
		margin-left: 16px;
	}

	#sidebarSearch {
		right: 16px;
	}

	#sidebarOptions {
		margin-right: 16px;
	}

	#sidebarTabs {
		right: 16px;
		width: 326px;
	}

	#sidebarTabs .tabsetWrapper .tabset {
		font-size: 0.9em;
		width: 77px;
	}

	#sidebarTabs .tabsetWrapper .tabContents {
		width: 226px;
		_width: 222px;
	}

	#sidebarTabs .tabContents li a {
		font-size: 0.9em;
	}
}
/*}}}*/
[[StyleSheetTiddler]]
A Sub-topic is what we call a page ([[Tiddler]]) that has been [[tagged|Tags]] with the title of another tiddler; being tagged by 'A' denotes 'B' as standing //underneath// Topic A in the hierarchy 

That other tiddler (if you are [[Edit]]ing it is the title you type in the "tags" box) is known as the [[Topic]], and is the 'headline' over any other tiddlers that it tags.

See the [[Show references and info]] panel to reveal lists of topics and sub topics.
Scroll to the top of your page, and look for the menu bar that runs right across the top of the page.  If it is hidden, select the "Advanced" mode in the right hand corner.  (In the original version of the manual, click the blue and pink 'target' that is in the topmost right corner of the page - this should "toggle" the top menu in and out of view.)

Once you have the top menu in view, click on the CENTRAL word, "TiddlySpace".

This reveals a drop-down menu that looks like a set of "tabs" in a file (Search, tiddlers, Batch, Tweaks, Import/Export) - click on the ''"Batch"'' tab...

This reveals two more "tabs" titled ''"Public"'' and ''"Private"'' - clicking on either one will list all your locally authored material that is either Public or private.

If you want to change the status of any of these tiddlers, just tick the box beside it, and click the command that you find right below the list.  (So if you want to make a //private// tiddler become //public//, go to the ''"Private"'' tab, select the tiddler you want to change, and then click "make public" at the bottom of that list.
The following headings are found on each of the 'tabs' in the [[Index]]: 

[[Recent]], [[All]], [[Public]], [[Private]], [[Tags]], [[Spaces]], [[Missing]], [[Orphans]], [[Shadows]].
!What are they?
If you are editing a page, you will see a box underneath the main content box titled "tags".  If there is the title of any other page ([[Tiddler]]) in that box then it will act as a "tag" for that page.  Think of Tags as pieces of string that connect all the pages that are related to a particular subject area.

So a tag is really just a [[Topic]] heading, and any pages ([[Tiddler]]s) that are //tagged// with say "Birds" would be [[Sub-topic]]s under that heading heading (so pages on Sparrows, Eagles, Seagulls and Dodo's might all be tagged with "Birds".)

Many individual tiddlers will be tagged with a //variety// of tags, allowing for multiple links across different areas and different themes - Dodo's might __also__ be tagged with "Extinct" or "Dead", for instance. 

One of the interesting features of this format is that a page can be both a chunk of MicroContent in its own right __and also__ a [[Tag|Tags]] gathering up other pages under its heading.

!What's the big deal?

There isn't one, really.  Tags = subject headings and pages in their own right.

However, because pages can be tagged with multiple other headings, a single page can be a [[Sub-topic]] under a whole variety of different headings - as if you could have a page in a book that could fit in a range of different chapters simultaneously.

This fosters [[Integrative]] practice...

!How do I USE this stuff?
Click on the [[Show references and info]] panel for this page (or any page in the manual.)  Look at the Topics and Sub-topics.

This [[Tiddler]] is ''tagged'' as a sub-topic of [[Understanding TiddlyManual format]], i.e. it is one of a set of thematically-connected tiddlers that collectively explain the TiddlyWiki format of the manual.  If you click on the 'understanding tiddlymanual format' title in the "Topics" list, you can see all the other [[Sub-topic]]s listed out.  Clicking on any item in this drop-down 'pick-list' opens that specific tiddler.  This way you can quickly see how any single page in the manual relates to other material here.


!To Add or change a tag

If you are editing a tiddlywiki, it is important to think not aonly about the content of the tiddler, but also how it integrates with (fits into) the wider whole - you can help this by adding the right tags.  You can add tags when you [[Edit]] a Tiddler - it is very easy, and is described in the section on how to [[Edit]].  If you click on the ''edit'' button on this tiddler, you will see the tiddler in [[Edit]] mode, and any tag(s) in the bottom box.  When adding tags it is important to get the spelling and capitalisation correct.  For existing tags you can use the button "tags" right underneath the tags box - it will list off all the tags in the document - select the one you want to add, and it will automatically be added.
You are reading a Tiddler right now.  

Tiddlers contain the content in a Tiddlywiki - they are like pages, only they are much more flexible than paper.  They are like paragraphs, only they can be longer, they can contain video clips, or pictures.  They are like 'notes' or cards in a card-index... but again, they are slightly different from these, too.  if you are puzzled about the name there is a bit of explanation/apology below!
!Integrating information
Tiddlers are where you display information in your [[Wiki]], but they are also concerned with //linking// or //integrating// information with other relevant content.  They can be [[tagged|Tags]], linking them together as [[Sub-topic]]s under a particular heading.  The same tiddler can be a sub-topic under multiple different topic headings (like a page that belongs in multiple chapters), and a tiddler can itself act as a topic heading (which is what a [[tag|Tags]] is.)  Confused?  Please don't be - it is simpler than it sounds, and really its just a database of content that can be organised in masses of different ways.
!Tiddler menus
Tiddlers have their own [[Menus]] that allow you to do all kinds of things like compare them, sort them, edit them, etc

!Show references and info
Tiddlers are where you read or watch information, but they are also grouped in lots of ways that help you read around a subject.  An important menu that you find (top right, beside the title) on every tiddler is the [[Show references and info]] menu - clicking the black sign opens a panel that helps you see how //this material// relates to the wider content.  Try it with this tiddler.

!About Tiddlers
!!!What you can do with them:
You can [[Edit]] Tiddlers very easily, as well as write your own ones to add to your local version of this Manual.
In general we find it helps to use the [[+ Manualize our work]] page to generate brand new content, as it helps ensure that your new tiddler has some appropriate [[Tags]] that will help others locate it, but you can also start from scratch!
''__To generate a new [[Tiddler]] click here:__'' 
<<newTiddler>>

!Tiddlers - just web-pages?
Unlike other web - based '[[Wiki]]s' the TiddlyWiki consists not of multiple //web pages// (that each have to "load" separately via your internet connection) but instead it is formed of multiple [[Tiddler]]s, that can be manipulated ''within a single web page'' - so as you read a tiddlywiki you are opening and closing series of separate Tiddlers that are part of a single file, a 'non-linear document'.  This is generally quicker than having to load whole new web-pages with each click on the many [[Links]] between different parts of the text. It also means that you actually download the whole thing into your local computer when you open the manual, so if you disconnect the internet after you have opened the manual, you can still keep reading and flicking through pages (though you wont get streaming video and pretty pictures!)

!Opening Tiddlers on my [[Desktop]]
The manual allows you to open as many tiddlers as you want on your [[Desktop]], and you can see what you have opened at any one time using your [[Currently Open]] list.

!About that name:
The [[designer of the software|JeremyRuston]] that powers Tiddlymanuals (called TiddlyWiki) refer to the chunks of MicroContent that make up a larger wiki document as "Tiddlers".  

In developing the manual we first tried to minimise the 'shock of the new' and stick to naturalistic language where possible.  We thought about 'pages', notes' 'cards' but found that none of these names quite captured the more dynamic quality of tiddlers.  So for a while we referred to tiddlers as "Thoughts".  A "Thought" and a "Tiddler" were synonymous.  We have since 'recanted' from this, and find that the neologism 'Tiddler' is more effective and less confusing.

[[JeremyRuston]], the original author of tiddlywiki described some deliberate intention behind the playfulness in his naming; "as though leaving the door open for purposeful renaming/reclaiming of this very plastic software form".  It was in this spirit that we originally decided to change the name "Tiddlers" to "Thoughts" for this manual; on the basis that it avoided the neologising that frightens/repels many non-technologically minded users.  In the end, though, we have returned to Tiddlers, as we decided our use of the word Thought was equally uncomfortable and forced.  Let us know what you think at [[Feedback please!]]
/***
|''Name''|TiddlyFileImporter|
|''Version''|0.3.8|
|''Author''|Ben Gillies|
|''Type''|plugin|
|''Description''|Upload a TiddlyWiki file to TiddlyWeb, and import the tiddlers.|
!Usage
Upload a TiddlyWiki file to TiddlyWeb, and import the tiddlers.
!Requires
tiddlyweb
tiddlywebplugins.reflector
!Code
***/
//{{{
(function($){
if(!version.extensions.TiddlyFileImporter)
{ //# ensure that the plugin is only installed once
	version.extensions.TiddlyFileImporter = { installed: true };
}

config.macros.fileImport = {
	reflectorURI: '/reflector?csrf_token=%0',
	incorrectTypeError: 'Incorrect File Type. You must upload a TiddlyWiki',
	uploadLabel: 'Upload',
	uploadLabelPrompt: 'Import tiddlers from this TiddlyWiki',
	step1FileText: 'File:',
	step1PostText: 'In the next screen you will select the tiddlers to import.',
	step1Title: 'Step 1: Pick a TiddlyWiki to import',
	step1TypeChooser: 'Import From:',
	step3Html: ['<input type="hidden" name="markList" />',
		'<input type="hidden" checked="true" name="chkSync" />',
		'<input type="hidden" name="chkSave" />',
		'<input type="hidden" name="txtSaveTiddler" />'].join(),

	handler: function(place, macroName, params, wikifier, paramString) {
		var wizard = new Wizard();
		wizard.createWizard(place, 'Import a TiddlyWiki');
		this.restart(wizard);
	},

	restart: function(wizard) {
		var me = config.macros.fileImport;
		wizard.addStep(me.step1Title, ['<input type="hidden" ',
			'name="markList" />'].join(""));
		var markList = wizard.getElement('markList');
		var uploadWrapper = document.createElement('div');
		markList.parentNode.insertBefore(uploadWrapper, markList);
		uploadWrapper.setAttribute('refresh', 'macro');
		uploadWrapper.getAttribute('macroName', 'fileImport');
		var iframeName = 'reflectorImporter' + Math.random().toString();
		me.createForm(uploadWrapper, wizard, iframeName);
		$(uploadWrapper).append('<p>' + me.step1PostText + '</p>');
		wizard.setValue('serverType', 'tiddlyweb');
		wizard.setValue('adaptor', new config.adaptors.file());
		wizard.setValue('host', config.defaultCustomFields['server.host']);
		wizard.setValue('context', {});
		var iframe = $(['<iframe name="' + iframeName + '" ',
			'style="display: none" />'].join("")).appendTo(uploadWrapper);
		var onSubmit = function(ev) {
			var uploadType = $('select[name=uploadtype]', wizard.formElem).val();
			if (uploadType == "file") {
				// set an onload ready to hijack the form
				me.setOnLoad(uploadWrapper, wizard, iframe[0]);
				wizard.importType = 'file';
				wizard.formElem.submit();
			} else {
				var csrf_token = config.extensions.tiddlyspace.getCSRFToken();
				$.ajax({
					url: "%0/reflector?csrf_token=%1".format(
						config.defaultCustomFields["server.host"], csrf_token),
					type: "POST",
					dataType: "text",
					data: {
						uri: $("input", ".importFrom", wizard.formElem).val()
					},
					success: function(data, txtStatus, xhr) {
						wizard.POSTResponse = data;
						me.importTiddlers(uploadWrapper, wizard);
					},
					error: function(xhr, txtStatus, error) {
						displayMessage(["There was an error fetching the ",
							'url: ', txtStatus].join(""));
						me.restart(wizard);
					}
				});
				return false;
			}
		};
		wizard.setButtons([{
			caption: me.uploadLabel,
			tooltip: me.uploadLabelPrompt,
			onClick: onSubmit
		}]);
		$(wizard.formElem).submit(function(ev) {
			onSubmit(ev);
			ev.preventDefault();
		});
	},

	createForm: function(place, wizard, iframeName) {
		var form = wizard.formElem;
		var me = config.macros.fileImport;
		form.action = me.reflectorURI.format(
			config.extensions.tiddlyspace.getCSRFToken());
		form.enctype = 'multipart/form-data';
		form.encoding = 'multipart/form-data';
		form.method = 'POST';
		form.target = iframeName;
		onSelectChange = function(e) {
			var changeTo = $(this).val();
			if (changeTo == "file") {
				$(".importFrom").html('%0 <input type="file" name="file" />'.
					format(me.step1FileText));
			} else {
				$(".importFrom").html('URL: <input type="text" name="uri" />'
					+ ' Do you want <a target="_blank" href="http://faq.tiddlyspace.com/How%20do%20I%20include%2Fexclude%20spaces%3F">inclusion</a> instead?');
			}
		};
		$(place).append('<span>%0</span>'.format(me.step1TypeChooser)).
			append($(['<select name="uploadtype"><option value="file" selected="selected">file',
				'<option value="uri">url</select>'].join("")).change(onSelectChange)).
			append('<div class="importFrom">%0<input type="file" name="file" /></div>'.
					format(me.step1FileText));
	},

	setOnLoad: function(place, wizard, iframe) {
		var me = config.macros.fileImport;
		var loadHandler = function() {
			me.importTiddlers.apply(this, [place, wizard, iframe]);
		};
		iframe.onload = loadHandler;
		completeReadyStateChanges = 0;
		iframe.onreadystatechange = function() {
			if (++(completeReadyStateChanges) == 5) {
				loadHandler();
			}
		};
	},

	importTiddlers: function(place, wizard, iframe) {
		var tmpStore = new TiddlyWiki();
		var POSTedWiki = "";
		if (wizard.importType == "file") {
			try {
				POSTedWiki= iframe.contentWindow
					.document.documentElement.innerHTML;
			} catch(e) {
				displayMessage(config.macros.fileImport.incorrectTypeError);
				config.macros.fileImport.restart(wizard);
				return;
			}
			// now we are done, so remove the iframe
			$(iframe).remove();
		} else {
			POSTedWiki = wizard.POSTResponse;
		}

		tmpStore.importTiddlyWiki(POSTedWiki);
		var newTiddlers = tmpStore.getTiddlers();
		var workspace = config.defaultCustomFields['server.workspace'];
		var context = {
			status: true,
			statusText: 'OK',
			httpStatus: 200,
			adaptor: wizard.getValue('adaptor'),
			tiddlers: newTiddlers
		};
		context.adaptor.store = tmpStore;
		wizard.setValue('context', context);
		wizard.setValue('workspace', workspace);
		wizard.setValue('inFileImport', true);
		config.macros.importTiddlers.onGetTiddlerList(context, wizard);
	}
};

var _onGetTiddler = config.macros.importTiddlers.onGetTiddler;
config.macros.importTiddlers.onGetTiddler = function(context, wizard) {
	if (wizard.getValue('inFileImport')) {
		var me = config.macros.importTiddlers;
		if(!context.status)
			displayMessage("Error in importTiddlers.onGetTiddler: " + context.statusText);
		var tiddler = context.tiddler;
		var fields = tiddler.fields;
		merge(fields, config.defaultCustomFields);
		fields["server.workspace"] = wizard.getValue('workspace');
		delete fields['server.permissions'];
		delete fields['server.bag'];
		fields['server.page.revision'] = 'false';
		delete fields['server.recipe'];
		fields.changecount = 1;
		store.suspendNotifications();
		store.saveTiddler(tiddler.title, tiddler.title, tiddler.text,
			tiddler.modifier, tiddler.modified, tiddler.tags, tiddler.fields,
			false, tiddler.created);
		store.resumeNotifications();
		var remainingImports = wizard.getValue("remainingImports")-1;
		wizard.setValue("remainingImports",remainingImports);
		if(remainingImports === 0) {
			if(context.isSynchronous) {
				store.notifyAll();
				refreshDisplay();
			}
			wizard.setButtons([
					{caption: me.doneLabel, tooltip: me.donePrompt, onClick: me.onClose}
				],me.statusDoneImport);
			autoSaveChanges();
		}
	} else {
		_onGetTiddler.apply(this, arguments);
	}
};

var _onCancel = config.macros.importTiddlers.onCancel;
config.macros.importTiddlers.onCancel = function(e)
{
	var wizard = new Wizard(this);
	if (!wizard.getValue('inFileImport')) {
		return _onCancel.apply(this, arguments);
	}
	var place = wizard.clear();
	config.macros.fileImport.restart(wizard);
	return false;
};

var _step3Html = config.macros.importTiddlers.step3Html;
var _onGetTiddlerList = config.macros.importTiddlers.onGetTiddlerList;
config.macros.importTiddlers.onGetTiddlerList = function(context, wizard) {
	var fileImport = config.macros.fileImport;
	var importTiddlers = config.macros.importTiddlers;
	if (wizard.getValue('inFileImport')) {
		importTiddlers.step3Html = fileImport.step3Html;
	} else {
		importTiddlers.step3Html = _step3Html;
	}
	_onGetTiddlerList.apply(this, arguments);
};
})(jQuery);
//}}}
What you are reading is a TiddlyManual.  It is a way of manualizing complex interventions that offers multiple additional functions over paper "how-to-do-it" guides, and a lot more than other web-based treatment manuals that do not use the  highly innovative opensource software called TiddlyWiki (hence the name.)

!14 min introduction to the AMBIT Tiddlymanual
By DickonBevington
<html><iframe width="640" height="360" src="//www.youtube.com/embed/-RksN42-G6k" frameborder="0" allowfullscreen></iframe></html>
!Brief narration and animation to explain "Why use Wikis?"
By DickonBevington
<html><iframe width="480" height="360" src="http://www.youtube.com/embed/EZ_yHJ1WLTE?rel=0" frameborder="0" allowfullscreen></iframe></html>
!A tour of the AMBIT "theme" - how to read and navigate in <9 mins
<html><iframe width="480" height="360" src="http://www.youtube.com/embed/TJ4WFQ1ov7g?rel=0" frameborder="0" allowfullscreen></iframe></html>

Tiddlymanuals take much inspiration from the 'OpenSource' movement in computer software development.  They are freely available (though released under a Creative commons [[License|Licensed]]), as the notion of closely guarded, and expensively-marketed, intellectual property in respect of best psychotherapeutic practice seems contradictory in the helping professions.  We acknowledge the support of the [[Anna Freud Centre]] and our [[Sponsors]] in allowing this development.

''@@color(red):Practitioners using Tiddlymanuals remain responsible for their own professional practice.@@''

~TiddlyManuals take the form of [[Wiki]]s, but they function as completely self-contained and easily editable documents, too; they can be downloaded, saved locally, and run from a USB stick, or a local computer without any access to the internet.
 
See [[Using the Manual]] for more details, and go to @tiddlymanuals to see other versions of tiddlymanuals that are available.
~TiddlySpace is the web-based environment that hosts ~TiddlyWiki and [[TiddlyManual]]s, including this manual that you are reading.  

~TiddlySpace uses cunning software in the web-based servers that you link to when you type in the address http://tiddlyspace.com.  Like tiddlymanuals, it is based on [[TiddlyWiki]].  In common with other tiddlywiki, a copy of all public-facing parts of any ~TiddlySpace can be downloaded, and can be run (completely independent from the internet) using no extra software (it runs inside a normal browser) on a desktop computer, laptop, iphone, etc - where it can be edited, stored, and from which it can be emailed, etc.  

Tiddlywiki is an open source software resource that is freely available and supported by a large international community of programmers, most of whom give their time and expertise for free.  

~TiddlySpace is also supported by ~BT-Osmosoft and the original author of ~TiddlyWiki, Jeremy Ruston, and we acknowledge the support of all of these people.

!What's special about ~TiddlySpace?

@@N.B. YOU DO NOT NEED TO UNDERSTAND THIS TO USE THE MANUAL!@@

~TiddlySpace is a place to host and share tiddlywikis - but the way it is set up also allows some pretty unique things to happen that should encourage a respectful and generous sharing and development of ideas between individuals, and small-trusted-groups of people.  

There is a growing body of documentation about ~TiddlySpace, but below are some key points to help the curious understand it:

!!!A "Space"
*A [[Space|Spaces]] is really just a [[Wiki]], that is //hosted// online in the TiddlySpace server.
*It can be run ('hosted' or 'curated') by an individual or by a "small-trusted-group"
*A TiddlySpace can hosts a collection of [[Tiddler]]s in a Wiki.
*There's an emphasis on the wiki as a //clearly-boundaried// collection of information that I (or my group) "curate" in order to share and develop this over time.
!!!Ownership and control
*Any tiddlers held within in my space can be changed by me, ''or by anyone else who I allow to become a member of my Space''.
**''[[Making someone a member of a space]]'' is the equivalent to 'giving them the keys to the door' - not unlike allowing someone access to your office.  
**Do not make people that you do not know and trust well into members of a precious space that carries valuable material.
**If you want to collaborate with them, you can always (at the click of a button) [[Make a new space]] specifically to share with that other person, and by [[Including spaces]] you can still work on material without risking anything.
!!!Public and Private
*Tiddlers have two states: either [[Private]] or [[Public]].  They show their status with the concentric circles icon, which you can see if you look at the tiddler in [[Edit]] mode:
**The pink inner circle denotes "THIS TIDDLER IS PRIVATE"
**The blue outer circle denotes "THIS TIDDLER IS PUBLIC".
*__Changing the status of a tiddler between PUBLIC and PRIVATE__
**Any member of the space that //hosts// these tiddlers can toggle them between 'private' or 'public' status - .
**This is very useful if a team is working on a draft of material that they are yet to all agree upon:
*DRAFTS to FINAL versions: 
**'Unfinished' tiddlers (ones that a team is still working on) can remain 'private' 
**When the group agrees on the content they are ready to 'publish' that tiddler.
!!!Security
**N.B. Although the security levels for private tiddlers are robust, they are certainly NOT sufficient to store any personal data about third parties (clients, etc).
!!!Inclusion
*[[Including spaces]] is easy - I can "include" the public tiddlers from anyone else's space in my own space.
**Once a separately-curated space is included in mine I can [[Edit]] those tiddlers - which is really just over-writing them in my space.  If I then delete my edited version of "their" tiddler, the original tiddler will 'pop back' as their site is still included in mine.  
**It is important to note that when I edit //included material// I am NOT altering the original in any way.
**This is how a local team setting up, say, an AMBIT manual manages to share the common 'Core content' from the Anna Freud Centre, but to be able to add their own material or make edits to the included (copied) tiddlers that have originated from the AFC.
!!!Inclusion to add functions
*A wide range of other spaces exist already that, if you include them, do not add content, but instead add different //functions//, or different //styles and themes//.
**For instance you can include the separate space @simplesearchplugin and this adds a really nice search engine to your wiki.
!!!From Facebook to Mindbook?
*There is a developing social networking function within ~TiddlySpace that makes use of these curious and quite unique capabilities.
**Interacting with other users of tiddlyspace is very different from the //''breadth''// of coverage of, say, Facebook, and is more focussed on the //''depth''// of exchange... Less about the Face, perhaps; more about exploring the mind behind.
!!!Boundaries
*Being a member of a Space means I can see both public and private tiddlers, but if I visit someone else's space, I can only see what they have made public.
Most of the other functions in this area are only for advanced users.

!Finding it:

You find the [[Top menu bar]] by switching the manual to [[Advanced mode]].  On this bar (across the very top of your desktop, soo you may need to scroll up to find it) you'll see a small blue/pink "Target" icon to the right.  Click it.  A drop-down menu is revealed.  Most of this is not relevant to you as a [[TiddlyManual]]s user.

!What's there?

This is a menu provided by the web-based "hosting" site (in [[BT Osmosoft|http://osmosoft.com/#TiddlySpace]]).

Included in this is: 
**The [[Space menu]] - Referred to as "THIS SPACE" - about your wiki (members, content, etc)
**The [[User menu]] - Referred to as "YOUR ACCOUNT" - about YOU as a member of TiddlySpace.









/***
|''Name''|TiddlySpaceBackstage|
|''Version''|0.8.0|
|''Description''|Provides a TiddlySpace version of the backstage and a homeLink macro|
|''Status''|@@beta@@|
|''Contributors''|Jon Lister, Jon Robson, Colm Britton|
|''Source''|http://github.com/TiddlySpace/tiddlyspace/raw/master/src/plugins/TiddlySpaceBackstage.js|
|''Requires''|TiddlySpaceConfig ImageMacroPlugin TiddlySpaceViewTypes|
!StyleSheet
.tiddler .error.annotation .button{
	display: inline-block;
}

#backstageArea {
	z-index: 49;
	color: white;
	background-color: black;
	background: -webkit-gradient(linear,left bottom,left top,color-stop(0, #222),color-stop(0.5, #333),color-stop(1, #555));
	background: -moz-linear-gradient(center bottom,#222 0%, #333 50%, #555 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ff555555, endColorstr=#ff222222);
	-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#ff555555, endColorstr=#ff222222)";
	height: 25px;
	padding: 0;
}

#backstageButton {
	overflow: hidden;
}

#backstageButton #backstageShow,
#backstageButton #backstageHide {
	margin: 0px;
	padding: 0px;
}

#backstageButton #backstageShow:hover,
#backstageButton #backstageHide:hover {
	background: none;
	color: none;
}

#backstageButton img,
#backstageButton svg {
	width: 24px;
	height: 24px;
}

#messageArea {
	top: 50px;
}

#backstageToolbar {
	position: relative;
}

#backstageArea a {
	padding: 0px;
	margin-left: 0px;
	color: white;
	background: none;
}

#backstageArea a:hover {
	background-color: white;
}

#backstage ol,
#backstage ul {
	padding: auto;
}

#backstageButton a {
	margin: 0;
}

.backstagePanelBody ul {
	padding: 5px;
	margin: 5px;
}

#backstage #backstagePanel {
	margin-left: 5%;
	padding: 0em;
	margin-right: 5%;
}

#backstageToolbar a {
	position: relative;
}

#backstageArea a.backstageSelTab,
#backstageToolbar .backstageTask {
	line-height: 25px;
	color: #767676;
}

.backstageTask .externalImage,
.backstageTask .image {
	display: inline;
}

#backstageToolbar a span {
	z-index: 2;
}

a.backstageTask {
	display: inline;
        margin-left: 1em !important;
}

.backstagePanelBody .button {
	display: inline-block;
	margin-right: 10px;
}

.backstagePanelBody {
	margin: 0 0 0 0.6em;
	padding: 0.4em 0.5em 1px 0.5em;
}

#backstage table {
	margin: auto;
}

#backstage .wizard table {
	border: 0px;
	margin: 0;
}

#backstage div  li.listLink {
	border: 0px;
	width: 78%;
	font-size: 0.7em;
}

#backstage div li.listTitle {
	font-weight: bold;
	text-decoration: underline;
	font-size: 1em;
	background: #ccc;
	width: 100%;
}

#backstage fieldset {
	border: solid 1px [[ColorPalette::Background]];
}

#backstage .viewer table,#backstage table.twtable {
	border: 0px;
}

#backstageToolbar img {
	padding: 0;
}

#backstage .wizard,
#backstage .wizardFooter {
	background: none;
}

.viewer td, .viewer tr, .twtable td, .twtable tr {
	border: 1px solid #eee;
}

#backstage .inlineList ul li {
	background-color: [[ColorPalette::Background]];
	border: solid 1px [[ColorPalette::TertiaryMid]];
	display: block;
	float: left;
	list-style: none;
	margin-right: 1em;
	padding: 0.5em;
}

.backstageClear, .inlineList form {
	clear: both;
	display: block;
	margin-top: 3em;
}

.tiddlyspaceMenu {
	text-align: center;
}

span.chunkyButton {
	display: inline-block;
	padding: 0;
	margin: 0;
	border: solid 2px #000;
	background-color: #04b;
}

span.chunkyButton a.button, span.chunkyButton a:active.button {
	white-space: nowrap;
	font-weight: bold;
	font-size: 1.8em;
	color: #fff;
	text-align: center;
	padding: 0.5em 0.5em;
	margin: 0;
	border-style: none;
	display: block;
}

span.chunkyButton:hover {
	background-color: #014;
}

span.chunkyButton a.button:hover {
	border-style: none;
	background: none;
	color: #fff;
}

#backstage .unpluggedSpaceTab .wizard,
.unpluggedSpaceTab .wizard {
	background: white;
	border: 2px solid #CCC;
	padding: 5px;
}

.syncKey .keyItem {
	border: 1px solid black;
	display: inline-block;
	margin: 0.2em;
	padding: 0.1em 0.1em 0.1em 0.1em;
}

.keyHeading {
	font-size: 2em;
	font-weight: bold;
	margin: 0.4em 0em -0.2em;
}

.unpluggedSpaceTab .putToServer,
.unpluggedSpaceTab .notChanged {
	display: none;
}

.tiddlyspaceMenu ul {
	margin: 0;
	padding: 0;
}

.tiddlyspaceMenu ul li {
	list-style: none;
}

.unsyncedChanges .unsyncedList {
	display: block;
}

.unsyncedList {
	display: none;
}
!Code
***/
//{{{
(function ($) {
    var name = "StyleSheet" + tiddler.title;
    config.shadowTiddlers[name] = "/*{{{*/\n%0\n/*}}}*/".
        format(store.getTiddlerText(tiddler.title + "##StyleSheet")); // this accesses the StyleSheet section of the current tiddler (the plugin that contains it)
    store.addNotification(name, refreshStyles);

    if (!config.extensions.tiddlyweb.status.tiddlyspace_version) { // unplugged
        config.extensions.tiddlyweb.status.tiddlyspace_version = "<unknown>";
        config.extensions.tiddlyweb.status.server_host = {
            url:config.extensions.tiddlyweb.host }; // TiddlySpaceLinkPlugin expects this
    }
    var disabled_tasks_for_nonmembers = ["tiddlers", "plugins", "batch", "sync"];

    var tweb = config.extensions.tiddlyweb;
    var tiddlyspace = config.extensions.tiddlyspace;
    var currentSpace = tiddlyspace.currentSpace.name;
    var imageMacro = config.macros.image;

    if (config.options.chkBackstage === undefined) {
        config.options.chkBackstage = false;
    }

// Set up Backstage
    config.tasks = {};
    config.tasks.status = {
        text:"status",
        tooltip:"TiddlySpace Info",
        content:"<<tiddler Backstage##Menu>>"
    };
    config.tasks.tiddlers = {
        text:"tiddlers",
        tooltip:"tiddlers control panel",
        content:"<<tiddler Backstage##BackstageTiddlers>>"
    };
    config.tasks.plugins = {
        text:"plugins",
        tooltip:"Manage installed plugins",
        content:"<<tiddler Backstage##Plugins>>"
    };
    config.tasks.batch = {
        text:"batch",
        tooltip:"Batch manage public/private tiddlers",
        content:"<<tiddler Backstage##BatchOps>>"
    };
    config.tasks.tweaks = {
        text:"tweaks",
        tooltip:"Tweak TiddlyWiki behaviors",
        content:"<<tiddler Backstage##Tweaks>>"
    };
    config.tasks.exportTiddlers = {
        text:"import/export",
        tooltip:"Import/export tiddlers from/to a TiddlyWiki",
        content:"<<tiddler Backstage##ImportExport>>"
    };
    config.tasks.sync = {
        text:"sync",
        tooltip:"Check Sync status",
        content:"<<tiddler Backstage##SpaceUnplugged>>"
    };

    if (window.location.protocol === "file:") {
        config.unplugged = true;
    }

    config.backstageTasks = ["status", "tiddlers", "plugins",
        "batch", "tweaks", "exportTiddlers", "sync"];

    config.messages.backstage.prompt = "";
// initialize state
    var _show = backstage.show;
    backstage.show = function () {
        // selectively hide backstage tasks and tabs based on user status
        var tasks = $("#backstageToolbar .backstageTask").show();
        var bs = backstage.tiddlyspace;
        if (!config.unplugged) {
            tweb.getUserInfo(function (user) {
                if (user.anon) {
                    jQuery.each(disabled_tasks_for_nonmembers, function (i, task) {
                        var taskIndex = config.backstageTasks.indexOf(task);
                        if (taskIndex !== -1) {
                            config.backstageTasks.splice(taskIndex, 1);
                        }
                    });
                    config.messages.memberStatus = bs.locale.loggedout;
                } else {
                    config.messages.memberStatus = readOnly ?
                        bs.locale.nonmember : bs.locale.member;
                }
            });
        } else {
            config.messages.memberStatus = bs.locale.unplugged;
        }

        // display backstage
        return _show.apply(this, arguments);
    };
    if (readOnly) {
        jQuery.each(disabled_tasks_for_nonmembers, function (i, task) {
            var taskIndex = config.backstageTasks.indexOf(task);
            if (taskIndex !== -1) {
                config.backstageTasks.splice(taskIndex, 1);
            }
        });
    }

    var tasks = config.tasks;
    var commonUrl = "/bags/common/tiddlers/%0";

    backstage.tiddlyspace = {
        locale:{
            member:"You are a member of this space.",
            nonmember:"You are not a member of this space.",
            loggedout:"You are currently logged out of TiddlySpace.",
            unplugged:"You are unplugged."
        },
        showButton:function () {
            var showBtn = $("#backstageShow")[0];
            var altText = $(showBtn).text();
            $(showBtn).empty();
            imageMacro.renderImage(showBtn, "backstage.svg",
                { altImage:commonUrl.format("backstage.png"), alt:altText});
        },
        hideButton:function () {
            var hideBtn = $("#backstageHide")[0];
            var altText = $(hideBtn).text();
            $(hideBtn).empty();
            imageMacro.renderImage(hideBtn, "close.svg",
                { altImage:commonUrl.format("close.png"), alt:altText, width:24, height:24 });
        }
    };

    var _init = backstage.init;
    backstage.init = function () {
        _init.apply(this, arguments);
        var init = function (user) {
            var bs = backstage.tiddlyspace;
            bs.showButton();
            bs.hideButton();
        };
        tweb.getUserInfo(init);
    };

    var home = config.macros.homeLink = {
        locale:{
            linkText:"your home space"
        },
        handler:function (place) {
            var container = $("<span />").appendTo(place)[0];
            tweb.getUserInfo(function (user) {
                if (!user.anon && user.name !== currentSpace) {
                    createSpaceLink(container, user.name, null, home.locale.linkText);
                }
            });
        }
    };

    config.macros.exportSpace = {
        handler:function (place, macroName, params) {
            var filename = params[0] ||
                "/tiddlers.wiki?download=%0.html".format(currentSpace);
            $('<a class="button">download</a>').// XXX: i18n
                attr("href", filename).appendTo(place);
        }
    };

}(jQuery));
//}}}
(function() {
var getCSRFToken = function(window) {
	// XXX: should not use RegEx - cf.
	// http://www.quirksmode.org/js/cookies.html
	// https://github.com/TiddlySpace/tiddlyspace/commit/5f4adbe009ed4bda3ce39058a3fb07de1420358d
	var regex = /^(?:.*; )?csrf_token=([^(;|$)]*)(?:;|$)/;
	var match = regex.exec(document.cookie);
	var csrf_token = null;
	if (match && (match.length === 2)) {
		csrf_token = match[1];
	}

	return csrf_token;
};

if (typeof config !== 'undefined' && config.extensions &&
		config.extensions.tiddlyspace &&
		config.extensions.tiddlyspace.getCSRFToken === null) {
	config.extensions.tiddlyspace.getCSRFToken = getCSRFToken;
} else {
	window.getCSRFToken = getCSRFToken;
}
})(window);
/***
|''Name''|TiddlySpaceCloneCommand|
|''Version''|0.5.8|
|''Description''|provides a toolbar command for cloning external tiddlers|
|''Status''|stable|
|''Source''|http://github.com/TiddlySpace/tiddlyspace/raw/master/src/plugins/TiddlySpaceCloneCommand.js|
|''Requires''|TiddlySpaceConfig TiddlySpaceFilters|
!Code
***/
//{{{
(function($) {

var cmd = config.commands;
var tiddlyspace = config.extensions.tiddlyspace;

var fieldsCache = {};

cmd.cloneTiddler = {
	text: cmd.editTiddler.text,
	tooltip: "Create a copy of this tiddler in the current space",
	errorMsg: "Error publishing %0: %1",

	isEnabled: function(tiddler) {
		return !config.filterHelpers.is.local(tiddler) && !readOnly;
	},
	handler: function(ev, src, title) {
		var tiddler = store.getTiddler(title);
		if(tiddler) {
			fieldsCache[title] = $.extend({}, tiddler.fields);
			tiddler.fields["server.workspace"] = tiddlyspace.getCurrentWorkspace(config.options.chkPrivateMode ?
		"private" : "public");
			tiddler.fields["server.permissions"] = "read, write, create"; // no delete
			delete tiddler.fields["server.page.revision"];
			delete tiddler.fields["server.title"];
			delete tiddler.fields["server.etag"];
			// special handling for pseudo-shadow tiddlers
			if(tiddlyspace.coreBags.contains(tiddler.fields["server.bag"])) {
				tiddler.tags.remove("excludeLists");
			}
		} else { // ensure workspace is the current space
			var el = story.findContainingTiddler(src);
			el = $(el);
			var fields = el.attr("tiddlyfields");
			if(fields) { // inherited via TiddlyLink
				fields = fields.decodeHashMap();
				fields["server.workspace"] = config.
					defaultCustomFields["server.workspace"];
			} else {
				fields = config.defaultCustomFields;
			}
			fields = String.encodeHashMap(fields);
			el.attr("tiddlyfields", fields);
		}
		cmd.editTiddler.handler.apply(this, arguments);
		if(tiddler) {
			tiddler.fields["server.permissions"] += ", delete";
		}
		return false;
	}
};

cmd.editTiddler.isEnabled = function(tiddler) {
	return !cmd.cloneTiddler.isEnabled.apply(this, arguments);
};

// hijack cancelTiddler to restore original fields
var _cancelHandler = cmd.cancelTiddler.handler;
cmd.cancelTiddler.handler = function(ev, src, title) {
	var tiddler = store.getTiddler(title);
	if(tiddler) {
		tiddler.fields = fieldsCache[title] || tiddler.fields;
		delete fieldsCache[title];
	}
	return _cancelHandler.apply(this, arguments);
};

// hijack saveTiddler to clear unused fields stash
var _saveHandler = cmd.saveTiddler.handler;
cmd.saveTiddler.handler =  function(ev, src, title) {
	delete fieldsCache[title];
	return _saveHandler.apply(this, arguments);
};

})(jQuery);
//}}}
/***
|''Name''|TiddlySpaceConfig|
|''Version''|0.7.7|
|''Description''|TiddlySpace configuration|
|''Status''|stable|
|''Source''|http://github.com/TiddlySpace/tiddlyspace/raw/master/src/plugins/TiddlySpaceConfig.js|
|''CoreVersion''|2.6.1|
|''Requires''|TiddlyWebConfig ServerSideSavingPlugin TiddlyFileImporter|
!Code
***/
//{{{
(function($) {

var tweb = config.extensions.tiddlyweb;

var recipe = config.defaultCustomFields["server.workspace"].split("recipes/")[1];
var currentSpace; // assigned later

var disabledTabs = [];

var coreBags = ["system", "tiddlyspace"];
var systemSpaces = ["plugins", "info", "images", "theme"];
systemSpaces = $.map(systemSpaces, function(item, i) {
	return "system-%0_public".format(item);
});

// hijack search macro to add custom attributes for mobile devices
var _search = config.macros.search.handler;
config.macros.search.handler = function(place, macroName, params) {
	_search.apply(this, arguments);
	$(".searchField:input", place).
		attr({ autocapitalize: "off", autocorrect: "off" });
};

// arg is either a container name or a tiddler object
// if fuzzy is truthy, space may be inferred from workspace (for new tiddlers)
// returns space object or false
var determineSpace = function(arg, fuzzy) {
	if(typeof arg == "string") { // container name
		var space = split(arg, "_", "r");
		return ["public", "private"].contains(space.type) ? space : false;
	} else if(arg) { // tiddler
		var container = determineContainer(arg, fuzzy);
		return container ? determineSpace(container.name, fuzzy) : false;
	} else {
		return false;
	}
};

// if fuzzy is truthy, container may be inferred from workspace for new tiddlers
// returns container object or false
var determineContainer = function(tiddler, fuzzy) { // TODO: expose?
	var bag = tiddler.fields["server.bag"];
	var recipe = tiddler.fields["server.recipe"]; // XXX: unused/irrelevant/redundant!?
	if(bag) {
		return { type: "bag", name: bag };
	} else if(recipe) {
		return { type: "recipe", name: recipe };
	} else if(fuzzy) { // new tiddler
		var workspace = tiddler.fields["server.workspace"];
		if(workspace) {
			var container = split(workspace, "/", "l");
			return ["bags", "recipes"].contains(container.type) ? container : false;
		} else {
			return false;
		}
	} else {
		return false;
	}
};

// hijack removeTiddlerCallback to restore tiddler from recipe cascade -- TODO: move into TiddlyWebWiki?
var sssp = config.extensions.ServerSideSavingPlugin;
var _removeTiddlerCallback = sssp.removeTiddlerCallback;
sssp.removeTiddlerCallback = function(context, userParams) {
	var title = context.tiddler.title;
	var recipe = context.tiddler.fields["server.recipe"];
	_removeTiddlerCallback.apply(this, arguments);
	if(recipe) {
		context.workspace = "recipes/" + recipe;
		var callback = function(context, userParams) {
			if(context.status) {
				var dirty = store.isDirty();
				store.saveTiddler(context.tiddler).clearChangeCount();
				store.setDirty(dirty);
			} else {
				store.notify(title, true);
			}
		};
		context.adaptor.getTiddler(title, context, null, callback);
	}
};

// splits a string once using delimiter
// mode "l" splits at the first, "r" at the last occurrence
// returns an object with members type and name
var split = function(str, sep, mode) {
	mode = mode == "r" ? "pop" : "shift"; // TODO: use +/-1 instead of "l"/"r"?
	var arr = str.split(sep);
	var type = arr.length > 1 ? arr[mode]() : null;
	return { type: type, name: arr.join(sep) };
};

var plugin = config.extensions.tiddlyspace = {
	currentSpace: determineSpace(recipe),
	coreBags: coreBags.concat(systemSpaces),

	determineSpace: determineSpace,
	isValidSpaceName: function(name) {
		return name.match(/^[a-z][0-9a-z\-]*[0-9a-z]$/) ? true : false;
	},
	getCurrentBag: function(type) {
		return "%0_%1".format(currentSpace, type);
	},
	getCurrentWorkspace: function(type) {
		return "bags/" + this.getCurrentBag(type);
	},
	// returns the URL for a space's avatar (SiteIcon) based on a server_host
	// object and an optional space name
	// optional nocors argument prevents cross-domain URLs from being generated
	getAvatar: function(host, space, nocors) {
		if(space && typeof space != "string") { // backwards compatibility -- XXX: deprecated
			space = space.name;
		}
		var subdomain = nocors ? currentSpace : space;
		host = host ? this.getHost(host, subdomain) : "";
		var bag = space ? "%0_public".format(space) : "tiddlyspace";
		return "%0/bags/%1/tiddlers/SiteIcon".format(host, bag);
	},
	// returns the URL based on a server_host object (scheme, host, port) and an
	// optional subdomain
	getHost: function(host, subdomain) {
		if(host === undefined) { // offline
			tweb.status.server_host = {}; // prevents exceptions further down the stack -- XXX: hacky workaround, breaks encapsulation
			return null;
		}
		subdomain = subdomain ? subdomain + "." : "";
		var url = "%0://%1%2".format(host.scheme, subdomain, host.host);
		var port = host.port;
		if(port && !["80", "443"].contains(port)) {
			url += ":" + port;
		}
		return url;
	},
	disableTab: function(tabTiddler) {
		if(typeof(tabTiddler) == "string") {
			disabledTabs.push(tabTiddler);
		} else {
			for(var i = 0; i < tabTiddler.length; i++) {
				plugin.disableTab(tabTiddler[i]);
			}
		}
	},
    checkSyncStatus: function(tiddler) {
		if(tiddler) {
			var title = typeof(tiddler) === "string" ? tiddler : tiddler.title;
			var el = story.getTiddler(title) || false;
			if(el) {
				refreshElements(el);
			}
		}
	},
	isDisabledTab: function(tabTitle) {
		var match = new RegExp("(?:\\[\\[([^\\]]+)\\]\\])", "mg").exec(tabTitle);
		var tabIdentifier = match ? match[1] : tabTitle;
		return disabledTabs.contains(tabIdentifier);
	},
	getCSRFToken: window.getCSRFToken || null // this may not have been processed yet
};

currentSpace = plugin.currentSpace.name;

tweb.serverPrefix = tweb.host.split("/")[3] || ""; // XXX: assumes root handler
tweb.getStatus(function(status) {
	var url = plugin.getHost(status.server_host);
	tweb.status.server_host.url = url;
	config.messages.tsVersion = status.version;
});

if(window.location.protocol == "file:") {
	// enable AutoSave by default
	config.options.chkAutoSave = config.options.chkAutoSave === undefined ?
		true : config.options.chkAutoSave;
} else {
	// set global read-only mode based on membership heuristics
	var indicator = store.getTiddler("SiteTitle") || tiddler;
	readOnly = !(recipe.split("_").pop() == "private" ||
		tweb.hasPermission("write", indicator));
	// replace TiddlyWiki's ImportTiddlers due to cross-domain restrictions
	if(config.macros.fileImport) {
		$.extend(config.macros.importTiddlers, config.macros.fileImport);
	}
}

// hijack saveChanges to ensure SystemSettings is private by default
var _saveChanges = saveChanges;
saveChanges = function(onlyIfDirty, tiddlers) {
	if(tiddlers && tiddlers.length == 1 &&
			tiddlers[0] && tiddlers[0].title == "SystemSettings") {
		var fields = tiddlers[0].fields;
		delete fields["server.recipe"];
		fields["server.bag"] = plugin.getCurrentBag("private");
		fields["server.workspace"] = plugin.getCurrentWorkspace("private");
	}
	return _saveChanges.apply(this, arguments);
};

// ensure backstage is always initialized
// required to circumvent TiddlyWiki's read-only based handling
config.macros.backstageInit = {
	init: function() {
		showBackstage = true;
	}
};

// disable evaluated macro parameters for security reasons
config.evaluateMacroParameters = "none";
var _parseParams = String.prototype.parseParams;
String.prototype.parseParams = function(defaultName, defaultValue, allowEval,
		noNames, cascadeDefaults) {
	if(config.evaluateMacroParameters == "none") {
		arguments[2] = false;
	}
	return _parseParams.apply(this, arguments);
};

var _tabsMacro = config.macros.tabs.handler;
config.macros.tabs.handler = function(place, macroName, params) {
	var newParams = [params[0]]; // keep cookie name
	for(var i = 1; i < params.length; i += 3) {
		var tabTitle = params[i + 2];
		if(!plugin.isDisabledTab(tabTitle)){
			newParams = newParams.concat(params[i], params[i + 1], tabTitle);
		}
	}
	_tabsMacro.apply(this, [place, macroName, newParams]);
};

// disable ControlView for XHRs by default
$.ajaxSetup({
	beforeSend: function(xhr) {
		xhr.setRequestHeader("X-ControlView", "false");
	}
});
// TiddlyWeb adaptor currently still uses httpReq, which needs extra magic -- XXX: obsolete this!
var _httpReq = httpReq;
httpReq = function(type, url, callback, params, headers, data, contentType,
		username, password, allowCache) {
	headers = headers || {};
	headers["X-ControlView"] = "false";
	_httpReq.apply(this, arguments);
};

// register style sheet for backstage separately (important)
store.addNotification("StyleSheetBackstage", refreshStyles);

// option for default privacy setting
config.optionsDesc.chkPrivateMode = "Set your default privacy mode to private";
config.optionsSource.chkPrivateMode = "setting";
config.options.chkPrivateMode = config.options.chkPrivateMode || false;
saveSystemSetting("chkPrivateMode", true);
config.defaultCustomFields["server.workspace"] = plugin.
	getCurrentWorkspace(config.options.chkPrivateMode ? "private" : "public");

config.paramifiers.follow = {
	onstart: function(v) {
		if(!readOnly) {
			var bag = "%0_public".format(currentSpace);
			story.displayTiddler(null, v, DEFAULT_EDIT_TEMPLATE, null, null,
				"server.bag:%0 server.workspace:bags/%0".format(bag));
			story.setTiddlerTag(v, "follow", 1);
			story.focusTiddler(v, "text");
		}
	}
};

var fImport = config.macros.fileImport;
if(fImport) {
	fImport.uploadTo = "Upload to: ";
	var _createForm = config.macros.fileImport.createForm;
	config.macros.fileImport.createForm = function(place, wizard, iframeName) {
		var container = $("<div />").text(fImport.uploadTo).appendTo(place);
		var select = $('<select name="mode" />').appendTo(container)[0];
		$('<option value="private" selected>private</a>').appendTo(select);
		$('<option value="public">public</a>').appendTo(select);
		wizard.setValue("importmode", select);
		_createForm.apply(this, [place, wizard, iframeName]);
	};

	var _onGet = config.macros.importTiddlers.onGetTiddler;
	config.macros.importTiddlers.onGetTiddler = function(context, wizard) {
		var type = $(wizard.getValue("importmode")).val();
		var ws =  plugin.getCurrentWorkspace(type);
		wizard.setValue("workspace", ws);
		_onGet.apply(this, [context, wizard]);
	};
}

config.extensions.ServerSideSavingPlugin.reportSuccess = function(msg, tiddler) {
	plugin.checkSyncStatus(tiddler);
	msg = config.extensions.ServerSideSavingPlugin.locale[msg];
	var link = "/" + encodeURIComponent(tiddler.title);
	displayMessage(msg.format([tiddler.title]), link);
};


})(jQuery);
//}}}
/***
|''Name''|TiddlySpaceFilters|
|''Description''|provide TiddlySpace-specific filter extensions|
|''Author''|Jon Robson|
|''Version''|0.6.1|
|''Status''|@@beta@@|
|''CoreVersion''|2.6.2|
|''Requires''|TiddlySpaceConfig|
|''License''|[[BSD|http://www.opensource.org/licenses/bsd-license.php]]|
!Usage
{{{
<<tsList Private>>
<<tsList Public>>
<<tsList Draft>>
}}}
!Code
***/
//{{{
(function($) {

var tiddlyspace = config.extensions.tiddlyspace;
var privateBag = tiddlyspace.getCurrentBag("private");
var publicBag = tiddlyspace.getCurrentBag("public");

config.filterHelpers = {
	is: {
		"private": function(tiddler) {
			var bag = tiddler.fields["server.bag"];
			return bag == privateBag;
		},
		"public": function(tiddler) {
			var bag = tiddler.fields["server.bag"];
			return bag == publicBag;
		},
		draft: function(tiddler) {
			var fields = tiddler.fields;
			var bag = fields["server.bag"];
			return (privateBag == bag && fields["publish.name"]) ? true : false;
		},
		local: function(tiddler) {
			return config.filterHelpers.is["public"](tiddler) ||
				config.filterHelpers.is["private"](tiddler);
		},
		unsynced: function(tiddler) {
			return tiddler ? tiddler.isTouched() : false;
		}
	}
};

config.filters.is = function(results, match) {
	var candidates = store.getTiddlers("title");
	var type = match[3];
	for (var i = 0; i < candidates.length; i++) {
		var tiddler = candidates[i];
		var helper = config.filterHelpers.is[type];
		if(helper && helper(tiddler)) {
			results.pushUnique(tiddler);
		}
	}
	return results;
};

})(jQuery);
//}}}
/***
|''Name''|TiddlySpaceFollowingPlugin|
|''Version''|0.7.1|
|''Description''|Provides a following macro|
|''Author''|Jon Robson|
|''Requires''|TiddlySpaceConfig TiddlySpaceTiddlerIconsPlugin ErrorHandler|
|''License''|[[BSD|http://www.opensource.org/licenses/bsd-license.php]]|
!Usage
Tag a tiddler with "follow" to express a list of followers.
Using the {{{<<followTiddlers X>>}}}
will reveal the number of tiddlers with name X in the set of spaces the *current* user viewing your space follows.
{{{<<following jon>>}}} will list all the users following Jon.
{{{<<followers jon>>}}} will list all the followers of jon.
{{{<linkedTiddlers>>}}} will list all tiddlers across TiddlySpace linked to the current tiddler
{{{<linkedTiddlers follow:yes>>}}} will list all tiddlers across TiddlySpace that come from your list of followers
adds spaceLink view type {{{<<view server.bag spaceLink>>}}} creates a link to the space described in server.bag
{{{<<view server.bag spaceLink title>>}}} makes a link to the tiddler with title expressed in the field title in space server.bag
If no name is given eg. {{{<<following>>}}} or {{{<<follow>>}}} it will default the current user.
!StyleSheet
.followTiddlersList li {
	list-style:none;
}

.followButton {
	width: 2em;
}

.followTiddlersList li .siteIcon {
	height:48px;
	width: 48px;
}

#sidebarTabs .followers li a,
.followers .siteIcon,
.followers .siteIcon div {
	display: inline;
}

.followTiddlersList li .externalImage, .followTiddlersList li .image {
	display: inline;
}

.scanResults li {
	list-style: none;
}
!Code
***/
//{{{
(function($) {
var LIMIT_FOLLOWING = 100;

var tweb = config.extensions.tiddlyweb;
var tiddlyspace = config.extensions.tiddlyspace;
var currentSpace = tiddlyspace.currentSpace.name;

var shadows = config.shadowTiddlers;
config.annotations.ScanTemplate = "This tiddler is the default template used in the display of tiddlers founding using the tsScan macro. To access attributes use the view macro e.g. {{{<<view title text>>}}}";
shadows.ScanTemplate = "<<view modifier SiteIcon width:24 height:24 spaceLink:yes label:no>> <<view title link>>";
shadows.FollowersTemplate = "<<view server.bag SiteIcon width:24 height:24 spaceLink:yes label:no>> <<view server.bag spaceLink>>";
shadows.FollowingTemplate = "<<view title SiteIcon width:24 height:24 spaceLink:yes label:no>> <<view title spaceLink>>";
shadows.FollowTiddlersBlackList = "";
shadows.FollowTiddlersHeading = "There are tiddlers in spaces you follow using the follow tag which use the title <<view title text>>";
shadows.FollowTiddlersTemplate = ["* <<view server.space SiteIcon width:24 height:24 spaceLink:yes label:no>> ",
	"<<view server.space spaceLink title external:no>> modified by <<view modifier spaceLink>> ",
	"in the <<view server.space spaceLink>> space (<<view modified date>> @ <<view modified date 0hh:0mm>>).\n"].join("");

var name = "StyleSheetFollowing";
shadows[name] = "/*{{{*/\n%0\n/*}}}*/".
	format(store.getTiddlerText(tiddler.title + "##StyleSheet"));
store.addNotification(name, refreshStyles);

// provide support for sucking in tiddlers from the server
tiddlyspace.displayServerTiddler = function(src, title, workspace, callback) {
	var adaptor = store.getTiddlers()[0].getAdaptor();
	var localTitle = tiddlyspace.getLocalTitle(title, workspace);
	var tiddler = new Tiddler(localTitle);
	tiddler.text = "Please wait while this tiddler is retrieved...";
	tiddler.fields.doNotSave = "true";
	store.addTiddler(tiddler);
	src = story.displayTiddler(src || null, tiddler.title);
	tweb.getStatus(function(status) {
		var context = {
			host: tweb.host, // TODO: inherit from source tiddler?
			workspace: workspace,
			headers: { "X-ControlView": "false" }
		};
		var getCallback = function(context, userParams) {
			var tiddler = context.tiddler;
			tiddler.title = localTitle;
			store.addTiddler(tiddler);
			story.refreshTiddler(localTitle, null, true); // overriding existing allows updating
			if(callback) {
				callback(src, tiddler);
			}
		};
		adaptor.getTiddler(title, context, null, getCallback);
	});
};

tiddlyspace.scroller = {
	runHandler: function(title, top, bottom, height) {
		var i;
		var handlers = tiddlyspace.scroller.handlers;
		var tidEl = story.getTiddler(title);
		if(tidEl) {
			var topEl = $(tidEl).offset().top + 20;
			if(top === false || (topEl > top && topEl < bottom)) {
				var h = handlers[title];
				for(i = 0; i < h.length; i++) {
					h[i]();
				}
				tiddlyspace.scroller.clearHandlers(title);
			}
		} else {
			tiddlyspace.scroller.clearHandlers(title);
		}
	},
	clearHandlers: function(title) {
		tiddlyspace.scroller.handlers[title] = [];
	},
	registerIsVisibleEvent: function(title, handler) {
		tiddlyspace.scroller.handlers[title] = tiddlyspace.scroller.handlers[title] || [];
		tiddlyspace.scroller.handlers[title].push(handler);
	},
	init: function() {
		this.handlers = {};
		this.interval = window.setInterval(function() {
			var top = $(window).scrollTop();
			var height = $(window).height();
			var bottom = top + height;
			var title;
			for(title in tiddlyspace.scroller.handlers) {
				if(title) {
					tiddlyspace.scroller.runHandler(title, top, bottom, height);
				}
			}
		}, 2000); // every 2 seconds check scroll position
	}
};
tiddlyspace.scroller.init();

var followMacro = config.macros.followTiddlers = {
	locale: {
		followListHeader: "Here are tiddlers from spaces you follow using the follow tag which use this title.",
		noTiddlersFromFollowers: "None of the spaces you follow contain a tiddler with this name.",
		errorMessage: "There was a problem retrieving tiddlers from the server. Please try again later."
	},
	init: function() {
		followMacro.lookup = {};
	},
	followTag: "follow",
	getHosts: function(callback) {
		tweb.getStatus(function(status) {
			callback(tweb.host, tiddlyspace.getHost(status.server_host, "%0"));
		});
	},
	getBlacklist: function() {
		return store.getTiddlerText("FollowTiddlersBlackList").split("\n");
	},
	handler: function(place, macroName, params, wikifier, paramString, tiddler) {
		var args = paramString.parseParams("anon")[0];
		var containingTiddler = story.findContainingTiddler(place).getAttribute('tiddler');
		var title = (args.anon && args.anon[0]) || tiddler.fields["server.title"] || tiddler.title;
		var tid = store.getTiddler(title);
		var user = params[1] || false;
		if(tid) {
			followMacro.makeButton(place, {
				url: "/search?q=title:%22" + encodeURIComponent(title) + "%22",
				containingTiddler: containingTiddler,
				blacklisted: followMacro.getBlacklist(), title: title, user: user,
				consultFollowRelationship: (args.follow &&
					args.follow[0] === 'false') ? false : true });
		}
	},
	makeButton: function(place, options) { // this is essentially the same code in TiddlySpaceFollowingPlugin
		var title = options.title;
		var blacklisted = options.blacklisted;
		var tiddler = store.getTiddler(title);
		var btn = $('<div class="followButton" />').addClass("notLoaded").appendTo(place)[0];
		if(blacklisted.contains(title)) {
			$(btn).remove();
			return;
		} else {
			var user = options.user;
			window.setTimeout(function() { // prevent multiple calls due to refresh
				tiddlyspace.scroller.registerIsVisibleEvent(options.containingTiddler, function() {
					var mkButton = function(followers, ignore) {
						if(!followers && !ignore) {
							$(btn).remove();
						} else {
							$("<a />").appendTo(btn);
							var scanOptions = { url: options.url,
								spaceField: options.spaceField || "bag", template: null, sort: "-modified",
								callback: function(tiddlers) {
									$(btn).removeClass("notLoaded");
									followMacro.constructInterface(btn, tiddlers);
								}
							};
							if(!ignore) {
								scanOptions.showBags = followMacro._getFollowerBags(followers);
							}
							scanOptions.hideBags = [tiddler.fields["server.bag"]];
							scanMacro.scan(null, scanOptions, user);
						}
					};
					if(options.consultFollowRelationship) {
						followMacro.getFollowers(mkButton);
					} else {
						mkButton([], true);
					}
				});
			}, 1000);
		}
	},
	constructInterface: function(container, tiddlers) {
		var txt = tiddlers.length;
		var className = txt > 0 ? "hasReplies" : "noReplies";
		var el = $(story.findContainingTiddler(container));
		$(container).empty().addClass(className);
		var btn = $("<a />").addClass("followedTiddlers").text(txt).
			click(function(ev) {
				followMacro.followingOnClick(ev);
			}).appendTo('<div class="followedTiddlers" />').appendTo(container)[0];
		$.data(btn, "tiddlers", tiddlers);
	},
	followingOnClick: function(ev) {
		var target = ev.target;
		var locale = followMacro.locale;
		var el = $('<div class="followTiddlersList" />')[0];
		var popup = Popup.create(target,"div");
		$(popup).addClass("taggedTiddlerList followList").click(function(ev) { // make it so only clicking on the document outside the popup removes the popup
			if(ev.target.parentNode != document) {
				ev.stopPropagation();
			}
		}).append(el);
		var tiddlers = $.data(target, "tiddlers") || [];
		scanMacro.template(el, tiddlers.slice(0,1), "FollowTiddlersHeading");
		scanMacro.template(el, tiddlers, "FollowTiddlersTemplate");
		if(tiddlers.length === 0) {
			$("<li />").text(locale.noTiddlersFromFollowers).appendTo(el);
		}
		Popup.show();
		ev.stopPropagation();
		return popup;
	},
	_getFollowerBags: function(followers) { // XXX: private or not?
		return $.map(followers, function(name, i) {
			return name != currentSpace ? "%0_public".format(name) : null;
		});
	},
	getFollowers: function(callback, username) {
		// returns a list of spaces being followed by the existing space
		var followersCallback = function(user) {
			if(!user.anon) {
				scanMacro.scan(null, { 
					url: "/search?q=bag:%0_public tag:%1 _limit:%2".format(user.name, followMacro.followTag, LIMIT_FOLLOWING),
					spaceField: "title", template: null, cache: true,
					callback: function(tiddlers) {
						var followers = [];
						for(var i = 0; i < tiddlers.length; i++) {
							followers.push(tiddlyspace.resolveSpaceName(tiddlers[i].title));
						}
						callback(followers);
					}
				});
			} else {
				callback(false);
			}
		};
		return !username ? tweb.getUserInfo(followersCallback) : followersCallback({ name: username });
	}
};

var scanMacro = config.macros.tsScan = {
	init: function () {
		this.scanned = {};
	},
	_tiddlerfy: function(jsontiddlers, options) {
		var tiddlers = [];
		var spaceField = options.spaceField || "bag"; // TODO: phase out use view types instead
		$.each(jsontiddlers, function(i, t) {
			var use = false;
			if(!options.showBags || (options.showBags && options.showBags.contains(t.bag))) {
				use = true;
			}
			if(options.hideBags && options.hideBags.contains(t.bag)) {
				use = false;
			}
			if(use) {
				var spaceName = t[spaceField];
				var tiddler = config.adaptors.tiddlyweb.toTiddler(t, tweb.host);
				tiddler.fields["server.space"] = tiddlyspace.resolveSpaceName(spaceName);
				tiddlers.push(tiddler);
			}
		});
		return tiddlers;
	},
	_scanCallback: function(place, jsontiddlers, options) {
		var locale = followersMacro.locale;
		var tiddlers = scanMacro._tiddlerfy(jsontiddlers, options);
		
		if(options.sort) {
			tiddlers = store.sortTiddlers(tiddlers, options.sort);
		}
		if(options.filter) {
			var _store = new TiddlyWiki();
			config.lastStore = _store;
			for(var i = 0; i < tiddlers.length; i++) {
				var clone = tiddlers[i];
				clone.title = tiddlyspace.getLocalTitle(clone.title, clone.fields['server.workspace']);
				_store.addTiddler(clone);
			}
			tiddlers = _store.filterTiddlers(options.filter);
		}
		if(place) {
			$(place).empty();
			var list = $("<ul />").appendTo(place)[0];
			scanMacro.template(list, tiddlers, options.template);
			if(tiddlers.length === 0) {
				$("<li />").text(options.emptyMessage || locale.noone).appendTo(list);
				$(list).addClass("emptyList");
			}
		}
		if(options.callback) {
			options.callback(tiddlers);
		}
	},
	constructSearchUrl: function(host, options) {
		if(options.url) {
			return options.url;
		}
		var inputs = options.searchValues;
		var tag = options.tag;
		var searchField = options.searchField || "title";
		var searchQuery = [];
		for(var i = 0; i < inputs.length; i++) {
			searchQuery.push('%0:"%1"'.format(searchField, inputs[i]));
		}
		var query = searchQuery.join(" OR ");
		query = tag ? "(%0) AND tag:%1".format(query, tag) : query;
		query = options.query ? "%0;%1;".format(query, options.query) : query;
		query = options.fat ? "%0&fat=1".format(query) : query;
		return '%0/search?q=%1'.format(host, query);
	},
	scan: function(place, options) { // TODO: make use of list macro with url filter
		var locale = followersMacro.locale;
		options.template = options.template ? options.template : "ScanTemplate";
		followMacro.getHosts(function(host, tsHost) {
			$(place).text(followersMacro.locale.pleaseWait);
			options = options ? options: {};
			var url = scanMacro.constructSearchUrl(host, options);
			if(options.cache && scanMacro.scanned[url]) {
				var tiddlers = scanMacro.scanned[url].tiddlers;
				var run = function(tiddlers) {
					scanMacro._scanCallback(place, tiddlers, options);
				};
				if(tiddlers) {
					run(tiddlers);
				} else {
					scanMacro.scanned[url].callbacks.push(run);
				}
			} else {
				var callback = function(tiddlers) {
					scanMacro._scanCallback(place, tiddlers, options);
				};
				if(scanMacro.scanned[url] && scanMacro.scanned[url].callbacks) {
					scanMacro.scanned[url].callbacks.push(callback);
				} else {
					scanMacro.scanned[url] = {
						callbacks: [callback]
					};
				}
				ajaxReq({
					url: url,
					dataType: "json",
					success: function(tiddlers) {
						scanMacro.scanned[url].tiddlers = tiddlers;
						var callbacks = scanMacro.scanned[url].callbacks;
						while(callbacks.length > 0) {
							callbacks.pop()(tiddlers);
						}
					},
					error: function(xhr) {
						$(place).empty();
						$("<span />").addClass("annotation error").text(locale.error.format(xhr.status)).appendTo(place);
					}
				});
			}
		});
	},
	template: function(place, tiddlers, template) { // TODO: make use of list macro.
		for(var i = 0; i < tiddlers.length; i++) {
			var tiddler = tiddlers[i];
			var item = $('<li class="spaceName" />').appendTo(place)[0];
			var spaceName = tiddler.fields["server.space"] || "";
			var templateText = store.getTiddlerText(template).replace(/\$1/mg, spaceName);
			wikify(templateText, item, null, tiddler);
		}
	},
	getOptions: function(paramString, tiddler) {
		var args = paramString.parseParams("name", null, true, false, true)[0];
		var options = { query: false, sort: false, tag: false, template: false, showBags: args.show || false,
			hideBags: args.hide || false, filter: false, spaceField: "bag", searchField: "title", fat: false,
			emptyMessage: false };
		for(var name in args) {
			if(name != "name") {
				if(name == "fat") {
					options[name] = true;
				} else {
					options[name] = args[name][0];
				}
			}
		}
		// if user has set searchField to modifier, then use the modifiers value if available otherwise use searchValues.
		var searchField = options.searchField;
		var searchValues = args[searchField] ? args[searchField] : args.searchValues;
		// if neither of those were used use the first parameter
		var defaultValues = tiddler ? [ tiddler.title ] : [];
		options.searchValues = searchValues ? searchValues : ( args.name ? [args.name[0]] : defaultValues);
		return options;
	},
	handler: function(place, macroName, params, wikifier, paramString, tiddler) {
		var container = $("<div />").addClass("scanResults resultsArea").appendTo(place)[0];
		var options = scanMacro.getOptions(paramString, tiddler);
		scanMacro.scan(container, options);
	}
};

var followersMacro = config.macros.followers = {
	locale: {
		loggedOut: "Please login to see the list of followers",
		noSupport: "We were unable to retrieve followers as your browser does not support following.",
		pleaseWait: "Please wait while we look this up...",
		error: "Error %0 occurred whilst retrieving data from server",
		noone: "None."
	},
	handler: function(place, macroName, params, wikifier, paramString, tiddler) {
		var locale = followersMacro.locale;
		var args = paramString.parseParams("name", null, true, false, true)[0];
		var username = args.name ? args.name[0] : false;
		var container = $('<div class="followers" />').text(locale.pleaseWait).
			appendTo(place)[0];
		var followersCallback = function(user) {
			if(user.anon) {
				$("<span />").text(locale.loggedOut).appendTo(container);
			} else {
				var options = scanMacro.getOptions(paramString);
				$.extend(options, {
					url: "/search?q=title:@%0 OR title:%0 tag:%1 _limit:%2".
						format(user.name, followMacro.followTag, LIMIT_FOLLOWING),
					spaceField: "bag",
					template: options.template ? options.template : "FollowersTemplate"
				});
				scanMacro.scan(container, options);
			}
		};
		return !username ? followersCallback({ name: currentSpace }) : followersCallback({ name: username });
	}
};

var followingMacro = config.macros.following = {
	locale: {
		pleaseWait: followersMacro.locale.pleaseWait,
		loggedOut: "Please login to see who you are following",
		noSupport: followersMacro.locale.noSupport,
		error: followersMacro.locale.error,
		noone: followersMacro.locale.noone
	},
	handler: function(place, macroName, params, wikifier, paramString, tiddler) {
		var locale = followingMacro.locale;
		var args = paramString.parseParams("name", null, true, false, true)[0];
		var fat = args.fat ? true : false;
		var username = args.name ? args.name[0] : false;
		var container = $('<div class="following" />').text(locale.pleaseWait).
			appendTo(place)[0];
		var followingCallback = function(user) {
			if(user.anon) {
				$("<span />").text(locale.loggedOut).appendTo(container);
			} else {
				var options = scanMacro.getOptions(paramString);
				$.extend(options, {
					url: "/search?q=bag:%0_public tag:%1 _limit:%2".format(user.name, followMacro.followTag, LIMIT_FOLLOWING),
					spaceField: "title",
					template: options.template ? options.template : "FollowingTemplate"
				});
				scanMacro.scan(container, options);
			}
		};
		return !username ? followingCallback({ name: currentSpace }) : followingCallback({ name: username });
	}
};

var linkedMacro = config.macros.linkedTiddlers = {
	handler: function(place, macroName, params, wikifier, paramString, tiddler) {
		var args = paramString.parseParams("anon")[0];
		var title = params[0] || tiddler.fields["server.title"] || tiddler.title;
		var tid = store.getTiddler(title);
		var containingTiddler = story.findContainingTiddler(place).getAttribute('tiddler');
		if(tid) {
			followMacro.makeButton(place, {
				spaceField: "recipe",
				url: "/bags/%0/tiddlers/%1/backlinks".format(tid.fields['server.bag'],
					encodeURIComponent(tid.title)),
				blacklisted: followMacro.getBlacklist(),
				title: title,
				containingTiddler: containingTiddler,
				user: params[1] || false,
				consultFollowRelationship: args.follow ? true : false });
		}
	}
};

if(config.options.chkFollowTiddlersIsLinkedTiddlers) {
	merge(config.macros.followTiddlers, config.macros.linkedTiddlers);
	config.shadowTiddlers.FollowTiddlersHeading = "These are the other tiddlers that link to this tiddler.";
}

})(jQuery);
//}}}
/***
|''Name''|TiddlySpaceInitialization|
|''Version''|0.7.3|
|''Description''|Initializes new TiddlySpaces the first time they are created|
|''Status''|@@beta@@|
|''Source''|http://github.com/TiddlySpace/tiddlyspace/blob/master/src/plugins/TiddlySpaceInit.js|
|''CoreVersion''|2.6.1|
|''Requires''|TiddlySpaceConfig RandomColorPalettePlugin chrjs ImageMacroPlugin|
!TODO
* robust error notification and recovery
!MarkupPreHead
<!--{{{-->
<link href="/bags/%0_public/tiddlers.atom" rel="alternate"
	type="application/atom+xml" title="%0's public feed" />
<link rel="canonical" href="%1/" />
<!--}}}-->
!Code
***/
//{{{
(function($) {

var versionField = "tiddlyspaceinit_version";
var markupPreHead = store.getTiddlerText(tiddler.title + "##MarkupPreHead", "");
var tiddlyspace = config.extensions.tiddlyspace;
var currentSpace = tiddlyspace.currentSpace;
var tweb = config.extensions.tiddlyweb;

var plugin = config.extensions.TiddlySpaceInit = {
	version: "0.6",
	SiteTitle: "%0",
	SiteSubtitle: "a TiddlySpace",
	flagTitle: "%0SetupFlag",
	flagWarning: "Please do not modify this tiddler; it was created " +
		"automatically upon space creation.",

	dispatch: function(ev) {
		var title = plugin.flagTitle.format([currentSpace.name]);
		config.annotations[title] = plugin.flagWarning;
		if(currentSpace.type != "private") {
			return;
		}
		var tiddlers = [];
		var tid = store.getTiddler(title);
		if(tid) {
			curVersion = parseFloat(tid.fields[versionField]);
			reqVersion = parseFloat(plugin.version);
			if(curVersion < reqVersion) {
				plugin.update(curVersion, tid);
				tid.fields[versionField] = plugin.version;
				tid.incChangeCount();
				tid = store.saveTiddler(tid);
				tiddlers.push(tid);
			}
		} else { // first run
			tid = new Tiddler(title);
			tid.tags = ["excludeLists", "excludeSearch", "excludePublisher"];
			tid.fields = $.extend({}, config.defaultCustomFields);
			tid.fields[versionField] = plugin.version;
			tid.text = "@@%0@@".format([plugin.flagWarning]);
			tid = store.saveTiddler(tid);
			tiddlers = tiddlers.concat(plugin.firstRun(), tid);
		}
		autoSaveChanges(null, tiddlers);
	},
	update: function(curVersion, flagTiddler) {
		if(curVersion < 0.2) {
			this.createAvatar();
		}
		if(curVersion < 0.3) {
			flagTiddler.tags.pushUnique("excludePublisher"); // XXX: never persisted
		}
		if(curVersion < 0.5) { // v0.4 was faulty
			this.setupMarkupPreHead();
		}
		if(curVersion < 0.6) {
			this.purgeSystemSettings();
		}
	},
	pubTid: {
		tags: ["excludeLists", "excludeSearch"],
		fields: $.extend({}, config.defaultCustomFields, {
			"server.workspace": tiddlyspace.getCurrentWorkspace("public")
		})
	},
	makeTiddlerIfNot: function(tiddler) {
		if (!store.tiddlerExists(tiddler.title)) {
			$.extend(true, tiddler, plugin.pubTid);
			return [store.saveTiddler(tiddler)];
		} else {
			return [];
		}
	},
	firstRun: function() {
		var tiddlers = [];
		// generate Site*itle
		$.each(["SiteTitle", "SiteSubtitle"], function(i, item) {
			var tid = new Tiddler(item);
			tid.text = plugin[item].format([currentSpace.name]);
			tiddlers.push.apply(tiddlers,
				plugin.makeTiddlerIfNot(tid));
		});
		// generate public ColorPalette
		var tid = new Tiddler("ColorPalette");
		tid.text = config.macros.RandomColorPalette.generatePalette({
			saturation_pale: 0.67, saturation_light: 0.53,
			saturation_mid: 0.43, saturation_dark: 0.06,
			pale: 0.99, light: 0.85, mid: 0.5, dark: 0.31
		},
			false);
		tiddlers.push.apply(tiddlers, plugin.makeTiddlerIfNot(tid));
		this.createAvatar();
		this.setupMarkupPreHead();
		return tiddlers;
	},
	// remove _cookie slices (TiddlyWiki 2.6.2 beta 6 remnants)
	purgeSystemSettings: function() {
		var ss = store.getTiddler("SystemSettings");
		if(ss) {
			var lines = ss.text.split("\n");
			var persistentOptions = $.grep(lines, function(line, i) {
				return line.indexOf("_cookie:") == -1;
			});
			ss.text = persistentOptions.join("\n");
			ss = store.saveTiddler(ss);
			autoSaveChanges(null, [ss]);
		}
	},
	createAvatar: function() {
		var avatar = "SiteIcon";
		var host = tweb.host;
		var notify = function(xhr, error, exc) {
			displayMessage("ERROR: could not create avatar - " + // TODO: i18n
				"%0: %1".format([xhr.statusText, xhr.responseText]));
			// TODO: resolve!?
		};

		var pubBag = tiddlyspace.getCurrentBag("public");
		var tid = new tiddlyweb.Tiddler(avatar);
		tid.bag = new tiddlyweb.Bag(pubBag, host);

		var callback = function(data, status, xhr) {}; // avatar already exists; do nothing
		var errback = function(xhr, error, exc) {
			if(xhr.status != 404) {
				return;
			}
			// copy default avatar
			var _notify = function(tid, status, xhr) {
				displayMessage("created avatar"); // TODO: i18n
				var image = config.macros.image;
				if(image && image.refreshImage) {
					var uri = "/%0/tiddlers/SiteIcon".
						format(tiddlyspace.getCurrentWorkspace("public"));
					image.refreshImage(uri);
					image.refreshImage("SiteIcon");
				}
			};
			var _callback = function(tid, status, xhr) {
				tid.title = avatar;
				tid.bag.name = pubBag;
				delete tid.etag;
				tid.put(_notify, notify); // TODO: add to current session document (via adaptor?)
			};
			tweb.getUserInfo(function(user) {
				var avatarTitle = currentSpace.name == user.name ?
					"defaultUserIcon" : "defaultSiteIcon";
				var tid = new tiddlyweb.Tiddler(avatarTitle);
				tid.bag = new tiddlyweb.Bag("common", host);
				tid.get(_callback, notify);
			});
		};
		tid.get(callback, errback);
	},
	savePublicTiddlerText: function(title, text, pubWorkspace) {
		var tid = new Tiddler(title);
		tid.text = text;
		tid.tags = ["excludeLists"];
		tid.fields = $.extend({}, config.defaultCustomFields);
		tid.fields["server.workspace"] = pubWorkspace;
		tid.fields["server.page.revision"] = "false";
		tid = store.saveTiddler(tid);
		autoSaveChanges(null, [tid]);
	},
	setupMarkupPreHead: function() {
		var pubWorkspace = tiddlyspace.getCurrentWorkspace("public");
		var existing = store.getTiddler("MarkupPreHead");
		if(!existing || existing.fields["server.workspace"] != pubWorkspace) {
			var context = this;
			tweb.getStatus(function(status) {
				var text = markupPreHead.format(currentSpace.name,
					tiddlyspace.getHost(status.server_host, currentSpace.name));
				context.savePublicTiddlerText("MarkupPreHead", text,
					pubWorkspace);
			});
		}
		// also set up DefaultTiddlers
		var title = "DefaultTiddlers";
		existing = store.getTiddler(title) || new Tiddler(title);
		if(existing.fields["server.workspace"] != pubWorkspace) {
			var text = existing.text || store.getShadowTiddlerText(title);
			this.savePublicTiddlerText(title, text, pubWorkspace);
		}
	}
};

$(document).bind("startup", plugin.dispatch);

})(jQuery);
//}}}
/***
|''Name:''|TiddlySpaceLinkPlugin|
|''Description:''|Formatter to reference other spaces from wikitext |
|''Author:''|PaulDowney (psd (at) osmosoft (dot) com) |
|''Source:''|http://github.com/TiddlySpace/tiddlyspace/raw/master/src/plugins/TiddlySpaceLinkPlugin.js|
|''Version:''|1.4.2|
|''License:''|[[BSD License|http://www.opensource.org/licenses/bsd-license.php]] |
|''Comments:''|Please make comments at http://groups.google.co.uk/group/TiddlyWikiDev |
|''~CoreVersion:''|2.4|
!!Documentation
This plugin provides wikitext formatters for referencing another [[space|Space]] on the same TiddlySpace server, as in the following examples:
<<<
  {{{@space}}} -- @space 
  {{{~@space}}} -- ~@space 
  {{{Tiddler@space}}} -- Tiddler@space
  {{{[[Tiddler Title]]@space}}} -- [[Tiddler Title]]@space 
  {{{[[Link text|Tiddler Title]]@space}}} -- [[Link text|Tiddler Title]]@space
<<<
Links to tiddlers with a title begining with an "@" remain as tiddlyLinks:
<<<
  {{{[[@tiddler]]}}} -- [[@tiddler]]
<<<
and these may be changed into a space link using {{{@@}}}:
<<<
  {{{[[@@space]]}}} -- [[@@space]]
  {{{[[Link to an another space|@@space]]}}} -- [[Link to another space|@@space]]
  {{{[[@space|@@space]]}}} -- [[@space|@@space]]
<<<
TiddlySpace includes the [[TiddlySpaceLinkPlugin]] which provides WikiText markup for linking to other spaces on the same server. For example @glossary is a link to the {{{glossary}}} space and [[Small Trusted Group]]@glossary a link to an individual tiddler in the @glossary space. Prefixing the link with a tilde escapes the link, for example {{{~@space}}}.
Email addresses, for example joe.bloggs@example.com and mary@had.a.little.lamb.org should be unaffected.
!!Features
The plugin provides external links decorated so that other plugins may be included to add features such as the ability to dynamically pull externally linked tiddlers into the current TiddlyWiki.
Wikitext linking to a space on another server, for example from a tiddler in a space on tiddlyspace.com to a tiddler or a space on example.com, isn't currently supported. 
!!Code
***/
//{{{
/*jslint onevar: false nomen: false plusplus: false */
/*global jQuery config createTiddlyText createExternalLink createTiddlyLink */

function createSpaceLink(place, spaceName, title, alt, isBag) {
	var link, a, currentSpaceName, label;
	try {
		if (spaceName === config.extensions.tiddlyspace.currentSpace.name) {
			title = title || spaceName;
			a = createTiddlyLink(place, title, false);
			jQuery(a).text(alt || title);
			return a;
		}
	} catch (ex1) {
		currentSpaceName = false;
	}

	a = jQuery("<a />").addClass('tiddlySpaceLink externalLink').appendTo(place)[0];
	if(title) {
		jQuery(a).attr('tiddler', title);
	}
	if(isBag) {
		jQuery(a).attr('bag', spaceName);
	} else {
		jQuery(a).attr('tiddlyspace', spaceName);
	}

	config.extensions.tiddlyweb.getStatus(function(status) {
		link = status.server_host.url;
		if (title) {
			label = alt || title;
			link = link + "/" + encodeURIComponent(title);
		} else {
			label = alt || spaceName;
		}
		// assumes a http URI without user:pass@ prefix
		if(!isBag) {
			link = link.replace("http://", "http://" + spaceName.toLowerCase() + ".");
		} else {
			link += "/bags/" + spaceName + "/tiddlers.wiki";
		}
		jQuery(a).attr("href", link).text(label);
	});
	return a;
}

(function ($) {

	config.textPrimitives.spaceName = "[a-zA-Z][a-zA-Z0-9-]*[a-zA-Z0-9]";
	config.textPrimitives.spaceNameStrict = "[a-z][a-z0-9-]*";
	config.textPrimitives.bareTiddlerLetter = config.textPrimitives.anyLetterStrict;

	config.formatters.splice(0, 0, {
		name: "spacenameLink",
		match: config.textPrimitives.unWikiLink + "?" + config.textPrimitives.bareTiddlerLetter + "*@" + config.textPrimitives.spaceName + "\\.?.?",
		lookaheadRegExp: new RegExp(config.textPrimitives.unWikiLink + "?(" + config.textPrimitives.bareTiddlerLetter + "*)@(" + config.textPrimitives.spaceName + ")", "mg"),
		handler: function (w) {
			if (w.matchText.substr(w.matchText.length - 2, 1) === '.' && w.matchText.substr(w.matchText.length - 1, 1).match(/[a-zA-Z]/)) {
				w.outputText(w.output, w.matchStart, w.nextMatch);
				return;
			}
			if (w.matchText.substr(0, 1) === config.textPrimitives.unWikiLink) {
				w.outputText(w.output, w.matchStart + 1, w.nextMatch);
				return;
			}
			this.lookaheadRegExp.lastIndex = w.matchStart;
			var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
			if (lookaheadMatch && lookaheadMatch.index === w.matchStart) {
				createSpaceLink(w.output, lookaheadMatch[2], lookaheadMatch[1]);
				w.nextMatch = this.lookaheadRegExp.lastIndex;
			}
		}
	},
	{
		name: "tiddlySpaceLink",
		match: "\\[\\[[^\\|\\]]*\\|*@@" + config.textPrimitives.spaceName + "\\]",
		lookaheadRegExp: new RegExp("\\[\\[(.*?)(?:\\|@@(.*?))?\\]\\]", "mg"),
		handler: function (w) {
			this.lookaheadRegExp.lastIndex = w.matchStart;
			var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
			if (lookaheadMatch && lookaheadMatch.index === w.matchStart) {
				var alt = lookaheadMatch[2] ? lookaheadMatch[1] : lookaheadMatch[1].replace(/^@@/, "");
				var space = lookaheadMatch[2] || alt;
				createSpaceLink(w.output, space, "", alt);
				w.nextMatch = this.lookaheadRegExp.lastIndex;
			}
		}
	},
	{
		name: "tiddlyLinkSpacenameLink",
		match: "\\[\\[[^\\[]*\\]\\]@",
		lookaheadRegExp: new RegExp("\\[\\[(.*?)(?:\\|(.*?))?\\]\\]@(" + config.textPrimitives.spaceName + ")", "mg"),
		handler: function (w) {
			this.lookaheadRegExp.lastIndex = w.matchStart;
			var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
			if (lookaheadMatch && lookaheadMatch.index === w.matchStart) {
				var title = lookaheadMatch[2] || lookaheadMatch[1];
				var alt = lookaheadMatch[1] || lookaheadMatch[2];
				createSpaceLink(w.output, lookaheadMatch[3], title, alt);
				w.nextMatch = this.lookaheadRegExp.lastIndex;
			}
		}
	});

	// ensure space links don't appear as missing links
	config.textPrimitives.brackettedLink = "\\[\\[([^\\]][^@\\]][^\\]]*)\\]\\](?=[^@])";
	config.textPrimitives.titledBrackettedLink = "\\[\\[([^\\[\\]\\|]+)\\|([^\\[\\]\\|]+)\\]\\](?=[^@])";

	// reevaluate derrived expressions ..
	config.textPrimitives.tiddlerForcedLinkRegExp = new RegExp("(?:" + config.textPrimitives.titledBrackettedLink + ")|(?:" +
		config.textPrimitives.brackettedLink + ")|(?:" +
		config.textPrimitives.urlPattern + ")","mg");
	config.textPrimitives.tiddlerAnyLinkRegExp = new RegExp("("+ config.textPrimitives.wikiLink + ")|(?:" +
		config.textPrimitives.titledBrackettedLink + ")|(?:" +
		config.textPrimitives.brackettedLink + ")|(?:" +
		config.textPrimitives.urlPattern + ")","mg");

	// treat space links in titledBracketedLink as external links
	var missingTiddlySpaceLink = new RegExp("^@@" + config.textPrimitives.spaceName + "$", "");
	var isExternalLink = config.formatterHelpers.isExternalLink;
	config.formatterHelpers.isExternalLink = function(link) {
		return missingTiddlySpaceLink.test(link) || isExternalLink(link);
	};

}(jQuery));
//}}}
/***
|''Name''|TiddlySpacePublishingCommands|
|''Version''|0.8.5|
|''Status''|@@beta@@|
|''Description''|toolbar commands for drafting and publishing|
|''Author''|Jon Robson|
|''Source''|http://github.com/TiddlySpace/tiddlyspace/raw/master/src/plugins/TiddlySpacePublishingCommands.js|
|''CoreVersion''|2.6.1|
|''Requires''|TiddlySpaceConfig TiddlySpaceFilters|
!Usage
Provides changeToPrivate, changeToPublic and saveDraft commands
Provides TiddlySpacePublisher macro.
{{{<<TiddlySpacePublisher type:private>>}}} make lots of private tiddlers public.
{{{<<TiddlySpacePublisher type:public>>}}} make lots of public tiddlers public.
!TODO
* add public argument?
!Code
***/
//{{{
(function($) {

var tiddlyspace = config.extensions.tiddlyspace;
var originMacro = config.macros.tiddlerOrigin;

tiddlyspace.getTiddlerStatusType = function(tiddler) {
	var isShadow = store.isShadowTiddler(tiddler.title);
	var exists = store.tiddlerExists(tiddler.title);
	if(isShadow && !exists) {
		return "shadow";
	} else if(!exists) {
		return "missing";
	} else {
		var types = ["private", "public"];
		var type = "external";
		for(var i = 0; i < types.length; i++) {
			var t = types[i];
			type = config.filterHelpers.is[t](tiddler) ? t : type;
		}
		if(config.filterHelpers.is.unsynced(tiddler)) {
			type = type == "private" ? "unsyncedPrivate" : "unsyncedPublic";
		}
		return type;
	}
};

var cmd = config.commands.publishTiddler = {
	text: "make public",
	tooltip: "Change this private tiddler into a public tiddler",
	errorMsg: "Error publishing %0: %1",

	isEnabled: function(tiddler) {
		return !readOnly && config.filterHelpers.is["private"](tiddler);
	},
	handler: function(ev, src, title) {
		var tiddler = store.getTiddler(title);
		if(tiddler) {
			var newBag = cmd.toggleBag(tiddler.fields["server.bag"]);
			this.moveTiddler(tiddler, {
				title: tiddler.fields["publish.name"] || tiddler.title,
				fields: { "server.bag": newBag }
			});
		}
	},
	toggleBag: function(bag, to) {
		var newBag;
		if(typeof bag != typeof "") {
			var tiddler = bag;
			bag = tiddler.fields["server.bag"];
		}
		if(bag.indexOf("_private") > -1) { // should make use of endsWith
			to = to ? to : "public";
			newBag = bag.replace("_private", "_" + to);
		} else {
			to = to ? to : "private";
			newBag = bag.replace("_public", "_" + to);
		}
		return newBag;
	},
	copyTiddler: function(title, newTitle, newBag, callback) {
		var original = store.getTiddler(title);
		newTitle = newTitle ? newTitle : title;
		var adaptor = original.getAdaptor();
		var publish = function(original, callback) {
			var tiddler = $.extend(new Tiddler(newTitle), original);
			tiddler.fields = $.extend({}, original.fields, {
				"server.bag": newBag,
				"server.workspace": "bags/%0".format(newBag),
				"server.page.revision": "false"
			});
			delete tiddler.fields["server.title"];
			tiddler.title = newTitle;
			adaptor.putTiddler(tiddler, null, null, callback);
		};
		publish(original, callback);
	},
	moveTiddler: function(tiddler, newTiddler, callback) {
			var info = {
			copyContext: {},
			deleteContext: {}
		};
		var _dirty = store.isDirty();
		var adaptor = tiddler.getAdaptor();
		var newTitle = newTiddler.title;
		var oldTitle = tiddler.title;
		delete tiddler.fields["server.workspace"];
		var oldBag = tiddler.fields["server.bag"];
		var newBag = newTiddler.fields["server.bag"];
		var newWorkspace = "bags/%0".format(newBag);
		cmd.copyTiddler(oldTitle, newTitle, newBag, function(ctx) {
				info.copyContext = ctx;
				var context = {
					tiddler: tiddler,
					workspace: newWorkspace
				};
				store.addTiddler(ctx.tiddler);
				tiddler.title = oldTitle; // for cases where a rename occurs
				if(ctx.status) { // only do if a success
					if(oldBag != newBag) {
						adaptor.deleteTiddler(tiddler, context, {}, function(ctx) {
							info.deleteContext = ctx;
							var el;
							if(tiddler) {
								tiddler.fields["server.workspace"] = newWorkspace;
								tiddler.fields["server.bag"] = newBag;
							}
							el = el ? el : story.refreshTiddler(oldTitle, null, true);
							if(oldTitle != newTitle) {
								store.deleteTiddler(oldTitle);
								store.notify(oldTitle, true);
							}
							if(el) {
								story.displayTiddler(el, newTitle);
							}
							if(oldTitle != newTitle) {
								story.closeTiddler(oldTitle);
							}
							if(callback) {
								callback(info);
							}
							store.setDirty(_dirty);
						});
					} else {
						if(callback) {
							callback(info);
						}
					}
					refreshDisplay();
				}
		});
	}
};

var changeToPrivate = config.commands.changeToPrivate = {
	text: "make private",
	tooltip: "turn this public tiddler into a private tiddler",
	isEnabled: function(tiddler) {
		return !readOnly && config.filterHelpers.is["public"](tiddler);
	},
	handler: function(event, src, title) {
		var tiddler = store.getTiddler(title);
		var newBag = cmd.toggleBag(tiddler, "private");
		var newTiddler = { title: title, fields: { "server.bag": newBag }};
		cmd.moveTiddler(tiddler, newTiddler);
	}
};
config.commands.changeToPublic = cmd;

/* Save as draft command */
var saveDraftCmd = config.commands.saveDraft = {
	text: "save draft",
	tooltip: "Save as a private draft",
	isEnabled: function(tiddler) {
		return changeToPrivate.isEnabled(tiddler);
	},
	getDraftTitle: function(title) {
		var draftTitle;
		var draftNum = "";
		while(!draftTitle) {
			var suggestedTitle = "%0 [draft%1]".format(title, draftNum);
			if(store.getTiddler(suggestedTitle)) {
				draftNum = !draftNum ? 2 : draftNum + 1;
			} else {
				draftTitle = suggestedTitle;
			}
		}
		return draftTitle;
	},
	createDraftTiddler: function(title, gatheredFields) {
		var tiddler = store.getTiddler(title);
		var draftTitle = saveDraftCmd.getDraftTitle(title);
		var draftTiddler = new Tiddler(draftTitle);
		if(tiddler) {
			$.extend(true, draftTiddler, tiddler);
		} else {
			$.extend(draftTiddler.fields, config.defaultCustomFields);
		}
		for(var fieldName in gatheredFields) {
			if(TiddlyWiki.isStandardField(fieldName)) {
				draftTiddler[fieldName] = gatheredFields[fieldName];
			} else {
				draftTiddler.fields[fieldName] = gatheredFields[fieldName];
			}
		}
		var privateBag = tiddlyspace.getCurrentBag("private");
		var privateWorkspace = tiddlyspace.getCurrentWorkspace("private");
		draftTiddler.title = draftTitle;
		draftTiddler.fields["publish.name"] = title;
		draftTiddler.fields["server.workspace"] = privateWorkspace;
		draftTiddler.fields["server.bag"] = privateBag;
		draftTiddler.fields["server.title"] = draftTitle;
		draftTiddler.fields["server.page.revision"] = "false";
		delete draftTiddler.fields["server.etag"];
		return draftTiddler;
	},
	handler: function(ev, src, title) {
		var tiddler = store.getTiddler(title); // original tiddler
		var tidEl = story.getTiddler(title);
		var uiFields = {};
		story.gatherSaveFields(tidEl, uiFields);
		var tid = saveDraftCmd.createDraftTiddler(title, uiFields);
		tid = store.saveTiddler(tid.title, tid.title, tid.text, tid.modifier,
			new Date(), tid.tags, tid.fields);
		autoSaveChanges(null, [tid]);
		story.closeTiddler(title);
		story.displayTiddler(src, title);
		story.displayTiddler(src, tid.title);
	}
};

var macro = config.macros.TiddlySpacePublisher = {
	locale: {
		title: "Batch Publisher",
		changeStatusLabel: "Make %0",
		noTiddlersText: "No tiddlers to publish",
		changeStatusPrompt: "Make all the selected tiddlers %0.",
		description: "Change tiddlers from %0 to %1 in this space"
	},

	listViewTemplate: {
		columns: [
			{ name: "Selected", field: "Selected", rowName: "title", type: "Selector" },
			{ name: "Tiddler", field: "tiddler", title: "Tiddler", type: "Tiddler" },
			{ name: "Status", field: "status", title: "Status", type: "WikiText" }
		],
		rowClasses: []
	},

	changeStatus: function(tiddlers, status, callback) { // this is what is called when you click the publish button
		var publicBag;
		for(var i = 0; i < tiddlers.length; i++) {
			var tiddler = tiddlers[i];
			var newTiddler = {
				title: tiddler.title,
				fields: { "server.bag": cmd.toggleBag(tiddler, status) }
			};
			cmd.moveTiddler(tiddler, newTiddler, callback);
		}
	},
	getMode: function(paramString) {
		var params = paramString.parseParams("anon")[0];
		var status = params.type ?
			(["public", "private"].contains(params.type[0]) ? params.type[0] : "private") :
			"private";
		var newStatus = status == "public" ? "private" : "public";
		return [status, newStatus];
	},
	handler: function(place, macroName, params, wikifier, paramString, tiddler) {
		var wizard = new Wizard();
		var locale = macro.locale;
		var status = macro.getMode(paramString);
		wizard.createWizard(place, locale.title);
		wizard.addStep(macro.locale.description.format(status[0], status[1]),
			'<input type="hidden" name="markList" />');
		var markList = wizard.getElement("markList");
		var listWrapper = $("<div />").addClass("batchPublisher").
			attr("refresh", "macro").attr("macroName", macroName).
			attr("params", paramString)[0];
		markList.parentNode.insertBefore(listWrapper, markList);
		$.data(listWrapper, "wizard", wizard);
		macro.refresh(listWrapper);
	},
	getCheckedTiddlers: function(listWrapper, titlesOnly) {
		var tiddlers = [];
		$(".chkOptionInput[rowName]:checked", listWrapper).each(function(i, el) {
			var title = $(el).attr("rowName");
			if(titlesOnly) {
				tiddlers.push(title);
			} else {
				tiddlers.push(store.getTiddler(title));
			}
		});
		return tiddlers;
	},
	refresh: function(listWrapper) {
		var checked = macro.getCheckedTiddlers(listWrapper, true);
		var paramString = $(listWrapper).empty().attr("params");
		var wizard = $.data(listWrapper, "wizard");
		var locale = macro.locale;
		var params = paramString.parseParams("anon")[0];
		var publishCandidates = [];
		var status = macro.getMode(paramString);
		var pubType = status[0];
		var newPubType = status[1];
		var tiddlers = params.filter ? store.filterTiddlers(params.filter[0]) :
			store.filterTiddlers("[is[%0]]".format(pubType));
		var enabled = [];
		for(var i = 0; i < tiddlers.length; i++) {
			var tiddler = tiddlers[i];
			var title = tiddler.title;
			if(!tiddler.tags.contains("excludePublisher") && title !== "SystemSettings") {
				publishCandidates.push({ title: title, tiddler: tiddler, status: pubType});
			}
			if(checked.contains(title)) {
				enabled.push("[rowname=%0]".format(title));
			}
		}

		if(publishCandidates.length === 0) {
			createTiddlyElement(listWrapper, "em", null, null, locale.noTiddlersText);
		} else {
			var listView = ListView.create(listWrapper, publishCandidates, macro.listViewTemplate);
			wizard.setValue("listView", listView);
			var btnHandler = function(ev) {
				var tiddlers = macro.getCheckedTiddlers(listWrapper);
				var callback = function(status) {
					$(".batchPublisher").each(function(i, el) {
						macro.refresh(el);
					});
				};
				macro.changeStatus(tiddlers, newPubType, callback);
			};
			wizard.setButtons([{
				caption: locale.changeStatusLabel.format(newPubType),
				tooltip: locale.changeStatusPrompt.format(newPubType),
				onClick: btnHandler
			}]);
			$(enabled.join(",")).attr("checked", true); // retain what was checked before
		}
	}
};

})(jQuery);
//}}}
/***
|''Name''|TiddlySpaceRevertRevision|
|''Description''|Revert to a previous revision|
|''Author''|BenGillies|
|''Version''|0.1|
|''Status''|unstable|
|''Source''|http://github.com/TiddlySpace/tiddlyspace|
|''CodeRepository''|http://github.com/TiddlySpace/tiddlyspace|
|''License''|[[BSD|http://www.opensource.org/licenses/bsd-license.php]]|
|''CoreVersion''|2.6.0|
|''Requires''|TiddlyWebAdaptor TiddlySpaceRevisionView|
!Usage
Add a control button to revert to a particular revision.

The button must be called from within a revision, as generated by TiddlySpaceRevisionView
!Code
***/
//{{{
(function($) {

config.commands.revert = {
	text: "revert",
	tooltip: "make this revision the current one",
	handler: function(ev, src, title) {
		var revElem = story.getTiddler(title);
		var tidToRevert = store.getTiddler($(revElem).attr("revName"));

		var revision = store.getTiddler(title);
		if ((revision) && (tidToRevert)) {
			tidToRevert.text = revision.text;
			var newFields = merge({}, revision.fields);
			for (var fieldName in newFields) {
				if (fieldName.substr(0, 7) === "server.") {
					delete newFields[fieldName];
				}
			}
			merge(tidToRevert.fields, newFields);
			tidToRevert.tags = merge([], revision.tags);
			tidToRevert.fields.changecount = 1;
			delete tidToRevert.fields.doNotSave;

			store.saveTiddler(tidToRevert.title, tidToRevert.title,
				tidToRevert.text, null, null, tidToRevert.tags,
				tidToRevert.fields, false, tidToRevert.created, tidToRevert.creator);

			autoSaveChanges(true);
		}
	}
};

})(jQuery);
//}}}
/***
|''Name''|TiddlySpaceRevisionView|
|''Description''|Show tiddler revisions in a stack of cards view|
|''Author''|BenGillies|
|''Version''|0.2.0|
|''Status''|beta|
|''Source''|http://github.com/TiddlySpace/tiddlyspace|
|''CodeRepository''|http://github.com/TiddlySpace/tiddlyspace|
|''License''|[[BSD|http://www.opensource.org/licenses/bsd-license.php]]|
|''CoreVersion''|2.6.0|
|''Requires''|TiddlyWebAdaptor|
!Usage
The viewRevisions macro can be attached to any element, which should be passed
in as a parameter.

For example:

&lt;&lt;viewRevisions page:10 link:"<<view modified date>>"&gt;&gt;

would show the revisions "stack of cards" view, 10 at a time, when the modified
date is clicked.
!Code
***/
//{{{
(function($) {

var me = config.macros.viewRevisions = {
	revisionTemplate: "RevisionTemplate",
	revSuffix: " [rev. #%0]", // text to append to each tiddler title
	defaultPageSize: 5, // default number of revisions to show
	defaultLinkText: "View Revisions", // when there's nothing else to use
	offsetTop: 30, // in px
	offsetLeft: 10, // in px
	shiftDownDelay: 50, // in ms
	visibleSlideAmount: 20, // amount of revisions to show on left hand edge after sliding
	zIndex: 100, // default z-index
	handler: function(place, macroName, params, wikifier, paramString, tiddler) {
		params = paramString.parseParams(null, null, true)[0];
		var tiddlerElem = story.findContainingTiddler(place);

		var revButton;
		var pageSize = parseInt(params.page[0], 10) || me.defaultPageSize;
		var linkObj = params.link ? params.link[0] || me.defaultLinkText : false;
		if(linkObj) {
			revButton = $('<span class="button openRevisions" />')
				.appendTo(place);
			wikify(linkObj, revButton[0], null, tiddler);
		} else {
			revButton = place;
		}

		$(revButton).click(function() {
			if (!$(tiddlerElem).hasClass("revisions")) {
				me.showRevisions(tiddlerElem, tiddler, pageSize);
			} else {
				me.closeRevisions(tiddlerElem);
			}
		});
	},

	// initialisation for revision view
	showRevisions: function(tiddlerElem, tiddler, pageSize) {
		var context = {
			host: tiddler.fields["server.host"],
			workspace: tiddler.fields["server.workspace"]
		};
		$(tiddlerElem).addClass("revisions").attr("revName", tiddler.title);
		// ensure toolbar commands deactivate RevisionsView
		$("a", ".toolbar", tiddlerElem).each(function(index, btn) {
			var _onclick = btn.onclick;
			btn.onclick = function(e) {
				me.closeRevisions(tiddlerElem);
				_onclick.apply(this, arguments);
			};
		});
		// ensure default action deactivates RevisionsView
		var _ondblclick = tiddlerElem.ondblclick;
		tiddlerElem.ondblclick = function(e) {
			me.closeRevisions(tiddlerElem);
			_ondblclick.apply(this, arguments);
		};
		var type = tiddler.fields["server.type"];
		var adaptor = new config.adaptors[type]();
		var userParams = {
			tiddlerElem: tiddlerElem,
			pageSize: pageSize,
			title: tiddler.title
		};
		me.createCloak(tiddlerElem);
		adaptor.getTiddlerRevisionList(tiddler.title, null, context, userParams,
				function(context, userParams) {
					// strip the current revision
					context.revisions.shift();
					me.expandStack(context, userParams);
				});
	},

	// fetch the actual revision and put it in the tiddler div
	showRevision: function(place, revision, callback) {
		var context = {
			host: revision.fields["server.host"],
			workspace: revision.fields["server.workspace"]
		};
		var userParams = {
			revElem: place
		};
		var type = revision.fields["server.type"];
		var adaptor = new config.adaptors[type]();
		var revNo = revision.fields["server.page.revision"];
		adaptor.getTiddlerRevision(revision.title, revNo, context, userParams,
			function(context, userParams) {
				var tiddler = context.tiddler;
				tiddler.title += me.revSuffix
					.format([$(place).attr("revision")]);
				tiddler.fields.doNotSave = true;
				if (store.getTiddler(tiddler.title)) {
					store.deleteTiddler(tiddler.title);
				}
				store.addTiddler(tiddler);

				//now, populate the existing div
				var revElem = userParams.revElem;
				$(revElem).attr("id", story.tiddlerId(tiddler.title));
				$(revElem).attr("refresh", "tiddler");
				var getTemplate = function() {
					var themeName = config.options.txtTheme;
					if (themeName) {
						return store.getTiddlerSlice(themeName,
							me.revisionTemplate) || me.revisionTemplate ||
							"ViewTemplate";
					} else {
						return (store.getTiddler(me.revisionTemplate)) ?
							me.revisionTemplate : "ViewTemplate";
					}
				};
				var template = getTemplate();
				story.refreshTiddler(tiddler.title, template, true);
				callback(tiddler);
			});
	},

	createCloak: function(promoteElem) {
		var el = $(promoteElem);
		// cache styles for resetting later
		el.data({
			top: el.css("top"),
			left: el.css("left"),
			zIndex: el.css("z-index")
		});

		$('<div class="revisionCloak" />').css("z-index", me.zIndex)
			.click(function() {
				me.closeRevisions(promoteElem);
			})
			.appendTo(document.body);

		el.css("z-index", me.zIndex + 1);
	},

	// clean up, removing all evidence of revision view
	closeRevisions: function(promoteElem) {
		var el = $(promoteElem);
		// revert the original tiddler back to its previous state
		el.removeAttr("revName").removeClass("revisions").css({
			top: el.data("top"),
			left: el.data("left"),
			zIndex: el.data("zIndex")
		});

		// remove any revisions still in the store
		var revisions = $(".revisions");
		revisions.each(function(index, revision) {
			var revAttributes = revision.attributes;
			if ((revAttributes.revname) &&
					(revAttributes.revision)) {
				var revName = revAttributes.revname.value;
				var revNo = revAttributes.revision.value;
				var title = revName + me.revSuffix.format([revNo]);

				if (store.getTiddler(title)) {
					store.deleteTiddler(title);
				}
			}
		});

		// delete the previous revisions
		revisions.remove();

		// remove the cloak
		$(".revisionCloak").remove();
	},

	// calback from getting list of revisions
	expandStack: function(context, userParams) {
		var pageSize = userParams.pageSize;

		var from = userParams.from || 0;
		var tiddlerElem = userParams.tiddlerElem;

		userParams.defaultHeight = $(tiddlerElem).height();
		userParams.defaultWidth = $(tiddlerElem).width();
		if (from < context.revisions.length) {
			me.displayNextRevision(tiddlerElem, userParams, context, from,
				from + pageSize - 1);
		}
	},

	// place the next div above and behind the previous one
	displayNextRevision: function(tiddlerElem, userParams, context, from, to) {
		var revision = context.revisions[from];
		var callback = function() {
			var revText = revBtn.getRevisionText(tiddlerElem, revision);
			tiddlerElem = me.createRevisionObject(tiddlerElem, context,
				userParams, revText);
			$(tiddlerElem)
				.attr("revision", (context.revisions.length - from));
			if ((from < to) && ((from + 1) < context.revisions.length)){
				me.displayNextRevision(tiddlerElem, userParams, context,
					from + 1, to);
			} else if ((context.revisions.length - 1) > to) {
				me.showMoreButton(tiddlerElem, context, userParams, to + 1);
			}
		};
		me.shiftVisibleDown(userParams.title, callback);
	},

	createRevisionObject: function(tiddlerElem, context, userParams, text) {
		var newPosition = me.calculatePosition(tiddlerElem, context);
		return $('<div class="revisions tiddler" />')
			.css({
				position: "absolute",
				top: newPosition.top,
				left: newPosition.left,
				"z-index": me.zIndex + 1,
				height: userParams.defaultHeight,
				width: userParams.defaultWidth
			})
			.attr("revName", userParams.title)
			.append(text)
			.insertBefore(tiddlerElem);
	},

	// move the already present revisions down by 1 to fit the next one in
	shiftVisibleDown: function(title, callback) {
		var revisions = $("[revName='%0'].revisions".format([title]));
		var revisionCount = revisions.length;

		$(revisions).animate({top: "+=" + me.offsetTop},
				me.shiftDownDelay, function() {
					revisionCount -= 1;
					if ((callback) && (!revisionCount)) {
						callback();
					}
				});
	},

	// where we put the new revision
	calculatePosition: function(elem, context) {
		var offset = $(elem).offset();
		var currentPosition = $(elem).position();
		var newPosition = {
			top: currentPosition.top - me.offsetTop
		};
		if ((context.restrictLeft) ||
				((offset.left - me.offsetLeft) <
				$("#contentWrapper").offset().left)) {
			newPosition.left = $(elem).position().left;
			context.restrictLeft = true;
		} else {
			newPosition.left = currentPosition.left - me.offsetLeft;
		}
		return newPosition;
	},

	// equivalent of displayNextRevision, but for the more button
	showMoreButton: function(tiddlerElem, context, userParams, moreIndex) {
		userParams.from = moreIndex + 1;
		me.shiftVisibleDown(userParams.title, function() {
			var btn = me.createRevisionObject(tiddlerElem, context, userParams,
				"");

			var more = createTiddlyButton(btn[0], "more...", "show more revisions",
				function() {
					if ($(".viewRevision").length) {
						return;
					}
					userParams.tiddlerElem = btn[0];
					$(btn).text("")
						.append(revBtn
							.getRevisionText(btn[0], context.revisions[moreIndex]))
						.attr("revision", context.revisions.length - moreIndex);
					me.expandStack(context, userParams);
				});
			$(more).css("float", "right");
		});
	},

	stripRevFromTitle: function(revisionTitle) {
		return revisionTitle.split(/ ?\[rev\. #[0-9]+\]$/)[0];
	},

	onClickRevision: function(revElem, revision, callback) {
		// don't do anything if we are still loading
		if ($(".revisions").hasClass("loading")) {
			return null;
		}

		var origTitle = me.stripRevFromTitle(revision.title);
		if ($(revElem).hasClass("viewRevision")) {
			$(".revisions").addClass("loading");
			me.slideIn(revElem, revision, origTitle, function() {
				store.deleteTiddler(revision.title);
				revision.title = origTitle;
				$(revElem).text("").append(revBtn.getRevisionText(revElem,
						revision))
					.removeAttr("tags").removeAttr("tiddler")
					.removeAttr("refresh").removeAttr("template")
					.removeAttr("id");
				$(".revisions").removeClass("loading");
				if (callback) {
					callback();
				}
			});
			$(revElem).removeAttr("prevPos").removeClass("viewRevision");
		} else {
			var viewRevision = function() {
				var prevPos = $(revElem).position().left;
				$(revElem).addClass("viewRevision").attr("prevPos", prevPos);
				$(".revisions").addClass("loading");
				me.showRevision(revElem, revision, function(rev) {
					me.slideOut(revElem, rev, origTitle, function() {
						$(".revisions").removeClass("loading");
					});
				});
			};
			// make sure another revision isn't already out
			if ($(".viewRevision").length) {
				var newRevElem = $(".viewRevision")[0];
				var newRevision = store.getTiddler($(newRevElem)
					.attr("tiddler"));
				me.onClickRevision(newRevElem, newRevision, viewRevision);
			} else {
				viewRevision();
			}
		}
	},

	slideOut: function(revElem, revision, title, callback) {
		var leftMostPos = $("[revName='%0'].revisions".format([title]))
			.offset().left;
		var width = $(revElem).width();
		var originalLeftPos = $(story.getTiddler(title))
			.position().left;

		var slideAmount = leftMostPos + width - me.visibleSlideAmount;
		$("[revName='%0'].revisions:not(.viewRevision)".format([title]))
			.animate({left: "-=" + slideAmount}, 1000);
		$(revElem)
			.attr("baseHeight", $(revElem).css("height"))
			.css("height", "auto")
			.animate({left: originalLeftPos}, 1000, callback);
	},

	slideIn: function(revElem, revision, title, callback) {
		var slideAmount = $(revElem).offset().left -
			$(story.getTiddler(title)).offset().left;
		var origRevPos = $(revElem).attr("prevPos");

		$("[revName='%0'].revisions:not(.viewRevision)".format([title]))
			.animate({left: "+=" + slideAmount}, 1000);
		$(revElem).animate({left: origRevPos}, 1000, function() {
			$(revElem)
				.css("height", $(revElem).attr("baseHeight"))
				.removeAttr("baseHeight");
			callback();
		});
	}
};

var revBtn;
config.macros.slideRevision = revBtn = {
	btnText: "created by %0 at %1 on %2",
	handler: function(place, macroName, params, wikifier, paramString, tiddler) {
		var btn = revBtn.getRevisionText(place, tiddler);
		$(place).append(btn);
	},

	getRevisionText: function(place, revision) {
		var text = revBtn.btnText.format([revision.modifier,
			revision.modified.formatString("0hh:0mm"),
			revision.modified.formatString("0DD MMM YYYY")]);
		var btn = $('<a href="javascript:;" class="button revButton" />')
			.text(text)
			.click(function() {
				var revElem = story.findContainingTiddler(this);
				me.onClickRevision(revElem, revision);
			});
		return btn;
	}
};

})(jQuery);
//}}}
/***
|''Description''|Sanitisation for dynamically pulling tiddlers into your space and displaying them|
!Notes
Works both inside and outside TiddlyWiki. Uses the HTML Sanitizer provided by the Google Caja project
(see http://code.google.com/p/google-caja/wiki/JsHtmlSanitizer for more on this), which is licensed under
an Apache License (see http://www.apache.org/licenses/LICENSE-2.0).
!Code
***/
//{{{
(function($) {

var cleanURL = function(url) {
	var regexp = /^(?:http|https|mailto|ftp|irc|news):\/\//;
	return (regexp.test(url)) ? url : null;
};

$.sanitize = function(html) {
	return html_sanitize(html, cleanURL);
};

/*
 * HTML Sanitizer, provided by Google Caja
 */

/* Copyright Google Inc.
 * Licensed under the Apache Licence Version 2.0
 * Autogenerated at Tue May 17 17:39:24 BST 2011
 * @provides html4
 */var html4={};html4.atype={NONE:0,URI:1,URI_FRAGMENT:11,SCRIPT:2,STYLE:3,ID:4,IDREF:5,IDREFS:6,GLOBAL_NAME:7,LOCAL_NAME:8,CLASSES:9,FRAME_TARGET:10},html4.ATTRIBS={"*::class":9,"*::dir":0,"*::id":4,"*::lang":0,"*::onclick":2,"*::ondblclick":2,"*::onkeydown":2,"*::onkeypress":2,"*::onkeyup":2,"*::onload":2,"*::onmousedown":2,"*::onmousemove":2,"*::onmouseout":2,"*::onmouseover":2,"*::onmouseup":2,"*::style":3,"*::title":0,"a::accesskey":0,"a::coords":0,"a::href":1,"a::hreflang":0,"a::name":7,"a::onblur":2,"a::onfocus":2,"a::rel":0,"a::rev":0,"a::shape":0,"a::tabindex":0,"a::target":10,"a::type":0,"area::accesskey":0,"area::alt":0,"area::coords":0,"area::href":1,"area::nohref":0,"area::onblur":2,"area::onfocus":2,"area::shape":0,"area::tabindex":0,"area::target":10,"bdo::dir":0,"blockquote::cite":1,"br::clear":0,"button::accesskey":0,"button::disabled":0,"button::name":8,"button::onblur":2,"button::onfocus":2,"button::tabindex":0,"button::type":0,"button::value":0,"canvas::height":0,"canvas::width":0,"caption::align":0,"col::align":0,"col::char":0,"col::charoff":0,"col::span":0,"col::valign":0,"col::width":0,"colgroup::align":0,"colgroup::char":0,"colgroup::charoff":0,"colgroup::span":0,"colgroup::valign":0,"colgroup::width":0,"del::cite":1,"del::datetime":0,"dir::compact":0,"div::align":0,"dl::compact":0,"font::color":0,"font::face":0,"font::size":0,"form::accept":0,"form::action":1,"form::autocomplete":0,"form::enctype":0,"form::method":0,"form::name":7,"form::onreset":2,"form::onsubmit":2,"form::target":10,"h1::align":0,"h2::align":0,"h3::align":0,"h4::align":0,"h5::align":0,"h6::align":0,"hr::align":0,"hr::noshade":0,"hr::size":0,"hr::width":0,"iframe::align":0,"iframe::frameborder":0,"iframe::height":0,"iframe::marginheight":0,"iframe::marginwidth":0,"iframe::width":0,"img::align":0,"img::alt":0,"img::border":0,"img::height":0,"img::hspace":0,"img::ismap":0,"img::name":7,"img::src":1,"img::usemap":11,"img::vspace":0,"img::width":0,"input::accept":0,"input::accesskey":0,"input::align":0,"input::alt":0,"input::autocomplete":0,"input::checked":0,"input::disabled":0,"input::ismap":0,"input::maxlength":0,"input::name":8,"input::onblur":2,"input::onchange":2,"input::onfocus":2,"input::onselect":2,"input::readonly":0,"input::size":0,"input::src":1,"input::tabindex":0,"input::type":0,"input::usemap":11,"input::value":0,"ins::cite":1,"ins::datetime":0,"label::accesskey":0,"label::for":5,"label::onblur":2,"label::onfocus":2,"legend::accesskey":0,"legend::align":0,"li::type":0,"li::value":0,"map::name":7,"menu::compact":0,"ol::compact":0,"ol::start":0,"ol::type":0,"optgroup::disabled":0,"optgroup::label":0,"option::disabled":0,"option::label":0,"option::selected":0,"option::value":0,"p::align":0,"pre::width":0,"q::cite":1,"select::disabled":0,"select::multiple":0,"select::name":8,"select::onblur":2,"select::onchange":2,"select::onfocus":2,"select::size":0,"select::tabindex":0,"table::align":0,"table::bgcolor":0,"table::border":0,"table::cellpadding":0,"table::cellspacing":0,"table::frame":0,"table::rules":0,"table::summary":0,"table::width":0,"tbody::align":0,"tbody::char":0,"tbody::charoff":0,"tbody::valign":0,"td::abbr":0,"td::align":0,"td::axis":0,"td::bgcolor":0,"td::char":0,"td::charoff":0,"td::colspan":0,"td::headers":6,"td::height":0,"td::nowrap":0,"td::rowspan":0,"td::scope":0,"td::valign":0,"td::width":0,"textarea::accesskey":0,"textarea::cols":0,"textarea::disabled":0,"textarea::name":8,"textarea::onblur":2,"textarea::onchange":2,"textarea::onfocus":2,"textarea::onselect":2,"textarea::readonly":0,"textarea::rows":0,"textarea::tabindex":0,"tfoot::align":0,"tfoot::char":0,"tfoot::charoff":0,"tfoot::valign":0,"th::abbr":0,"th::align":0,"th::axis":0,"th::bgcolor":0,"th::char":0,"th::charoff":0,"th::colspan":0,"th::headers":6,"th::height":0,"th::nowrap":0,"th::rowspan":0,"th::scope":0,"th::valign":0,"th::width":0,"thead::align":0,"thead::char":0,"thead::charoff":0,"thead::valign":0,"tr::align":0,"tr::bgcolor":0,"tr::char":0,"tr::charoff":0,"tr::valign":0,"ul::compact":0,"ul::type":0},html4.eflags={OPTIONAL_ENDTAG:1,EMPTY:2,CDATA:4,RCDATA:8,UNSAFE:16,FOLDABLE:32,SCRIPT:64,STYLE:128},html4.ELEMENTS={a:0,abbr:0,acronym:0,address:0,applet:16,area:2,b:0,base:18,basefont:18,bdo:0,big:0,blockquote:0,body:49,br:2,button:0,canvas:0,caption:0,center:0,cite:0,code:0,col:2,colgroup:1,dd:1,del:0,dfn:0,dir:0,div:0,dl:0,dt:1,em:0,fieldset:0,font:0,form:0,frame:18,frameset:16,h1:0,h2:0,h3:0,h4:0,h5:0,h6:0,head:49,hr:2,html:49,i:0,iframe:4,img:2,input:2,ins:0,isindex:18,kbd:0,label:0,legend:0,li:1,link:18,map:0,menu:0,meta:18,nobr:0,noframes:20,noscript:20,object:16,ol:0,optgroup:0,option:1,p:1,param:18,pre:0,q:0,s:0,samp:0,script:84,select:0,small:0,span:0,strike:0,strong:0,style:148,sub:0,sup:0,table:0,tbody:1,td:1,textarea:8,tfoot:1,th:1,thead:1,title:24,tr:1,tt:0,u:0,ul:0,"var":0},html4.ueffects={NOT_LOADED:0,SAME_DOCUMENT:1,NEW_DOCUMENT:2},html4.URIEFFECTS={"a::href":2,"area::href":2,"blockquote::cite":0,"body::background":1,"del::cite":0,"form::action":2,"img::src":1,"input::src":1,"ins::cite":0,"q::cite":0},html4.ltypes={UNSANDBOXED:2,SANDBOXED:1,DATA:0},html4.LOADERTYPES={"a::href":2,"area::href":2,"blockquote::cite":2,"body::background":1,"del::cite":2,"form::action":2,"img::src":1,"input::src":1,"ins::cite":2,"q::cite":2};var html=function(a){function x(b,c,d){var e=[];w(function(b,e){for(var f=0;f<e.length;f+=2){var g=e[f],h=e[f+1],i=null,j;if((j=b+"::"+g,a.ATTRIBS.hasOwnProperty(j))||(j="*::"+g,a.ATTRIBS.hasOwnProperty(j)))i=a.ATTRIBS[j];if(i!==null)switch(i){case a.atype.NONE:break;case a.atype.SCRIPT:case a.atype.STYLE:h=null;break;case a.atype.ID:case a.atype.IDREF:case a.atype.IDREFS:case a.atype.GLOBAL_NAME:case a.atype.LOCAL_NAME:case a.atype.CLASSES:h=d?d(h):h;break;case a.atype.URI:h=c&&c(h);break;case a.atype.URI_FRAGMENT:h&&"#"===h.charAt(0)?(h=d?d(h):h,h&&(h="#"+h)):h=null;break;default:h=null}else h=null;e[f+1]=h}return e})(b,e);return e.join("")}function w(b){var c,d;return v({startDoc:function(a){c=[],d=!1},startTag:function(e,f,g){if(!d){if(!a.ELEMENTS.hasOwnProperty(e))return;var h=a.ELEMENTS[e];if(h&a.eflags.FOLDABLE)return;if(h&a.eflags.UNSAFE){d=!(h&a.eflags.EMPTY);return}f=b(e,f);if(f){h&a.eflags.EMPTY||c.push(e),g.push("<",e);for(var i=0,j=f.length;i<j;i+=2){var k=f[i],l=f[i+1];l!==null&&l!==void 0&&g.push(" ",k,'="',r(l),'"')}g.push(">")}}},endTag:function(b,e){if(d)d=!1;else{if(!a.ELEMENTS.hasOwnProperty(b))return;var f=a.ELEMENTS[b];if(!(f&(a.eflags.UNSAFE|a.eflags.EMPTY|a.eflags.FOLDABLE))){var g;if(f&a.eflags.OPTIONAL_ENDTAG)for(g=c.length;--g>=0;){var h=c[g];if(h===b)break;if(!(a.ELEMENTS[h]&a.eflags.OPTIONAL_ENDTAG))return}else for(g=c.length;--g>=0;)if(c[g]===b)break;if(g<0)return;for(var i=c.length;--i>g;){var h=c[i];a.ELEMENTS[h]&a.eflags.OPTIONAL_ENDTAG||e.push("</",h,">")}c.length=g,e.push("</",b,">")}}},pcdata:function(a,b){d||b.push(a)},rcdata:function(a,b){d||b.push(a)},cdata:function(a,b){d||b.push(a)},endDoc:function(a){for(var b=c.length;--b>=0;)a.push("</",c[b],">");c.length=0}})}function v(c){return function(d,e){d=String(d);var f=null,g=!1,h=[],j=void 0,l=void 0,m=void 0;c.startDoc&&c.startDoc(e);while(d){var n=d.match(g?t:u);d=d.substring(n[0].length);if(g){if(n[1]){var o=b(n[1]),p;if(n[2]){var q=n[3];switch(q.charCodeAt(0)){case 34:case 39:q=q.substring(1,q.length-1)}p=k(i(q))}else p=o;h.push(o,p)}else if(n[4]){l!==void 0&&(m?c.startTag&&c.startTag(j,h,e):c.endTag&&c.endTag(j,e));if(m&&l&(a.eflags.CDATA|a.eflags.RCDATA)){f===null?f=b(d):f=f.substring(f.length-d.length);var r=f.indexOf("</"+j);r<0&&(r=d.length),l&a.eflags.CDATA?c.cdata&&c.cdata(d.substring(0,r),e):c.rcdata&&c.rcdata(s(d.substring(0,r)),e),d=d.substring(r)}j=l=m=void 0,h.length=0,g=!1}}else if(n[1])c.pcdata&&c.pcdata(n[0],e);else if(n[3])m=!n[2],g=!0,j=b(n[3]),l=a.ELEMENTS.hasOwnProperty(j)?a.ELEMENTS[j]:void 0;else if(n[4])c.pcdata&&c.pcdata(n[4],e);else if(n[5]&&c.pcdata)switch(n[5]){case"<":c.pcdata("&lt;",e);break;case">":c.pcdata("&gt;",e);break;default:c.pcdata("&amp;",e)}}c.endDoc&&c.endDoc(e)}}function s(a){return a.replace(m,"&amp;$1").replace(n,"&lt;").replace(o,"&gt;")}function r(a){return a.replace(l,"&amp;").replace(n,"&lt;").replace(o,"&gt;").replace(p,"&#34;").replace(q,"&#61;")}function k(a){return a.replace(j,g)}function i(a){return a.replace(h,"")}function g(a,b){return f(b)}function f(a){a=b(a);if(c.hasOwnProperty(a))return c[a];var f=a.match(d);if(f)return String.fromCharCode(parseInt(f[1],10));if(!!(f=a.match(e)))return String.fromCharCode(parseInt(f[1],16));return""}var b;"script"==="SCRIPT".toLowerCase()?b=function(a){return a.toLowerCase()}:b=function(a){return a.replace(/[A-Z]/g,function(a){return String.fromCharCode(a.charCodeAt(0)|32)})};var c={lt:"<",gt:">",amp:"&",nbsp:"240",quot:'"',apos:"'"},d=/^#(\d+)$/,e=/^#x([0-9A-Fa-f]+)$/,h=/\0/g,j=/&(#\d+|#x[0-9A-Fa-f]+|\w+);/g,l=/&/g,m=/&([^a-z#]|#(?:[^0-9x]|x(?:[^0-9a-f]|$)|$)|$)/gi,n=/</g,o=/>/g,p=/\"/g,q=/\=/g,t=new RegExp("^\\s*(?:(?:([a-z][a-z-]*)(\\s*=\\s*(\"[^\"]*\"|'[^']*'|(?=[a-z][a-z-]*\\s*=)|[^>\"'\\s]*))?)|(/?>)|[\\s\\S][^a-z\\s>]*)","i"),u=new RegExp("^(?:&(\\#[0-9]+|\\#[x][0-9a-f]+|\\w+);|<!--[\\s\\S]*?-->|<!\\w[^>]*>|<\\?[^>*]*>|<(/)?([a-z][a-z0-9]*)|([^<&>]+)|([<&>]))","i");return{escapeAttrib:r,makeHtmlSanitizer:w,makeSaxParser:v,normalizeRCData:s,sanitize:x,unescapeEntities:k}}(html4),html_sanitize=html.sanitize

// stop here if we're not in TiddlyWiki
// XXX: is this the correct way of checking for TiddlyWiki?
if (!window.TiddlyWiki || !window.store || !store instanceof TiddlyWiki) {
	return;
}

var tiddlyspace = config.extensions.tiddlyspace;

var _subWikify = Wikifier.prototype.subWikify;

var cleanedTitle = 'This section has been cleaned of any potentially harmful code';

var replaceFunctions = {
	html: function(w) {
		var sanitizedHTML, spanEl;
		this.lookaheadRegExp.lastIndex = w.matchStart;
		var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
		if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
			sanitizedHTML = $.sanitize(lookaheadMatch[1]);
			spanEl = createTiddlyElement(w.output, 'span', null, 'sanitized');
			spanEl.innerHTML = sanitizedHTML;
			spanEl.setAttribute('title', cleanedTitle);
			w.nextMatch = this.lookaheadRegExp.lastIndex;
		}
	},
	customFormat: function(w) {
		switch(w.matchText) {
			case '@@':
				var e = createTiddlyElement(w.output, 'span');
				var styles = config.formatterHelpers.inlineCssHelper(w);
				if (styles.length === 0) {
					e.className = 'marked';
				}
				w.subWikifyTerm(e, /(@@)/mg);
				break;
			case '{{':
				var lookaheadRegExp = /\{\{[\s]*([\w]+[\s\w]*)[\s]*\{(\n?)/mg;
				lookaheadRegExp.lastIndex = w.matchStart;
				var lookaheadMatch = lookaheadRegExp.exec(w.source);
				if(lookaheadMatch) {
					w.nextMatch = lookaheadRegExp.lastIndex;
					e = createTiddlyElement(w.output,lookaheadMatch[2] == "\n" ? "div" : "span",null,lookaheadMatch[1]);
					w.subWikifyTerm(e,/(\}\}\})/mg);
				}
				break;
		}
	}
};

Wikifier.prototype.subWikify = function(output, terminator) {
	var tid = this.tiddler,
		spaceName = tiddlyspace.currentSpace.name,
		tidSpace, recipeName, stripped;
	try {
		recipeName = tid.fields['server.recipe'] ||
			tid.fields['server.workspace'];
		tidSpace = tiddlyspace.resolveSpaceName(recipeName);
		if (tidSpace !== spaceName) {
			// external tiddler, so replace dangerous formatters
			stripped = stripHTML(tid, this.formatter);
		}
	} catch(e) {
		// do nothing. There's no tiddler, so assume it's safe (?!?!?)
	}

	_subWikify.apply(this, arguments);

	if (stripped) {
		// change back to the original function
		unstripHTML(stripped, this.formatter);
	}
};

// replace potentially unsafe formatters with versions that strip bad HTML/CSS
var stripHTML = function(tid, formatter) {
	var popped = {}, _handler;
	for (var i = 0; i < formatter.formatters.length; i++) {
		var f = formatter.formatters[i];
		if (replaceFunctions[f.name]) {
			_handler = f.handler;
			popped[f.name] = _handler;
			f.handler = replaceFunctions[f.name];
		}
	};

	return popped;
};

// put the original formatters back where they belong
var unstripHTML = function(stripped, formatter) {
	for (var i = 0; i < formatter.formatters.length; i++) {
		var f = formatter.formatters[i];
		if (stripped[f.name]) {
			f.handler = stripped[f.name];
		}
	};
};

})(jQuery);
//}}}
/***
|''Name''|TiddlySpaceSearcher|
|''Version''|0.2.5|
|''Requires''|TiddlySpaceConfig TiddlySpaceFollowingPlugin|
***/
//{{{
(function($) {
var tiddlyspace = config.extensions.tiddlyspace;
var tsScan = config.macros.tsScan;

config.shadowTiddlers.SearchTemplate = "<<view server.bag SiteIcon label:no width:24 height:24 preserveAspectRatio:yes>> <<view server.bag spaceLink title external:no>> in space <<view server.bag spaceLink>>";
config.shadowTiddlers.StyleSheetSearch = [".resultsArea .siteIcon { display: inline; }",
	".searchForm {text-align: left;}"].join("\n");
store.addNotification("StyleSheetSearch", refreshStyles);

var search = config.macros.tsSearch = {
	locale: {
		advanced: "Advanced Options",
		header: "Search",
		resultsHeader: "Results (%0)",
		find: "find",
		noResults: "No tiddlers matched your search query",
		query: "QUERY: ",
		error: "please provide a search query or a tag, modifier or title!",
		titleAdvanced: "where the title is",
		modifierAdvanced: "where the last modifier is",
		spaceAdvanced: "only in the space: ",
		notspaceAdvanced: "but not in the spaces: ",
		tagsAdvanced: "with the tags: "
	},
	andConstructor: function(container, label, fieldname, negationMode) {
		var tags = $("<div />").appendTo(container);
		$('<span />').text(label).appendTo(tags);
		var id = "area" + Math.random();
		container = $("<span />").attr("id", id).appendTo(tags)[0];
		function add(container) {
			var el = $('<input type="text" />').attr("field", fieldname).appendTo(container);
			if(negationMode) {
				el.attr("negation", "true");
			}
		}
		add(container);
		var el = $("<button />").text("AND").click(function(ev) {
			add($(ev.target).data("container"));
			ev.preventDefault();
		}).appendTo(tags);
		$(el).data("container", container);
	},
	fieldConstructor: function(container, label, field) {
		container = $("<div />").appendTo(container)[0];
		$("<span />").text(label).appendTo(container);
		$("<input />").attr("text", "input").attr("field", field).appendTo(container);
	},
	advancedOptions: function(form) {
		var locale = search.locale;
		var container = $("<div />").addClass("tsAdvancedOptions").appendTo(form)[0];
		$("<h2/ >").text(search.locale.advanced).appendTo(container);
		$("<div />").addClass("separator").appendTo(container);
		search.fieldConstructor(container, locale.titleAdvanced, "title");
		search.fieldConstructor(container, locale.modifierAdvanced, "modifier");
		search.fieldConstructor(container, locale.spaceAdvanced, "space");
		search.andConstructor(container, locale.notspaceAdvanced, "space", true);
		search.andConstructor(container, locale.tagsAdvanced, "tag");
	},
	constructSearchQuery: function(form) {
		var data = [], select = [];
		var query = $("[name=q]", form).val();
		if(query) {
			data.push("q=%0".format(query));
		}

		// add tags, fields etc..
		$("[field]", form).each(function(i, el) {
			var val = $(el).val();
			var name = $(el).attr("field");
			var negate = $(el).attr("negation") == "true";
			if(val && name) {
				val = encodeURIComponent(val);
				val = negate ? "!" + val : val;
				if(name == "space") {
					val += "_public";
					name = "bag";
				}
				if(negate) {
					select.push("select=%0:%1".format(name,val));
				} else {
					var prefix = data.length === 0 ? "q=" : "";
					data.push('%0%1:"%2"'.format(prefix, name, val));
				}
			}
		});
		var dataString = data.join(" ");
		if(dataString.length === 0 && !query) {
			return false;
		}
		var selectStatement = select.join("&");
		if(dataString.length > 0 && selectStatement.length > 0) {
			dataString += "&";
		}
		dataString += selectStatement;
		return "/search?%0".format(dataString);
	},
	constructForm: function(place) {
		var locale = search.locale;
		$("<h1 />").text(locale.header).appendTo(place);
		var form = $("<form />").appendTo(place)[0];
		$('<input type="text" name="q" />').appendTo(form);
		$('<input type="submit" />').val(locale.find).appendTo(form);
		search.advancedOptions(form);
		var query = $('<h2 class="query"/>').appendTo(place)[0];
		var results = $("<div />").appendTo(place).addClass("resultsArea")[0];
		var lookup = function(url) {
			if(!url) {
				results.empty().addClass("error").text(locale.error);
				return;
			}
			config.extensions.tiddlyweb.getStatus(function(status) {
				$(query).text(locale.query);
				var href = status.server_host.url + url;
				$("<a />").attr("href", href).text(href).appendTo(query);
				tsScan.scan(results, { url: url, emptyMessage: search.locale.noResults, cache: true,
					template: "SearchTemplate", sort: "title", callback: function(tiddlers) {
						$("<h2 />").text(locale.resultsHeader.format(tiddlers.length)).prependTo(results);
					}
				});
			});
		};
		$(form).submit(function(ev) {
			ev.preventDefault();
			var url = search.constructSearchQuery(form);
			config.macros.tsSearch.lastSearch = url;
			lookup(url);
		});
		if(search.lastSearch) {
			lookup(search.lastSearch);
		}
		return form;
	},
	handler: function(place) {
		var container = $("<div />").addClass("searchForm").appendTo(place)[0];
		search.constructForm(container);
	}
};

})(jQuery);
//}}}
!Spaces
<<groupBy server.bag>>

!Private
<<list filter [is[private]]>>

!Public
<<list filter [is[public]]>>

!Drafts
<<list filter [is[draft]]>>
/***
|''Name''|TiddlySpaceTiddlerIconsPlugin|
|''Version''|0.8.10|
|''Status''|@@beta@@|
|''Author''|Jon Robson|
|''Description''|Provides ability to render SiteIcons and icons that correspond to the home location of given tiddlers|
|''Source''|http://github.com/TiddlySpace/tiddlyspace/raw/master/src/plugins/TiddlySpaceTiddlerIconsPlugin.js|
|''Requires''|TiddlySpaceConfig BinaryTiddlersPlugin ImageMacroPlugin TiddlySpacePublishingCommands|
!Notes
{{{<<tiddlerOrigin>>}}} shows the origin of the tiddler it is being run on.
In TiddlySpace terms this means it will determine whether the tiddler is external, public or private.
Where private it will analyse whether a public version exists and distinguish between the different scenarios.
If a tiddler is external, the SiteIcon of that external space will be shown

!Parameters
width / height : define a width or height of the outputted icon
label: if label parameter is set to yes, a label will accompany the icon.
!Code
***/
//{{{
(function($) {

if(!config.macros.image) {
	throw "Missing dependency: ImageMacroPlugin";
}

var imageMacro = config.macros.image;
var tiddlyspace = config.extensions.tiddlyspace;
var tweb = config.extensions.tiddlyweb;
var cmds = config.commands;
var cmd = cmds.publishTiddler;
tiddlyspace.resolveSpaceName = function(value) {
	var endsWith = config.extensions.BinaryTiddlersPlugin.endsWith;
	if(value) {
		value = value.indexOf("bags/") === 0 ? value.substr(5) : value;
		value = value.indexOf("recipes/") === 0 ? value.substr(8) : value;
		if(value.indexOf("@") === 0) {
			value = value.substr(1);
		}
		if(endsWith(value, "_public")) {
			value = value.substr(0, value.length - 7);
		} else if(endsWith(value, "_private")) {
			value = value.substr(0, value.length - 8);
		}
		value = value.toLowerCase();
	}
	return value;
};

tiddlyspace.renderAvatar = function(place, value, options) {
	options = options ? options : {};
	options.labelOptions = options.labelOptions ? options.labelOptions : { include: false, height: 48, width: 48 };
	options.imageOptions = options.imageOptions ? options.imageOptions : {};
	options.imageOptions.altImage = "/bags/common/tiddlers/defaultUserIcon";
	var container = $('<div class="siteIcon" />').appendTo(place);
	value = tiddlyspace.resolveSpaceName(value);

	tweb.getStatus(function(status) {
		var link, noLabel;
		if(!value || value == config.views.wikified.defaultModifier ||
			value == config.views.wikified.shadowModifier) {
			var icon = config.views.wikified.shadowModifier == value ? "shadowIcon" : "missingIcon";
			if(store.tiddlerExists(icon)) {
				imageMacro.renderImage(container, icon, options.imageOptions);
			} else {
				noLabel = true;
			}
		} else {
			var spaceURI;
			if(value != tiddlyspace.currentSpace.name) {
				spaceURI = options.notSpace ? tiddlyspace.getHost(status.server_host) :
					tiddlyspace.getHost(status.server_host, value);
			}
			link = spaceURI ? $("<a />").attr("href", spaceURI) : $("<span />");
			link.text(value);

			var imageOptions = options.imageOptions;
			if(options.spaceLink && !imageOptions.link) {
				imageOptions.link = spaceURI;
			}
			var avatar = options.notSpace ? false : value;
			var uri = tiddlyspace.getAvatar(status.server_host, avatar);
			imageMacro.renderImage(container, uri, options.imageOptions);
			if(!value) {
				value = "tiddlyspace";
			}
		}
		if(!noLabel && options.labelOptions.include) {
			var prefix = $("<span />").text(options.labelOptions.prefix || "")[0];
			var suffix = $("<span />").text(options.labelOptions.suffix || "")[0];
			$('<div class="label" />').append(prefix).append(link).
				append(suffix).appendTo(container);
		}
	});
	if(value) {
		var prefix = options.labelOptions.prefix || "";
		var suffix = options.labelOptions.suffix || "";
		var label = "%0%1%2".format(prefix, value, suffix);
		$(container).attr("title", label);
	}
};

var originMacro = config.macros.tiddlerOrigin = {
	locale: {
		"shadow": "shadow tiddler",
		"missing": "missing tiddler",
		"private": "private",
		"unknown": "unknown state",
		"public": "public",
		"unsyncedPrivate": "unsynced and private",
		"unsyncedPublic": "unsynced and public",
		externalPrefix: "from ",
		externalBagSuffix: " bag",
		externalSuffix: " space",
		publishPrivateDeletePrivate: "Are you sure you want to make this tiddler public?",
		moveToPrivate: "Are you sure you want to make this tiddler private? Only members will be able to see it.",
		pleaseWait: "please wait..",
		keepPublic: "keep public",
		cannotPublishDirtyTiddler: "The current tiddler is unsaved so cannot be published. Please save the tiddler first.",
		keepPrivate: "keep private",
		makePublic: "make public",
		makePrivate: "make private"
	},
	handler: function(place, macroName, params,wikifier, paramString, tiddler){
		var adaptor = tiddler.getAdaptor();
		var btn = $("<div />").addClass("originButton").attr("params", paramString).
			attr("refresh", "macro").attr("macroName", macroName).appendTo(place)[0];
		$(btn).data("tiddler", tiddler);
		originMacro.refresh(btn);
	},
	refresh: function(btn) {
		$(btn).empty();
		var paramString = $(btn).attr("params");
		var tiddler = $(btn).data("tiddler");
		var options = originMacro.getOptions(paramString);
		var type = tiddlyspace.getTiddlerStatusType(tiddler);
		originMacro.renderIcon(tiddler, type, btn, options);
	},
	getOptions: function(paramString) {
		paramString = "%0 label:no width:48 height:48 spaceLink:yes preserveAspectRatio:yes".format(paramString);
		var parsedParams = paramString.parseParams("name");
		var params = parsedParams[0].name;
		var options = {
			labelOptions: originMacro._getLabelOptions(parsedParams),
			imageOptions: imageMacro.getArguments(paramString, []),
			noclick: parsedParams[0].interactive &&
				parsedParams[0].interactive[0] == "no" ? true : false
		};
		if(!options.noclick) {
			var spaceLink = parsedParams[0].spaceLink;
			options.spaceLink = spaceLink && spaceLink[0] == "no" ? false : true;
		} else {
			options.spaceLink = false;
		}
		return options;
	},
	_getLabelOptions: function(parsedParams) {
		parsedParams = parsedParams[0];
		var includeLabel = !parsedParams.label || ( parsedParams.label && parsedParams.label[0] == "yes" );
		var prefix = parsedParams.labelPrefix ? parsedParams.labelPrefix[0] : false;
		var suffix = parsedParams.labelSuffix ? parsedParams.labelSuffix[0] : false;
		return { include: includeLabel, suffix: suffix, prefix: prefix };
	},
	_isSpace: function(value) {
		value = value ? value : "";
		var endsWith = config.extensions.BinaryTiddlersPlugin.endsWith;
		if(endsWith(value, "_private") || endsWith(value, "_public")) {
			return true;
		} else {
			return false;
		}
	},
	renderIcon: function(tiddler, type, button, options) {
		var locale = originMacro.locale;
		originMacro.annotateTiddler(button, type);
		if(type != "external") {
			originMacro.showPrivacyRoundel(tiddler, type, button,
				options);
		} else {
			var prefix = options.labelOptions.prefix, suffix = options.labelOptions.suffix;
			var space = tiddler.fields["server.bag"];
			options.notSpace = !originMacro._isSpace(space);
			options.labelOptions.prefix = prefix ? prefix : locale.externalPrefix;
			options.labelOptions.suffix = suffix ? suffix : (options.notSpace ? locale.externalBagSuffix : locale.externalSuffix);

			tiddlyspace.renderAvatar(button, space, options);
		}
	},
	showPrivacyRoundel: function(thisTiddler, privacyType, button, options) {
		// there is a public tiddler as well as the current tiddler!
		// TODO: not this is not enough.. we also need to check if the public tiddler is the same as..
		// .. the private tiddler to determine whether this is a draft
		// use of hashes would be useful here.
		$(button).empty();
		var icon = "%0Icon".format(privacyType);
		if(privacyType.indexOf("unsynced") === 0 && !store.tiddlerExists(icon)) {
			icon = "unsyncedIcon";
		}
		if(privacyType == "shadow") {
			if(!store.tiddlerExists(icon)) {
				icon = "bags/tiddlyspace/tiddlers/SiteIcon";
			}
		}
		if(privacyType == "missing" && !store.tiddlerExists(icon)) {
			return; // the user is not making use of the missingIcon
		} else {
			imageMacro.renderImage(button, icon, options.imageOptions);
			originMacro.showLabel(button, privacyType, options.labelOptions);
			var cmd = originMacro.iconCommands[privacyType];
			if(cmd && thisTiddler && !options.noclick) {
				$(button).click(function(ev) {
					cmd(ev, thisTiddler);
				});
			}
		}
	},
	annotateTiddler: function(place, type) {
		var tidEl = $(story.findContainingTiddler(place));
		tidEl.
			removeClass("private public external privateAndPublic privateNotPublic shadow").
			addClass(type);
	},
	showLabel: function(button, type, options) {
		var locale = originMacro.locale;
		var label = options.label ? options.label : locale[type];
		label = label ? label : locale.unknown;
		if(options && options.include) {
			$('<div class="roundelLabel" />').html(label).appendTo(button);
		}
		$(button).attr("title", label);
	},
	confirm: function(ev, msg, onYes, options) {
		options = options ? options : {};
		onYes = onYes ? onYes : function(ev) {};
		var btn = $(".originButton", $(ev.target).parents())[0];
		var popup = Popup.create(btn);
		$(popup).addClass("confirmationPopup");
		$("<div />").addClass("message").text(msg).appendTo(popup);
		$("<button />").addClass("button").text(options.yesLabel || "yes").appendTo(popup).click(onYes);
		$("<button />").addClass("button").text(options.noLabel || "no").click(function(ev) {
			Popup.remove();
		}).appendTo(popup);
		Popup.show();
		ev.stopPropagation();
		return false;
	},
	alert: function(ev, msg) {
		var popup = Popup.create(ev.target);
		$(popup).addClass("confirmationPopup alert");
		$("<div />").addClass("message").text(msg).appendTo(popup);
		Popup.show();
		ev.stopPropagation();
	},
	reportDirty: function(el) {
		originMacro.alert(el, originMacro.locale.cannotPublishDirtyTiddler);
	},
	iconCommands: {
		"public": function(ev, tiddler) {
			if(!readOnly) {
				var locale = originMacro.locale;
				var msg = locale.moveToPrivate;
				if(story.isDirty(tiddler.title)) {
					originMacro.reportDirty(ev);
				} else {
					originMacro.confirm(ev, msg, function(ev) {
						var target = $(ev.target);
						var onComplete = function(info) {};
						var privateBag = cmd.toggleBag(tiddler, "private");
						cmd.moveTiddler(tiddler, {
							title: tiddler.title,
							fields: { "server.bag": privateBag }
						}, onComplete);
					}, { yesLabel: locale.makePrivate, noLabel: locale.keepPublic });
				}
			}
		},
		"private": function(ev, tiddler) {
			if(!readOnly) {
				var locale = originMacro.locale;
				var adaptor = tiddler.getAdaptor();
				var publishTo = tiddler.fields["publish.name"] || tiddler.title;
				var workspace = "bags/%0".format(tiddler.fields["server.bag"]);
				tiddler.fields["server.workspace"] = workspace;
				var publicBag = cmd.toggleBag(tiddler, "public");
				var msg;
				msg = locale.publishPrivateDeletePrivate;
				var title = tiddler.title;
				var newTitle = publishTo || tiddler.title;
				tiddler.fields["server.page.revision"] = "false";
				store.addTiddler(tiddler);
				if(story.isDirty(tiddler.title)) {
					originMacro.reportDirty(ev);
				} else {
					originMacro.confirm(ev, msg, function(ev) {
						var onComplete = function(info) {};
						cmd.moveTiddler(tiddler, {
							title: newTitle,
							fields: { "server.bag": publicBag }
						}, onComplete);
					}, { yesLabel: locale.makePublic, noLabel: locale.keepPrivate });
				}
			}
		}
	}
};

})(jQuery);
//}}}
/***
|''Name''|TiddlySpaceToolbar|
|''Description''|augments tiddler toolbar commands with SVG icons|
|''Author''|Osmosoft|
|''Version''|0.6.6|
|''Status''|@@beta@@|
|''Source''|http://github.com/TiddlySpace/tiddlyspace/raw/master/src/plugins/TiddlySpaceToolbar.js|
|''CodeRepository''|http://github.com/TiddlySpace/tiddlyspace|
|''License''|[[BSD|http://www.opensource.org/licenses/bsd-license.php]]|
|''CoreVersion''|2.5.0|
|''Requires''|ImageMacroPlugin|
|''Keywords''|toolbar icons SVG|
!Description
replaces tiddler toolbar commands with SVG icons if available
!Notes
requires [[ImageMacroPlugin|http://svn.tiddlywiki.org/Trunk/contributors/JonRobson/plugins/ImageMacroPlugin/plugins/ImageMacroPlugin.tid]]

SVG icons are drawn from tiddlers titled {{{<command>.svg}}}
In readonly mode a tiddler called {{{<command>ReadOnly.svg}}} will be used if it exists.
!TODO
* rename (IconToolbarPlugin?)
* support more than one more popup menu in the toolbar.
!Code
***/
//{{{
(function($) {

if(!config.macros.image) {
	throw "Missing dependency: ImageMacroPlugin";
}

var macro = config.macros.toolbar;

macro.icons = {
	cloneTiddler: "editTiddler"
};

var _handler = macro.handler;
macro.handler = function(place, macroName, params, wikifier,
		paramString, tiddler) {
	var toolbar = $(place);
	toolbar.attr({
		refresh: "macro",
		macroName: macroName
	}).data("args", arguments);
	var status = _handler.apply(this, arguments);
	if(tiddler.isReadOnly()) {
		toolbar.addClass("toolbarReadOnly");
	} else {
		toolbar.removeClass("toolbarReadOnly");
	}
	var parsedParams = paramString.parseParams("name")[0];
	if(parsedParams.icons && parsedParams.icons == "yes") {
		this.augmentCommandButtons(place);
	}
	if(parsedParams.more && parsedParams.more == "popup") {
		// note we must override the onclick event like in createTiddlyButton
		// otherwise the click event is the popup AND the slider
		$(".moreCommand", place).each(function(i, el) {
			el.onclick = macro.onClickMorePopUp;
		});
		// buttons that are after a less command should not be in more menu.
		$(".lessCommand ~ .button", place).appendTo(place);
		$(".lessCommand", place).remove();
	}
	return status;
};

macro.refresh = function(place, params) {
	var args = $(place).empty().data("args");
	this.handler.apply(this, args);
};

var imageMacro = config.macros.image;
macro.augmentCommandButtons = function(toolbar) {
	$(".button", toolbar).each(function(i, el) {
		var cmd = $(el).attr("commandname");
		cmd = cmd ? cmd : "moreCommand"; // XXX: special-casing of moreCommand due to ticket #1234
		var icon = store.tiddlerExists(cmd) ? cmd : macro.icons[cmd];
		var text = $(el).text();
		if(readOnly) {
			var readOnlyAlternative = "%0ReadOnly".format([icon]);
			if(store.tiddlerExists(readOnlyAlternative)) {
				icon = readOnlyAlternative;
			}
		}
		if(store.tiddlerExists(icon)) {
			$(el).css({display: "inline-block"}).empty();
			imageMacro.renderImage(el, icon, { alt: text });
		}
	});
};

// provide onClickMore to provide extra commands in a popup
macro.onClickMorePopUp = function(ev) {
	ev = ev || window.event;
	var sibling = this.nextSibling;
	if(sibling) {
		var commands = sibling.childNodes;
		var popup = Popup.create(this);
		$(popup).addClass("taggedTiddlerList");
		for(var i = 0; i < commands.length; i++) {
			var li = createTiddlyElement(popup, "li", null);
			var oldCommand = commands[i];
			var command = oldCommand.cloneNode(true);
			command.onclick = oldCommand.onclick;
			li.appendChild(command);
		}
		Popup.show();
	}
	ev.cancelBubble = true;
	if(ev.stopPropagation) {
		ev.stopPropagation();
	}
	return false;
};

})(jQuery);
//}}}
/***
|''Name''|TiddlySpaceViewTypes|
|''Version''|0.6.0|
|''Status''|@@beta@@|
|''Description''|Provides TiddlySpace specific view types|
|''Author''|Jon Robson|
|''Source''|http://github.com/TiddlySpace/tiddlyspace/raw/master/src/plugins/TiddlySpaceViewTypes.js|
|''Requires''|TiddlySpaceConfig TiddlySpaceTiddlerIconsPlugin|
!Usage
Provides replyLink, spaceLink and SiteIcon view types.
!!SiteIcon view parameters
* labelPrefix / labelSuffix : prefix or suffix the label with additional text. eg. labelPrefix:'modified by '
* spaceLink: if set to "yes" will make any avatars link to the corresponding space. {{{<<originMacro spaceLink:yes>>}}}

!Code
***/
//{{{
(function($) {

var tiddlyspace = config.extensions.tiddlyspace;
var originMacro = config.macros.tiddlerOrigin;
var tweb = config.extensions.tiddlyweb;

config.macros.view.replyLink = {
	locale: {
		label: "Reply to this tiddler"
	}
};

var _replyButtons = [];
var _replyInitialised, _replyScriptLoaded;
config.macros.view.views.replyLink = function(value, place, params, wikifier,
		paramString, tiddler) {
	var valueField = params[0];
	var imported;
	if(valueField == "title") { // special casing for imported tiddlers
		var localTitle = tiddler.title;
		var serverTitle = tiddler.fields["server.title"];
		if(serverTitle && localTitle != serverTitle) {
			value = serverTitle ? serverTitle : localTitle;
			imported = true;
		}
	} else {
		title = tiddler[valueField] ? tiddler[valueField] : tiddler.fields[valueField];
	}
	var args = paramString.parseParams("anon")[0];
	var label = (args.label) ? args.label : config.macros.view.replyLink.locale.label;
	var space;
	if(tiddler) {
		var bag = tiddler.fields["server.bag"];
		space = tiddlyspace.resolveSpaceName(bag);
	}
	var container = $('<span class="replyLink" />').appendTo(place)[0];

	tweb.getUserInfo(function(user) {
		if ((!user.anon) && ((space && user.name != space &&
				user.name != tiddlyspace.currentSpace.name) || imported)) {
			var link = $("<a />")
				.text(config.macros.view.replyLink.locale.label)
				.appendTo(container)[0];

			if(typeof(createReplyButton) === "undefined") {
				_replyButtons.push(link);
			}
			if(_replyInitialised) {
				createReplyButton(link);
			} else if(!_replyScriptLoaded) {
				_replyScriptLoaded = true;
				$.getScript("/bags/common/tiddlers/_reply-button.js",
					function() {
						_replyInitialised = true;
						for(var i = 0; i < _replyButtons.length; i++) {
							createReplyButton(_replyButtons[i]);
						}
						_replyButtons = [];
					});
			}
		}
	});

};

config.macros.view.views.spaceLink = function(value, place, params, wikifier,
		paramString, tiddler) {
		var spaceName = tiddlyspace.resolveSpaceName(value);
		var isBag = params[0] == "server.bag" && value === spaceName ? true : false;
		var args = paramString.parseParams("anon")[0];
		var titleField = args.anon[2];
		var labelField = args.labelField ? args.labelField[0] : false;
		var label;
		if(labelField) {
			label = tiddler[labelField] ? tiddler[labelField] : tiddler.fields[labelField];
		} else {
			label = args.label ? args.label[0] : false;
		}
		var title = tiddler[titleField] ? tiddler[titleField] : tiddler.fields[titleField];

		var link = createSpaceLink(place, spaceName, title, label, isBag);
		if(args.external && args.external[0] == "no") {
			$(link).click(function(ev) {
				var el = $(ev.target);
				var title = el.attr("tiddler");
				var bag = el.attr("bag");
				var space = el.attr("tiddlyspace");
				bag = space ? space + "_public" : bag;
				if(title && bag) {
					ev.preventDefault();
					tiddlyspace.displayServerTiddler(el[0], title,
						"bags/" + bag);
				}
				return false;
			});
		}
};

config.macros.view.views.SiteIcon = function(value, place, params, wikifier,
		paramString, tiddler) {
	var options = originMacro.getOptions(paramString);
	if(!tiddler || value == "None") { // some core tiddlers lack modifier
		value = false;
	}
	var field = params[0];
	if(field == "server.bag") {
		options.notSpace = !originMacro._isSpace(value);
	}
	tiddlyspace.renderAvatar(place, value, options);
};

})(jQuery);
//}}}
/***
|''Name''|TiddlyWebAdaptor|
|''Description''|adaptor for interacting with TiddlyWeb|
|''Author:''|FND|
|''Contributors''|Chris Dent, Martin Budden|
|''Version''|1.4.10|
|''Status''|stable|
|''Source''|http://svn.tiddlywiki.org/Trunk/association/adaptors/TiddlyWebAdaptor.js|
|''CodeRepository''|http://svn.tiddlywiki.org/Trunk/association/|
|''License''|[[BSD|http://www.opensource.org/licenses/bsd-license.php]]|
|''CoreVersion''|2.5|
|''Keywords''|serverSide TiddlyWeb|
!Notes
This plugin includes [[jQuery JSON|http://code.google.com/p/jquery-json/]].
!To Do
* createWorkspace
* document custom/optional context attributes (e.g. filters, query, revision) and tiddler fields (e.g. server.title, origin)
!Code
***/
//{{{
(function($) {

var adaptor = config.adaptors.tiddlyweb = function() {};

adaptor.prototype = new AdaptorBase();
adaptor.serverType = "tiddlyweb";
adaptor.serverLabel = "TiddlyWeb";
adaptor.mimeType = "application/json";

adaptor.parsingErrorMessage = "Error parsing result from server";
adaptor.noBagErrorMessage = "no bag specified for tiddler";
adaptor.locationIDErrorMessage = "no bag or recipe specified for tiddler"; // TODO: rename

// retrieve current status (requires TiddlyWeb status plugin)
adaptor.prototype.getStatus = function(context, userParams, callback) {
	context = this.setContext(context, userParams, callback);
	var uriTemplate = "%0/status";
	var uri = uriTemplate.format([context.host]);
	var req = httpReq("GET", uri, adaptor.getStatusCallback, context,
		null, null, null, null, null, true);
	return typeof req == "string" ? req : true;
};

adaptor.getStatusCallback = function(status, context, responseText, uri, xhr) {
	context.status = responseText ? status : false;
	try {
		context.statusText = xhr.statusText;
	} catch(exc) { // offline (Firefox)
		context.status = false;
		context.statusText = null;
	}
	context.httpStatus = xhr.status;
	if(context.status) {
		context.serverStatus = $.evalJSON(responseText); // XXX: error handling!?
	}
	if(context.callback) {
		context.callback(context, context.userParams);
	}
};

// retrieve a list of workspaces
adaptor.prototype.getWorkspaceList = function(context, userParams, callback) {
	context = this.setContext(context, userParams, callback);
	context.workspaces = [];
	var uriTemplate = "%0/recipes"; // XXX: bags?
	var uri = uriTemplate.format([context.host]);
	var req = httpReq("GET", uri, adaptor.getWorkspaceListCallback,
		context, { accept: adaptor.mimeType }, null, null, null, null, true);
	return typeof req == "string" ? req : true;
};

adaptor.getWorkspaceListCallback = function(status, context, responseText, uri, xhr) {
	context.status = status;
	context.statusText = xhr.statusText;
	context.httpStatus = xhr.status;
	if(status) {
		try {
			var workspaces = $.evalJSON(responseText);
		} catch(ex) {
			context.status = false; // XXX: correct?
			context.statusText = exceptionText(ex, adaptor.parsingErrorMessage);
			if(context.callback) {
				context.callback(context, context.userParams);
			}
			return;
		}
		context.workspaces = workspaces.map(function(itm) { return { title: itm }; });
	}
	if(context.callback) {
		context.callback(context, context.userParams);
	}
};

// retrieve a list of tiddlers
adaptor.prototype.getTiddlerList = function(context, userParams, callback) {
	context = this.setContext(context, userParams, callback);
	var uriTemplate = "%0/%1/%2/tiddlers%3";
	var params = context.filters ? "?" + context.filters : "";
	if(context.format) {
		params = context.format + params;
	}
	var workspace = adaptor.resolveWorkspace(context.workspace);
	var uri = uriTemplate.format([context.host, workspace.type + "s",
		adaptor.normalizeTitle(workspace.name), params]);
	var req = httpReq("GET", uri, adaptor.getTiddlerListCallback,
		context, merge({ accept: adaptor.mimeType }, context.headers), null, null, null, null, true);
	return typeof req == "string" ? req : true;
};

adaptor.getTiddlerListCallback = function(status, context, responseText, uri, xhr) {
	context.status = status;
	context.statusText = xhr.statusText;
	context.httpStatus = xhr.status;
	if(status) {
		context.tiddlers = [];
		try {
			var tiddlers = $.evalJSON(responseText); //# NB: not actual tiddler instances
		} catch(ex) {
			context.status = false; // XXX: correct?
			context.statusText = exceptionText(ex, adaptor.parsingErrorMessage);
			if(context.callback) {
				context.callback(context, context.userParams);
			}
			return;
		}
		for(var i = 0; i < tiddlers.length; i++) {
			var tiddler = adaptor.toTiddler(tiddlers[i], context.host);
			context.tiddlers.push(tiddler);
		}
	}
	if(context.callback) {
		context.callback(context, context.userParams);
	}
};

// perform global search
adaptor.prototype.getSearchResults = function(context, userParams, callback) {
	context = this.setContext(context, userParams, callback);
	var uriTemplate = "%0/search?q=%1%2";
	var filterString = context.filters ? ";" + context.filters : "";
	var uri = uriTemplate.format([context.host, context.query, filterString]); // XXX: parameters need escaping?
	var req = httpReq("GET", uri, adaptor.getSearchResultsCallback,
		context, { accept: adaptor.mimeType }, null, null, null, null, true);
	return typeof req == "string" ? req : true;
};

adaptor.getSearchResultsCallback = function(status, context, responseText, uri, xhr) {
	adaptor.getTiddlerListCallback(status, context, responseText, uri, xhr); // XXX: use apply?
};

// retrieve a particular tiddler's revisions
adaptor.prototype.getTiddlerRevisionList = function(title, limit, context, userParams, callback) {
	context = this.setContext(context, userParams, callback);
	var uriTemplate = "%0/%1/%2/tiddlers/%3/revisions";
	var workspace = adaptor.resolveWorkspace(context.workspace);
	var uri = uriTemplate.format([context.host, workspace.type + "s",
		adaptor.normalizeTitle(workspace.name), adaptor.normalizeTitle(title)]);
	var req = httpReq("GET", uri, adaptor.getTiddlerRevisionListCallback,
		context, merge({ accept: adaptor.mimeType }, context.headers), null, null, null, null, true);
	return typeof req == "string" ? req : true;
};

adaptor.getTiddlerRevisionListCallback = function(status, context, responseText, uri, xhr) {
	context.status = status;
	context.statusText = xhr.statusText;
	context.httpStatus = xhr.status;
	if(status) {
		context.revisions = [];
		try {
			var tiddlers = $.evalJSON(responseText); //# NB: not actual tiddler instances
		} catch(ex) {
			context.status = false; // XXX: correct?
			context.statusText = exceptionText(ex, adaptor.parsingErrorMessage);
			if(context.callback) {
				context.callback(context, context.userParams);
			}
			return;
		}
		for(var i = 0; i < tiddlers.length; i++) {
			var tiddler = adaptor.toTiddler(tiddlers[i], context.host);
			context.revisions.push(tiddler);
		}
		var sortField = "server.page.revision";
		context.revisions.sort(function(a, b) {
			return a.fields[sortField] < b.fields[sortField] ? 1 :
				(a.fields[sortField] == b.fields[sortField] ? 0 : -1);
		});
	}
	if(context.callback) {
		context.callback(context, context.userParams);
	}
};

// retrieve an individual tiddler revision -- XXX: breaks with standard arguments list -- XXX: convenience function; simply use getTiddler?
adaptor.prototype.getTiddlerRevision = function(title, revision, context, userParams, callback) {
	context = this.setContext(context, userParams, callback);
	context.revision = revision;
	return this.getTiddler(title, context, userParams, callback);
};

// retrieve an individual tiddler
//# context is an object with members host and workspace
//# callback is passed the new context and userParams
adaptor.prototype.getTiddler = function(title, context, userParams, callback) {
	context = this.setContext(context, userParams, callback);
	context.title = title;
	if(context.revision) {
		var uriTemplate = "%0/%1/%2/tiddlers/%3/revisions/%4";
	} else {
		uriTemplate = "%0/%1/%2/tiddlers/%3";
	}
	if(!context.tiddler) {
		context.tiddler = new Tiddler(title);
	}
	context.tiddler.fields["server.type"] = adaptor.serverType;
	context.tiddler.fields["server.host"] = AdaptorBase.minHostName(context.host);
	context.tiddler.fields["server.workspace"] = context.workspace;
	var workspace = adaptor.resolveWorkspace(context.workspace);
	var uri = uriTemplate.format([context.host, workspace.type + "s",
		adaptor.normalizeTitle(workspace.name), adaptor.normalizeTitle(title),
		context.revision]);
	var req = httpReq("GET", uri, adaptor.getTiddlerCallback, context,
		merge({ accept: adaptor.mimeType }, context.headers), null, null, null, null, true);
	return typeof req == "string" ? req : true;
};

adaptor.getTiddlerCallback = function(status, context, responseText, uri, xhr) {
	context.status = status;
	context.statusText = xhr.statusText;
	context.httpStatus = xhr.status;
	if(status) {
		try {
			var tid = $.evalJSON(responseText);
		} catch(ex) {
			context.status = false;
			context.statusText = exceptionText(ex, adaptor.parsingErrorMessage);
			if(context.callback) {
				context.callback(context, context.userParams);
			}
			return;
		}
		var tiddler = adaptor.toTiddler(tid, context.host);
		tiddler.title = context.tiddler.title;
		tiddler.fields["server.etag"] = xhr.getResponseHeader("Etag");
		// normally we'd assign context.tiddler = tiddler here - but we can't do
		// that because of IE, which triggers getTiddler in putTiddlerCallback,
		// and since ServerSideSavingPlugin foolishly relies on persistent
		// object references, we need to merge the data into the existing object
		$.extend(context.tiddler, tiddler);
	}
	if(context.callback) {
		context.callback(context, context.userParams);
	}
};

// retrieve tiddler chronicle (all revisions)
adaptor.prototype.getTiddlerChronicle = function(title, context, userParams, callback) {
	context = this.setContext(context, userParams, callback);
	context.title = title;
	var uriTemplate = "%0/%1/%2/tiddlers/%3/revisions?fat=1";
	var workspace = adaptor.resolveWorkspace(context.workspace);
	var uri = uriTemplate.format([context.host, workspace.type + "s",
		adaptor.normalizeTitle(workspace.name), adaptor.normalizeTitle(title)]);
	var req = httpReq("GET", uri, adaptor.getTiddlerChronicleCallback,
		context, { accept: adaptor.mimeType }, null, null, null, null, true);
	return typeof req == "string" ? req : true;
};

adaptor.getTiddlerChronicleCallback = function(status, context, responseText, uri, xhr) {
	context.status = status;
	context.statusText = xhr.statusText;
	context.httpStatus = xhr.status;
	if(status) {
		context.responseText = responseText;
	}
	if(context.callback) {
		context.callback(context, context.userParams);
	}
};

// store an individual tiddler
adaptor.prototype.putTiddler = function(tiddler, context, userParams, callback) {
	context = this.setContext(context, userParams, callback);
	context.title = tiddler.title;
	context.tiddler = tiddler;
	context.host = context.host || this.fullHostName(tiddler.fields["server.host"]);
	var uriTemplate = "%0/%1/%2/tiddlers/%3";
	try {
		context.workspace = context.workspace || tiddler.fields["server.workspace"];
		var workspace = adaptor.resolveWorkspace(context.workspace);
	} catch(ex) {
		return adaptor.locationIDErrorMessage;
	}
	var uri = uriTemplate.format([context.host, workspace.type + "s",
		adaptor.normalizeTitle(workspace.name),
		adaptor.normalizeTitle(tiddler.title)]);
	var etag = adaptor.generateETag(workspace, tiddler);
	var headers = etag ? { "If-Match": etag } : null;
	var payload = {
		type: tiddler.fields["server.content-type"] || null,
		text: tiddler.text,
		tags: tiddler.tags,
		fields: $.extend({}, tiddler.fields)
	};
	delete payload.fields.changecount;
	$.each(payload.fields, function(key, value) {
		if(key.indexOf("server.") == 0) {
			delete payload.fields[key];
		}
	});
	payload = $.toJSON(payload);
	var req = httpReq("PUT", uri, adaptor.putTiddlerCallback,
		context, headers, payload, adaptor.mimeType, null, null, true);
	return typeof req == "string" ? req : true;
};

adaptor.putTiddlerCallback = function(status, context, responseText, uri, xhr) {
	context.status = [204, 1223].contains(xhr.status);
	context.statusText = xhr.statusText;
	context.httpStatus = xhr.status;
	if(context.status) {
		var loc = xhr.getResponseHeader("Location");
		var etag = xhr.getResponseHeader("Etag");
		if(loc && etag) {
			var bag = loc.split("/bags/").pop().split("/")[0];
			context.tiddler.fields["server.bag"] = bag;
			context.tiddler.fields["server.workspace"] = "bags/" + bag;
			var rev = etag.split("/").pop().split(/;|:/)[0];
			context.tiddler.fields["server.page.revision"] = rev;
			context.tiddler.fields["server.etag"] = etag;
			if(context.callback) {
				context.callback(context, context.userParams);
			}
		} else { // IE
			context.adaptor.getTiddler(context.tiddler.title, context,
				context.userParams, context.callback);
		}
	} else if(context.callback) {
		context.callback(context, context.userParams);
	}
};

// store a tiddler chronicle
adaptor.prototype.putTiddlerChronicle = function(revisions, context, userParams, callback) {
	context = this.setContext(context, userParams, callback);
	context.title = revisions[0].title;
	var headers = null;
	var uriTemplate = "%0/%1/%2/tiddlers/%3/revisions";
	var host = context.host || this.fullHostName(tiddler.fields["server.host"]);
	var workspace = adaptor.resolveWorkspace(context.workspace);
	var uri = uriTemplate.format([host, workspace.type + "s",
		adaptor.normalizeTitle(workspace.name),
		adaptor.normalizeTitle(context.title)]);
	if(workspace.type == "bag") { // generate ETag
		var etag = [adaptor.normalizeTitle(workspace.name),
			adaptor.normalizeTitle(context.title), 0].join("/"); //# zero-revision prevents overwriting existing contents
		headers = { "If-Match": '"' + etag + '"' };
	}
	var payload = $.toJSON(revisions);
	var req = httpReq("POST", uri, adaptor.putTiddlerChronicleCallback,
		context, headers, payload, adaptor.mimeType, null, null, true);
	return typeof req == "string" ? req : true;
};

adaptor.putTiddlerChronicleCallback = function(status, context, responseText, uri, xhr) {
	context.status = [204, 1223].contains(xhr.status);
	context.statusText = xhr.statusText;
	context.httpStatus = xhr.status;
	if(context.callback) {
		context.callback(context, context.userParams);
	}
};

// store a collection of tiddlers (import TiddlyWiki HTML store)
adaptor.prototype.putTiddlerStore = function(store, context, userParams, callback) {
	context = this.setContext(context, userParams, callback);
	var uriTemplate = "%0/%1/%2/tiddlers";
	var host = context.host;
	var workspace = adaptor.resolveWorkspace(context.workspace);
	var uri = uriTemplate.format([host, workspace.type + "s",
		adaptor.normalizeTitle(workspace.name)]);
	var req = httpReq("POST", uri, adaptor.putTiddlerStoreCallback,
		context, null, store, "text/x-tiddlywiki", null, null, true);
	return typeof req == "string" ? req : true;
};

adaptor.putTiddlerStoreCallback = function(status, context, responseText, uri, xhr) {
	context.status = [204, 1223].contains(xhr.status);
	context.statusText = xhr.statusText;
	context.httpStatus = xhr.status;
	if(context.callback) {
		context.callback(context, context.userParams);
	}
};

// rename an individual tiddler or move it to a different workspace -- TODO: make {from|to}.title optional
//# from and to are objects with members title and workspace (bag; optional),
//# representing source and target tiddler, respectively
adaptor.prototype.moveTiddler = function(from, to, context, userParams, callback) { // XXX: rename parameters (old/new)?
	var self = this;
	var newTiddler = store.getTiddler(from.title) || store.getTiddler(to.title); //# local rename might already have occurred
	var oldTiddler = $.extend(true, {}, newTiddler); //# required for eventual deletion
	oldTiddler.title = from.title; //# required for original tiddler's ETag
	var _getTiddlerChronicle = function(title, context, userParams, callback) {
		return self.getTiddlerChronicle(title, context, userParams, callback);
	};
	var _putTiddlerChronicle = function(context, userParams) {
		if(!context.status) {
			return callback(context, userParams);
		}
		var revisions = $.evalJSON(context.responseText); // XXX: error handling?
		// change current title while retaining previous location
		for(var i = 0; i < revisions.length; i++) {
			delete revisions[i].revision;
			if(!revisions[i].fields.origin) { // NB: origin = "<workspace>/<title>"
				revisions[i].fields.origin = ["bags", revisions[i].bag, revisions[i].title].join("/");
			}
			revisions[i].title = to.title;
		}
		// add new revision
		var rev = $.extend({}, revisions[0]);
		$.each(newTiddler, function(i, item) {
			if(!$.isFunction(item)) {
				rev[i] = item;
			}
		});
		rev.title = to.title;
		rev.created = rev.created.convertToYYYYMMDDHHMM();
		rev.modified = new Date().convertToYYYYMMDDHHMM();
		delete rev.fields.changecount;
		revisions.unshift(rev);
		if(to.workspace) {
			context.workspace = to.workspace;
		} else if(context.workspace.substring(0, 4) != "bags") { // NB: target workspace must be a bag
			context.workspace = "bags/" + rev.bag;
		}
		var subCallback = function(context, userParams) {
			if(!context.status) {
				return callback(context, userParams);
			}
			context.adaptor.getTiddler(newTiddler.title, context, userParams, _deleteTiddler);
		};
		return self.putTiddlerChronicle(revisions, context, context.userParams, subCallback);
	};
	var _deleteTiddler = function(context, userParams) {
		if(!context.status) {
			return callback(context, userParams);
		}
		$.extend(true, newTiddler, context.tiddler);
		context.callback = null;
		return self.deleteTiddler(oldTiddler, context, context.userParams, callback);
	};
	callback = callback || function() {};
	context = this.setContext(context, userParams);
	context.host = context.host || oldTiddler.fields["server.host"];
	context.workspace = from.workspace || oldTiddler.fields["server.workspace"];
	return _getTiddlerChronicle(from.title, context, userParams, _putTiddlerChronicle);
};

// delete an individual tiddler
adaptor.prototype.deleteTiddler = function(tiddler, context, userParams, callback) {
	context = this.setContext(context, userParams, callback);
	context.title = tiddler.title; // XXX: not required!?
	var uriTemplate = "%0/bags/%1/tiddlers/%2";
	var host = context.host || this.fullHostName(tiddler.fields["server.host"]);
	var bag = tiddler.fields["server.bag"];
	if(!bag) {
		return adaptor.noBagErrorMessage;
	}
	var uri = uriTemplate.format([host, adaptor.normalizeTitle(bag),
		adaptor.normalizeTitle(tiddler.title)]);
	var etag = adaptor.generateETag({ type: "bag", name: bag }, tiddler);
	var headers = etag ? { "If-Match": etag } : null;
	var req = httpReq("DELETE", uri, adaptor.deleteTiddlerCallback, context, headers,
		null, null, null, null, true);
	return typeof req == "string" ? req : true;
};

adaptor.deleteTiddlerCallback = function(status, context, responseText, uri, xhr) {
	context.status = [204, 1223].contains(xhr.status);
	context.statusText = xhr.statusText;
	context.httpStatus = xhr.status;
	if(context.callback) {
		context.callback(context, context.userParams);
	}
};

// compare two revisions of a tiddler (requires TiddlyWeb differ plugin)
//# if context.rev1 is not specified, the latest revision will be used for comparison
//# if context.rev2 is not specified, the local revision will be sent for comparison
//# context.format is a string as determined by the TiddlyWeb differ plugin
adaptor.prototype.getTiddlerDiff = function(title, context, userParams, callback) {
	context = this.setContext(context, userParams, callback);
	context.title = title;

	var tiddler = store.getTiddler(title);
	try {
		var workspace = adaptor.resolveWorkspace(tiddler.fields["server.workspace"]);
	} catch(ex) {
		return adaptor.locationIDErrorMessage;
	}
	var tiddlerRef = [workspace.type + "s", workspace.name, tiddler.title].join("/");

	var rev1 = context.rev1 ? [tiddlerRef, context.rev1].join("/") : tiddlerRef;
	var rev2 = context.rev2 ? [tiddlerRef, context.rev2].join("/") : null;

	var uriTemplate = "%0/diff?rev1=%1";
	if(rev2) {
		uriTemplate += "&rev2=%2";
	}
	if(context.format) {
		uriTemplate += "&format=%3";
	}
	var host = context.host || this.fullHostName(tiddler.fields["server.host"]);
	var uri = uriTemplate.format([host, adaptor.normalizeTitle(rev1),
		adaptor.normalizeTitle(rev2), context.format]);

	if(rev2) {
		var req = httpReq("GET", uri, adaptor.getTiddlerDiffCallback, context, null,
			null, null, null, null, true);
	} else {
		var payload = {
			title: tiddler.title,
			text: tiddler.text,
			modifier: tiddler.modifier,
			tags: tiddler.tags,
			fields: $.extend({}, tiddler.fields)
		}; // XXX: missing attributes!?
		payload = $.toJSON(payload);
		req = httpReq("POST", uri, adaptor.getTiddlerDiffCallback, context,
			null, payload, adaptor.mimeType, null, null, true);
	}
	return typeof req == "string" ? req : true;
};

adaptor.getTiddlerDiffCallback = function(status, context, responseText, uri, xhr) {
	context.status = status;
	context.statusText = xhr.statusText;
	context.httpStatus = xhr.status;
	context.uri = uri;
	if(status) {
		context.diff = responseText;
	}
	if(context.callback) {
		context.callback(context, context.userParams);
	}
};

// generate tiddler information
adaptor.prototype.generateTiddlerInfo = function(tiddler) {
	var info = {};
	var uriTemplate = "%0/%1/%2/tiddlers/%3";
	var host = this.host || tiddler.fields["server.host"]; // XXX: this.host obsolete?
	host = this.fullHostName(host);
	var workspace = adaptor.resolveWorkspace(tiddler.fields["server.workspace"]);
	info.uri = uriTemplate.format([host, workspace.type + "s",
		adaptor.normalizeTitle(workspace.name),
		adaptor.normalizeTitle(tiddler.title)]);
	return info;
};

// create Tiddler instance from TiddlyWeb tiddler JSON
adaptor.toTiddler = function(json, host) {
	var created = Date.convertFromYYYYMMDDHHMM(json.created);
	var modified = Date.convertFromYYYYMMDDHHMM(json.modified);
	var fields = json.fields;
	fields["server.type"] = adaptor.serverType;
	fields["server.host"] = AdaptorBase.minHostName(host);
	fields["server.bag"] = json.bag;
	fields["server.title"] = json.title;
	if(json.recipe) {
		fields["server.recipe"] = json.recipe;
	}
	if(json.type && json.type != "None") {
		fields["server.content-type"] = json.type;
	}
	fields["server.permissions"] = json.permissions.join(", ");
	fields["server.page.revision"] = json.revision;
	fields["server.workspace"] = "bags/" + json.bag;
	var tiddler = new Tiddler(json.title);
	tiddler.assign(tiddler.title, json.text, json.modifier, modified, json.tags,
		created, json.fields, json.creator);
	return tiddler;
};

adaptor.resolveWorkspace = function(workspace) {
	var components = workspace.split("/");
	return {
		type: components[0] == "bags" ? "bag" : "recipe",
		name: components[1] || components[0]
	};
};

adaptor.generateETag = function(workspace, tiddler) {
	var revision = tiddler.fields["server.page.revision"];
	var etag = revision == "false" ? null : tiddler.fields["server.etag"];
	if(!etag && workspace.type == "bag") {
		if(typeof revision == "undefined") {
			revision = "0";
		} else if(revision == "false") {
			return null;
		}
		etag = [adaptor.normalizeTitle(workspace.name),
			adaptor.normalizeTitle(tiddler.title), revision].join("/");
		etag = '"' + etag + '"';
	}
	return etag;
};

adaptor.normalizeTitle = function(title) {
	return encodeURIComponent(title);
};

})(jQuery);


/*
 * jQuery JSON Plugin
 * version: 1.3
 * source: http://code.google.com/p/jquery-json/
 * license: MIT (http://www.opensource.org/licenses/mit-license.php)
 */
(function($){function toIntegersAtLease(n)
{return n<10?'0'+n:n;}
Date.prototype.toJSON=function(date)
{return this.getUTCFullYear()+'-'+
toIntegersAtLease(this.getUTCMonth())+'-'+
toIntegersAtLease(this.getUTCDate());};var escapeable=/["\\\x00-\x1f\x7f-\x9f]/g;var meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'};$.quoteString=function(string)
{if(escapeable.test(string))
{return'"'+string.replace(escapeable,function(a)
{var c=meta[a];if(typeof c==='string'){return c;}
c=a.charCodeAt();return'\\u00'+Math.floor(c/16).toString(16)+(c%16).toString(16);})+'"';}
return'"'+string+'"';};$.toJSON=function(o,compact)
{var type=typeof(o);if(type=="undefined")
return"undefined";else if(type=="number"||type=="boolean")
return o+"";else if(o===null)
return"null";if(type=="string")
{return $.quoteString(o);}
if(type=="object"&&typeof o.toJSON=="function")
return o.toJSON(compact);if(type!="function"&&typeof(o.length)=="number")
{var ret=[];for(var i=0;i<o.length;i++){ret.push($.toJSON(o[i],compact));}
if(compact)
return"["+ret.join(",")+"]";else
return"["+ret.join(", ")+"]";}
if(type=="function"){throw new TypeError("Unable to convert object of type 'function' to json.");}
var ret=[];for(var k in o){var name;type=typeof(k);if(type=="number")
name='"'+k+'"';else if(type=="string")
name=$.quoteString(k);else
continue;var val=$.toJSON(o[k],compact);if(typeof(val)!="string"){continue;}
if(compact)
ret.push(name+":"+val);else
ret.push(name+": "+val);}
return"{"+ret.join(", ")+"}";};$.compactJSON=function(o)
{return $.toJSON(o,true);};$.evalJSON=function(src)
{return eval("("+src+")");};$.secureEvalJSON=function(src)
{var filtered=src;filtered=filtered.replace(/\\["\\\/bfnrtu]/g,'@');filtered=filtered.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']');filtered=filtered.replace(/(?:^|:|,)(?:\s*\[)+/g,'');if(/^[\],:{}\s]*$/.test(filtered))
return eval("("+src+")");else
throw new SyntaxError("Error parsing JSON, source is not valid.");};})(jQuery);
//}}}
/***
|''Name''|TiddlyWebConfig|
|''Description''|configuration settings for TiddlyWebWiki|
|''Author''|FND|
|''Version''|1.3.2|
|''Status''|stable|
|''Source''|http://svn.tiddlywiki.org/Trunk/association/plugins/TiddlyWebConfig.js|
|''License''|[[BSD|http://www.opensource.org/licenses/bsd-license.php]]|
|''Requires''|TiddlyWebAdaptor ServerSideSavingPlugin|
|''Keywords''|serverSide TiddlyWeb|
!Code
***/
//{{{
(function($) {

if(!config.extensions.ServerSideSavingPlugin) {
	throw "Missing dependency: ServerSideSavingPlugin";
}
if(!config.adaptors.tiddlyweb) {
	throw "Missing dependency: TiddlyWebAdaptor";
}

if(window.location.protocol != "file:") {
	config.options.chkAutoSave = true;
}

var adaptor = tiddler.getAdaptor();
var recipe = tiddler.fields["server.recipe"];
var workspace = recipe ? "recipes/" + recipe : "bags/common";

var plugin = config.extensions.tiddlyweb = {
	host: tiddler.fields["server.host"].replace(/\/$/, ""),
	username: null,
	status: {},

	getStatus: null, // assigned later
	getUserInfo: function(callback) {
		this.getStatus(function(status) {
			callback({
				name: plugin.username,
				anon: plugin.username ? plugin.username == "GUEST" : true
			});
		});
	},
	hasPermission: function(type, tiddler) {
		var perms = tiddler.fields["server.permissions"];
		if(perms) {
			return perms.split(", ").contains(type);
		} else {
			return true;
		}
	}
};

config.defaultCustomFields = {
	"server.type": tiddler.getServerType(),
	"server.host": plugin.host,
	"server.workspace": workspace
};

// modify toolbar commands

config.shadowTiddlers.ToolbarCommands = config.shadowTiddlers.ToolbarCommands.
	replace("syncing ", "revisions syncing ");

config.commands.saveTiddler.isEnabled = function(tiddler) {
	return plugin.hasPermission("write", tiddler) && !tiddler.isReadOnly();
};

config.commands.deleteTiddler.isEnabled = function(tiddler) {
	return !readOnly && plugin.hasPermission("delete", tiddler);
};

// hijack option macro to disable username editing
var _optionMacro = config.macros.option.handler;
config.macros.option.handler = function(place, macroName, params, wikifier,
		paramString) {
	if(params[0] == "txtUserName") {
		params[0] = "options." + params[0];
		var self = this;
		var args = arguments;
		args[0] = $("<span />").appendTo(place)[0];
		plugin.getUserInfo(function(user) {
			config.macros.message.handler.apply(self, args);
		});
	} else {
		_optionMacro.apply(this, arguments);
	}
};

// hijack isReadOnly to take into account permissions and content type
var _isReadOnly = Tiddler.prototype.isReadOnly;
Tiddler.prototype.isReadOnly = function() {
	return _isReadOnly.apply(this, arguments) ||
		!plugin.hasPermission("write", this);
};

var getStatus = function(callback) {
	if(plugin.status.version) {
		callback(plugin.status);
	} else {
		var self = getStatus;
		if(self.pending) {
			if(callback) {
				self.queue.push(callback);
			}
		} else {
			self.pending = true;
			self.queue = callback ? [callback] : [];
			var _callback = function(context, userParams) {
				var status = context.serverStatus || {};
				for(var key in status) {
					if(key == "username") {
						plugin.username = status[key];
						config.macros.option.propagateOption("txtUserName",
							"value", plugin.username, "input");
					} else {
						plugin.status[key] = status[key];
					}
				}
				for(var i = 0; i < self.queue.length; i++) {
					self.queue[i](plugin.status);
				}
				delete self.queue;
				delete self.pending;
			};
			adaptor.getStatus({ host: plugin.host }, null, _callback);
		}
	}
};
(plugin.getStatus = getStatus)(); // XXX: hacky (arcane combo of assignment plus execution)

})(jQuery);
//}}}
!What is it?

TiddlyWiki is an open source software invented by Jeremy Ruston at BT Osmosoft.  We acknowledge the kind and friendly support we have had from our open collaboration with BT Osmosoft, including Jeremy Ruston and his team, the extremely helpful [[open source community|https://groups.google.com/forum/#!forum/tiddlywiki]] which you can find via the link or via {{{https://groups.google.com/forum/#!forum/tiddlywiki}}}).  We also acknowledge Jonathon Lister and Joshua Bradley, who have been the technical wizards behind the development of the new 'ambit theme'.  

!No, but what IS it?!

Tiddlywiki are documents, but they don't work like paper.  They look (superficially) very similar to other websites - you "read" them in a browser, such as Firefox, Google Chrome, Safari, or Internet Explorer (old versions of IE are not so good at handling them).

By clicking on HighlightedWords these function as [[Links]], which instantly open a separate [[Tiddler]].  

What you are reading right now is called a [[Tiddler]]. 

In a tiddlywiki, instead of a link opening a whole new web-page, however, it just opens a new 'note' inside the existing page - think of individual Tiddlers as paragraphs if you like, or 'post-it notes', or 'Thoughts', which can be collected together and sorted quickly and easily in lots of different ways.  Each tiddler can be opened, looked at, closed, a bit like having immediate access to lots of sheets of paper which you can pull out and file away again at the click of a mouse...

The basic architecture of the manual is a large number of these (more or less) brief [[Tiddler]]s - each of which is connected to other Tiddlers - via two kinds of 'connectors':

*[[Links]], as described above, which directly open another tiddler on your desktop (see it listed at the bottom of your [[Currently Open]] list.)
*[[Tags]] - which link up the content of different tiddlers as sub-topics under a topic heading (for instance this tiddler is tagged as one of a set that describe what a practitioner needs to know about [[Using the Manual]].)   

[[Tags]] offer an important way of integrating different levels and areas of information, which a conventional (linear) book format would struggle to do.  A single [[Tiddler]] can easily be tagged with multiple tags - so it is a great way to cross-reference pieces of data.

!I am a techie, what IS IT?!

It is a single ''html'' file, that uses ''javascript'' and ''CSS'' tricks to use the standard web-brower as a platform for editing and saving the self-contained wiki.  Within the single html file, you find tiddlers that are effectively acting as the 'software' that define the behaviour of the wiki, and others that contain the content.

TiddlySpace offers a serverside environment to host multiple tiddlywikis, that have public and private tiddlers, and which allows the public content of one individually-curated wiki to be included within another wiki.

For more information on this wonderful free software resource see [[www.tiddlywiki.com|http://www.tiddlywiki.com]].  To understand how to get the best out of it, see the content tagged as [[Understanding TiddlyManual format]].
/***
|''Name''|ToggleTiddlerPrivacyPlugin|
|''Version''|0.7.1|
|''Status''|@@beta@@|
|''Description''|Allows you to set the privacy of new tiddlers and external tiddlers within an EditTemplate, and allows you to set a default privacy setting|
|''CoreVersion''|2.6.1|
|''Requires''|TiddlySpaceConfig|
|''Source''|http://github.com/TiddlySpace/tiddlyspace/raw/master/src/plugins/ToggleTiddlerPrivacyPlugin.js|
!Notes
When used in conjunction with TiddlySpaceTiddlerIconsPlugin changing the privacy setting will also interact with any privacy icons.

Currently use of
{{{<<setPrivacy defaultValue:public>>}}} is in conflict with {{{<<newTiddler fields:"server.workspace:x_private">>}}}

There is an option, found in the tweak tab of the backstage, called txtPrivacyMode. Set this to either ''public'' or ''private'' depending on your security preference. If you choose not to set it then it will default to ''public''.
!Params
defaultValue:[private|public]
Allows you to set the default privacy value (Default is private)

!Code
***/
//{{{
(function($) {

	var tiddlyspace = config.extensions.tiddlyspace,
		macro;
	macro = config.macros.setPrivacy = {
		handler: function(place, macroName, params, wikifier, paramString, tiddler) {
			if(readOnly) {
				return;
			}
			var el = $(story.findContainingTiddler(place)),
				args = paramString.parseParams("name",
					null, true, false, true)[0],
				container = $("<div />").
					addClass("privacySettings").
					appendTo(place)[0],
				currentSpace = tiddlyspace.currentSpace.name,
				currentBag = tiddler ? tiddler.fields["server.bag"] : false,
				// XXX: is the following reliable?
				isNewTiddler = el.hasClass("missing") || !currentBag,
				tiddlerStatus = tiddlyspace.getTiddlerStatusType(tiddler),
				customFields = el.attr("tiddlyfields"),
				defaultValue = "public",
				options = config.macros.tiddlerOrigin ?
						config.macros.tiddlerOrigin.getOptions(paramString) :
						{};
			customFields = customFields ? customFields.decodeHashMap() : {};
			if(isNewTiddler || !["public", "private", "unsyncedPrivate",
					"unsyncedPublic"].contains(tiddlerStatus)) {
				if(args.defaultValue) {
					defaultValue = args.defaultValue[0].toLowerCase();
				} else {
					defaultValue = config.options.chkPrivateMode ?
							"private" : "public";
				}
				defaultValue = defaultValue ?
						"%0_%1".format(currentSpace, defaultValue) :
						customFields["server.bag"];
				this.createRoundel(container, tiddler, currentSpace,
						defaultValue, options);
			}
		},
		updateEditFields: function(tiddlerEl, bag) {
			var saveBagField = $('[edit="server.bag"]', tiddlerEl),
				saveWorkspaceField = $('[edit="server.workspace"]', tiddlerEl),
				input = $("<input />").attr("type", "hidden"),
				workspace = "bags/" + bag;
			if(saveBagField.length === 0) {
				input.clone().attr("edit", "server.bag").val(bag).
					appendTo(tiddlerEl);
			} else {
				saveBagField.val(bag);
			}
			// reset to prevent side effects
			$(tiddlerEl).attr("tiddlyFields", "");
			if(saveWorkspaceField.length === 0) {
				input.clone().attr("edit", "server.workspace").
					val(workspace).appendTo(tiddlerEl);
			} else {
				saveWorkspaceField.val(workspace);
			}
		},
		setBag: function(tiddlerEl, newBag, options) {
			var bagStatus,
				title = $(tiddlerEl).attr("tiddler"),
				tiddler = store.getTiddler(title),
				originButton = $(".originButton", tiddlerEl)[0],
				refreshIcon,
				newWorkspace = "bags/" + newBag,
				rPrivate = $("input[type=radio].isPrivate", tiddlerEl),
				rPublic = $("input[type=radio].isPublic", tiddlerEl);
			refreshIcon = function(type) {
				var originMacro = config.macros.tiddlerOrigin;
				if(originButton && originMacro) {
					options.noclick = true;
					originMacro.showPrivacyRoundel(tiddler, type,
							originButton, options);
				}
			};
			macro.updateEditFields(tiddlerEl, newBag);
			if(tiddler) {
				tiddler.fields["server.bag"] = newBag;
				// for external tiddlers
				tiddler.fields["server.workspace"] = newWorkspace;
			}
			if(newBag.indexOf("_public") > -1) {
				rPrivate.attr("checked", false);
				rPublic.attr("checked", true);
				bagStatus = "public";
			} else {
				rPublic.attr("checked", false); // explicitly do this for ie
				rPrivate.attr("checked", true);
				bagStatus = "private";
			}
			refreshIcon(bagStatus);
		},
		createRoundel: function(container, tiddler, currentSpace,
							   defaultValue, options) {
			var privateBag = "%0_private".format(currentSpace),
				publicBag = "%0_public".format(currentSpace),
				rbtn = $("<input />").attr("type", "radio").
					attr("name", tiddler.title),
				el = story.findContainingTiddler(container);
			rbtn.clone().val("private").addClass("isPrivate").
				appendTo(container);
			$("<label />").text("private").appendTo(container); // TODO: i18n
			rbtn.clone().val("public").addClass("isPublic")
				.appendTo(container);
			$("<label />").text("public").appendTo(container); // TODO: i18n
			$("[type=radio]", container).click(function(ev) {
				var btn = $(ev.target);
				tiddler.fields["server.page.revision"] = "false";
				if(btn.hasClass("isPrivate")) { // private button clicked.
					$(el).addClass("isPrivate").removeClass("isPublic");
					macro.setBag(el, privateBag, options);
				} else {
					$(el).addClass("isPublic").removeClass("isPrivate");
					macro.setBag(el, publicBag, options);
				}
			});
			window.setTimeout(function() {
				macro.setBag(el, defaultValue, options);
			}, 100);
			// annoyingly this is needed as customFields are added to end of EditTemplate so are not present yet
			// and don't seem to respect any existing customFields.
		}
	};

}(jQuery));
//}}}
|~ViewToolbar|+editTiddler +cloneTiddler > fields refreshTiddler changeToPublic changeToPrivate revisions syncing permalink references jump closeOthers < closeTiddler|
|~EditToolbar|+saveTiddler saveDraft -cancelTiddler deleteTiddler|
|~RevisionToolbar|> fields revert|
!What is it?
The Top menu bar is a bar across the top of your [[Desktop]], that contains more advanced menus.  
!Where is it?
''Normally this is hidden, because you don't need it for ordinary use''!  However, you can reveal it by selecting the [[Advanced mode]] in the [[Mode and Login panel]].  You need to be [[logged in|Log in]] as a [[member|Making someone a member of a space]] before you see this option.

Because it sits across the very top of your desktop you may have to scroll to the very top of the page to reveal it.  
!Contents
The Top menu bar reveals more advanced menus:
!!1. The [[TiddlySpace menu]] 

This is a menu provided by the web-based "hosting" site (in [[BT Osmosoft|http://osmosoft.com/#TiddlySpace]]) that you access this via the "target" icon (the TiddlySpace icon) to the right.  Included in this is: 
**The [[Space menu]] - Referred to as "THIS SPACE" - about your wiki (members, content, etc)
**The [[User menu]] - Referred to as "YOUR ACCOUNT" - about YOU as a member of TiddlySpace.

!!2. STATUS, TIDDLERS, PLUGINS, BATCH, TWEAKS, IMPORT/EXPORT, SYNC

*''STATUS'' - whether you are a member of this [[Space]] or not, etc
*''TIDDLERS'' - is a full [[Index]] of all the content, that can be listed in different ways as well as providing another Search box.
>''Recent'' - lists all the tiddlers in this [[Space]]  in ''Date order according to when they were last edited''.
>''All'' - lists all the tiddlers in ''Alphabetical order''
>''Public'' - lists only the tiddlers that are ''Public'', in alphabetical order.
>''Private'' - lists only the tiddlers that are ''Private'', in alphabetical order (note that in TiddlySpace a [[Tiddler]] can either be Private of Public, and if you have authority to edit your team's version, you can select whether a tiddler is Private of Public (in general tiddlers in a local TeamTemplate that are still "under discussion" can be designated as private, but we encourage teams to work as transparently as possible.)
>''Tags'' - lists the [[Tags]] in the manual, and how many sub-topics are tagged with this topic heading.
>''Spaces'' - lists all the Spaces included in the manual and how many tiddlers each one contains.
>''Missing'' - lists all the tiddlers that have links to them in other tiddlers, but which have not actually been written yet (a useful, if persecuting, resource for authors!)
>''Orphans'' - lists all tiddlers in manual that are not linked or tagged to any other content, and so might be seen as disconnected from the whole.
>''Shadows'' - lists all tiddlers that are present in every tiddler 'by default' - generally these have no content of interest, but adjust the look and behaviour of the wiki.  In a TiddlySpace these are 'curated' elsewhere, so even if they are edited by accident, the adapted version can simply be deleted and the original will pop back up to replace it.
*''PLUGINS'' - lists tiddlers that are designed to add functionality to the wiki, rather than content (the odd thing about TiddlyWiki is that in a //single// (html) file you can carry all the 'software' to make it run inside a browser, as well as all the content that the user authors.)
*''BATCH'' - offers the chance to change the status of a whole selcted batch of tiddlers (from Provate to Public, or vice versa)
*''TWEAKS'' - offers options for tweaking how your browser handles the tiddlywiki - not for the casual user.
*''IMPORT/EXPORT'' - offers the registered user the opportunity to import tiddlers from another Tiddlywiki or to [[Download a copy!]] of the manual so that it is a free-standing (html) file on your local computer (or stored on a USB stick, etc).  The Downloading of Tiddlymanuals is not very reliable at present as we have been focusing on getting the online performance working (and there is not a great deal of advantage of being ale to have downloadable versions right now.)  However, the ability to run a tiddlymanual completely free from the internet is what offers the potential for using a tiddlymanuals as a wiki-based note-taking system, and this is in development... watch this space!
* ''SYNC'' is only relevant for a downloaded version that you then want to sync with your web-basd version - not relevant for tiddlymanuals at this stage of development!
!What is this page for?

This is really a scrapbook of thoughts and lessons that have been learned about the "how" of editing and authoring content in tiddlymanuals.

!Top Tips
* Think of [[Tags]] as "chapter headings"
** A page can have multiple tags (ie can exist as part of multiple chapters!)
** There's probably an optimum number - depends on how "core" that page is - but too many tags on a page reduces the specificity (think brains - you need clear connection pathways, but not every cell has to be directly connected to every other cell - that would be chaos!)

* Think very carefully about the TITLE of a new page (Tiddler).
** People might well search for it in the search bar - use either the most likely words people would search for, or alternatively a memorably "off-beat" phrase that people might remember.

* Size matters
** Try to keep one "bitesize chunk" of information to one page ([[Tiddler]]).  
** If you are going off onto a sub-topic, or a different topic, put in a LINK (double square brackets) and make another page for that.

* Balance "centripetal" and "centrifugal" forces in your writing - HUH?!
** A well written page has a balance between:
*** Being very //interesting-and-useful-in-itself// (''"centripetal"'' forces that "draw the reader in") - i.e. great content, succinctly put, doing what it says on the tin (title)
*** Being very //good-at-connecting-me-to-other-related-material// (''"centrifugal"'' forces that "entice the reader outwards") - i.e. great sets of [[Link]]s and well [[Tagged|Tags]] so that related material is within easy reach.
This is what we call a page ([[Tiddler]]) that is the 'Headline' that stands over a number of [[Sub-topic]]s - these are gathered "under" the Topic heading, and you can see this arrangement if you open the [[Show references and info]] panel at the top of each page.  Standing "under" a Topic, you may find [[Sub-topic]]s.
Links to Government Documents about Open Source:


<html><ul><li><a href="http://www.cabinetoffice.gov.uk/sites/default/files/resources/All-about-Open-Source-v1.pdf">All about Open Source v1 (pdf, 490kb)</a></li><li><a href="http://www.cabinetoffice.gov.uk/sites/default/files/resources/All-about-Open-Source-v1.odt">All about Open Source v1 0 (odf, 121kb)</a></li><li><a href="http://www.cabinetoffice.gov.uk/sites/default/files/resources/ICT-Advice-Note-Procurement-of-Open-Source.pdf">ICT Advice Note - Procurement of Open Source (pdf, 169kb)</a></li><li><a href="http://www.cabinetoffice.gov.uk/sites/default/files/resources/ICT-Advice-Note-Procurement-of-Open-Source.odt">ICT Advice Note - Procurement of Open Source (odf, 37kb)</a></li><li><a href="http://www.cabinetoffice.gov.uk/sites/default/files/resources/Open-Source-Option-v1.pdf">Open Source Options v1.0 (pdf, 581kb)</a></li><li><a href="http://www.cabinetoffice.gov.uk/sites/default/files/resources/Open-Source-Options-v1.odt">Open Source Options v1.0 (odf, 125kb)</a></li><li><a href="http://www.cabinetoffice.gov.uk/sites/default/files/resources/Total-Cost-of-Ownership-things-to-consider-v1.pdf">Total Cost of Ownership - things to consider v1.0 (pdf, 124kb)</a></li><li><a href="http://www.cabinetoffice.gov.uk/sites/default/files/resources/Total-Cost-of-Ownership-things-to-consider-v1.odt">Total Cost of Ownership - things to consider v1.0 (odf, 198kb)</a></li><li><a href="http://www.cabinetoffice.gov.uk/sites/default/files/resources/PPN Open Source (pdf, 122kb).pdf">PPN Open Source (pdf, 122kb)</a></li><li><a href="http://www.cabinetoffice.gov.uk/sites/default/files/resources/PPN Open Source (odf, 14kb).odt">PPN Open Source (odf, 14kb)</a></li></ul></html>
The manual is written in a novel format which is very easy to use; like most things, it takes a little getting used to to get the best out of it.

!What's on my screen?

Look at [[How to read this Manual]] or take a [[Video tour of the AMBIT manual]] for an explanation of all the buttons and features on your screen that will help you navigate and read material.  N.B. IT IS REALLY WORTH LOOKING AT THIS, as the format behaves slightly differently from conventional websites.

!Getting it to work in a big organisation

You may have to make a few calls and changes to get the best out of a TiddlyManual in a large organisation that has old I.T. (such as the NHS!) - these things will get easier over the next year or so, but are surmountable now.  See [[Organisational support for the technology to run TiddlyManuals]].

!Editing  a local version

Local teams can open their own version of a tiddlymanual, which includes all the content curated by a central source (such as the [[AMBIT]] project at the  [[Anna Freud Centre]]) and they are encouraged to [[Edit]] their local version, to "tune" it to local needs, and local culture.  There is a [[Video introduction to editing a tiddlymanual]] as well.

!Technical Glossary

All the technical terms and bits of the TiddlyManual you are likely to wonder about are [[tagged|Tags]] with the title of this tiddler (Understanding TiddlyManual format), so just look at the [[Show references and info]] panel for this tiddler (above, to the right of the title) to see all the [[Sub-topic]]s under this heading.

!Who wrote which bits?

[[TiddlyManual]]s encourage local teams to incorporate the core content of a manual (which is curated centrally) but to add local //customisations and and adaptations// - a process we refer to as [[Manualization]].  

It is worth knowing how to find out [[Who wrote which bits?]]

!Explain ~TiddlyWiki?

Have a look at TiddlyWiki to get more information on what makes it tick.

!Changing the interface

There are almost limitless ways to [[Change the interface]] of a Tiddlywiki to suit tastes, and some of the simpler ways to do this are described.

Most significantly, this is a [[Dynamic, adaptive Manualization]] that is not a static document, delivered "once and for all" from distant authorities, but which functions as a collaborative "work in progress" - integrating local expertise, creativity and service-user feedback into team-based edits to the local TeamTemplate.

Understanding these things will help you get to what you want or need faster.
This is found on what is called the [[Top menu bar]], and it is hidden unless you go into the [[Advanced mode]].

!MENU CONTENTS
!!!Your Identity
You can link your TiddlySpace username and password to other verified web identities such as Open ID
!!!Your Spaces
This is where you can [[Make a new space]] or select and open other spaces (wikis) that you already curate - if you have other spaces they will be listed out here.  For instance, some people use TiddlyWiki's in TiddlySpace to organise notes, project-manage, etc...
!!!Your password
This is where you can opt to change your password to a new one.
!To GET OUT of the menu
Click anywhere OFF the drop-down box, on the dark background.


!Purpose
To help new users find more specific information about how the manual works
!!!About the Manual
The material and this format is released under a [[Creative Commons License|Licensed]] and we ask users to respect this.  Enquiries about the terms of the license can be directed to the Anna Freud Centre. 

Aimed at AMBIT users, there is a [[Video introduction to how AMBIT uses and shares new learning via the TiddlyManual]].  

!!!1. How to read this Manual
[[How to read this Manual]] explains how to get the best out of this novel format as a reader, including a [[Video tour of the AMBIT manual]] theme that shows you round the new 'theme' (Feb 2012.)

!!!2. Find your way around
[[Find your way around]] shows the different ways to find out what you need (indexes, searching, navigating, etc).

!!!3. Learning from other teams manualizing their practice
The manual encourages a [[Community of Practice]] and there are variety of [[Comparing and Sharing functions]] that encourage curiosity about what other teams are doing that might improve our team's work.

!!!4. Add or edit material in your manual
See [[+ Manualize our work]] for information on how to adapt or [[Edit]] your local version of this manual to fit what //you// are doing in //your// setting, working with //your// clients.

!!!5. Understanding ~TiddlyManual format
[[Understanding TiddlyManual format]] explains basic details about how the this software works - it is worth spending a bit of time on this if you are getting started.

!!!6. Organisational support for the technology to run ~TiddlyManuals
[[Organisational support for the technology to run TiddlyManuals]] explains some of the simple manoeuvres that can help get the best out of this material even if your organisation is using ancient browsers and operating systems (which in the NHS is not uncommon.)

!!!7. Print material from the manual
[[Print material from the manual]] explains printing material from the manual, which is easy, and allowed under the terms of the [[Creative Commons License|Licensed]].  Don't expect to be able to just "print the whole thing out", though!

!!!8. Change the interface of your manual.
[[Change the interface]] lets you do things like add an icon to represent your team, change the size of the typeface, change the Title, the Subtitle, etc.

!!!9. Videos
[[Videos]] are being added all the time to [[TiddlyManual]]s: there is also a growing collection of streaming videos (you must be online to access the streaming content) that describe how to use the manual, theoretical foundations, and illustrate a range of therapy techniques (these are being added to quite regularly, so check back occasionally.)

!!!9. Help improve this
See [[Feedback please!]] for how to give feedback on what you like and more particularly what you do //not// like.  There is also information here about to get technical information that you haven't found in the manual.

!!!FUTURE DEVELOPMENT
''__Interactive Case Recording__'' - not in operation yet...

[[Interactive Case Recording|ICR]]  (or [[ICR]]) is only relevant to the AMBIT tiddlymanual (@ambit) - and ''@@color(orange):N.B. - This function is not yet in operation (Winter 2012/13)@@'', but it should be available to try out in due course.  

[[ICR]] involves //downloading// an entire fresh //copy// of the online treatment manual //for each client//, and using this downloaded copy (that then works completely separate from the internet - just any document file that you can store in a secure location) as a 'workbook' //in which the worker(s) can make notes on that young person, which can easily be exported to other databases//; using the wiki adds a lot of functionality to paper notes (searchability, tagging, integrated outcomes measures, etc.)  Watch this space!



 
''@@color(blue):Please note that the editing function is undergoing some development work so some parts of these instructions may no longer be correct. Apologies for the inconvenience and we hope to have these updated soon. @@''

There are more written instructions and detail at [[Edit]] and you can learn about the specific [[EditingConventions]] that help you lay out pages attractively (headings, bold, italics, etc) with great ease.

<html><iframe width="480" height="360" src="http://www.youtube.com/embed/L1_8x1y1CLM?rel=0" frameborder="0" allowfullscreen></iframe></html>
''@@color(blue):Please note that the editing function is undergoing some development work so some parts of these instructions may no longer be correct. Apologies for the inconvenience and we hope to have these updated soon. @@''

This video gives you a quick tour of the simple rules for laying out text, headings, italics, bullet points, etc - so you can make the text in your pages look clear and readable.  See also EditingConventions and the page on how to [[Edit]]...

<html><iframe width="480" height="360" src="http://www.youtube.com/embed/tWb-UAePQvk?rel=0" frameborder="0" allowfullscreen></iframe></html>
<html><object width="480" height="360"><param name="movie" value="//www.youtube.com/v/02QyMFIQRNY?hl=en_GB&amp;version=3&amp;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="//www.youtube.com/v/02QyMFIQRNY?hl=en_GB&amp;version=3&amp;rel=0" type="application/x-shockwave-flash" width="480" height="360" allowscriptaccess="always" allowfullscreen="true"></embed></object></html>
Here is a video tour of the new AMBIT manual that highlights the main features and how to find your way around:

<html><iframe width="480" height="360" src="http://www.youtube.com/embed/TJ4WFQ1ov7g?rel=0" frameborder="0" allowfullscreen></iframe></html>

Here is an animation that explains how multiple tiddlymanuals support collaboration between multiple teams, that share a common (and developing) core and compare and share local innovations:

<html><iframe width="480" height="360" src="http://www.youtube.com/embed/EZ_yHJ1WLTE?rel=0" frameborder="0" allowfullscreen></iframe></html>
<!--{{{-->
<div class='toolbar'
	macro='toolbar [[ToolbarCommands::ViewToolbar]] icons:yes height:16 width:16 more:popup'>
</div>
<div class='heading'>
	<span class='spaceSiteIcon'
		macro='tiddlerOrigin label:no spaceLink:yes height:48 width:48 preserveAspectRatio:yes'>
	</span>
	<span class="titleBar">
		<div class='title' macro='view title text'></div>
		<span class="subtitle" macro='viewRevisions page:5'>
			last modified on
			<span macro="view modified date"></span>
		</span>
		<div macro="view title replyLink"></div>
	</span>
	<span class='followPlaceHolder' macro='followTiddlers'></span>
	<span class='modifierIcon'
		macro='view modifier SiteIcon label:no spaceLink:yes height:48 width:48 preserveAspectRatio:yes'>
	</span>
	<div class='tagClear'></div>
</div>
<div class='content'>
	<div class='viewer' macro='view text wikified'></div>
</div>
<div class='tagInfo'>
	<div class='tidTags' macro='tags'></div>
	<div class='tagging' macro='tagging'></div>
</div>
<!--}}}-->
The web browser is just the program your computer uses to access the internet.  

The commonest ones are:

!Internet Explorer 
This is Microsoft's standard browser - seen as rather "clunky" by those in the know, and is often available in shockingly outdated forms in NHS or other large corporate systems.  Our advice is to try to find a way to convince your IT dept to let you use a more modern browser that automatically updates itself (see examples below) and which handles some of the more recent advances in web-based technology better.  See [[Organisational support for the technology to run TiddlyManuals]] for support in this task!  The manual will work in this browser, but it won't sing and dance as well.
!Google Chrome
This is an open source, fast, modern, free browser - which handles the tiddlymanuals with much greater ease, and automatically updates itself, etc.  Highly recommended.
!Firefox
This is similarly open source, fast, freely downloadable, adaptable and also highly recommended
!Safari
This is the standard Mac browser... Mac users tend to love it in the tribal ways that Mac users love anything Mac (Oh, do I sound jealous?), and there are also versions that run on Windows PC's that can be downloaded for free - it is seen as a good browser.
The wiki ''ambit-help.tiddlyspace.com'' is //not designed to be read on its own//, but as an INCLUSION inside other tiddlyspaces that also include the ambit-theme.

If you are reading this [[Tiddler]] in a tiddlymanual (such as the AMBIT or MBTF manuals) then ignore it! Instead, look for [[Using the Manual]] as a place to get help.

If you have the address: {{{http://ambit-help.tiddlyspace.com}}} in your browser's address bar, then you are just reading the "help" space, rather than reading it in its 'proper habitat' - which is embedded ("included") in a larger tiddlymanual, such as @ambit or one of its local variants (see @tiddlymanuals).

The content in this space provides guidance on TiddlyWiki - the basic software that supports all of this; and TiddlySpace - the server-side environment that supports multiple individually-curated tiddlywikis that can include one another, and which allows a centrally-curated "first draft" manual to be adapted by multiple local users.
If you are reading  LOCAL version of the manual (see them listed out at @tiddlymanuals) then you may want to know:

(a) Is this LOCALLY - CURATED material?
(b) Is this CENTRALLY - CURATED material?
(c) Who actually wrote this material?

This is one of the [[Comparing and Sharing functions]] that the [[TiddlyManual]] format offers.

!!(a) Is it LOCAL or CENTRAL?
If a page ([[Tiddler]]) is ''newly authored'' by a LOCAL team, then a small sub heading that will tell you this will appear beneath the main page heading.

If a page has been ''adapted from the original'' (i.e. the so-called 'AMBIT core content' [found at @ambit], authored and curated by the Anna Freud Centre) then a small sub-heading will appear beneath the main page title to announce this.

!!(b) Who actually wrote this?
* Open the [[Show references and info]] panel on the tiddler.  
* Look at the ''Information'' column, and you will see ''"Edited by"''...  You can also click on the ''Revisions'' heading, too, to see if any other authors wrote or edited earlier versions of this tiddler.
* You can also [[List LOCAL EDITS to the manual]] which reveals a list of all the ~LOCALLY-edited material.

!!(c) How do I //compare// page contents between manuals?
It is easy to compare and contrast pages ("[[Tiddler]]s") that have been adapted by different authors across different manuals.  

These pages may have been //customised// by a local team, adapting (or adding) material in ways that improve the "fit" of what is being delivered to their //local// culture, in response to particular //local// problems, or to their a //local// service ecology, etc...  

See the ''Elsewhere'' column in the [[Show references and info]] panel of any tiddler for this, or look at other ways in which [[Comparing and Sharing functions]] are available in the manual.
Wiki comes originally from the Maori word for "Quick" or "Fast"...

it is used to describe any collection of web-based pages that are related to a particular subject and are open to easy editing by users. Perhaps the best known example is the internet-based encyclopaedia, [[www.wikipedia.org/|http://www.wikipedia.org/]].  There are problems with web-based Wiki's such as this, in that there is little control over the quality of information put into them, and this manualization uses a new technology to get around this so that there are "valves" applied to what content can and cannot be altered. Crucially, the Tiddlymanual is not a web-based application, but a document that can live on a server, a hard disk, a USB stick, etc, rather than being open to the world.

The format of this TiddlyManual is an adaptation of this Wiki format, and the software underpinning this novel format is called TiddlyWiki.
By convention in the TiddlyWiki format, any single word that has a capital letter placed in the middle of it is automatically recognised by the TiddlyWiki (functioning as a kind of 'code')  so that the TiddlyWiki turns that word into a link to another [[Tiddler]].  At the same time the software autimatically forms a new tiddler with its title as that new WikiWord (which will be empty until it is filled with MicroContent...) so, for instance, EmpyThought will be empty unless you choose fill it! (you can click on EmptyThought and see what I mean if you want.)

This is useful if you [[Edit]] the manual - i.e. make new patient notes entries, or compose new [[Tiddler]]s - and wish to place a [[Link]] to another Thought.  

It helps you make quick [[Links]] to new [[Tiddler]]s, however, the WikiWord looks a bit odd in 'ordinary' text so we are slowly trying to replace WikiWord titles with more conventional language forms!

Of course the OTHER way to make [[Links]] is to place double square brackets ( {{{[[Title of tiddler goes here]]}}}) around any word or phrase.  You can learn more about how to [[Edit]] the manual by following the tag [[Understanding TiddlyManual format]].
<!DOCTYPE html>
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
	<title>Account</title>
	<link href="/bags/common/tiddlers/profile.css" type='text/css' rel='stylesheet' >
	<link href="/bags/common/tiddlers/admin.css" type='text/css' rel='stylesheet' >
	<link href="/bags/common/tiddlers/jquery-ui.custom.css" type='text/css' rel='stylesheet' >
</head>
<body>

<div id="container">
	<div class="main section">
		<a class="app" href="/">home</a>
		<div class="left">
		<div id="siteiconArea">
		<h2>User Icon</h2>
		<div>
			<img id="siteicon" class="siteicon">
			<form id="upload" method="POST" enctype="multipart/form-data">
				<input type="hidden" name="title" value="SiteIcon" />
				<input type="hidden" name="tags" value="excludeLists">
				<input type="hidden" name="csrf_token" class="csrf" />
				<input type="file" name="file" accept="image/*" />
				<input type="submit" value="upload" />
			</form>
			<div id="dropzone">Drop file here
				<img class="notloading" src="/bags/common/tiddlers/ajax-loader.gif" alt="submitting SiteIcon" />
			</div>
		</div>
		</div>
		<h2>Find Space</h2>
		<form class="spaceSearch">
			<input class="inputBox" type="text" placeholder="find space" />
			<a href="http://docs.tiddlyspace.com/What%20is%20a%20Space%3F" class="help"
				title="What is a space?">What is a space?</a>
			<button>view all</button>
		</form>
		<div class='list-container'>
			You are a member of the following spaces:
			<ul class='ts-space-search'>
			</ul>
		</div>
		<h2>Create New Space</h2>
		<form class="ts-spaces">
			<input class="inputBox" type="text" name="spacename" placeholder="space name"><span class="hostSuffix">.tiddlyspace.com</span>
			<input type="submit" value="Create Space" />
		</form>
		</div>
		<div class="right">
		<h2>Change Password</h2>
		<form class="ts-password">
			<input class="inputBox" placeholder="existing password" type="password" name="password">
			<input class="inputBox" placeholder="new password" type="password" name="new_password">
			<input class="inputBox" placeholder="new password"	type="password" name="new_password_confirm">
			<input type="submit" value="Change password">
		</form>
		<h2>OpenID</h2>
		<h3>Why OpenID?</h3>
		<a href="http://openid.net/"><img src="/bags/common/tiddlers/openid.png" alt="openid" ></a><br />
		Use just one username and password across hundreds of OpenID-enabled sites.<br />
		It's an open standard.<br />
		<a href="http://openid.net/what/">learn more</a>
		<ul class="ts-identities"></ul>
		<form class="ts-openid" target="_top">
			<div>
				Add an openid:
			</div>
			<input class="inputBox" type="text" name="openid" placeholder="your openid" />
			<input type="submit" value="Register" />
			<a href="http://openid.net/get-an-openid/" class="help"
			title="What is an open id?">What is an open id?</a>
		</form>
		</div>
		<div class="clear"></div>
	</div>
</div>
<script src="/bags/common/tiddlers/backstage.js"></script>
<script src='/bags/common/tiddlers/jquery.js'></script>
<script src='/bags/tiddlyspace/tiddlers/chrjs'></script>
<script src='/bags/common/tiddlers/chrjs.space'></script>
<script src='/bags/common/tiddlers/chrjs.users'></script>
<script src='/bags/common/tiddlers/chrjs.identities'></script>
<script src="/bags/common/tiddlers/jquery-ui.custom.js"></script>
<script src='/bags/common/tiddlers/jquery-form.js'></script>
<script src="/bags/common/tiddlers/siteiconupload.js"></script>
<script src='/bags/common/tiddlers/ts.js'></script>
<script src="/status.js"></script>
<script type="text/javascript">
/*
 * jQuery UI Autocomplete HTML Extension
 *
 * Copyright 2010, Scott González (http://scottgonzalez.com)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 *
 * http://github.com/scottgonzalez/jquery-ui-extensions
 */
(function( $ ) {

var proto = $.ui.autocomplete.prototype,
	initSource = proto._initSource;

function filter( array, term ) {
	var matcher = new RegExp( $.ui.autocomplete.escapeRegex(term), "i" );
	return $.grep( array, function(value) {
		return matcher.test( $( "<div>" ).html( value.label || value.value || value ).text() );
	});
}

$.extend( proto, {
	_initSource: function() {
		if ( this.options.html && $.isArray(this.options.source) ) {
			this.source = function( request, response ) {
				response( filter( this.options.source, request.term ) );
			};
		} else {
			initSource.call( this );
		}
	},

	_renderItem: function( ul, item) {
		return $( "<li></li>" )
			.data( "item.autocomplete", item )
			.append( $( "<a></a>" )[ this.options.html ? "html" : "text" ]( item.label ) )
			.appendTo( ul );
	}
});

})( jQuery );

/***
_accounts application specific javascript
***/
var link;
ts.init(function(ts) {
	if(ts.user.anon) { // redirect to homepage when user not logged in
		window.location = ts.getHost();
	} else if(ts.user.name === ts.currentSpace){
		initSiteIconUpload(ts.user.name);
	} else {
		link = $("<a />").attr("href", ts.getHost(ts.user.name) + "/_account").text("Change User Icon");
		$("#siteiconArea div").empty().append(link);
	}
	$(".hostSuffix").text("." + ts.getHost("").split("//")[1]);
	ts.getSpaces(function(spaces) {
		$("<div class='info' />").text("You have " + spaces.length + " spaces.").insertBefore($(".spaceSearch")[0]);
		$("form.spaceSearch input").autocomplete({
			html: true,
			source: function(req, response) {
				ts.getSpaces(function(spaces) {
					var selected = [];
					for(var i = 0; i < spaces.length; i++) {
						var space = spaces[i];
						if(space.name.indexOf(req.term) > -1) {
							var host = ts.getHost(space.name) ;
							var img = host + "/SiteIcon";
							selected.push({
								value: space.name,
								label: '<a href="' + host + '" target="_parent" class="autocompleteLink"><img src="' + img + '" style="height:24px;width:auto;max-height:24px;max-width:24px;"/>' + space.name + '</a>'
							});
						}
					}
					response(selected);
				});
			},
			select: function(event, ui) {
				window.top.location = ts.getHost(ui.item.value);
			}
		});

		var $ul = $('.ts-space-search');
		$.each(spaces, function(i, space) {
			$ul.append($('<li/>').html($('<a/>').attr('href', space.uri)
				.text(space.name)));
		});

		$('form.spaceSearch button').click(function(ev) {
			$('.list-container').slideToggle('fast');
			ev.preventDefault();
			return false;
		});
	});
});

if(window != window.top) {
	$("html").addClass("iframeMode");
	$("a").live("click",function(ev) {
		$(ev.target).attr("target", "_parent");
	});
}
</script>
<!--[if lt IE 8]>
<script type="text/javascript" src="/bags/common/tiddlers/json2.js"></script>
<![endif]-->
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
	<title>Reply</title>
	<link rel="stylesheet" href="//tiddlyspace.com/bags/benspa_public/tiddlers/bootvelcro.css">
	<style>
		html,
		body {
			overflow: hidden;
			background-color: transparent;
		}

		#container {
			/* prevent a fouc if no images present */
			display: none;
		}

		.modal-header {
			border-bottom: none;
			padding: 5px 0 0;
			position: absolute;
			width: 100%;
			background-color: #e0e0e0;
			-webkit-border-radius: 6px 6px 0 0;
			-moz-border-radius: 6px 6px 0 0;
			border-radius: 6px 6px 0 0;
			cursor: move;
		}

		.form-actions {
			position: absolute;
			bottom: 0;
			box-sizing: border-box;
			-moz-box-sizing: border-box;
			width: 100%;
			margin: 0;
			border-radius: 0 0 6px 6px;
			background-color: #e0e0e0;
			border-top: 1px solid gray;
		}

		.form-actions input.btn {
			width: auto;
			float: right;
			margin: 0 0.2em;
		}

		.closeBtn {
			background-color: #DCE7F1 !important;
		}

		.primary {
			background-color: #09F !important;
		}

		h1 {
			margin-bottom: 9px;
			margin-top: 9px;
		}

		body {
			width: 100%;
			height: 100%;
			position: absolute;
		}

		.modal {
			margin: 10px;
			top: 0;
			left: 0;
			bottom: 0;
			width: 510px;
			position: absolute;
			box-shadow: #444 0px 0px 10px 2px;
			border-radius: 6px;
			background-color: white;
			border: 1px solid gray;
			background-color: #F0F4F8;
		}

		label em {
			cursor: pointer;
		}

		.modal-body {
			overflow: auto;
			position: absolute;
			top: 0;
			bottom: 0;
			left: 0;
			right: 0;
			margin: 65px 20px 67px;
			background-color: transparent;
		}

		.nav-tabs {
			padding-left: 1%;
			margin: 0;
			width: 99%;
			border-color: gray;
		}

		.nav-tabs > li {
			cursor: pointer;
		}

		.nav-tabs > li > a {
			line-height: 2.4em;
			font-weight: bold;
			font-size: 100%;
		}

		.nav-tabs > li.active > a{
			background-color: #F0F4F8;
			border-color: gray;
			border-bottom-color: #F0F4F8;
		}

		.active {
			display: block;
		}

		input,
		textarea,
		select,
		.uneditable-input {
			color: #606060;
		}

		.imagePicker {
			-moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
			-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
			box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
			border: 1px solid #CCC;
			height: 110px;
			overflow: auto;
			-webkit-border-radius: 3px;
			-moz-border-radius: 3px;
			border-radius: 3px;
			margin-left: 0;
		}

		.imagePicker img {
			margin: 5px;
			border: 2px solid transparent;
		}

		.imagePicker .current {
			border: 2px dotted #555;
		}

		label {
			font-weight: bold;
		}

		.form-actions label {
			float: left;
			margin-top: 0.75em;
		}

		fieldset input,
		fieldset textarea {
			width: 90%;
			border-color: gray;
		}

		@media all and (max-width: 550px) {
			.modal {
				width: 95%;
			}
		}

		#help {
			position: absolute;
			border: 0;
			right: 4px;
			top: 5px;
			text-indent: -9999px;
			color: transparent;
			height: 16px;
			width: 16px;
			background: none;
			background-image: url(/bags/common/tiddlers/help.png);
			background-repeat: no-repeat;
			background-color: white;
			z-index: 2;
			border-radius: 10px;
		}

		#help-info {
			padding: 0;
			border: 1px solid gray;
			width: 60%;
			height: 50px;
			color: #404040;
			background-color: white;
			position: absolute;
			top: 5px;
			right: 5px;
			z-index: 1;
			cursor: auto;
			border-radius: 5px;

		}

		#help-info p {
			padding: 10px 25px;
			margin-bottom: 0;
		}
	</style>
</head>
<body>
	<div id="container">
		<form action="#" class="modal">
			<div class="modal-header">
				<button id="help">help</button>
				<div id="help-info" style="display:none;"><p>
				Found something interesting? Write about it in your own space. <a href="//docs.tiddlyspace.com/Reply to this Tiddler" target="_blank">Find out more</a>
				</p></div>
				<ul class="nav nav-tabs" data-tabs="tabs">
					<li class="active" data-tab-name="post"><a href="#postForm">Reply</a></li>
				</ul>
			</div>


			<fieldset id="postForm" class="modal-body">
				<label>Title
					<input type="text" name="title">
				</label>
				<input type="hidden" name="url">
				<label>Post
					<textarea name="text" rows="8"></textarea>
				</label>
				<label>Tags
					<input type="text" name="tags" value="">
				</label>
			</fieldset>


			<div class="form-actions">
				<label class="checkbox">
					<input type="checkbox" name="private" val="private">
					keep private
				</label>
				<input type="submit" class="btn primary btn-large" value="Done">
				<input type="button" class="btn btn-large closeBtn" value="Cancel">
			</div>
		</form>
	</div>

	<script type="text/javascript"
            src="/bags/common/tiddlers/jquery.js"></script>
	<script type="text/javascript" src="/bags/tiddlyspace/tiddlers/chrjs"></script>
	<script type="text/javascript" src="/bags/common/tiddlers/_reply.js"></script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
	<title>This Space</title>
	<link href="/bags/common/tiddlers/profile.css" type='text/css' rel='stylesheet' >
	<link href="/bags/common/tiddlers/admin.css" type='text/css' rel='stylesheet' >
	<!--[if lte IE 8]>
	<script type="text/javascript" src="/bags/common/tiddlers/json2.js"></script>
	<script type="text/javascript" src="/bags/common/tiddlers/es5-shim.min.js"></script>
	<![endif]-->
</head>
<body>
<div id="container">
	<div id="text-html" class="main section">
		<a class="app" href="/">home</a>
		<div class="left">
		<h2>About this space <button class='toggleNext'></button></h2>
		<div id="siteinfo"></div>
		<h2>Site Icon</h2>
		<div>
			<img id="siteicon" class="siteicon">
			<form id="upload" method="POST" enctype="multipart/form-data">
				<input type="hidden" name="title" value="SiteIcon" />
				<input type="hidden" name="tags" value="excludeLists">
				<input type="hidden" name="csrf_token" class="csrf" />
				<input type="file" name="file" accept="image/*" />
				<input class="btn" type="submit" value="upload" />
			</form>
			<div id="dropzone">Drop file here
				<img class="notloading" src="/bags/common/tiddlers/ajax-loader.gif" alt="submitting SiteIcon" />
			</div>
		</div>
		<h2>Vital Statistics</h2>
		<div id="info">please wait while information is loaded about this space...</div>
		<button class="spacereset">Reset Space</button>
		<div class="reset-confirm-wrap messageArea">
			<button class="close-btn" title="cancel reset">×</button>
			<p>Are you sure you want to reset the space? You can't go back! This will remove all the content from the space!</p>
			<form class="cf">
				<label for="reset-confirm">Enter the space name to confirm.</label>
				<input type="text" name="reset-confirm" class="reset-confirm-input inputBox" />
				<button type="submit">Reset Now</button>
			</form>
			<div class="reset-message-area">
				<p class="performing">Resetting...</p>
				<p class="finished">Reset Done!</p>
				<p class="recipe-error-msg">Error removing includes. Please remove manually.</p>
			</div>
		</div>
		</div>
		<div class="right">
		<div class="ts-membership">
			<h2>
				Add Member
				<a href="http://docs.tiddlyspace.com/What%20is%20a%20member%3F" title="What is a Member?" class="help">What is a Member?</a>
			</h2>
			<div>
				<p>Add a new member to your space by entering their name below. Enter a space name instead and prefix with @ to add everyone who is already a member of that space.</p>
				<form class="ts-members">
					<input class="inputBox" type="text" name="username">
					<input type="submit" value="Add Member" class="btn" />
				</form>
			</div>
			<h2>
				Existing Members <button class='toggleNext'></button>
			</h2>
			<div>
				Your space currently has the following members: 
				<ul class="ts-members"></ul>
			</div>
			<h2>
				Include Space
				<a class="help" href="http://docs.tiddlyspace.com/What%20is%20space%20inclusion%3F" title="What is inclusion?">What is Inclusion?</a>
			</h2>
			<form class="ts-includes">
				<input class="inputBox" type="text" name="spacename">
				<input type="submit" value="Include Space" class="btn" />
			</form>
		</div>
		<div>
			<h2>Included Spaces <button class='toggleNext'></button></h2>
			<div>
			This space includes the following spaces:
			<ul class="ts-includes"></ul>
			</div>
		</div>
		</div>
		<div class="clear"></div>
	</div>
</div>
<script src='/bags/common/tiddlers/backstage.js'></script>
<script src='/bags/common/tiddlers/jquery.js'></script>
<script src='/bags/tiddlyspace/tiddlers/chrjs'></script>
<script src='/bags/common/tiddlers/chrjs.space'></script>
<script src='/bags/common/tiddlers/chrjs.users'></script>
<script src='/bags/common/tiddlers/chrjs.identities'></script>
<script src='/bags/tiddlyspace/tiddlers/TiddlySpaceCSRF'></script>
<script src='/bags/common/tiddlers/jquery-form.js'></script>
<script src="/bags/common/tiddlers/siteiconupload.js"></script>
<script src="/bags/common/tiddlers/ts.js"></script>
<script src="/status.js"></script>
<script src="/bags/common/tiddlers/space.js"></script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="utf-8"/>
	<title>TiddlySpace Apps</title>
	<link rel="stylesheet" href="/bags/common/tiddlers/reset.css" />
	<link rel="stylesheet" href="/bags/common/tiddlers/appspage.css" />
	<!--[if lt IE 7 ]>
	<link rel="stylesheet" href="/bags/common/tiddlers/appspageie6.css" />
	<![endif]-->
</head>
<body>
	
	<div id="wrapper">
		<div id="TSbar"></div>
		<div id="main-content">
			<div id="space-details">
				<a href="/_space"><img class="siteicon"></a>
				<div id="title-subtitle">
					<h1 class="spaceaddress">
						<span class="spaceName"></span><span class="hostName"></span>
					</h1>
					<p class="tagline"><span class="subTitle"></span><a class="managespaces" href="/_space">manage space</a></p>
				</div>
			</div>
			<div id="holder">
				<div id="appswitcher-wrapper">
					<div id="appswitcher">
						<h2>Your Apps</h2>
						<ul id="app-list">
							<li class="htmlserialisation">
								<a href="/tiddlers.html?select=tag:!excludeLists;sort=-modified">
									<img src="/bags/common/tiddlers/browse_read_blue.png" alt="Icon for the HTML Serialisation" class="app-img" />
									BROWSE
								</a>
							</li>
							<li class="tiddlywiki">
								<a href="/tiddlers.wiki">
									<img src="/bags/common/tiddlers/tiddlywiki2_blue.png" alt="Icon for TiddlyWiki" class="app-img" />
									TIDDLYWIKI
								</a>
							</li>
						</ul>
						<div id="addapp">
							<button class="inactive">Add More!</button>
						</div>
					</div>
					<div id="app-desc">
						<ul>
							<li class="htmlserialisationdesc"><p>an easy to understand HTML representation of your content.</p></li>
							<li class="tiddlywikidesc"><p>use TiddlyWiki to create, edit and organise your content.</p></li>
						</ul>
					</div>
					<div style="clear: both;"></div>
				</div>
			</div>
		</div>
		<div id="footer"><!-- ie doesn't support footer tag -->
			<div id="footer-content">
				<div class="links">
					<a href="http://blog.tiddlyspace.com">blog</a>
					<a href="http://featured.tiddlyspace.com">featured</a>
					<a href="http://docs.tiddlyspace.com">documentation</a>
					<a href="https://github.com/TiddlySpace/tiddlyspace">source</a>
				</div>
				<p>TiddlySpace 2011, created by <a href="http://osmosoft.com">Osmosoft</a></p>
			</div>
		</div>
	</div>
	
	<script type="text/javascript" src="/bags/common/tiddlers/backstage.js"></script>
	<script type="text/javascript" src="/bags/common/tiddlers/jquery.js"></script>
	<script type="text/javascript" src="/bags/tiddlyspace/tiddlers/chrjs"></script>
	<script type="text/javascript" src="/bags/common/tiddlers/chrjs-store.js"></script>
	<script type="text/javascript" src="/bags/common/tiddlers/jquery-json.js"></script>
	<script type="text/javascript" src="/bags/common/tiddlers/appspage.js"></script>
</body>
</html>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="100%" width="100%" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 40 40"><metadata><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><defs><linearGradient id="lG3826" x1="7.0996" gradientUnits="userSpaceOnUse" y1="18.829" gradientTransform="matrix(1.5858347,0,0,1.8078238,1098.1851,351.13716)" x2="1.5461" y2="-0.95166"><stop stop-color="#000" offset="0"/><stop stop-color="#9c9b99" offset="1"/></linearGradient><linearGradient id="lG3828" y2="372.44" gradientUnits="userSpaceOnUse" y1="375.7" x2="1111.7" x1="1097.7"><stop style="stop-color:#ac9393;" offset="0"/><stop style="stop-color:#c8b7b7;" offset="1"/></linearGradient></defs><g transform="translate(-1080.9375,-357.3329)"><path style="stroke-width:0;stroke-miterlimit:4;fill:url(#lG3826);" d="m1080.9,357.32,39.996-0.0426-0.01,40.008c-15.507-25.519-15.36-25.95-39.988-39.965z"/><path style="stroke-dashoffset:0;stroke:#7aa3be;stroke-linecap:round;stroke-miterlimit:4;stroke-width:1.49999988;fill:#c1e6fd;" d="m1091.9,363.55c6.5716-6.4925,16.576-7.3925,23.147-0.90003,6.5717,6.4925,6.5717,17.019,0,23.511-4.4424-8.6113-12.288-15.713-23.147-22.611z"/><path style="stroke-dashoffset:0;stroke:#ce81b0;stroke-linecap:round;stroke-miterlimit:4;stroke-width:1.5;fill:#f4c4e2;" d="m1110.2,367.62c3.217,3.2168,3.217,8.4323,0,11.649-3.8194-4.2357-8.3307-8.1824-11.649-11.649,3.217-3.2168,8.4325-3.2168,11.649-0.00002z"/><path style="stroke-linejoin:bevel;stroke:#000000;stroke-linecap:round;stroke-dasharray:none;stroke-miterlimit:4;stroke-width:0.80000001;fill:url(#lG3828);" d="m1081,357.34c18.79,6.4752,32.53,16.56,39.894,39.892-11.19-17.028-14.878-19.19-27.352-14.96,6.2984-12.098,3.9371-13.19-12.542-24.932z"/></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="72 648 70 70" 
width="30" height="30">
<g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1">
	<g>
		<path d="M 77.59005 669.34003 C 71.532745 681.90424 73.714462 697.4441 84.135193 707.86475 
		C 97.315445 721.0451 118.684715 721.0451 131.8649 707.86475 
		C 145.04515 694.68457 145.04515 673.31537 131.8649 660.13513 
		C 121.4441 649.7141 105.90419 647.53253 93.339905 653.5899 L 102.047455 662.2976 
		C 109.58637 660.2373 117.987976 662.16803 123.90997 668.08997 
		C 132.69673 676.8767 132.69673 691.12317 123.90997 699.90985 
		C 115.12313 708.6966 100.87699 708.6966 92.09012 699.90985 
		C 86.168266 693.98804 84.23744 685.58643 86.297653 678.04755 Z M 72 648 L 72 668.25 L 78.75 661.49957 
		L 99.00019 681.7502 L 105.750175 675.00006 L 85.50013 654.75012 L 92.249985 648 Z" fill="black"
		class="glyph"/>
	</g>
</g>
</svg>
/***
https://raw.github.com/tiddlyweb/chrjs/master/main.js
***/
//{{{
// TiddlyWeb adaptor
// v0.14.3

/*jslint vars: true, unparam: true, nomen: true, white: true */
/*global jQuery */

var tiddlyweb = (function($) {

"use strict";

var tw = {
	routes: {
		// host is the TiddlyWeb instance's URI (including server_prefix)
		// placeholders "_type" & "name" refer to the respective bag/recipe
		root     : "{host}/",
		bags     : "{host}/bags",
		bag      : "{host}/bags/{name}",
		recipes  : "{host}/recipes",
		recipe   : "{host}/recipes/{name}",
		tiddlers : "{host}/{_type}s/{name}/tiddlers",
		tiddler  : "{host}/{_type}s/{name}/tiddlers/{title}",
		revisions: "{host}/{_type}s/{name}/tiddlers/{title}/revisions",
		revision : "{host}/{_type}s/{name}/tiddlers/{title}/revisions/{revision}",
		search   : "{host}/search?q={query}"
	}
};

var convertTimestamp, supplant;

// host (optional) is the URI of the originating TiddlyWeb instance
tw.Resource = function(type, host) {
	if(arguments.length) { // initialization
		this._type = type;
		if(host !== false) {
			this.host = host !== undefined ? host.replace(/\/$/, "") : null;
		}
	}
};
$.extend(tw.Resource.prototype, {
	// retrieves resource from server
	// callback is passed resource, status, XHR (cf. jQuery.ajax success)
	// errback is passed XHR, error, exception, resource (cf. jQuery.ajax error)
	// filters is an optional filter string (e.g. "select=tag:foo;limit=5")
	get: function(callback, errback, filters) {
		var uri = this.route();
		if(filters) {
			var separator = uri.indexOf("?") === -1 ? "?" : ";";
			uri += separator + filters;
		}
		var self = this;
		return $.ajax({
			url: uri,
			type: "GET",
			dataType: "json",
			success: function(data, status, xhr) {
				var resource = self.parse(data);
				resource.etag = xhr.getResponseHeader("Etag");
				callback(resource, status, xhr);
			},
			error: function(xhr, error, exc) {
				errback(xhr, error, exc, self);
			}
		});
	},
	// sends resource to server
	// callback is passed data, status, XHR (cf. jQuery.ajax success)
	// errback is passed XHR, error, exception, resource (cf. jQuery.ajax error)
	put: function(callback, errback) {
		var self = this;
		var options = {
			url: this.route(),
			type: "PUT",
			contentType: "application/json",
			data: JSON.stringify(this.baseData()),
			success: function(data, status, xhr) {
				callback(self, status, xhr);
			},
			error: function(xhr, error, exc) {
				errback(xhr, error, exc, self);
			}
		};
		if(this.ajaxSetup) {
			this.ajaxSetup(options);
		}
		return $.ajax(options);
	},
	// deletes resource on server
	// callback is passed data, status, XHR (cf. jQuery.ajax success)
	// errback is passed XHR, error, exception, resource (cf. jQuery.ajax error)
	"delete": function(callback, errback) {
		var self = this;
		var options = {
			url: this.route(),
			type: "DELETE",
			success: function(data, status, xhr) {
				callback(self, status, xhr);
			},
			error: function(xhr, error, exc) {
				errback(xhr, error, exc, self);
			}
		};
		if(this.ajaxSetup) {
			this.ajaxSetup(options);
		}
		return $.ajax(options);
	},
	// returns an object carrying only the essential information of the resource
	baseData: function() {
		var data = {},
			self = this;
		$.each(this.data, function(i, item) {
			var value = self[item];
			if(value !== undefined) {
				data[item] = value;
			}
		});
		return data;
	},
	// returns corresponding instance from a raw object (if applicable)
	parse: function(data) {
		return data;
	},
	// list of accepted keys in serialization
	data: [],
	// returns resource's URI
	route: function() {
		return supplant(tw.routes[this._type], this);
	}
});

var Container = function(type, name, host) {
	if(arguments.length) { // initialization
		tw.Resource.apply(this, [type, host]);
		this.name = name;
		this.desc = "";
		this.policy = new tw.Policy({});
	}
};
Container.prototype = new tw.Resource();
$.extend(Container.prototype, {
	tiddlers: function() {
		return new tw.TiddlerCollection(this);
	},
	parse: function(data) {
		var type = tw._capitalize(this._type),
			container = new tw[type](this.name, this.host);
		data.policy = new tw.Policy(data.policy);
		return $.extend(container, data);
	},
	data: ["desc", "policy"]
});

// attribs is an object whose members are merged into the instance (e.g. query)
tw.Collection = function(type, host, attribs) {
	if(arguments.length) { // initialization
		tw.Resource.apply(this, [type, host]);
		$.extend(this, attribs);
	}
};
tw.Collection.prototype = new tw.Resource();

tw.TiddlerCollection = function(container, tiddler) {
	if(arguments.length) { // initialization
		tw.Collection.apply(this, [tiddler ? "revisions" : "tiddlers"]);
		this.container = container || null;
		this.tiddler = tiddler || null;
	}
};
tw.TiddlerCollection.prototype = new tw.Collection();
$.extend(tw.TiddlerCollection.prototype, {
	parse: function(data) {
		var container = this.container;
		return $.map(data, function(item, i) {
			var tiddler = new tw.Tiddler(item.title, container),
				bag = item.bag;
			tiddler = tw.Tiddler.prototype.parse.apply(tiddler, [item]);
			if(!tiddler.bag && bag) { // XXX: bag always present!?
				tiddler.bag = new tw.Bag(bag, container.host);
			}
			if(!tiddler.recipe && item.recipe) {
				tiddler.recipe = new tw.Recipe(item.recipe, container.host);
			}
			delete item.recipe;
			return $.extend(tiddler, item);
		});
	},
	route: function() {
		var params = this.container;
		if(this.tiddler) {
			var container = this.tiddler.bag || this.tiddler.recipe;
			params = {
				_type: container._type,
				host: container.host,
				name: container.name,
				title: this.tiddler.title
			};
		}
		return supplant(tw.routes[this._type], params);
	}
});

tw.Search = function(query, host) {
	tw.Collection.apply(this, ["search", host]);
	this.query = query;
};
tw.Search.prototype = new tw.Collection();
$.extend(tw.Search.prototype, {
	parse: function(data) {
		this.container = { // XXX: hacky
			_type: "bag",
			host: this.host
		};
		var tiddlers = tw.TiddlerCollection.prototype.parse.apply(this, arguments);
		delete this.container;
		return tiddlers;
	}
});

// title is the name of the tiddler
// container (optional) is an instance of either Bag or Recipe
// optionally accepts a single object representing tiddler attributes
tw.Tiddler = function(title, container) {
	tw.Resource.apply(this, ["tiddler", false]);
	this.title = title;
	this.bag = container && container._type === "bag" ? container : null;
	this.recipe = container && container._type === "recipe" ? container : null;
	var self = this;
	$.each(this.data, function(i, item) {
		self[item] = undefined; // exposes list of standard attributes for inspectability
	});
	if(title && title.title) { // title is an object of tiddler attributes
		$.extend(this, title);
	}
};
tw.Tiddler.prototype = new tw.Resource();
$.extend(tw.Tiddler.prototype, {
	revisions: function() {
		return new tw.TiddlerCollection(this.bag || this.recipe, this);
	},
	route: function() {
		var container = this.bag || this.recipe;
		var params = $.extend({}, this, {
			host: container ? container.host : null,
			_type: this.bag ? "bag" : (this.recipe ? "recipe" : null),
			name: container ? container.name : null
		});
		return supplant(tw.routes[this._type], params);
	},
	parse: function(data) {
		var tiddler = new tw.Tiddler(this.title),
			container = this.bag || this.recipe;
		if(data.bag) {
			tiddler.bag = new tw.Bag(data.bag, container.host);
			delete data.bag;
		}
		delete data.recipe;
		tiddler.created = data.created ? convertTimestamp(data.created) : new Date();
		delete data.created;
		tiddler.modified = data.modified ? convertTimestamp(data.modified) : new Date();
		delete data.modified;
		if(this.recipe) {
			tiddler.recipe = this.recipe;
		}
		return $.extend(tiddler, data);
	},
	data: ["created", "creator", "modifier", "modified", "tags", "type", "text",
			"fields"],
	ajaxSetup: function(options) {
		var self = this;
		if(this.etag && (options.type === "PUT" || options.type === "DELETE")) {
			options.beforeSend = function(xhr) {
				xhr.setRequestHeader("If-Match", self.etag);
			};
		}
		if(options.type === "PUT") {
			var callback = options.success;
			options.success = function(data, status, xhr) {
				var loc = xhr.getResponseHeader("Location"),
					etag = xhr.getResponseHeader("Etag");
				if(loc && etag) {
					self.etag = etag;
					if(!self.bag) {
						var bag = loc.split("/bags/").pop().split("/")[0];
						self.bag = new tw.Bag(bag, self.recipe.host);
					}
					callback(self, status, xhr);
				} else { // IE
					self.get(callback, options.error);
				}
			};
		}
	}
});

tw.Revision = function(id, tiddler) {
	var container = tiddler.bag || tiddler.recipe;
	tw.Tiddler.apply(this, [tiddler.title, container]);
	this._type = "revision";
	this.revision = id;
};
tw.Revision.prototype = new tw.Tiddler();
$.extend(tw.Revision.prototype, {
	revisions: false,
	data: false,
	put: false,
	"delete": false
});

tw.Bag = function(name, host) {
	Container.apply(this, ["bag", name, host]);
};
tw.Bag.prototype = new Container();

tw.Recipe = function(name, host) {
	Container.apply(this, ["recipe", name, host]);
	this.recipe = [];
};
tw.Recipe.prototype = new Container();
$.extend(tw.Recipe.prototype, {
	data: ["recipe"].concat(Container.prototype.data)
});

tw.Policy = function(constraints) { // TODO: validation?
	var self = this;
	$.each(this.constraints, function(i, item) {
		self[item] = constraints[item];
	});
};
tw.Policy.prototype.constraints = ["read", "write", "create", "delete",
	"manage", "accept", "owner"];

/*
 * utilities
 */

tw._capitalize = function(str) {
	return str.charAt(0).toUpperCase() + str.slice(1);
};

// convert YYYYMMDDhhmmss timestamp to Date instance
convertTimestamp = function(t) {
	if (t.match(/^\d{12,17}$/)) {
		return new Date(Date.UTC(
			parseInt(t.substr(0, 4), 10),
			parseInt(t.substr(4, 2), 10) - 1,
			parseInt(t.substr(6, 2), 10),
			parseInt(t.substr(8, 2), 10),
			parseInt(t.substr(10, 2), 10),
			parseInt(t.substr(12, 2) || "0", 10),
			parseInt(t.substr(14, 3) || "0", 10)
		));
	} else {
		return new Date(Date.parse(t));
	}
};

// adapted from Crockford (http://javascript.crockford.com/remedial.html)
supplant = function(str, obj) {
	return str.replace(/{([^{}]*)}/g, function (a, b) {
		var r = obj[b];
		r = typeof r === "string" || typeof r === "number" ? r : a;
		return $.inArray(b, ["host", "query"]) !== -1 ? r : encodeURIComponent(r); // XXX: special-casing
	});
};

return tw;

}(jQuery));
//}}}
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->

<svg
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:cc="http://creativecommons.org/ns#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:svg="http://www.w3.org/2000/svg"
   xmlns="http://www.w3.org/2000/svg"
   xmlns:xlink="http://www.w3.org/1999/xlink"
   version="1.1"
   width="14pt"
   height="14pt"
   viewBox="918 510 14 14"
   id="svg3070">
  <metadata
     id="metadata3089">
    <rdf:RDF>
      <cc:Work
         rdf:about="">
        <dc:format>image/svg+xml</dc:format>
        <dc:type
           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
        <dc:title></dc:title>
      </cc:Work>
    </rdf:RDF>
  </metadata>
  <defs
     id="defs3072">
    <radialGradient
       cx="0"
       cy="0"
       r="1"
       id="Gradient"
       gradientUnits="userSpaceOnUse">
      <stop
         id="stop3075"
         style="stop-color:#ffffff;stop-opacity:1"
         offset="0" />
      <stop
         id="stop3077"
         style="stop-color:#2b2b2b;stop-opacity:1"
         offset="1" />
    </radialGradient>
    <radialGradient
       id="Obj_Gradient"
       xlink:href="#Gradient"
       gradientTransform="matrix(11.473944,0,0,11.473944,922.3752,513.7837)" />
  </defs>
  <g
     id="g3080"
     style="fill:none;stroke:none">
    <g
       id="g3082">
      <path
         d="m 929.6952,512.9018 c -2.5384,-2.53843 -6.654,-2.53843 -9.1924,0 -2.5384,2.5384 -2.5384,6.654 0,9.19238 2.5384,2.53839 6.654,2.53839 9.1924,0 2.5384,-2.53838 2.5384,-6.65398 0,-9.19238 m -4.5962,2.8407 2.07733,-2.07734 1.75547,1.75549 -2.0773,2.07735 2.0773,2.07732 -1.75547,1.75548 -2.07733,-2.07732 -2.07733,2.07732 -1.75547,-1.75548 2.0773,-2.07732 -2.0773,-2.07735 1.75547,-1.75549 z"
         id="path3084"
         style="fill:url(#Obj_Gradient)" />
      <path
         d="m 927.61447,515.38354 a 4.51205,4.2590378 0 1 1 -9.0241,0 4.51205,4.2590378 0 1 1 9.0241,0 z"
         transform="matrix(1.0218069,0,0,1.0462046,-18.063694,-21.648443)"
         id="path2394"
         style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:none;stroke-width:5;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
    </g>
  </g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="78 222 60 60" 
width="30" height="30">
<g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1">
	<g>
		<path d="M 107.92718 244.14815 L 86.651474 222.89253 L 78.85206 230.69925 L 100.120415 251.9476 L 78.774 273.27396 
		L 86.57342 281.08075 L 107.927216 259.74707 L 129.39981 281.19946 L 137.19922 273.39267 L 115.73397 251.94763 
		L 137.121155 230.58054 L 129.32175 222.77374 Z" fill="black" class="glyph"/>
	</g>
</g>
</svg>
Unless you're delighted with the default theme you can make some quick changes by generating a new random color palette, hit this button to cycle through some alternatives.

<<RandomColorPaletteButton saturation_pale:0.67 saturation_light:0.53
saturation_mid:0.43 saturation_dark:0.06 pale:0.99 light:0.85 mid:0.5 dark:0.31>>

You can also change the look and feel completely by installing a new theme. To do this, find one you like in the @themes space, note down the name, and include it in this space by going to the space menu. You can reach the space menu by clicking on the blue and pink circle at the top-right of the page and chooshing "THIS SPACE". Here are a few to check out:
* @pip
* @caspian-ii
* @basalt
* @simplicity
* @cheesecake
* @jelly-doughnut

(//Note that if you are using a custom TiddlySpace install, these themes may not be present.//)
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="450 366 38 57"
width="30" height="30">
	<g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1">
		<g>
			<path d="M 452.1094 421.2422 L 450 421.2422 L 450 423 L 487.9688 423 L 487.9688 421.2422 L 485.8595 421.2422 
			L 485.8595 377.29688 L 487.9688 377.29688 L 487.9688 375.53906 L 485.8595 375.53906 
			C 485.8595 375.53906 481.12463 371.59341 473.02023 370.52802 C 472.6824 368.9689 471.72098 366.75 468.9844 366.75 
			C 466.24783 366.75 465.28638 368.9689 464.94864 370.52802 
			C 456.84418 371.59341 452.1094 375.53906 452.1094 375.53906 L 450 375.53906 L 450 377.29688 L 452.1094 377.29688 
			Z M 467.12247 370.32086 L 467.12247 370.32086 C 467.3805 369.42395 467.90762 368.50781 468.9844 368.50781 
			C 470.0612 368.50781 470.5883 369.42395 470.84634 370.32086 
			C 470.24136 370.2848 469.62054 370.26562 468.9844 370.26562 
			C 468.34827 370.26562 467.72748 370.2848 467.12247 370.32086 Z M 454.21875 420.92804 L 454.21875 420.92804 
			C 455.46762 420.42087 456.32816 419.35281 456.32816 418.11716 L 456.32816 377.29688 L 458.4375 377.29688 
			L 458.4375 421.2422 L 454.21875 421.2422 Z M 460.5469 420.92804 L 460.5469 420.92804 
			C 461.79578 420.42087 462.65625 419.35281 462.65625 418.11716 L 462.65625 377.29688 L 464.76566 377.29688 
			L 464.76566 421.2422 L 460.5469 421.2422 Z M 466.87503 420.92804 L 466.87503 420.92804 
			C 468.1239 420.42087 468.9844 419.35281 468.9844 418.11716 L 468.9844 377.29688 L 471.09378 377.29688 
			L 471.09378 421.2422 L 466.87503 421.2422 Z M 473.2032 420.92804 L 473.2032 420.92804 
			C 474.45203 420.42087 475.31256 419.35281 475.31256 418.11716 L 475.31256 377.29688 L 477.4219 377.29688 
			L 477.4219 421.2422 L 473.2032 421.2422 Z M 479.5313 420.92804 L 479.5313 420.92804 
			C 480.78018 420.42087 481.64066 419.35281 481.64066 418.11716 L 481.64066 377.29688 L 483.75006 377.29688 
			L 483.75006 421.2422 L 479.5313 421.2422 Z" fill="black" class="glyph"/>
		</g>
	</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="301 225 48 52"
width="30" height="30">
<g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1">
	<g>
		<path d="M 333.00003 234 L 306 258.75003 L 301.5 270 L 312.75 265.50003 L 339.75 240.74998 Z M 337.5 229.50002 
		L 335.24988 231.75008 L 341.99997 238.50003 L 344.24997 236.24995 Z M 342 225.00003 L 339.74988 227.25009 
		L 346.5 234.00005 L 348.75 231.75003 Z M 301.5 273.9719 C 301.5 273.9719 309.59888 277.99927 317.70013 273.97183 
		C 325.80066 269.94437 341.99997 276.65686 341.99997 276.65686 L 341.99997 273.97195 
		C 341.99997 273.97195 325.80014 267.2594 317.70013 271.28687 C 309.6 275.31451 301.5 271.28683 301.5 271.28683 Z" 
		fill="#101010" class="glyph"/>
	</g>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="506 234 68 36" width="30" height="30"><metadata xmlns:dc="http://purl.org/dc/elements/1.1/"><dc:date>2010-09-16 14:51Z</dc:date><!-- Produced by OmniGraffle Professional 5.2.3 --></metadata><defs></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><rect width="1118" height="783"/><g><path d="M 538.68195 244.31807 C 540.43927 246.07547 540.43927 248.9247 538.68195 250.68204 C 536.92456 252.4394 534.07532 252.4394 532.318 250.68204 C 530.5606 248.9247 530.5606 246.07547 532.318 244.31807 C 534.07532 242.56075 536.92456 242.56075 538.68195 244.31807 M 511.12607 257.99356 C 511.26108 258.13019 511.39728 258.26608 511.53473 258.40121 C 527.2556 273.86606 552.74414 273.86606 568.46515 258.40121 C 568.60248 258.26617 568.73853 258.13037 568.87354 257.9938 C 568.8736 257.99374 568.8736 257.99371 568.8736 257.99362 C 568.87366 257.99371 568.87366 257.9938 568.87372 257.9939 C 570.72504 256.12051 572.35046 254.11153 573.74994 252 C 573.74994 251.99997 573.74994 251.99994 573.74994 251.99992 C 572.35046 249.8884 570.72504 247.87938 568.87372 246.00606 C 568.87366 246.00613 568.87366 246.00621 568.8736 246.00627 C 568.73865 245.86966 568.60254 245.73383 568.46515 245.5987 C 552.74414 230.13387 527.2556 230.13387 511.53473 245.5987 C 511.39728 245.73383 511.26108 245.86974 511.12613 246.00635 C 511.126 246.00624 511.126 246.00616 511.12595 246.00606 C 509.2748 247.87938 507.64954 249.88837 506.24994 251.9998 L 506.24994 251.99983 C 506.24994 251.9999 506.25 251.99992 506.25 251.99997 C 506.25 252 506.24994 252.00005 506.24994 252.00009 L 506.24994 252.00012 C 507.64954 254.11157 509.2748 256.12051 511.12595 257.9939 C 511.126 257.99377 511.126 257.99365 511.12607 257.99359 Z M 515.44916 252 C 515.8548 251.55469 516.27502 251.11778 516.71014 250.68985 C 522.16632 245.32257 529.06055 242.23206 536.17273 241.41824 C 534.6662 241.96199 533.2525 242.83762 532.04498 244.04512 C 527.65155 248.43852 527.65155 255.56163 532.04498 259.95502 C 533.2522 261.16226 534.6656 262.03778 536.17175 262.58154 C 529.05988 261.76761 522.16608 258.6771 516.71014 253.31009 C 516.2751 252.88219 515.85486 252.44528 515.44922 252 Z M 564.55054 251.99995 C 564.14502 252.44525 563.7248 252.88217 563.28973 253.31009 C 557.83368 258.67712 550.93988 261.76764 543.828 262.58157 C 545.33423 262.03781 546.74756 261.1623 547.9549 259.95502 C 552.34833 255.56163 552.34833 248.43852 547.9549 244.04512 C 546.74744 242.83765 545.33374 241.96202 543.82715 241.41824 C 550.9394 242.23206 557.83356 245.3226 563.28973 250.68985 C 563.7248 251.11775 564.14502 251.55467 564.55054 251.99995 Z M 568.8736 257.99362 C 570.7249 256.12033 572.35028 254.11139 573.74988 252.00002" fill="black" class="glyph"/></g></g></svg>
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AP8zZgAAAGYA//8zAADMMwD/mTMAAGYzAP8zMwAAADMAzP8AAADMAADMmQAAAGYAAMwzAAAAAADuzAAA3QAAALvMAACqAAAAiMwAAHcAAABVmQAARAAAACKZAAARAADuAJkA3QAAALsAmQCqAAAAiACZAHcAAABVAJkARAAAACIAZgARAADuAABm3QAAALsAAGaqAAAAiAAAZncAAABVAABmRAAAACIAAGYRAAAA7u7uM93d3QC7u7szqqqqAIiIiDN3d3cAVVVVM0RERAAiIiIzERERAAAAADMBAQEBAQEBAQEBpXl5eXl5eXl5eXmlAQEBAQEBAQEBAQEBAQEBAQEBgHl5eXl5eXl5eXl5eXl5gAEBAQEBAQEBAQEBAQEB/Xp5eXlVT04qKioqTk9VeXl5ev0BAQEBAQEBAQEBAaV5eXlPKioqKioqKioqKioqT3l5eaUBAQEBAQEBAQGAeXlVTioqKioqKioqKioqKioqTlV5eYABAQEBAQEBgHl5VSoqKioqKioqKioqKioqKioqKlV5eYABAQEBAaV5eVUqKioqKioqKioqKioqKioqKioqKlV5eaUBAQEBeXlVKioqKioqKioqKioqKioqKioqKioqKlV5eQEBAXl5eU4qKioqKioqKjExMTExMSoqKioqKioqTnl5eQEBeXlPKioqKioqKjEyMjIyMjIyMjEqKioqKioqT3l5AXp5eSoqKioqKioxMjIxBwcHBzEyMjEqKioqKioqeXl6eXlVKioqKioqMTIxBwcHBwcHBwcxMjEqKioqKipVeXl5eU8qKioqKioyMgcHBwcHBwcHBwcyMioqKioqKk95eXl5TioqKioqMTIxBwcHBwcHBwcHBzEyMSoqKioqTnl5eXkqKioqKioxMgcHBwcHBwcHBwcHBzIxKioqKioqeXl5eSoqKioqKjEyBwcHBwcHBwcHBwcHMjEqKioqKip5eXl5KioqKioqMTIHBwcHBwcHBwcHBwcyMSoqKioqKnl5eXkqKioqKioxMgcHBwcHBwcHBwcHBzIxKioqKioqeXl5eU4qKioqKjEyMQcHBwcHBwcHBwcxMjEqKioqKk55eXl5TyoqKioqKjIyBwcHBwcHBwcHBzIyKioqKioqT3l5eXlVKioqKioqMTIxBwcHBwcHBwcxMjEqKioqKipVeXl6eXkqKioqKioqMTIyMQcHBwcxMjIxKioqKioqKnl5egF5eU8qKioqKioqMTIyMjIyMjIyMSoqKioqKipPeXkBAXl5eU4qKioqKioqKjExMTExMSoqKioqKioqTnl5eQEBAXl5VSoqKioqKioqKioqKioqKioqKioqKipVeXkBAQEB+nl5VSoqKioqKioqKioqKioqKioqKioqVXl5+gEBAQEBenl5VSoqKioqKioqKioqKioqKioqKlV5eXoBAQEBAQEBeXl5VU4qKioqKioqKioqKioqKk5VeXl5AQEBAQEBAQEBenl5eU8qKioqKioqKioqKipPeXl5egEBAQEBAQEBAQEB+nl5eXlVT04qKioqTk9VeXl5efoBAQEBAQEBAQEBAQEBAXl5eXl5eXl5eXl5eXl5eXkBAQEBAQEBAQEBAQEBAQEBAQF6eXl5eXl5eXl5eXoBAQEBAQEBAQEB/+AH//+AAf/+AAB//AAAP/gAAB/wAAAP4AAAB8AAAAPAAAADgAAAAYAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAYAAAAHAAAADwAAAA+AAAAfwAAAP+AAAH/wAAD/+AAB//4AB///gB/8oAAAAIAAAAEAAAAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAACAAAAAwAAAAMAAAADAAAABG1bSA61m3JXuqB4mbuhd8m9o3jqvaF4+b2hePm9o3jqu6F3ybqgeJm1m3JXbVtIDgAAAAQAAAADAAAAAwAAAAMAAAACAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAwAAAAUAAAAGAAAACI98Wye0nXWavKF4876kev++pHr/vqR6/76kev++pHr/vqR6/76kev++pHr/vqR6/76kev+8oXjztJ11mo98WycAAAAIAAAABgAAAAUAAAADAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAQAAAAHAAAAChwcHBKulnGJvaN5+L6kev++pHr/y7GJ/9/Fnv/s1K7/9t25//rivv/64r7/9t25/+zUrv/fxZ7/y7GJ/76kev++pHr/vaN5+K6WcYkcHBwSAAAACgAAAAcAAAAEAAAAAgAAAAEAAAAAAAAAAAAAAAEAAAADAAAABwAAAAtuYkUst552z76kev++pHr+1LuS//Latf/85cD//OXA//zlwP/85cD//OXA//zlwP/85cD//OXA//zlwP/85cD/8tq1/9S7kv++pHr+vqR6/7eeds9uYkUsAAAACwAAAAcAAAADAAAAAQAAAAAAAAABAAAAAgAAAAQAAAAIi3hbNbqgd+a+pHr/xayD/+3Vr//85cD//OXA//zlwP/85cD//OXA//zlwP/85cD//OXA//zlwP/85cD//OXA//zlwP/85cD//OXA/+3Vr//FrIP/vqR6/7qgd+aJdVg0AAAACAAAAAQAAAACAAAAAQAAAAEAAAACAAAABIl8WSW8oXjlvqR6/8yyiv/54Lz//OXA//zlwP/85cD//OXA//zlwP/85cD//OXA//zlwP/85cD//OXA//zlwP/85cD//OXA//zlwP/85cD//OXA//ngvP/Msor/vqR6/7yheOWJfFklAAAABAAAAAIAAAABAAAAAAAAAAFfXz8Iu6F4zL6kev/Msor/+uK+//zlwP/85cD//OXA//zlwP/85cD//OXA//zlwP/85cD//OXA//zlwP/85cD//OXA//zlwP/85cD//OXA//zlwP/85cD//OXA//rivv/Msor/vqR6/7uheMxfXz8IAAAAAQAAAAAAAAAAAAAAAbqid4K+pHr/xayD//ngvP/85cD//OXA//zlwP/85cD//OXA//zlwP/85cD//OXA//zlwP/85cD//OXA//zlwP/85cD//OXA//zlwP/85cD//OXA//zlwP/85cD//OXA//fgvP/FrIP/vqR6/7qid4IAAAABAAAAAAAAAAC3l28gvaN5+L6kev7t1a///OXA//zlwP/85cD//OXA//zlwP/85cD//OXA/+/Twv/Qq8f/u5HK/7OGzP+zhsz/u5HK/9Crx//v08L//OXA//zlwP/85cD//OXA//zlwP/85cD//OXA/+3Vr/++pHr+vaN5+LeXbyAAAAAAAAAAALuheJa+pHr/1LuS//zlwP/85cD//OXA//zlwP/85cD//OXA//riwP/Pq8f/r4HM/6+Bzf+vgc3/r4HN/6+Bzf+vgc3/r4HN/6+BzP/Pq8f/+uLA//zlwP/85cD//OXA//zlwP/85cD//OXA/9S5kv++pHr/u6F4lgAAAACii3MLvKF4876kev/y2rX//OXA//zlwP/85cD//OXA//zlwP/64sD/w5vJ/6+Bzf+vg83/w5vc/9W06v/dwPD/3cDw/9W06v/Dm9z/r4PN/6+Bzf/Dm8n/+uLA//zlwP/85cD//OXA//zlwP/85cD/8tq1/76kev+8oXjzootzC72feFW+pHr/y7GJ//zlwP/85cD//OXA//zlwP/85cD//OXA/8+rx/+vgc3/tIfQ/9a16//hw/P/4cPz/+HD8//hw/P/4cPz/+HD8//Wtev/tIfQ/6+Bzf/Pq8f//OXA//zlwP/85cD//OXA//zlwP/85cD/y7GJ/76kev+9n3hVvaF4mL6kev/fxZ7//OXA//zlwP/85cD//OXA//zlwP/v08L/r4HM/6+Dzf/Wtev/4cPz/+HD8//hw/P/4cPz/+HD8//hw/P/4cPz/+HD8//Wtev/r4PN/6+BzP/v08L//OXA//zlwP/85cD//OXA//zlwP/fxZ7/vqR6/72heJi8oXfIvqR6/+zUrv/85cD//OXA//zlwP/85cD//OXA/9Crx/+vgc3/w5vc/+HD8//hw/P/4cPz/+HD8//hw/P/4cPz/+HD8//hw/P/4cPz/+HD8//Dm9z/r4HN/9Crx//85cD//OXA//zlwP/85cD//OXA/+zUrv++pHr/vKF3yL2jeOq+pHr/9t25//zlwP/85cD//OXA//zlwP/85cD/u5HK/6+Bzf/VtOr/4cPz/+HD8//hw/P/4cPz/+HD8//hw/P/4cPz/+HD8//hw/P/4cPz/9W06v+vgc3/u5HK//zlwP/85cD//OXA//zlwP/85cD/9t25/76kev+9o3jqvaF4+b6kev/64r7//OXA//zlwP/85cD//OXA//zlwP+zhsz/r4HN/93A8P/hw/P/4cPz/+HD8//hw/P/4cPz/+HD8//hw/P/4cPz/+HD8//hw/P/3cDw/6+Bzf+zhsz//OXA//zlwP/85cD//OXA//zlwP/64r7/vqR6/72hePm9oXj5vqR6//rivv/85cD//OXA//zlwP/85cD//OXA/7OGzP+vgc3/3cDw/+HD8//hw/P/4cPz/+HD8//hw/P/4cPz/+HD8//hw/P/4cPz/+HD8//dwPD/r4HN/7OGzP/85cD//OXA//zlwP/85cD//OXA//rivv++pHr/vaF4+b2jeOq+pHr/9t25//zlwP/85cD//OXA//zlwP/85cD/u5HK/6+Bzf/VtOr/4cPz/+HD8//hw/P/4cPz/+HD8//hw/P/4cPz/+HD8//hw/P/4cPz/9W06v+vgc3/u5HK//zlwP/85cD//OXA//zlwP/85cD/9t25/76kev+9o3jqvKF3yL6kev/s1K7//OXA//zlwP/85cD//OXA//zlwP/Qq8f/r4HN/8Ob3P/hw/P/4cPz/+HD8//hw/P/4cPz/+HD8//hw/P/4cPz/+HD8//hw/P/w5vc/6+Bzf/Qq8f//OXA//zlwP/85cD//OXA//zlwP/s1K7/vqR6/7yhd8i9oXiYvqR6/9/Fnv/85cD//OXA//zlwP/85cD//OXA/+/Twv+vgcz/r4PN/9a16//hw/P/4cPz/+HD8//hw/P/4cPz/+HD8//hw/P/4cPz/9a16/+vg83/r4HM/+/Twv/85cD//OXA//zlwP/85cD//OXA/9/Fnv++pHr/vaF4mL2feFW+pHr/y7GJ//zlwP/85cD//OXA//zlwP/85cD//OXA/8+rx/+vgc3/tIfQ/9a16//hw/P/4cPz/+HD8//hw/P/4cPz/+HD8//Wtev/tIfQ/6+Bzf/Pq8f//OXA//zlwP/85cD//OXA//zlwP/85cD/y7GJ/76kev+9n3hVootzC7yhePO+pHr/8tq1//zlwP/85cD//OXA//zlwP/85cD/+uLA/8Obyf+vgc3/r4PN/8Ob3P/VtOr/3cDw/93A8P/VtOr/w5vc/6+Dzf+vgc3/w5vJ//riwP/85cD//OXA//zlwP/85cD//OXA//Latf++pHr/vKF486KLcwsAAAAAu6N3l76kev/Uu5L//OXA//zlwP/85cD//OXA//zlwP/85cD/+uLA/8+rx/+vgcz/r4HN/6+Bzf+vgc3/r4HN/6+Bzf+vgc3/r4HM/8+rx//64sD//OXA//zlwP/85cD//OXA//zlwP/85cD/1LmS/76kev+7oXiWAAAAAAAAAAC3l28gvaN5+L6kev7t1a///OXA//zlwP/85cD//OXA//zlwP/85cD//OXA/+/Twv/Qq8f/u5HK/7OGzP+zhsz/u5HK/9Crx//v08L//OXA//zlwP/85cD//OXA//zlwP/85cD//OXA/+3Vr/++pHr+vaN5+LeXbyAAAAAAAAAAAAAAAAC6oneCvqR6/8Wsg//54Lz//OXA//zlwP/85cD//OXA//zlwP/85cD//OXA//zlwP/85cD//OXA//zlwP/85cD//OXA//zlwP/85cD//OXA//zlwP/85cD//OXA//zlwP/34Lz/xayD/76kev+6oneCAAAAAAAAAAAAAAAAAAAAAH9/VQa8oHjLvqR6/8yyiv/64r7//OXA//zlwP/85cD//OXA//zlwP/85cD//OXA//zlwP/85cD//OXA//zlwP/85cD//OXA//zlwP/85cD//OXA//zlwP/85cD/+uK+/8yyiv++pHr/vKB4y39/VQYAAAAAAAAAAAAAAAAAAAAAAAAAALKhbh67o3nkvqR6/8yyiv/54Lz//OXA//zlwP/85cD//OXA//zlwP/85cD//OXA//zlwP/85cD//OXA//zlwP/85cD//OXA//zlwP/85cD//OXA//ngvP/Msor/vqR6/7ujeeSyoW4eAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALqbdim7o3nkvqR6/8Wsg//t1a///OXA//zlwP/85cD//OXA//zlwP/85cD//OXA//zlwP/85cD//OXA//zlwP/85cD//OXA//zlwP/t1a//xayD/76kev+7o3nkupt2KQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALKhbh68oHjLvqR6/76kev7Uu5L/8tq1//zlwP/85cD//OXA//zlwP/85cD//OXA//zlwP/85cD//OXA//zlwP/y2rX/1LmS/76kev6+pHr/vKB4y7Khbh4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH9/VQa6oneCvaN5+L6kev++pHr/y7GJ/9/Fnv/s1K7/9t25//rivv/64r7/9t25/+zUrv/fxZ7/y7GJ/76kev++pHr/vaN5+Lqid4J/f1UGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3l28gu6F4lryhePO+pHr/vqR6/76kev++pHr/vqR6/76kev++pHr/vqR6/76kev++pHr/vKF487uheJa3l28gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="434 218 68 68"
width="30" height="30">
<g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1">
	<g>
		<path d="M 478.39694 232.53705 L 478.39694 232.53705 
		C 477.1145 231.85132 475.77875 231.30147 474.41058 230.88734 L 474.41058 218.24994 L 461.58942 218.24994 
		L 461.58942 230.88734 C 460.22125 231.30147 458.8855 231.85132 457.60306 232.53705 L 448.66824 223.60214 
		L 439.6022 232.66814 L 448.53717 241.60304 C 447.8515 242.8854 447.30157 244.22116 446.88745 245.58936 
		L 434.25 245.58936 L 434.25 258.41052 L 446.88745 258.41052 
		C 447.30157 259.77869 447.8515 261.11447 448.53717 262.39688 L 439.6022 271.33173 L 448.66824 280.3978 
		L 457.60306 271.46283 C 458.8855 272.14862 460.22125 272.69846 461.58942 273.11252 L 461.58942 285.74988 
		L 474.41058 285.74988 L 474.41058 273.11252 C 475.77875 272.69846 477.1145 272.14862 478.39694 271.46283 
		L 487.33176 280.3978 L 496.39767 271.33173 L 487.46286 262.39688 
		C 488.14853 261.11447 488.69836 259.77869 489.11255 258.41052 L 501.74988 258.41052 L 501.74988 245.58936 
		L 489.11255 245.58936 C 488.69836 244.22116 488.14853 242.8854 487.46286 241.60304 L 496.39767 232.66814 
		L 487.33176 223.60214 Z M 475.3328 244.66714 C 479.3825 248.71698 479.3825 255.2829 475.3328 259.33273 
		C 471.28296 263.3826 464.71704 263.3826 460.66724 259.33273 
		C 456.61737 255.2829 456.61737 248.71698 460.66724 244.66714 
		C 464.71704 240.61734 471.28296 240.61734 475.3328 244.66714" fill="#111"
		class="glyph"/>
	</g>
</g>
</svg>
iVBORw0KGgoAAAANSUhEUgAAAC0AAAAtCAYAAAA6GuKaAAAABGdBTUEAALGPC/xhBQAACkNpQ0NQSUNDIFByb2ZpbGUAAHgBnZZ3VFNZE8Dvey+90BJCkRJ6DU1KAJESepFeRSUkAUIJGBKwV0QFVxQVaYoiiyIuuLoUWSuiWFgUFLAvyCKgrIuriIplX/QcZf/Y/b6z88ec35s7c+/cmbnnPAAovoFCUSasAECGSCIO8/FgxsTGMfHdAAZEgAPWAHB52VlB4d4RABU/Lw4zG3WSsUygz/p1/xe4xfINYTI/m/5/pcjLEkvQnULQkLl8QTYP5TyU03MlWTL7JMr0xDQZwxgZi9EEUVaVcfIXNv/s84XdZMzPEPFRH1nOWfwMvow7UN6SIxWgjASinJ8jFOSifBtl/XRphhDlNyjTMwTcbAAwFJldIuCloGyFMkUcEcZBeR4ABEryLE6cxRLBMjRPADiZWcvFwuQUCdOYZ8K0dnRkM30FuekCiYQVwuWlccV8JiczI4srWg7AlzvLooCSrLZMtMj21o729iwbC7T8X+VfF796/TvIevvF42Xo555BjK5vtm+x32yZ1QCwp9Da7PhmSywDoGUTAKr3vtn0DwAgnwdA841Z92HI5iVFIslysrTMzc21EAp4FrKCfpX/6fDV859h1nkWsvO+1o7pKUjiStMlTFlReZnpmVIxMzuLyxMwWX8bYnTr/xw4K61ZeZiHCZIEYoEIPSoKnTKhKBltt4gvlAgzRUyh6J86/B/DZuUgwy9zjQKt5iOgL7EACjfoAPm9C2BoZIDE70dXoK99CyRGAdnLi9Ye/TL3KKPrn/XfFFyEfsLZwmSmzMwJi2DypOIcGaNvQqawgATkAR2oAS2gB4wBC9gAB+AM3IAX8AfBIALEgsWAB1JABhCDXLAKrAf5oBDsAHtAOagCNaAONIAToAWcBhfAZXAd3AR94D4YBCPgGZgEr8EMBEF4iArRIDVIGzKAzCAbiA3Nh7ygQCgMioUSoGRIBEmhVdBGqBAqhsqhg1Ad9CN0CroAXYV6oLvQEDQO/Qm9gxGYAtNhTdgQtoTZsDscAEfAi+BkeCm8As6Dt8OlcDV8DG6GL8DX4T54EH4GTyEAISMMRAdhIWyEgwQjcUgSIkbWIAVICVKNNCBtSCdyCxlEJpC3GByGhmFiWBhnjC8mEsPDLMWswWzDlGOOYJoxHZhbmCHMJOYjlorVwJphnbB+2BhsMjYXm48twdZim7CXsH3YEexrHA7HwBnhHHC+uFhcKm4lbhtuH64Rdx7XgxvGTeHxeDW8Gd4FH4zn4iX4fHwZ/hj+HL4XP4J/QyATtAk2BG9CHEFE2EAoIRwlnCX0EkYJM0QFogHRiRhM5BOXE4uINcQ24g3iCHGGpEgyIrmQIkippPWkUlID6RLpAeklmUzWJTuSQ8lC8jpyKfk4+Qp5iPyWokQxpXAo8RQpZTvlMOU85S7lJZVKNaS6UeOoEup2ah31IvUR9Y0cTc5Czk+OL7dWrkKuWa5X7rk8Ud5A3l1+sfwK+RL5k/I35CcUiAqGChwFrsIahQqFUwoDClOKNEVrxWDFDMVtikcVryqOKeGVDJW8lPhKeUqHlC4qDdMQmh6NQ+PRNtJqaJdoI3Qc3YjuR0+lF9J/oHfTJ5WVlG2Vo5SXKVcon1EeZCAMQ4YfI51RxDjB6Ge8U9FUcVcRqGxVaVDpVZlWnaPqpipQLVBtVO1TfafGVPNSS1Pbqdai9lAdo26qHqqeq75f/ZL6xBz6HOc5vDkFc07MuacBa5hqhGms1Dik0aUxpaml6aOZpVmmeVFzQouh5aaVqrVb66zWuDZNe762UHu39jntp0xlpjsznVnK7GBO6mjo+OpIdQ7qdOvM6BrpRupu0G3UfahH0mPrJent1mvXm9TX1g/SX6Vfr3/PgGjANkgx2GvQaTBtaGQYbbjZsMVwzEjVyM9ohVG90QNjqrGr8VLjauPbJjgTtkmayT6Tm6awqZ1pimmF6Q0z2MzeTGi2z6zHHGvuaC4yrzYfYFFY7qwcVj1ryIJhEWixwaLF4rmlvmWc5U7LTsuPVnZW6VY1Vvetlaz9rTdYt1n/aWNqw7OpsLk9lzrXe+7aua1zX9ia2Qps99vesaPZBdlttmu3+2DvYC+2b7Afd9B3SHCodBhg09kh7G3sK45YRw/HtY6nHd862TtJnE44/eHMck5zPuo8Ns9onmBezbxhF10XrstBl8H5zPkJ8w/MH3TVceW6Vrs+dtNz47vVuo26m7inuh9zf+5h5SH2aPKY5jhxVnPOeyKePp4Fnt1eSl6RXuVej7x1vZO9670nfex8Vvqc98X6Bvju9B3w0/Tj+dX5Tfo7+K/27wigBIQHlAc8DjQNFAe2BcFB/kG7gh4sMFggWtASDIL9gncFPwwxClka8nMoLjQktCL0SZh12KqwznBa+JLwo+GvIzwiiiLuRxpHSiPbo+Sj4qPqoqajPaOLowdjLGNWx1yPVY8VxrbG4eOi4mrjphZ6LdyzcCTeLj4/vn+R0aJli64uVl+cvvjMEvkl3CUnE7AJ0QlHE95zg7nV3KlEv8TKxEkeh7eX94zvxt/NHxe4CIoFo0kuScVJY8kuybuSx1NcU0pSJoQcYbnwRapvalXqdFpw2uG0T+nR6Y0ZhIyEjFMiJVGaqCNTK3NZZk+WWVZ+1uBSp6V7lk6KA8S12VD2ouxWCR39meqSGks3SYdy5udU5LzJjco9uUxxmWhZ13LT5VuXj67wXvH9SsxK3sr2VTqr1q8aWu2++uAaaE3imva1emvz1o6s81l3ZD1pfdr6XzZYbSje8Gpj9Ma2PM28dXnDm3w21efL5YvzBzY7b67agtki3NK9de7Wsq0fC/gF1wqtCksK32/jbbv2nfV3pd992p60vbvIvmj/DtwO0Y7+na47jxQrFq8oHt4VtKt5N3N3we5Xe5bsuVpiW1K1l7RXunewNLC0tUy/bEfZ+/KU8r4Kj4rGSo3KrZXT+/j7eve77W+o0qwqrHp3QHjgzkGfg83VhtUlh3CHcg49qYmq6fye/X1drXptYe2Hw6LDg0fCjnTUOdTVHdU4WlQP10vrx4/FH7v5g+cPrQ2shoONjMbC4+C49PjTHxN+7D8RcKL9JPtkw08GP1U20ZoKmqHm5c2TLSktg62xrT2n/E+1tzm3Nf1s8fPh0zqnK84onyk6Szqbd/bTuRXnps5nnZ+4kHxhuH1J+/2LMRdvd4R2dF8KuHTlsvfli53uneeuuFw5fdXp6qlr7Gst1+2vN3fZdTX9YvdLU7d9d/MNhxutNx1vtvXM6znb69p74Zbnrcu3/W5f71vQ19Mf2X9nIH5g8A7/ztjd9Lsv7uXcm7m/7gH2QcFDhYcljzQeVf9q8mvjoP3gmSHPoa7H4Y/vD/OGn/2W/dv7kbwn1Cclo9qjdWM2Y6fHvcdvPl34dORZ1rOZifzfFX+vfG78/Kc/3P7omoyZHHkhfvHpz20v1V4efmX7qn0qZOrR64zXM9MFb9TeHHnLftv5Lvrd6Ezue/z70g8mH9o+Bnx88Cnj06e/AAOb8/zszueKAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAIeUlEQVRYCe1Zb2xb1RU/9/k9O26TJqVpSByn+UNC3JZuQMukaWirBR9BGtJAIAqlEkgg+ABCsLVFWhAU0DRp8IlNYkIskSYhPvKBDxRvKIwVSin9Q9MmTRziJG7aQtrYcWw/v7tzrn1v3nOe/eIC+cKOZN97zz3n3J/vO+/cc48B/k9rswPs+y5z8B+xXZxZd6GdfuDsZmDQhf06m91L2E9wYMMA1iQ3tfde2xeN2+Zr7l4T6IG3Y01Z3XqUAduLK0bwo9e48jD+wL/7O2BoIBo1a9TFfamBBt6N1edz8HvO+dOoVu9QZYw3bWiAYF2A+f0B0A0f5HJ5sKwCLKQWIZ1ehEKh4FQBSALnLxod2lu1gF816BcGY7stxt8GLh6/WFzXdau1pVlrb2uFhoZ68Pl8DlD2Af5QmJ+/ComZGZi9cBGxcjWNID7IM/bYn/ZEE4pZpbMq0PuHDv+BcfYS2hFuQGB7ezq1jvYQaJpWxbz7VDabg6npGRiPf6PAI5Aks9hDL++Nfuiutcz1BH1gKPYmWn5cqoTbQ1akr0ertqtS1qtdSKXg5Omz6D4pJcoZu/fVPdH3FMOlUxW0HTDTNL5jW4S1Xb/Zxcy1s8hNRs9PwMTklDRiIvB7EPj7klHeVgR9YPDwAAD7IymQO+z8+U1aU1Njuf4PNp6cSsDIufPSXgqjyy9feTh6SjLsrSvoYuzln6Kg7tN81q5bdvyogCWgsfE4nJ+YLA45jPjr2G0D90WXfackuOItorDGgQ8SYJLZvq1/TQDTWr09XaDcj0Ekm4VXiV9OK0Bnc9ZTGL3pwICOcGjZSLnmjzTe2t8HgYBfWGfAn6KnXr6U4ySjXc5l+ZMk5DN03t/b4+o+5UbEuGCBPpkEfWoOtMtXgeHBAj4NrOs2gBneDGZPCLjhWM7VjGEYELmxD746ebo0b9F7dbdd2AHq4NDhpzlnfyGBvt5u6OncYpet2DfOTELgszNFoBWkuN+A7G0RyG/rqiDhZB/54jgeRleIidvBIq89FB2TEg73QMAP0gQGYd4ZbpcylVuLQ/DwF1A3fMIBWNN9YAT9QK0k2vm6T06i/FEBQ/IrtX3dXXLKpzF4Vg6oVTv9/FAsrHM+gTw9HGqF7Vv77XKufQKsj8+IOcYYNIY2QRO6grG+DmhMlF/Mwvz0JZhHt5FHt9nTBpnoTtwdtbyQLf/65MhRSKXSxL7sD7AuGUnUThvc+i1OCqcLtbaW668Yk0vYAYdv6YWWyBbw1wcVYFIy1gVgc187hHfeCKyUm+jjs2CMTK6wWc5obVEH2SY8+XfLeQXa4toNxKTjubGxQc67t+hl5MNEtKPhW/sguLG6TrBxPdAP00q7G/h8xOFSbguFWq9XbI3Db+RAgcbM8nZirgsGPZMgfWJGLdjY3gzBJmeWKo2XtwS8Mdwi2OTj+sRsuYhjHAzW0WkseBZwFfoUaJzpotmG+nXUVCUdfVRSE4KuhezyeuKip2pDw3ohg94flsJ20GL1QCAg5yq2FIeJRJTAl64WIh+XUUX7tminmv463O0SdciOHbTgaXggeJE4OFDIh7cTGSW8dOzzpCcI3w0v8hvF0xHl1G6uQGitwhAdFESFfEGFMcFY5RfpCVrFBrltoh30EhnKYpbiRdamDULEMguQTws1LxU1T3Gb9IjoiPcit01cBs0hTgbSGW8Qpu3lo4OjFrLLU07iRTm8SZdoXnYUaAy3cWIuLKTwBl3d18xuTH5KLnIFQWfmU9Je1TZzJQ1XEnNChvTN7raq8jRJN/kSxWVHgcY3CpMCfGQIOL2oBKWcs0VfzP5iq+DR0Zw4NuoJnAAnvhxD+1zoUfIkf7jT+PKIbFPpgahY7CnOKdCsAP8usgAuzHk/8vzWTpFuCoMl4HNnpyCXdr4T+UwOLo5Ow/Sxc8BLdQ/KPfKRTrlcxfbq1QVbrcRS575KcHULhvMaJHEfWmeTc+IWUdFaaSITvRWCuAeUS9CuzONhQR+KwxTWKErIl07aIsBLv77ZM1ki+SmskUjCi7UqLaidHtgXXeKMf0BCi5kMXLr8nZSv3GIekbljFyz9aofjUYuogjtsB0yuQHKU3a3mMmCaJj7xy3Lt4688GD0uB2qnBYNpb+CWPUL9sYk4NG/aKNheX5TY5/u3YC4xA8bURWDfLRRzE3lzCTWDecPyy+tlj+anZ5NAwIkwL3pHdEpfeKQ7af/gRzFk7ibuz27atuZ3RFqXwH78n88gn8crG8C832Td6AkrQx7NEmmcPYeN+Ilnzo7iYaPipJhfi6/R83EJGLAc91c7YFpf+bQEc+jh6FEs4b5OY/qlI+dG5dSatHOXvhV1vtJiY0YdHCpfeAVoEjDCsB+bU9RPYvijIspaENX0Tpz6WuUzuMv75BXLvr4raFEr5uwBFBQBm6o+tlqbXf8H69PN+/NjJ1RcxuzxZXzqw24LuIImQaqjaZYALs7oc2PjQB95OXUzdq08qlcfPX5S+TGef0NGO7xYyd6K6FEuuH8o9jvG+T+RL8JjQ3097Njejzec+nLRmsf0z8DpM2dFkX1Zmb/lD2tPVPtnwBM0GXvhndidlob/ApSuPJT4d20JAxXV6R5XK9HTmp69gO/KhCM6YTx+5tCeO0QQqGZzVaDJANVFDMt6E2vHdymDuEpbSzMLtbXBdRsbPS/EVMNIzCTx5Z5zghX/vbB7K/mwWq/UWTVoqXhgMPYoBs+D9v9eaI6qUuuDQUYXY7pn0o2DEnjKh9OLS0DJj0vKa2KE+DOFNbcoIdcsb2sGTQYGYjE9Nw33Y0l4L+NwZ7lRrzEumsTDeQjvL3+z1+i89OT8NYGWytQKt8HqFBV70FtuR1YXfsTNHluiJXwqcbpk4I88ooH2L92E/1KCVpz+iXz/D36BLy8VVzwEAAAAAElFTkSuQmCC
iVBORw0KGgoAAAANSUhEUgAAAC0AAAAuCAYAAAC8jpA0AAAAIGNIUk0AAHomAACAhAAA+gAAAIDoAAB1MAAA6mAAADqYAAAXcJy6UTwAAAAEZ0FNQQAAsY58+1GTAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAOxAAADsQBlSsOGwAABwNJREFUeNrtWVtMW3UY/1quha4XxqWjDXTZxhggMmXJTIwJNEZdfNMHHxRmXGJMNOqbydyTJj5o4sziw+JMBF9MXIzGvewBMUbNpmaXOIZcplBKSwus7VhpC7T1+52efzmF0nM6Ck/7knJO6f/y+3/n910P0UPZHdFtd4Hh4WFHMpl8iW8f1el03Xx18qdSMSTEnyn+7Vced0ev11/q6emZ3HXQDLSSAZxiIK/x1w7+lBa4xI1UKvUlH+ArPsD9HQUtg32Hwb7NX21ZC+l0ZDAYyGg0UklJCVVUVNDq6iolEgmKRCK0vLyc4vuN+y0w+M8Y/NlCwOsKANzKG3zNt93ifwwutXfvXl1tbS3xlUpLt1Y4z6VwOEw+n48CgUCKD6/c+xYf+hUGfqNooIeGht7kRT8VNIAmm5qayG63U1lZWcH0whPweDzkdruzwPPB3nW5XGe3DZo1/AEv9r74DqBOp5PKy8u37QVWVlZofHyc5ufnlU/kAtPlDdb62lbz9Coafk8JuK2tjVpaWooCGIJ1Ojo6pHVhE7JtnOLLx/nmleTRMNzYORwMdOjq6iJwdycExmu1Wsnv97OOUkB/vK+vLzw4OHhFM2gG3M2Tf4Ay+FFRZ2entOhOSmVlJZnNZh2MFMBZnj158uTQwMCAWxM9eNI5ESCOHDmy44CFYB/eT2mY37ICjaqgZVocx31dXR3V19fvaojGfoo9EQtO56UHggef7ke+NYEW4DH4rEVSSfbDoz7y/z5Jc7+Mkf+3CVq87qbI9CIlOcBUWKtJV6LXtFZNTY3kz9kd4msH0+Q80yQmfs+KBnJoduAeflirlwjd9pLv51GKLWwOarHAPQqOzJLXWEGOZzvJ0taouh6CVHNzM01OSimKBbj4+klOejDgfmXw0CLeodv038U/swDrS0uozFAuXTMB5X5cGjd7+Zb0VNSksbER4FMyrtdz0oOpUSufRm+z2TRxGYBBA5F7WOy1ZGtrptpDdrI2NVCN00YmWw3pmGrxe8vSuMhskJLxNTIdzL8+6BmPx3VLS0sSY5gizJCBUJam5fSyVBiDFkooATuOHqT6VqaU0ZAJFJCyqgqq40M4Hm9hTqd1FLh6R6KMFm5vwJdNDz7ZAUENi8WianTen26vA37sEBmse/LOMZirpYPp9ekDzV7+m5Ira6ouEBqX5fAm0Ow1npQW5/RSMTCnhP/xUfxuRLo3MyUMFqMm/gO42VGf4XhozJd3PBQIPLJyWnMZIioOqq6uVt08POHP3IPHhYhy/L1xv/pBZdAC30bQtcIA1CTqD697ierKgkCD48KrROeXVMejmFAEmtwRUTFoS0nEVtOPr6wky+i0CuZJxqXCaemQOfL1TaDZzahvWpleKLGakCqSQgXzpM3L1UtLFAyyrOUCHdswaGueNZjTmlpL0GokVljVshyX5knr1O1RP2AiIW7ncoGewh8uQFUXMh9qWPfXswsFgVaON7U0qI5HUSyK4C1BR6NRWlvLzzVz6z6qqEl7mTCDiIa0FdLRcITCnkCaq5yLWA7vyx8PmHpCieib5PLTV8XAxcXF/IUlB4jG3rbMwp5rE6rAAdhzfZIjW9oG7M88osppVO+CHmj05IqIFwXZFxbUHzmytfonDmYBD4zN0Eok25BXoys0PzFLs9fGKSUDqDu2n6ztdtU9kJ4q8F3alDBxMhLo7+8/wbeOWCwmVd1qPtt0oJ7dVoIinrtpS+akKOSZp+BMgMLeBVr810fBaT/FWMvCyQBwo6tNNbeGQxgbGxPe6UZvb+9HW6WmnwuLRV9Ci9ifbqf9Lx6jckvVenIDr8IaFl5CcNj5Qjc5nuvU5Oqwv6AGWmhZ+faGsaAITuRwu91STqulEABVYJzISRDiETERgAAObg1eAkanBazoh8zMzGS8Bnp+eZs1nFef4pN9IVLU9vb2XW/ljoyMoHUmtHzG5XJ9mDci9vT0XOCL1G/ARDF5t8Tv9yv3vIXmpKYWAnP7LeFJRkdHVV1gsQQuDvspcLyaq5uas9RmT+Lt6+sL8qQTsF702lAYoKGyUxIMBunmzZuZXAbNSPYY3xXUFhscHPyD6zJYzlNYaG5ujqqqqqQWVrEFdACP5ZaB1IRkHp8uuJcna3yYgVtE8wYaRy5gMpny9qK1CtIF0GFqaiqjYX66Z9G0572TRe1PI4dGi8HhcDxQBxX+1+v10vT0dFZWWbT+tMIVdshvArqUZT7eAMCfg/P5IiiAhkIhyahBhw0p8F8wfja6K0V7E6Bsm231zkUUoagxAV68c0FRgcwRH8FZheCdyxkefyFfE31boJXg+fIyb4jOz1E128gheLt1nsF+w2BDhe5fjPeITtbg8+ibyG0IpyiSFRURcvUppL887nutL4QeykN5APkflX09TZ+Q7fwAAAAASUVORK5CYII=
iVBORw0KGgoAAAANSUhEUgAAADEAAAAwCAYAAAC4wJK5AAAAIGNIUk0AAHomAACAhAAA+gAAAIDoAAB1MAAA6mAAADqYAAAXcJy6UTwAAAAEZ0FNQQAAsY58+1GTAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAOxAAADsQBlSsOGwAACvZJREFUeNrtWWtsW+UZfs6JnfgaO47jOInTXJrSNEkvdOUm2jEXJJC2VaUrEhpopNImfkzA/rAN+NNJY5vGj20a0n4wBIEixsaAafuxSUWG0a6wAqW59ZamaWInTmInduw4ji/n7P2+4+M48SVuWmA/eCXrnGMff+d9vvf9nvd5vwN8Zf8fJlzvAEc9Hs2yD/eJMu6SIXUIELbJQCv9VLXyFGEesjxBx//IsnRZEMXjv3jI/dmXDuLp1zy7IONRcu4BuqzdwIMvy5CPpQTxj79+2O39QkE884pnryzIv6HTPWt/q6iogNlsgkFXBV2VDkKFgEQiCUlKIxKNIRZbQiqVWvu3ZQjy61JS/NmvjrjHPlcQR//sMSWWpT/QXx6kS436vdFgQGNjPerr7NDrdBBFsegYsiwjEonCO+XHzGwAy8uJ3J8XaewfVbrw8lG3O3XDQTxzzHM7OfAXOnWp39lsVmxpa4XVatlQCkiShEn/DK5OeBGNLq4AFXC8Kik8cPSIO3TDQDx9zPMwTeFL6uzr9Tr0dG7lIG6EsehM+CZxceQK0ul0hgdwFZJw+NnvuT8uZ4yKMgBQCkHHrl2NTuze2QOj0XDj6JE8tlRXo6HegdBChFJsmX1tpek9dOeh3rdPvN03t2EQT73qOShAfk0F0NHeips62kvm/PWYVqtBU4MTi4uLiC7G2FcGwnfgjkO9fz35Vt/CNYP46UueVlGU/06nJnbdedNmtLVs4rP2uRYtGt9JEckBYqUp+/rdB3pffe9vfUUXe8FpFTR8DdjZ+SZXE1qaXV9oBd7R0wV7bY16uWdZg+euKRJPv+r5Ps334+ycDbS9u7PsCKRSaWKbGVy64sXZoVFcGJnAyJVJBIJhxBMJWMzGstKRPa+2pga+qWnOYvT0W+862Hvy3+/0ja4LgkmIdIRTqZU9bM/undBqNGUBYM6+f6ofE5OzCIWjvMglkyl+DEcWMTU9h0ujPp77tTXV646n0VDhNJngn55RqXf33Y/3vvBeX59UMp0SPjxIUoLpHjQ3NVLVrVqfIiUZJz8axCdnL/JIqKavImfNOph02lWR+vTsJQ42995ixjLBYbeplz1xL+4pCHiVQ5AfYYnDotDW0lxWBE78d5CKVlCZEVHA/h3NuG1rA5xWA79mNhtewocXpvDuZ+NIpiWa3Tmc+ngYe2/tgSCWTtWO9jbMBOZ4PSG2/Al99c+i6fTjYx5XhYzfMl+cDjuaqCaUk0IXL3uzM//Egd24o7MBZn3lqnVkpGhsbapBh9OMQCCIFouMTbolaBZ8EMJTkOd9kBcobZbCfCqFCoqeqLhWWVlJ6RlGbCnO1kbrHd/pfXEt5WYjoZWlg/R3jZJKTesCSNOC6x8ezUbgh9/chbb6wrkei8Xg8/kwOTmJXXU5KS0TayYzzJmMQ45HIIeneckWrQ0QbMSKWj2llY3IYV5xWOIp9XJBEJIsbhYEmSagQrZYzOvS0ZWrfr5wme3raioIgDHL2NgYJiYm+HmusRk2m8200LVZoNFoVLmPUkeanwRCUxBtzaiz1+P8xcuZVSzdVRQEAdjLQ6/XC+XQ4FxoJaJ7u/Mjx+TD4OAgFhZW7rNYLKR4G0l32TiIvOiSdpqZmeFRi0QiCpjgOKooQiaDHlGS8qSpbi+1sDkrmU3l6aL5UDS7FtgiXqWpqeL29/cjHo8r9+j1aG9vh8PhKK2BqB9paCBScDrh9Xp5FHn/sTiPbosWpxmGjJ/FQNiRYaZyTE0lQ6Umy0LMmONnzpyh35P8uq6uDp2dncT7mrIrNiOF5uZmDnpgYIBHxSwmsY2E8/C8ouVKyg41R8sRbDyXEynKYzm7BlgKqQDq6+vR3d19TQByrYrq1I4dO3gkmTVQwBuNZWinRDJR1gNqrFwbYmk5BX+IizUefp7LrOmurcW2bduuWzSytbN9+3aearxuEH94PB57sXRiCaxLJcvrDG3Was5QvOAN+fDtPc2chdQHd3V1FQUQHQtgbsCLpekwUrEEREpJI9WR2ptbYHTV5N1vNBrR1taGkZERaJVpZ0Xvybxit+/+Rx6mamKXqDSSal13+iwWI9dCLIUmAhE4K2NIxJWIsAgw+lxri955jP7pI0yfvIQlfxjJSBzpeBKpxWV+HTxzFfHZCCwd9VTwVieJiXQUY60MVbf39vb+ri+jo1buFOUPeXosxYXcnrcokxAB7OhqV9YH1ZdISGnAqqlLs9vtefdHRmcx8soJ7mzuAtZSdc8lhtDwJLz/GizIXIyeM8bkxLfy00kS34cg97LT6dkAITeuC6SjrZHUaRC6eBCqHy6XKy+NktFlXHnzNKSUUvCMtdWwtTqho2iq90YDYUwPX0Wa0plFxP61VhgaV/fxjHrHx8fVy3vp886qSKREHGcHLtiCc2UvPCbiXDbdSh9Qm7+PxpxiacMj5axF487N0BMx5II12S1wbF0RnYFPxgquDXWBU9b35LGTsgsnv8nOw+EFqrSR8jidQuCwKJLdYDAUpNMwKdhsMdrcUHTBmxxWiBrFyUXffOF7TCb1tLMgxYqS+KJ6fuHyaPk8uLy49gGrO76YQtsaYiGNrrJkkavQKiCkRGGWVGuGWpzzQPz8EfdxtnnFtdFciOv48nbC0lknCjYtBsXxdDLNc76kOl5W0q5Cpy17DvM1hig8pq6N/uFzclzZB1pnlIqMFEkW/NncVpfdKFuYChYPaCSWrf76unVb2GhREL/8rvu8LAvPKzOXEobOXeAPL60PjFnlWshYEVM7uMCoH/GFWGFROT67AryjrmhvkrHzJbdsqtJ4ig68brBm5OzAUEkgok4pbKwfUJXrqvFsRtTdotQUmeT2xKeXMD8xk02tFOX/7EUvFjJtrs5RjZpuV8H+hD0jE9XSII4ecccpCPdTBR9T6kYQ/YPDeY1N1gwrm8rT09MFb2m6twcWal1VIMzp0Q8GMHpyEFdODHBQ6lpoPbi7YO8dDAZzfThZEgSz5464/SkI+2goLpD8MwGcOv0pq+j5rGKi2iAq1Do1NZXdGF5rbYdvQYN7G90qZtdIKp7IRplpqNZDe6B3Ft5pV7UZL2ui+GZZG8qsId93uPdd6t1ZX2tje0jeST8VHBHV5pxixY4yzVAszJsY1pNYrdaCFGpqqUXtzk1cG0nEVqwuaKv1sPW4sOnAzVwIFrJQKMRVcgb8W/v37+8rCwSzD97q87O9UEnELqY02KyxdeKfnuW+s5cszGlBX63sWEgp/kAGIofTV+ugKi3M7XVcWjhu24y6PW2o7nBAo68s+i6DdYoq+9HzHiXxN76h112Zrf7f86337E6dBg1OBxrrHajWSpC9A7w3Zt+zPqBQRK7VhoaGeO+diebzbrf7sbLfTxSISv+dB3rfEESZSrPQxXdQaJaYRPFN+XF1KgC5ohJWbYqyS+KLnIFhsnwjzREb+9y5c1kAbKuLxnmAopC4rhePqj35ksep0Uq9giw8lNExWdHUShA3W1YGr6mpwZYtW7iAK9cYlZ4/fz7bKZJ5CQAFwT2y4RePJdPsFU+PIEr3SJLYktn6aXXoYe+iTMoQUVbhsr6bHVU1uvbVF3Oa7XSw2c+pTUUB3DAQxYx64U5y5AWm2NeyFIsK+6hpxook26NaW4vo//+ghfwDAuDf8IvHGwTmG+TcE+TwferrszLsY7r/WXL+nXXbgS/yDRDbpSAwh+n0NnKwJyOnXZlNikAmbd6j4xtMG7mv8X32V/Zl2/8AlGCJNTw3pK8AAAAASUVORK5CYII=
iVBORw0KGgoAAAANSUhEUgAAAC0AAAAtCAYAAAA6GuKaAAAAIGNIUk0AAHomAACAhAAA+gAAAIDoAAB1MAAA6mAAADqYAAAXcJy6UTwAAAAEZ0FNQQAAsY58+1GTAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAOxAAADsQBlSsOGwAACBpJREFUeNrtWXtMW+cVP9+1r40dwHZ4+RkegULI0hI1qzqVrHFa7a+mSxq1atU8iNRK09ZN3XtJK41oTRtN+yPVpHWTOmUeaH901bKu/+yPdiYNWjo1bR48mgLhEcAYA8EYQ/CD++18n7nXBoyvHQj/bEe63HvN9/h95zvn951zLsD/ZXOErHeA1/7s3UOJ9BQ+1gIlDThiBT7npTSZxGuEAmkHkIZoXHj/7An34KaDbj7vNUe00ksEyHF8rcNLm+MQ7bjAP+pc0NrsdsfvK+jm97z5sSj8nFL6Kr7mLx+JUHNhARjy9ESn04NW1EA0GgNJWoTZ8DzMzc3D4uLiysn9QOlp0SW8mwv4rEG/3uLdJxF6Hijffi5arVaylhYLDpsVCgryQaPRrNkfFwrBYAhGfD4YG5/g7ykg/hkj5OVfH3GPbBjok60f/4JQ8ivZDBjY6qpyweWwgyAIOZtXJBKF4VEf9A/eVsAzrROJHH3juPujdYM+1ep9B0f+jvzudNilupoqIZNWs5XZcBg6ur7id2VHCHn2rSPu9zP102QLmAgCfXDnDlJV4SL3ot10otfpUAk2tHsJgjMhWYvPNB5uutr+N09PzqBPtXzcjLefyObw9YZdQknx1o3nXEKgaKsFRFELk1PT7CcBgT+991DTh5cueAJZg2bci0v2sAE0gkbag4DNZtN9PTDMpkJ+nw7OsJsOr/1PvNDkafurJ7qyrZCO1ijQFtnpdtbX3nfAslRXVYCtrET2trpIBN5K124V6EhUeoV1YM8upz05yCbJjtoa0Ot1S7jpK3zXV4h2pZajEfo9bjeiltZWV2XN44voTKNjk+AP3MEtDkMsFud0aDHlQ1mpBbY5StE31BlHFEWoe6AGrnd0Lf0i/RL/HFjTph/79rHv4vqeS2xVOSmyWLIC3Dfgg08u34Ch4XFkgTAsIA8z0OxEnJmdA59/irdhp2SRpVB1vPwtRpiaDsLCQoR56vbHnmn6S/sFz5205kEpeZH/qNHQcqdDdXAqUbj8WTd8fr2Hg5TFoNdCUUEev8vC/v/F9V7492ddfFfUpKZSOXg1SCc/Tqvpn7V6nbiCswyzw1ZGykrVbfnTK1/C7dEEKwk4cmO9A47ur4dDj1bD/oe2wbd2l8MjD1hBqxFgMBACdviFZud5LOK0lXC6W0sMhjwYn5jku4VSiUzyO5lJFE2LVDoo27jdas3KJFIB/+BAAzz/zVqwb93C32UpMRng0Deq4UcHHwa9mNDR8OgE9A35VOewJhVXhBa3b5V5SFTYzlWPx7PJVKDqdDe6+xXArz69G2rsme2/sqwQvn9gN4iaxJQd3QPLTCqd2K1lSZqj8Pgq0BhZNrK70WBQDYKYpuQJ96JJbLeZs3JYBvzxXU7Fxod9ExnbMxPB0zihVKB70jkit/yCfKPq5IHJaeW5cacjJx5mdi/LeGBatX1BwRY5JnGmA13Mgxi9XnUgxsMyS1jNxpxAMxuXWWV6Jqza3mhQMjfXmieioFGP4GTTMOq0y5wuW2H9+JZnQX06UacEhWuClhbVB2IRGZP5aBwnpjmDZv0STqyuoHRKTP1lIZFVRFQHspgT6eHdSBz8wfmcAE/M3OX9+DimfNX26ZSYBE2Bp/VzdxdUByotTtJbe9dobml4d7I9i0nUJBpTItNgGspLgJ6dDavamstRopjIJQRxayyYFeCB8RBc7BhRTMxlVz912em5JIOrNU3IFdk55uYzb7kGbfHB+qolZ6Jw7h9XVYEzwL/98CrElrZ7V32lsvBMGTwrPSQMgRV7Vmp6ES4m+XNSPWCvtPNwMxX4e5d6YHyFjU/NLsCFy33w9gdfQCS2qOxUdblddY5QaDalViINrYqntRK0xwTwIxdYx/wBnkWoyaMP70ANUH5CMuAXO0f4xXiY0RpjCdnpUk3rkd11mCirU+WwLxmfYDb90aoor+0DT3zv4WNfw383xOJxzNlMYDQaVJNSF2pbrxdh8k5I8YU4msBdBBxP8XxmCg27tsNDO6owvlGnujhi6LrZK4957c0j+0+nzVxwOW+jITUlorhBKC7KLgmoqXRAVbmNa3wcM5dgaG5Z5lJSbIZyZ6mqDafK6JifA1+Kizxrpltvvui+drLlX224cftmZkK8fJVtjsics8JVxq/1CgN7a+C2QnViTPhTxsRWoOSnrB97/vKrXl7C2mzpvTWIOxVLaJmS3zefcAczgj5zzH2FADmXiDFicLOnd1MBBybv8DqfnGuIeXBGtYTAncYJJ/HWyZ79SH99/YObApjV9G50dieLkpScaH7OHc6qwtTm8Uh7DzVdwiCWZeZGVvVhGY3lPhZtgjjH59c6U5yPvHHmqNuTVbFGccpj7k5BIi/gI19pT18/v1LryhslzOGvXOtQ7BjPv1bRAafvqWr6yd89/Y2Hm3pZJZMtkFU2AxNTYDYX8orneoWddp3dN5EphlKUQd/VOYWXM30ZyCqCf93jfVIS6HlYSnnYoVKxzQmsqG4w5OUMlgEcHRtHXxlYxk7Ixz88c+SJcxvyJUCui4iS9A4l5KnUWWylxcRus8FWi0k1qA+H52DE50fnDiwHy7+9kGeRudqzKg/nqqVTLd6X0K1fS/32IlelthgMhCXGLM9kGQcL4Fk8PDe/wIOfNCFvHBniN4zW0rHEhoHmhUqvVxsdhecxWDpOKDyZcyGdaRZIK8Zvfzh71N13D/3XJ9xsqHSQFXuWaicVcmavpHGYFbEkAxf5HwGENm0cPsVTbgH+l+S/c0hKbtisAOEAAAAASUVORK5CYII=
User-agent: *
Disallow: /bags
Disallow: /recipes
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="364 157 64 51" width="30" height="30"><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><g><path class="glyph" d="M 364.50006 184.50061 L 386.99985 207.00037 L 396 198.00002 L 373.50003 175.50066 Z M 403.02295 181.97704 C 400.38693 179.34099 396.11307 179.34099 393.47702 181.97704 C 390.841 184.61307 390.841 188.88695 393.47702 191.52298 C 396.11307 194.15903 400.38693 194.15903 403.02295 191.52298 C 405.65906 188.88695 405.65906 184.61307 403.02295 181.97704 M 414.27298 170.72704 C 411.63693 168.091 407.36307 168.091 404.72702 170.72704 C 402.091 173.36308 402.091 177.63693 404.72702 180.27296 C 407.36307 182.90901 411.63693 182.90901 414.27298 180.27296 C 416.90903 177.63693 416.90903 173.36308 414.27298 170.72704 M 425.523 159.47705 C 422.88696 156.841 418.6131 156.841 415.97705 159.47705 C 413.341 162.11308 413.341 166.38695 415.97705 169.02295 C 418.6131 171.65903 422.88696 171.65903 425.523 169.02295 C 428.15906 166.38695 428.15906 162.11308 425.523 159.47705" fill="#020202"/></g></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="2 724 68 55" 
width="30" height="30">
<g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1">
	<g>
		<path d="M 2.25 756 L 11.25 747 L 24.75 760.4994 L 60.750004 724.4994 L 69.75 733.49902 
		L 24.749977 778.49976 Z" fill="#101010" class="glyph"/>
	</g>
</g>
</svg>
Once you have some content then you may choose to determine a tiddler, or set of tiddlers to display each time you load ~TiddlySpace. This is determined by the [[DefaultTiddlers]].
iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAKGmlDQ1BJQ0MgUHJvZmlsZQAAeAHVlmdUFMkWx6t7ciLNkNOQc84gOSfJUVSGAYY4wpAxIbK4AooiIgLKEpao4KoEWQMiigERUEBF3UEWAWVdDIiKyuuBd9w977z99r6826eqfn3r9q3quvXhDwDpIyMpKQEWACCRncrxdbajB4eE0nGTAAIUgAe6wJDBTEmy9fb2AP9oH8aRaMTua/Fy/WPYf58QjIxKYQIAeSPTEZEpzESEzyNsyEzipCI8h/BwRmoSwnA3wjQOskGEB3nMWmcujyPW+f1ajL+vPQAoPAB4MoPBYQFAoiF+ejqTheQhGSKsy46MZSMcibAVM4aBjKR6hDUTE7fxeBhh1Yi/5WH9jRmMiO85GQzWd17/F+RLZGGH2JSkBEbW2sv/sktMSEPOa814p06OYgf4IaMY0qSAA3AEHshDB/rABKmeCQgCTsA7NSoT+W8A7LclZXFiWTGpdFukUlGadFc2U1uTrq+rp8eb/r8x3h1d3+y7e2t3DxLjlf/fvmRtAMwakPr3/uULfw5A510ARPr/8ineAID/AADdTcw0Tvp6PjRvwAAi4Ac0IA5kgAJQBVrIaRoDC2CDnK4b8AL+IARsAUwQAxIBB2SAHWAPyAeF4BA4CipANagDTeA0OAu6wEVwFdwAd8AwGAOTgAtmwCuwCD6AFQiCcBAFokLikCykBGlA+pApZAU5Qh6QLxQChUMsiA2lQTugvVAhVAJVQDVQM/QLdAG6Ct2CRqBH0BQ0D72FPsMomAzTYGlYGdaBTWFb2B32hzfDLDgZzobz4INwOVwLn4I74avwHXgM5sKv4CUUQJFQIig5lBbKFGWP8kKFoqJRHNQuVAGqDFWLakP1oAZQ91Fc1ALqExqLpqLpaC20BdoFHYBmopPRu9BF6Ap0E7oT3Y++j55CL6K/YSgYKYwGxhzjignGsDAZmHxMGaYB04G5jhnDzGA+YLFYEawK1gTrgg3BxmG3Y4uwJ7Dt2F7sCHYau4TD4cRxGjhLnBeOgUvF5eOO407hruBGcTO4j3gSXhavj3fCh+LZ+Fx8Gb4Ffxk/ip/FrxAECEoEc4IXIZKQRSgm1BN6CPcIM4QVoiBRhWhJ9CfGEfcQy4ltxOvEJ8R3JBJJnmRG8iHFknJI5aQzpJukKdInshBZnWxPDiOnkQ+SG8m95EfkdxQKRZliQwmlpFIOUpop1yjPKB/5qHzafK58kXy7+Sr5OvlG+V7zE/iV+G35t/Bn85fxn+O/x78gQBBQFrAXYAjsEqgUuCAwIbAkSBXUE/QSTBQsEmwRvCU4J4QTUhZyFIoUyhOqE7omNE1FURWo9lQmdS+1nnqdOkPD0lRorrQ4WiHtNG2ItigsJGwoHCicKVwpfEmYK4ISURZxFUkQKRY5KzIu8llUWtRWNEp0v2ib6KjospikmI1YlFiBWLvYmNhncbq4o3i8+GHxLvGnEmgJdQkfiQyJkxLXJRYkaZIWkkzJAsmzko+lYCl1KV+p7VJ1UoNSS9Iy0s7SSdLHpa9JL8iIyNjIxMmUylyWmZelylrJxsqWyl6RfUkXptvSE+jl9H76opyUnItcmlyN3JDciryKfIB8rny7/FMFooKpQrRCqUKfwqKirKKn4g7FVsXHSgQlU6UYpWNKA0rLyirKQcr7lLuU51TEVFxVslVaVZ6oUlStVZNVa1UfqGHVTNXi1U6oDavD6kbqMeqV6vc0YA1jjViNExojmhhNM022Zq3mhBZZy1YrXatVa0pbRNtDO1e7S/u1jqJOqM5hnQGdb7pGugm69bqTekJ6bnq5ej16b/XV9Zn6lfoPDCgGTga7DboN3hhqGEYZnjR8aEQ18jTaZ9Rn9NXYxJhj3GY8b6JoEm5SZTJhSjP1Ni0yvWmGMbMz22120eyTubF5qvlZ8z8ttCziLVos5jaobIjaUL9h2lLekmFZY8m1oluFW/1kxbWWs2ZY11o/t1GwibRpsJm1VbONsz1l+9pO145j12G3bG9uv9O+1wHl4OxQ4DDkKOQY4Fjh+MxJ3onl1Oq06GzkvN251wXj4u5y2GXCVdqV6drsuuhm4rbTrd+d7O7nXuH+3EPdg+PR4wl7unke8XyyUWkje2OXF/By9Tri9dRbxTvZ+1cfrI+3T6XPC1893x2+A35Uv61+LX4f/O38i/0nA1QD0gL6AvkDwwKbA5eDHIJKgrjBOsE7g++ESITEhnSH4kIDQxtClzY5bjq6aSbMKCw/bHyzyubMzbe2SGxJ2HJpK/9WxtZz4ZjwoPCW8C8ML0YtYynCNaIqYpFpzzzGfBVpE1kaOR9lGVUSNRttGV0SPceyZB1hzcdYx5TFLMTax1bEvolziauOW473im+MX00ISmhPxCeGJ15gC7Hj2f3bZLZlbhtJ0kjKT+ImmycfTV7kuHMaUqCUzSndqTREDAymqab9kDaVbpVemf4xIzDjXKZgJjtzMEs9a3/WbLZT9s/b0duZ2/t2yO3Ys2Nqp+3Oml3QrohdfbsVduftnslxzmnaQ9wTv+durm5uSe77vUF7e/Kk83Lypn9w/qE1ny+fkz+xz2Jf9Y/oH2N/HNpvsP/4/m8FkQW3C3ULywq/FDGLbh/QO1B+YPVg9MGhYuPik4ewh9iHxg9bH24qESzJLpk+4nmks5ReWlD6/ujWo7fKDMuqjxGPpR3jlnuUdx9XPH7o+JeKmIqxSrvK9iqpqv1VyyciT4yetDnZVi1dXVj9+afYnx7WONd01irXltVh69LrXtQH1g/8bPpzc4NEQ2HD10Z2I7fJt6m/2aS5uUWqpbgVbk1rnT8Vdmr4tMPp7jattpp2kfbCM+BM2pmXv4T/Mn7W/WzfOdNzbeeVzld1UDsKOqHOrM7FrpgubndI98gFtwt9PRY9Hb9q/9p4Ue5i5SXhS8WXiZfzLq9eyb6y1JvUu3CVdXW6b2vf5LXgaw/6ffqHrrtfv3nD6ca1AduBKzctb168ZX7rwm3T2113jO90DhoNdtw1utsxZDzUec/kXvew2XDPyIaRy6PWo1fvO9y/8cD1wZ2xjWMj4wHjDyfCJrgPIx/OPUp49OZx+uOVyZwnmCcFTwWelj2Telb7m9pv7Vxj7qUph6nB537PJ6eZ069+T/n9y0zeC8qLslnZ2eY5/bmL807zwy83vZx5lfRqZSH/D8E/ql6rvj7/p82fg4vBizNvOG9W3xa9E3/X+N7wfd+S99KzD4kfVpYLPop/bPpk+mngc9Dn2ZWML7gv5V/VvvZ8c//2ZDVxdTWJwWGsaQEU0sPR0QC8bQSAEgIAFdGExN51DbkWAa3rXoR5SozXePYfvK4z12aMAajrBcDfBgAPZKzMAUAZYX6k8eSvP7KegcH3hnh4lhJtoL8GEFkCkSa9q6tvVwHAhQPwdWh1daV8dfVrGaJ13gNwZeO6duVFC5xCZDPVUE/Xry/9cA7P83f7FxpgvJtcDRvaAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKMklEQVRoBdVZaXBb1RX+3tNq7ZI32bEdR3FIQjaaFhgS6AAFynSmU8oPOqWdtvRHmSlTlyVOyQBxVUhLwSwJ5UfaHykdIEynna50oCFkoDGQpKHB2ZyEeF9kS7YlW09P0tt67gsWsiQvskVmODMa6d137jnfd++559x7xWmahs+z8J9n8Ay7sdQEOJJnn9pxPc+bHjOZDL/6cfPOQ3P5eObJHVfbrLato7GB37a27k3MpVvoHVeKEJoGbTCavwtV+5bZYuKqKj32gYGwJKSlhh07fhku5DwYvM9R7q465/O5fOPjU0fOd0W+umfPnlQh3dnaFj0D2aB3t+3UQfurvPbKSrfBVmbR/UkkI+HoI/RwfyEAFe7ql1csr/Fdv3WT9a1Dx64hnTebm5uLIlHUDASDHO+y7diaPdK5oLOBplISjh4/JwopaXnuLOxua73X6Sx75s5v3Gg3Gg1QVQ1EQhwaHjtazEzMS2AGaA13mc1GvhBolswmZQuikhUp1QBJ5WHkVcSjUSk+GXs9xge+3fqDG5OMYFvbIxutRvP73/z6l21utyPDeTEkChJYKGjmWVY59IluDCWdkDQDDAYeFrMZJqMRiqIglZYgyTJTTWia+sf0ZOhpZ/jEgRu2bKpZGVjGsRfZUiyJPAIvPB+8hebzTyaziSs00tnORlJ2nI/7oHIm1FRVoNLnhcthB62PbDUICRFjE1EMjIxCSktquTaq3nldtTFHLdOnGBJ5BHY//dizbq/j3k3rA7aMxZwfLFy6El595KvKfQg01NGom3K08h8VRUX/cAi9g8No8AA3rwLMhnw91rJQEnmFLJoYfXRyMiELgh6uBa13Jzw6eAZ8bdOKBYFnhlh4NdbVYsPqJgxOGfDWeQI6y0aA5zncctPVZbU15ddcEahg2elSastBlEeAFRNNxRPdvSEhR1d/HE3Z0Ct6EKhfhvqa6kIq87b5PG6sWxXAQAw42je7+kJI5BFg5qJC6MWJaFzJnQVF4yjmy/VYr6/1z+6ZvaHFizn2WV63Sx+EjmFgfI76y0jcevPVZY0N/i+tbap8JddpQQKzzUK/6IJMuw8WOoWESyRh+eA0bP9sh/0f7bD9/TCs754APz5ZSB11NINWi2XOWWAdWVIwGHmDqql5YZSpxM899dg9GqclphKDf2tt3Zdks8Dx/kfZLNjtVh0AS5X+ynJyas4DZBiKwHLsLIwU544qD0xUjRUqZMLYJPhDH0JatwLSmuUz+jFgDTST57t7kUgDtnyzun5X95B2sWtoIpFO3D3DAD1kZsDMc2d4jn/Nba+f+s3zP/+Lo6zqNlXFk109w/pamEjyVKCMqPBS+sgRTkzB8t9O2Fw21G5aCU9dJezlLrhqy+Ff30jPFTCd7gY/OpHTExl7fdG8V3pDbFLAO4dPJEUp9bXt2389lauVIXDftl8c4Tmu2Wg0Ssvrq+/wuGwvUfjtjMaEsg+OdaodFyf1fOFxOXNt6OCMlPorVtaCpxnIFjbKnvoqlLntsJy4kP1K/20yGeGw2xDKgwa9EL751hFB0dSWlpZdJ/I6U8MMb80PBV9QFeVnfQPhxJVrGlzXXrPGunJFDS9JCl9V6ebMJhN4fkYX3aZhLAYbjThPe5rZxFHtBT9Fq5Ut7hyxUuUOjQl5CfW9I6eSopg8dP+DwRdzumQe89AwEoqsPPzhRxcTKhUeysNYRSMb+bgDvFRgmCjTcHFRj/mM1QI/TNZLAc6Tbq7QrCMuKjj+v3PK9LvpuBdS+XE/rcO+8wiwxmwSyWQafho9RkI+fxBTkSGm8qlQiGi0yGXSm0um36ufJIRsXVmRqSIr3KkzXToJFvfvts8e99l987YS2S/3PNP6E6qeezZf1QQrjWBoZAIXuoaw8fYfwlnxaSq1HD0DKy3QGlrAuWtg2t5oZz+EtAzx9munmzLfH57qhBbrhlc8j1AoqrBJpQr9ZwrnwxmlT35w4CzgID/Q8vhzrGlOAkzh+badmsViwlUbAjNIbLjtHriq6pkKOEFE2YFjcPicKA/UgqPVny2Tw2OY6BlBcst6KDUV2a8gywra/3MQlkgHOPnS9mVFIyUDjsvsZVRiJIopLjQypqXTspXs/+6nDwZ/xAxl6sAMqzkP9csqceJkl06ChROTk2/uw/rbvg939XIKoTKkNl8BHD+HdDwJh98LM9UBWa8DMVBRgbSqbgZ4For9He9ACPfCLEtobKyhMK1Hjb9cL1ySJFt7+4fVs+f6xsOjEw5KHv+iney+zq7wG3v37s1kggURWEb5nAkj8YWNK/U1wZ5P/fslrLv1e/D4G6E0+CF6nFA/+hjp3lGKARUsrah0YJG2boTi9yE+HiLQ7yIR6UEqmUR9XRU2b9mAumVV+kZPpT59/SNga2FkdFykFNyuSPLvZT71120PPF1wb7YgAgzsNImPTnVh7eqGDInTB/6AK7/yHXhrV0Jz2ZG8YRPbC1NYJaHZLBAmI+g/+TbE97oh0rnAX12O9ZtXYzkRZjWAXSoMhyI409mDgcEwjEYeyaQEUZLr6Rg6xnzPJQsmwIxcIqGRsz7dZmWFG4EVfpw5+ArW3nQ3fHVNersQi2DwTDvEcBcSQgI+rwsb1wUQoDCxWi9tZ8KRKE6f7UJf3wgtIsBO+wh/tYsIGNDTG8FCwDNnRRFgHZbVVuifKcrn4UiMRi1CrRpOH3xZXw9cOqqDttusWN1UBzo2UqUtY10xFU/g+PsdBHCYjpkK7bHMqKh0wEwzsVhZdE+nowzsE2j0EzCR4rYHsZHeDI40Vdxjx8/qn+lGtjW22y3weMrAMlspZNEEsp0zImzHarUo8Pns2a8+898FK/FiveZtZhZrqIh+JSUws3wVgWIJqiUlQNnksk9CaQmU4qa4yNkoKYHLPvxEtqQEihy8kqgvhECMndBK4u0zMDIvgZgw1UiXXGO9/aMF/6T4DDAVZXJeAq2tz0XTSmpLb9+o0N0zMu/mqijvJVCelwDzQdcZA2lVvK5vMDxxsXt4vAR+S2ZiQQSYt5aWp0JKXLhucGgsdOHiUP4FzxIh0c0HorGENDAwEaNjdv7Jfxb7CybA+j/U2hYRpfT1w6Hx/s4LA9Glpn0GeiJKoAfHo0PD0SgR2JdMyXfcv+3xBW+o5j0TFyIeDDa7PA7v23QeaFpzRZ2bXV510M2bLMtquc8x56DQURFx+utSiKcSiqqw0vEaddsfT+463NpK9+JFyqIIMB9tbS12E2c74PM5169b0+A8Sdvp2QikCbSQAa0qdAx7TVbU/dse3tVOs7ik+rdoAoxEMHiP1etseMPrdn5RherIJkC3B/TXUkqKCymRBlom0K/SPzT7H3p41/tLBc18T8uSCDAjweBdZq/jytcNBu5Gi9XE07cSjyeTBJrddL2iqOr+B7c/8cG0w1J/L5kAAxQM3mR022+gwy18dNO0W1O0Vx/Y/sTRUoMtZK8kBAoZvlxtc2aMywViKX7+D10+ywDx0s0HAAAAAElFTkSuQmCC
A [[SiteIcon|SiteIcon tiddler]]@glossary helps provide some identity to your space.  Ideally it'd be a square and a minimum of 48*48 pixels size.  You can upload your site icon using the uploader below.

<<binaryUploadPublic title:SiteIcon>>
The title and subtitle of your space are visible to visitors and are also displayed in your browser's tabs. Click on the SiteTitle and SiteSubtitle tiddler links below to make changes.
* [[SiteTitle]]
* [[SiteSubtitle]]
<<timeline filter [is[public]]>>

!Public
<<list filter [is[public]]>>
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