ve minra is loading
Requires Javascript.
ve minra - a TiddlySpace
<!--{{{-->
<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml' />
<!--}}}-->
Background: #fff
Foreground: #000
PrimaryPale: #8cf
PrimaryLight: #18f
PrimaryMid: #04b
PrimaryDark: #014
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
/*{{{*/
body {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.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='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
<div id='sidebar'>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser excludeLists'></span></div>
<!--}}}-->
To get started with this blank [[TiddlyWiki]], you'll need to modify the following tiddlers:
* [[SiteTitle]] & [[SiteSubtitle]]: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* [[MainMenu]]: The menu (usually on the left)
* [[DefaultTiddlers]]: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened
You'll also need to enter your username for signing your edits: <<option txtUserName>>
These [[InterfaceOptions]] for customising [[TiddlyWiki]] are saved in your browser

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

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

----
Also see [[AdvancedOptions]]
<<importTiddlers>>
/***
|''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);
//}}}
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
tag for the 4 tiddler states
<!--{{{-->
<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>
<!--}}}-->
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>>
<html><hr><html>
''Note: excludeLists tag is __itself__ tagged 'excludeLists' so it won't whow up in the //ve minra// state tags tiddlers...''
/***

''Inspired by [[TiddlyPom|http://www.warwick.ac.uk/~tuspam/tiddlypom.html]]''

|Name|SplashScreenPlugin|
|Created by|SaqImtiaz|
|Location|http://tw.lewcid.org/#SplashScreenPlugin|
|Version|0.21 |
|Requires|~TW2.08+|
!Description:
Provides a simple splash screen that is visible while the TW is loading.

!Installation
Copy the source text of this tiddler to your TW in a new tiddler, tag it with systemConfig and save and reload. The SplashScreen will now be installed and will be visible the next time you reload your TW.

!Customizing
Once the SplashScreen has been installed and you have reloaded your TW, the splash screen html will be present in the MarkupPreHead tiddler. You can edit it and customize to your needs.

!History
* 20-07-06 : version 0.21, modified to hide contentWrapper while SplashScreen is displayed.
* 26-06-06 : version 0.2, first release

!Code
***/
//{{{
window.old_lewcid_splash_restart=window.restart;

window.restart = function()
{   if (document.getElementById("SplashScreen"))
        document.getElementById("SplashScreen").style.display = "none";
      if (document.getElementById("contentWrapper"))
        document.getElementById("contentWrapper").style.display = "block";
    
    window.old_lewcid_splash_restart();
   
    if (splashScreenInstall)
       {if(config.options.chkAutoSave)
			{saveChanges();}
        displayMessage("TW SplashScreen has been installed, please save and refresh your TW.");
        }
}


var oldText = store.getTiddlerText("MarkupPreHead");
if (oldText.indexOf("SplashScreen")==-1)
   {var siteTitle = store.getTiddlerText("SiteTitle");
   var splasher='\n\n<style type="text/css">#contentWrapper {display:none;}</style><div id="SplashScreen" style="border: 3px solid #ccc; display: block; text-align: center; width: 320px; margin: 100px auto; padding: 50px; color:#000; font-size: 28px; font-family:Tahoma; background-color:#eee;"><b>'+siteTitle +'</b> is loading<blink> ...</blink><br><br><span style="font-size: 14px; color:red;">Requires Javascript.</span></div>';
   if (! store.tiddlerExists("MarkupPreHead"))
       {var myTiddler = store.createTiddler("MarkupPreHead");}
   else
      {var myTiddler = store.getTiddler("MarkupPreHead");}
      myTiddler.set(myTiddler.title,oldText+splasher,config.options.txtUserName,null,null);
      store.setDirty(true);
      var splashScreenInstall = true;
}
//}}}
/% <<myTimeline x1 x2 x3>> will only show tiddlers tagged with at least one of x1, x2, and x3 in the timeline. %/
<<myTimeline "content">>
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
Derived from NEUI (new-eee) but using a row, column, box model with the help of emastic framework. And there are some new goodies, like a sortable list makro for the ~MainMenu and ~TopMenu. ~ToggleLeft, ~ToggleRight. Fully functional, stand alone, icons. ~ThemeSwitcher at the options panel and more. Version: 0.6.3 ... have fun! 
While I generally favour digitising information (see [[Tablet computer]]), some bits of paper rock. When I was a kid an arts teacher added a note to my evaluation card. It advised to remember the words of Albrecht Dürer:

{{center{[img[http://kosmaton.bplaced.net/veminra/content/Das%20Sch%C3%B6nste.jpg]]}}}
{{hooky2{Das Schönste im Leben ist das Sehen}}} - the most beautiful thing in life is to see. I had not heard of [[Dürer|http://www.ibiblio.org/wm/paint/auth/durer/]], did not really speak German, and due to the handwriting wondered for a good while whether the most beautiful thing in life was '//Sehen//' (to see) or '//Lernen//' (to learn). I also thought that if it was '//Sehen//', that was harsh on blind people.

Plus: I am no particular fan of Dürer's work. Any "best in life" begs caution. Google turns up nothing for that quote.

But the mysterious statement stuck, and kept sticking.

Kids draw people as blobs with twigs. Then ask them to draw a real dude, complicatedly crouching, or an abstract thing right in front of their eyes. They have no preconceptions of these shapes -- they have to //look// and hopefully //see//.

Trees may look nothing like a stick with a sphere; water may be anything but uniformly blue. And fortunately for the blind, one can interpret '//Sehen//' broadly. Decades (for me) later, [[permaculture|Permaculture]] suggests the same thing. __Life lesson__: in anything, if circumstances allow: first shut up, open your senses, and try to //see//.


/*{{{*/
body {
	font-size: 1.0em;
	font-family: helvetica, arial, sans-serif;
	background-color: [[ColorPalette::Background]];
}

#displayArea {
	float: left;		/*-- new for emastic --*/		
	padding: 0;		/*-- new for emastic --*/
	margin: 0;		/*-- new for emastic --*/
}

#tiddlerDisplay {
/*	margin: 1em 0.5em;*/
}

.public {
	border-color: #C7EAFF;
}

.private {
	border-color: #FFCAE9;
}

.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: black;
}

/* fixing h1-h6 margin-top if it is first child */
h1:first-child, h2:first-child, h3:first-child,
h4:first-child, h5:first-child, h6:first-child,

ol:first-child, ul:first-child {
	margin-top: .3em;
}


[[StyleSheetHeaderMp]]
[[StyleSheetMenuBarMp]]
[[StyleSheetSideBarMp]]
[[StyleSheetTiddlerMp]]
[[StyleSheetBackstagePanels]]
/*}}}*/
@@Please do not modify this tiddler; it was created automatically upon space creation.@@
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
<!DOCTYPE html>
<html manifest="/bags/common/tiddlers/takenote_manifest.appcache">
	<head>
		<title>takenote</title>
		<link rel="stylesheet" href="/bags/common/tiddlers/notabene.css" />
		<link rel="apple-touch-icon" href="/bags/common/tiddlers/touchicon_takenote.png"/>
		<link rel="apple-touch-icon-precomposed" href="/bags/common/tiddlers/touchicon_takenote.png"/>
		<meta name="viewport" content="width=device-width,minimum-scale=1,maximum-scale=1,user-scalable=0,initial-scale=1.0">
		<meta name="apple-mobile-web-app-capable" content="yes" />
	</head>
	<body>
		<ul id="backstage">
			<!-- no not add a newline between li elements or you will get a margin with inline blocks -->
			<li><a href="/dashboard">dashboard</a></li><li><a href="/takenote">takenote</a></li>
			<li><a class='connectionStatus'></a></li>
		</ul>
		<div class="takenotecontainer">
			<div class='messageArea'></div>
			<div id="note">
				<div class="toolbar">
					<a id="cancelnote" title="cancel this note">cancel</a>
					<a id="deletenote" title="delete this note">delete</a>
					<a id="newnote" title="complete this note">complete</a>
				</div>
				<div class="note_title_container">
					<textarea class="note_title" placeholder="Note Title"></textarea>
				</div>
				<div id="notebody">
					<span class="notedate"></span> 
					<textarea class="note_text" placeholder="Write here..."></textarea>
				</div>
				<div id="tips">
				<div>Tips for cleverer notes:
				''<span class="boldTip">bold</span>'' //<span class="italicTip">italic</span>// _<span class="underlineTip">underline</span>_ #tag</div>
				<div>[[<a href="http://tiddlyspace.com">Link Name</a>|http://tiddlyspace.com]]
				[[<a href="/Note title">Note title</a>]] <span class="imageTip">[img[/SiteIcon<img src="/SiteIcon" />]]</span></div>
				</div>
				<div id="notemeta"></div>
				<div style="display:none">
				  <a class="syncButton"></a>
				</div>
			</div>
		</div>
		<noscript>
			Takenote requires javascript to work correctly. Sorry!
		</noscript>
		<script src="/bags/common/tiddlers/backstage.js" type="text/javascript" charset="utf-8"></script>
		<script src="/bags/common/tiddlers/bookmark_bubble.js" type="text/javascript" charset="utf-8"></script>
		<script src="/bags/common/tiddlers/jquery.js" type="text/javascript" charset="utf-8"></script>
		<script src="/bags/tiddlyspace/tiddlers/chrjs" type="text/javascript" charset="utf-8"></script>
		<script src="/bags/common/tiddlers/chrjs-store.js" type="text/javascript" charset="utf-8"></script>
		<script src="/bags/common/tiddlers/jquery-json.js" type="text/javascript" charset="utf-8"></script>
		<script src="/bags/common/tiddlers/notabene.js" type="text/javascript" charset="utf-8"></script>
		<script type="text/javascript">
			var takenote;
			takenote = notes($(".takenotecontainer")[0], {
				host: "/"
			});
		</script>
	</body>
</html>
/*{{{*/
/* Generated by Font Squirrel (http://www.fontsquirrel.com) on February 17, 2011 */



@font-face {
    font-family: 'AllHookedUpRegular';
    src: url('hookedup-webfont.eot?') format('embedded-opentype');
}

@font-face {
    font-family: 'AllHookedUpRegular';
    src:          url(data:font/woff;charset=utf-8;base64,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) format('woff'),
         url(data:font/truetype;charset=utf-8;base64,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) format('truetype'),
         url('hookedup-webfont.svg#webfontO94viheC') format('svg');
    font-weight: normal;
    font-style: normal;

}

/*}}}*/
/***
|''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:',
	step1URLText: 'URL:',
	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('%0 <input type="text" name="uri" />'.
					format(me.step1URLText));
			}
		};
		$(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);
//}}}
|''Name:''|[[TWDefaultTheme]]|
|''Description:''|Your description here!|
|''Generator:''|[[TW FreeStyle|http://FreeStyle.tiddlyspot.com]]|
|''Gen.Description:''|Automatically generated from: TWDefaultThemeProject|
|''PageTemplate:''|PageTemplate|
|''ViewTemplate:''|ViewTemplate|
|''EditTemplate:''|EditTemplate|
|''RevisionTemplate:''|RevisionTemplate|
|''StyleSheet:''|##StyleSheet|

!StyleSheet
/*{{{*/

/* horizontal main menu stuff if created by list */
.noBullets a{
	padding-top: 0.2em;
	padding-bottom: 0.2em;
}

.noBullets ul,
.noBullets ol {
	list-style:none;
	padding:0;
	margin: 0;
}

.noBullets li {
	float: left;
}

[[StyleSheetTiddlySpace]]
/*}}}*/
/***
|Name:|RenameTagsPlugin|
|Description:|Allows you to easily rename or delete tags across multiple tiddlers|
|Version:|3.0 ($Rev: 5501 $)|
|Date:|$Date: 2008-06-10 23:11:55 +1000 (Tue, 10 Jun 2008) $|
|Source:|http://mptw.tiddlyspot.com/#RenameTagsPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License|http://mptw.tiddlyspot.com/#TheBSDLicense|
Rename a tag and you will be prompted to rename it in all its tagged tiddlers.
***/
//{{{
config.renameTags = {

	prompts: {
		rename: "Rename the tag '%0' to '%1' in %2 tidder%3?",
		remove: "Remove the tag '%0' from %1 tidder%2?"
	},

	removeTag: function(tag,tiddlers) {
		store.suspendNotifications();
		for (var i=0;i<tiddlers.length;i++) {
			store.setTiddlerTag(tiddlers[i].title,false,tag);
		}
		store.resumeNotifications();
		store.notifyAll();
	},

	renameTag: function(oldTag,newTag,tiddlers) {
		store.suspendNotifications();
		for (var i=0;i<tiddlers.length;i++) {
			store.setTiddlerTag(tiddlers[i].title,false,oldTag); // remove old
			store.setTiddlerTag(tiddlers[i].title,true,newTag);  // add new
		}
		store.resumeNotifications();
		store.notifyAll();
	},

	storeMethods: {

		saveTiddler_orig_renameTags: TiddlyWiki.prototype.saveTiddler,

		saveTiddler: function(title,newTitle,newBody,modifier,modified,tags,fields,clearChangeCount,created) {
			if (title != newTitle) {
				var tagged = this.getTaggedTiddlers(title);
				if (tagged.length > 0) {
					// then we are renaming a tag
					if (confirm(config.renameTags.prompts.rename.format([title,newTitle,tagged.length,tagged.length>1?"s":""])))
						config.renameTags.renameTag(title,newTitle,tagged);

					if (!this.tiddlerExists(title) && newBody == "")
						// dont create unwanted tiddler
						return null;
				}
			}
			return this.saveTiddler_orig_renameTags(title,newTitle,newBody,modifier,modified,tags,fields,clearChangeCount,created);
		},

		removeTiddler_orig_renameTags: TiddlyWiki.prototype.removeTiddler,

		removeTiddler: function(title) {
			var tagged = this.getTaggedTiddlers(title);
			if (tagged.length > 0)
				if (confirm(config.renameTags.prompts.remove.format([title,tagged.length,tagged.length>1?"s":""])))
					config.renameTags.removeTag(title,tagged);
			return this.removeTiddler_orig_renameTags(title);
		}

	},

	init: function() {
		merge(TiddlyWiki.prototype,this.storeMethods);
	}
}

config.renameTags.init();

//}}}

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
{{indent{These [[groovs|Groov]] have content that is coherent but still in flux. {{hooky2{Liquid}}} (one of the [[ve minra states]]) as love:

<<list filter "[tag[GState: Liquid]]">>}}}

{{center{[img[liquid_icon.png]]
{{small{You exist thanks to Earth's liquid water surface.
Inside it are solid and liquid layers; around it [[is|http://apod.nasa.gov/apod/ap010131.html]] a plasma layer.}}}}}}

<<xList xCase "sort." "." "[tag[topMenu]]">>/%
see the descriptions about the above at: http://apm-plugins.tiddlyspot.com/#StylingPackage.
%/
<!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' >
	<script type="text/javascript" src="/bags/common/tiddlers/backstage.js"></script>
</head>
<body>

<div id="container">
	<div class="main section">
		<a class="app" href="/apps">back to apps</a>
		<div class="left">
		<div id="siteiconArea">
		<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" />
				<input type="submit" value="upload" />
			</form>
		</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 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.space'></script>
<script type='text/javascript' src='/bags/common/tiddlers/chrjs.users'></script>
<script type='text/javascript' src='/bags/common/tiddlers/chrjs.identities'></script>
<script type='text/javascript' src="/bags/common/tiddlers/jquery-ui.custom.js"></script>
<script type='text/javascript' src='/bags/common/tiddlers/jquery-form.js'></script>
<script type='text/javascript' src="/bags/common/tiddlers/siteiconupload.js"></script>
<script type='text/javascript' src='/bags/common/tiddlers/ts.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 SiteIcon");
		$("#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>
@@Please do not modify this tiddler; it was created automatically upon space creation.@@
*Original //content// on this webpage falls under [[this license|http://creativecommons.org/licenses/by-nc-sa/3.0/]]. That precise license is binding, but ''in a nutshell: you can (re)use the content quite freely, but not for commercial purposes, and you must include a clear reference to //ve minra//''.
*No claims are made to the code written to build the page itself, though most of that code is part of ~TiddlyWiki itself and falls under [[this (also quite open) license|http://tiddlywiki.com/#OpenSourceLicense]].
*The theme used on this page was made by [[Kosmaton]] and you can find (and use it freely) [[here|http://triptych-theme.tiddlyspace.com]].

Thanks go to all people contributing to the open ~TiddlyWiki project (and an open Web in general). There is a forum [[here|https://groups.google.com/forum/?fromgroups#!forum/tiddlywiki]].

Sources of external materials, if not referenced in-line:
{{fine{
|''description''|''altered?''|''source''|
|yellow-green lichen|yes|http://www.flickr.com/photos/34745138@N00/3103115886/, https://secure.wikimedia.org/wikipedia/commons/wiki/File:Green_Lichen.jpg|
|white lichen|yes|https://secure.wikimedia.org/wikipedia/commons/wiki/File:Vegetal_Lichen_Fractal_Brittany_France_2004.jpg|
|green planks background|no|http://www.grsites.com/archive/textures/view/source=archive/id=3780/|
|groov tiles texture|yes|http://www.cgtextures.com/login.php?&texid=29203|
|Chauvet horses|no|http://www.donsmaps.com/chauvetcave.html|
|seahorse|yes|http://www.flickr.com/photos/kunjanshah/3893212476/|
|origami Pegasus|yes|http://orudorumagi11.deviantart.com/art/One-Dollar-Pegasus-57014567|
|Carrà's 'Cavaliere rosso'|yes|?|
|copper plate|yes|http://www.cgtextures.com/login.php?&texid=5027|
|painting frame|yes|?|
|plectrum feed icon|yes|http://lorinator.feminoise.com/downloads/pick_feed_icon.png|
|under construction icon|no|http://wiki.openttd.org/images/b/b5/UnderConstructionOrange.png|
|{{hooky{All Hooked Up}}} font|no|http://www.abstractfonts.com/designer/215/Starving-4|
|plate 18 in Mylius’ 1622 //Philosophia Reformata//|yes|?|
|space background|no|http://www.bigoo.ws/Backgrounds|
|parkour dude|yes|https://secure.wikimedia.org/wikipedia/commons/wiki/File:Parkour_fl2006.jpg|
}}}
There are two ways to {{hooky2{interact}}} with //ve minra//:

{{groupbox{<html><img src='claytablet_small.png' style='position: relative; float: left; padding-top: 10px; padding-right: 10px;'/></html>{{hooky2{Send an e-mail}}}: click on a brown clay tablet at the end of a [[groov|Groov]] and fill out the form. Think of it as 19th-century letter writing. If you change my opinion on a subject I may change //ve minra//'s opinion. It is up to you whether, and how, you want to be mentioned in that. I will ask.

{{right{There is a general-purpose form [[here|Kosmaton]].}}}}}}

{{groupbox{<html><img src='claytablet_multi.png' style='position: relative; float: left; padding-top: 10px; padding-right: 10px;'/></html>Go to your own tiddlyspace or [[get one|http://tiddlyspace.com]] (free), and {{hooky2{write a groov}}} tagged {{{@veminra}}}. Note that this is your opinion in your space; tagging it {{{@veminra}}} just makes sure I get notified+++^*@{{footnoteButton{[†|note]}}}{{normal{To do the same for yourself, put {{{http://tiddlyspace.com/search.atom?q=tag:@YourName}}} in your browser address bar, or in a feed reader. (Replace {{{YourName}}} with what people should use to get your attention - e.g. the name of your space.)}}}===.

If you give your groov (or "tiddler") the same name as mine, it will appear when you click on the multicoloured tablets icon in my groov. So will other people's tiddlers with that name. In this way people can compare, and adjust, their opinions on a particular topic.}}}

{{normal{Communication works a bit differently here than what you may expect. This is not a blog or discussion forum. This is where [[Kosmaton]] tries to herd and present some of his ideas. (A bit more [[detail|Conciseness and comments @veminra##Public face]] here.)}}}


<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="29pt" viewBox="13 43 29 29" width="29pt" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" onmousedown="if(jQuery) jQuery(document).trigger('cSmaller', {elem:this, comp:{animations:1}})" onmouseup="if(jQuery) jQuery(document).trigger('cResize', {elem:this, comp:{animations:1}})">
 <defs id="defs6">
 <linearGradient id="linearGradient001" y2="27.646" gradientUnits="userSpaceOnUse" x2="-45.8" y1="27.646" x1="-57.66">
   <stop id="stop1" stop-color="#6BB546" offset="0"/>
   <stop id="stop2" stop-color="#B5DAA2" offset="0.66462"/>
   <stop id="stop3" stop-color="#6BB546" offset="1"/>
  </linearGradient></defs>
<g id="icon" stroke-linecap="round" stroke-miterlimit="4">
 <rect id="iconBG" style="stroke-dasharray:none;" fill-rule="evenodd" ry="4.1663" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#696969" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="none"/>
 <rect id="iconFG" stroke-width="0" fill-rule="evenodd" ry="2.3755" transform="matrix(0, -1, 1, 0, 0, 0)" width="22" stroke-miterlimit="4" y="16.646" x="-68.6" height="22" fill="url(#linearGradient001)" class="showOnHover" opacity="0"/>
 <g id="iconSymbol" stroke-linejoin="miter" stroke="#4d4d4d">
  <path id="path3288" style="stroke-dasharray:none;" d="m32.71,59.791a1.2868,1.2868,0,1,1,-2.5736,0,1.2868,1.2868,0,1,1,2.5736,0z" fill-rule="evenodd" transform="matrix(0.472928, 0, 0, 0.472928, 12.3536, 34.6064)" stroke-linecap="round" stroke-miterlimit="4" stroke-width="4" fill="#CCC"/>
  <path id="path3637" style="stroke-dasharray:none;" d="m-5.7134,10.839a1.5781,1.5781,0,1,1,0.00225,-0.03585" transform="matrix(4.22706, 0, 0, 2.02533, 58.118, 41.1739)" stroke-linecap="round" stroke-miterlimit="4" stroke-width="0.68353766" fill="none"/>
  <path id="path4348" d="m27.559,49.224,4.9188,2.0603-3.569,0,0.15291,6.0339-3.1302,0,0-6.0339-3.514,0,5.1416-2.0603z" stroke-linecap="butt" stroke-width="0.70393437px" fill="#4d4d4d"/>
 </g>
 <rect id="overlay" opacity="0.01" ry="4.1663" style="stroke-dasharray:none;" fill-rule="evenodd" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#e6e6e6" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="#e6e6e6" onmouseover="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})" onmouseout="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})"/>
</g>
</svg>
<<timeline better:true onlyTag:content sortBy:created>>
*Using a 2nd-hand Samsung Q1 running Linux Mint - fantastic machine.
{{center{[img[forest1|http://db.tt/vZnoCyX]]}}}
*Touchscreen is awesome.
*I hardly use paper anymore.
*Ecological impact? Less paper, more fuel? Quest for solar ultra-mobile...
*The new eye-catching tablets (iPad and derivatives): more media devices than full computers. Computing power typically equivalent to Q1. Not what I'm looking for: I want a Q1'ish with extra muscle and breath (battery life is an issue).


/***
|''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]);
			}
		}
	},
	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]);
	};
}

})(jQuery);
//}}}
/***
|<html><a name="Top"/></html>''Name:''|PartTiddlerPlugin|
|''Version:''|1.0.9 (2007-07-14)|
|''Source:''|http://tiddlywiki.abego-software.de/#PartTiddlerPlugin|
|''Author:''|UdoBorkowski (ub [at] abego-software [dot] de)|
|''Licence:''|[[BSD open source license]]|
|''CoreVersion:''|2.1.3|
|''Browser:''|Firefox 1.0.4+; InternetExplorer 6.0|
!Table of Content<html><a name="TOC"/></html>
* <html><a href="javascript:;" onclick="window.scrollAnchorVisible('Description',null, event)">Description, Syntax</a></html>
* <html><a href="javascript:;" onclick="window.scrollAnchorVisible('Applications',null, event)">Applications</a></html>
** <html><a href="javascript:;" onclick="window.scrollAnchorVisible('LongTiddler',null, event)">Refering to Paragraphs of a Longer Tiddler</a></html>
** <html><a href="javascript:;" onclick="window.scrollAnchorVisible('Citation',null, event)">Citation Index</a></html>
** <html><a href="javascript:;" onclick="window.scrollAnchorVisible('TableCells',null, event)">Creating "multi-line" Table Cells</a></html>
** <html><a href="javascript:;" onclick="window.scrollAnchorVisible('Tabs',null, event)">Creating Tabs</a></html>
** <html><a href="javascript:;" onclick="window.scrollAnchorVisible('Sliders',null, event)">Using Sliders</a></html>
* <html><a href="javascript:;" onclick="window.scrollAnchorVisible('Revisions',null, event)">Revision History</a></html>
* <html><a href="javascript:;" onclick="window.scrollAnchorVisible('Code',null, event)">Code</a></html>
!Description<html><a name="Description"/></html>
With the {{{<part aPartName> ... </part>}}} feature you can structure your tiddler text into separate (named) parts. 
Each part can be referenced as a "normal" tiddler, using the "//tiddlerName//''/''//partName//" syntax (e.g. "About/Features").  E.g. you may create links to the parts (e.g. {{{[[Quotes/BAX95]]}}} or {{{[[Hobbies|AboutMe/Hobbies]]}}}), use it in {{{<<tiddler...>>}}} or {{{<<tabs...>>}}} macros etc.


''Syntax:'' 
|>|''<part'' //partName// [''hidden''] ''>'' //any tiddler content// ''</part>''|
|//partName//|The name of the part. You may reference a part tiddler with the combined tiddler name "//nameOfContainerTidder//''/''//partName//. <<br>>If you use a partName containing spaces you need to quote it (e.g. {{{"Major Overview"}}} or {{{[[Shortcut List]]}}}).|
|''hidden''|When defined the content of the part is not displayed in the container tiddler. But when the part is explicitly referenced (e.g. in a {{{<<tiddler...>>}}} macro or in a link) the part's content is displayed.|
|<html><i>any&nbsp;tiddler&nbsp;content</i></html>|<html>The content of the part.<br>A part can have any content that a "normal" tiddler may have, e.g. you may use all the formattings and macros defined.</html>|
|>|~~Syntax formatting: Keywords in ''bold'', optional parts in [...]. 'or' means that exactly one of the two alternatives must exist.~~|
<html><sub><a href="javascript:;" onclick="window.scrollAnchorVisible('Top',null, event)">[Top]</sub></a></html>

!Applications<html><a name="Applications"/></html>
!!Refering to Paragraphs of a Longer Tiddler<html><a name="LongTiddler"/></html>
Assume you have written a long description in a tiddler and now you want to refer to the content of a certain paragraph in that tiddler (e.g. some definition.) Just wrap the text with a ''part'' block, give it a nice name, create a "pretty link" (like {{{[[Discussion Groups|Introduction/DiscussionGroups]]}}}) and you are done.

Notice this complements the approach to first writing a lot of small tiddlers and combine these tiddlers to one larger tiddler in a second step (e.g. using the {{{<<tiddler...>>}}} macro). Using the ''part'' feature you can first write a "classic" (longer) text that can be read "from top to bottom" and later "reuse" parts of this text for some more "non-linear" reading.

<html><sub><a href="javascript:;" onclick="window.scrollAnchorVisible('Top',null, event)">[Top]</sub></a></html>

!!Citation Index<html><a name="Citation"/></html>
Create a tiddler "Citations" that contains your "citations". 
Wrap every citation with a part and a proper name. 

''Example''
{{{
<part BAX98>Baxter, Ira D. et al: //Clone Detection Using Abstract Syntax Trees.// 
in //Proc. ICSM//, 1998.</part>

<part BEL02>Bellon, Stefan: //Vergleich von Techniken zur Erkennung duplizierten Quellcodes.// 
Thesis, Uni Stuttgart, 2002.</part>

<part DUC99>Ducasse, Stéfane et al: //A Language Independent Approach for Detecting Duplicated Code.// 
in //Proc. ICSM//, 1999.</part>
}}}

You may now "cite" them just by using a pretty link like {{{[[Citations/BAX98]]}}} or even more pretty, like this {{{[[BAX98|Citations/BAX98]]}}}.

<html><sub><a href="javascript:;" onclick="window.scrollAnchorVisible('Top',null, event)">[Top]</sub></a></html>

!!Creating "multi-line" Table Cells<html><a name="TableCells"/></html>
You may have noticed that it is hard to create table cells with "multi-line" content. E.g. if you want to create a bullet list inside a table cell you cannot just write the bullet list
{{{
* Item 1
* Item 2
* Item 3
}}}
into a table cell (i.e. between the | ... | bars) because every bullet item must start in a new line but all cells of a table row must be in one line.

Using the ''part'' feature this problem can be solved. Just create a hidden part that contains the cells content and use a {{{<<tiddler >>}}} macro to include its content in the table's cell.

''Example''
{{{
|!Subject|!Items|
|subject1|<<tiddler ./Cell1>>|
|subject2|<<tiddler ./Cell2>>|

<part Cell1 hidden>
* Item 1
* Item 2
* Item 3
</part>
...
}}}

Notice that inside the {{{<<tiddler ...>>}}} macro you may refer to the "current tiddler" using the ".".

BTW: The same approach can be used to create bullet lists with items that contain more than one line.

<html><sub><a href="javascript:;" onclick="window.scrollAnchorVisible('Top',null, event)">[Top]</sub></a></html>

!!Creating Tabs<html><a name="Tabs"/></html>
The build-in {{{<<tabs ...>>}}} macro requires that you defined an additional tiddler for every tab it displays. When you want to have "nested" tabs you need to define a tiddler for the "main tab" and one for every tab it contains. I.e. the definition of a set of tabs that is visually displayed at one place is distributed across multiple tiddlers.

With the ''part'' feature you can put the complete definition in one tiddler, making it easier to keep an overview and maintain the tab sets.

''Example''
The standard tabs at the sidebar are defined by the following eight tiddlers:
* SideBarTabs
* TabAll
* TabMore
* TabMoreMissing
* TabMoreOrphans
* TabMoreShadowed
* TabTags
* TabTimeline

Instead of these eight tiddlers one could define the following SideBarTabs tiddler that uses the ''part'' feature:
{{{
<<tabs txtMainTab 
    Timeline Timeline SideBarTabs/Timeline 
    All 'All tiddlers' SideBarTabs/All 
    Tags 'All tags' SideBarTabs/Tags 
    More 'More lists' SideBarTabs/More>>
<part Timeline hidden><<timeline>></part>
<part All hidden><<list all>></part>
<part Tags hidden><<allTags>></part>
<part More hidden><<tabs txtMoreTab 
    Missing 'Missing tiddlers' SideBarTabs/Missing 
    Orphans 'Orphaned tiddlers' SideBarTabs/Orphans 
    Shadowed 'Shadowed tiddlers' SideBarTabs/Shadowed>></part>
<part Missing hidden><<list missing>></part>
<part Orphans hidden><<list orphans>></part>
<part Shadowed hidden><<list shadowed>></part>
}}}

Notice that you can easily "overwrite" individual parts in separate tiddlers that have the full name of the part.

E.g. if you don't like the classic timeline tab but only want to see the 100 most recent tiddlers you could create a tiddler "~SideBarTabs/Timeline" with the following content:
{{{
<<forEachTiddler 
		sortBy 'tiddler.modified' descending 
		write '(index < 100) ? "* [["+tiddler.title+"]]\n":""'>>
}}}
<html><sub><a href="javascript:;" onclick="window.scrollAnchorVisible('Top',null, event)">[Top]</sub></a></html>

!!Using Sliders<html><a name="Sliders"/></html>
Very similar to the build-in {{{<<tabs ...>>}}} macro (see above) the {{{<<slider ...>>}}} macro requires that you defined an additional tiddler that holds the content "to be slid". You can avoid creating this extra tiddler by using the ''part'' feature

''Example''
In a tiddler "About" we may use the slider to show some details that are documented in the tiddler's "Details" part.
{{{
...
<<slider chkAboutDetails About/Details details "Click here to see more details">>
<part Details hidden>
To give you a better overview ...
</part>
...
}}}

Notice that putting the content of the slider into the slider's tiddler also has an extra benefit: When you decide you need to edit the content of the slider you can just doubleclick the content, the tiddler opens for editing and you can directly start editing the content (in the part section). In the "old" approach you would doubleclick the tiddler, see that the slider is using tiddler X, have to look for the tiddler X and can finally open it for editing. So using the ''part'' approach results in a much short workflow.

<html><sub><a href="javascript:;" onclick="window.scrollAnchorVisible('Top',null, event)">[Top]</sub></a></html>

!Revision history<html><a name="Revisions"/></html>
* v1.0.9 (2007-07-14)
** Bugfix: Error when using the SideBarTabs example and switching between "More" and "Shadow". Thanks to cmari for reporting the issue.
* v1.0.8 (2007-06-16)
** Speeding up display of tiddlers containing multiple pard definitions. Thanks to Paco Rivière for reporting the issue.
** Support "./partName" syntax inside <<tabs ...>> macro
* v1.0.7 (2007-03-07)
** Bugfix: <<tiddler "./partName">> does not always render correctly after a refresh (e.g. like it happens when using the "Include" plugin). Thanks to Morris Gray for reporting the bug.
* v1.0.6 (2006-11-07)
** Bugfix: cannot edit tiddler when UploadPlugin by Bidix is installed. Thanks to José Luis González Castro for reporting the bug.
* v1.0.5 (2006-03-02)
** Bugfix: Example with multi-line table cells does not work in IE6. Thanks to Paulo Soares for reporting the bug.
* v1.0.4 (2006-02-28)
** Bugfix: Shadow tiddlers cannot be edited (in TW 2.0.6). Thanks to Torsten Vanek for reporting the bug.
* v1.0.3 (2006-02-26)
** Adapt code to newly introduced Tiddler.prototype.isReadOnly() function (in TW 2.0.6). Thanks to Paulo Soares for reporting the problem.
* v1.0.2 (2006-02-05)
** Also allow other macros than the "tiddler" macro use the "." in the part reference (to refer to "this" tiddler)
* v1.0.1 (2006-01-27)
** Added Table of Content for plugin documentation. Thanks to RichCarrillo for suggesting.
** Bugfix: newReminder plugin does not work when PartTiddler is installed. Thanks to PauloSoares for reporting.
* v1.0.0 (2006-01-25)
** initial version
<html><sub><a href="javascript:;" onclick="window.scrollAnchorVisible('Top',null, event)">[Top]</sub></a></html>

!Code<html><a name="Code"/></html>
<html><sub><a href="javascript:;" onclick="window.scrollAnchorVisible('Top',null, event)">[Top]</sub></a></html>
***/
//{{{
//============================================================================
//                           PartTiddlerPlugin

// Ensure that the PartTiddler Plugin is only installed once.
//
if (!version.extensions.PartTiddlerPlugin) {



version.extensions.PartTiddlerPlugin = {
    major: 1, minor: 0, revision: 9,
    date: new Date(2007, 6, 14), 
    type: 'plugin',
    source: "http://tiddlywiki.abego-software.de/#PartTiddlerPlugin"
};

if (!window.abego) window.abego = {};
if (version.major < 2) alertAndThrow("PartTiddlerPlugin requires TiddlyWiki 2.0 or newer.");

//============================================================================
// Common Helpers

// Looks for the next newline, starting at the index-th char of text. 
//
// If there are only whitespaces between index and the newline 
// the index behind the newline is returned, 
// otherwise (or when no newline is found) index is returned.
//
var skipEmptyEndOfLine = function(text, index) {
	var re = /(\n|[^\s])/g;
	re.lastIndex = index;
	var result = re.exec(text);
	return (result && text.charAt(result.index) == '\n') 
			? result.index+1
			: index;
}


//============================================================================
// Constants

var partEndOrStartTagRE = /(<\/part>)|(<part(?:\s+)((?:[^>])+)>)/mg;
var partEndTagREString = "<\\/part>";
var partEndTagString = "</part>";

//============================================================================
// Plugin Specific Helpers

// Parse the parameters inside a <part ...> tag and return the result.
//
// @return [may be null] {partName: ..., isHidden: ...}
//
var parseStartTagParams = function(paramText) {
	var params = paramText.readMacroParams();
	if (params.length == 0 || params[0].length == 0) return null;
	
	var name = params[0];
	var paramsIndex = 1;
	var hidden = false;
	if (paramsIndex < params.length) {
		hidden = params[paramsIndex] == "hidden";
		paramsIndex++;
	}
	
	return {
		partName: name, 
		isHidden: hidden
	};
}

// Returns the match to the next (end or start) part tag in the text, 
// starting the search at startIndex.
// 
// When no such tag is found null is returned, otherwise a "Match" is returned:
// [0]: full match
// [1]: matched "end" tag (or null when no end tag match)
// [2]: matched "start" tag (or null when no start tag match)
// [3]: content of start tag (or null if no start tag match)
//
var findNextPartEndOrStartTagMatch = function(text, startIndex) {
	var re = new RegExp(partEndOrStartTagRE);
	re.lastIndex = startIndex;
	var match = re.exec(text);
	return match;
}

//============================================================================
// Formatter

// Process the <part ...> ... </part> starting at (w.source, w.matchStart) for formatting.
//
// @return true if a complete part section (including the end tag) could be processed, false otherwise.
//
var handlePartSection = function(w) {
	var tagMatch = findNextPartEndOrStartTagMatch(w.source, w.matchStart);
	if (!tagMatch) return false;
	if (tagMatch.index != w.matchStart || !tagMatch[2]) return false;

	// Parse the start tag parameters
	var arguments = parseStartTagParams(tagMatch[3]);
	if (!arguments) return false;
	
	// Continue processing
	var startTagEndIndex = skipEmptyEndOfLine(w.source, tagMatch.index + tagMatch[0].length);
	var endMatch = findNextPartEndOrStartTagMatch(w.source, startTagEndIndex);
	if (endMatch && endMatch[1]) {
		if (!arguments.isHidden) {
			w.nextMatch = startTagEndIndex;
			w.subWikify(w.output,partEndTagREString);
		}
		w.nextMatch = skipEmptyEndOfLine(w.source, endMatch.index + endMatch[0].length);
		
		return true;
	}
	return false;
}

config.formatters.push( {
    name: "part",
    match: "<part\\s+[^>]+>",
	
	handler: function(w) {
		if (!handlePartSection(w)) {
			w.outputText(w.output,w.matchStart,w.matchStart+w.matchLength);
		}
	}
} )

//============================================================================
// Extend "fetchTiddler" functionality to also recognize "part"s of tiddlers 
// as tiddlers.

var currentParent = null; // used for the "." parent (e.g. in the "tiddler" macro)

// Return the match to the first <part ...> tag of the text that has the
// requrest partName.
//
// @return [may be null]
//
var findPartStartTagByName = function(text, partName) {
	var i = 0;
	
	while (true) {
		var tagMatch = findNextPartEndOrStartTagMatch(text, i);
		if (!tagMatch) return null;

		if (tagMatch[2]) {
			// Is start tag
	
			// Check the name
			var arguments = parseStartTagParams(tagMatch[3]);
			if (arguments && arguments.partName == partName) {
				return tagMatch;
			}
		}
		i = tagMatch.index+tagMatch[0].length;
	}
}

// Return the part "partName" of the given parentTiddler as a "readOnly" Tiddler 
// object, using fullName as the Tiddler's title. 
//
// All remaining properties of the new Tiddler (tags etc.) are inherited from 
// the parentTiddler.
// 
// @return [may be null]
//
var getPart = function(parentTiddler, partName, fullName) {
	var text = parentTiddler.text;
	var startTag = findPartStartTagByName(text, partName);
	if (!startTag) return null;
	
	var endIndexOfStartTag = skipEmptyEndOfLine(text, startTag.index+startTag[0].length);
	var indexOfEndTag = text.indexOf(partEndTagString, endIndexOfStartTag);

	if (indexOfEndTag >= 0) {
		var partTiddlerText = text.substring(endIndexOfStartTag,indexOfEndTag);
		var partTiddler = new Tiddler();
		partTiddler.set(
						fullName,
						partTiddlerText,
						parentTiddler.modifier,
						parentTiddler.modified,
						parentTiddler.tags,
						parentTiddler.created);
		partTiddler.abegoIsPartTiddler = true;
		return partTiddler;
	}
	
	return null;
}

// Hijack the store.fetchTiddler to recognize the "part" addresses.
//
var hijackFetchTiddler = function() {
	var oldFetchTiddler = store.fetchTiddler ;
	store.fetchTiddler = function(title) {
		var result = oldFetchTiddler.apply(this, arguments);
		if (!result && title) {
			var i = title.lastIndexOf('/');
			if (i > 0) {
				var parentName = title.substring(0, i);
				var partName = title.substring(i+1);
				var parent = (parentName == ".") 
						? store.resolveTiddler(currentParent)
						: oldFetchTiddler.apply(this, [parentName]);
				if (parent) {
					return getPart(parent, partName, parent.title+"/"+partName);
				}
			}
		}
		return result;	
	};
};

// for debugging the plugin is not loaded through the systemConfig mechanism but via a script tag. 
// At that point in the "store" is not yet defined. In that case hijackFetchTiddler through the restart function.
// Otherwise hijack now.
if (!store) {
	var oldRestartFunc = restart;
	window.restart = function() {
		hijackFetchTiddler();
		oldRestartFunc.apply(this,arguments);
	};
} else
	hijackFetchTiddler();




// The user must not edit a readOnly/partTiddler
//

config.commands.editTiddler.oldIsReadOnlyFunction = Tiddler.prototype.isReadOnly;

Tiddler.prototype.isReadOnly = function() {
	// Tiddler.isReadOnly was introduced with TW 2.0.6.
	// For older version we explicitly check the global readOnly flag
	if (config.commands.editTiddler.oldIsReadOnlyFunction) {
		if (config.commands.editTiddler.oldIsReadOnlyFunction.apply(this, arguments)) return true;
	} else {
		if (readOnly) return true;
	}

	return this.abegoIsPartTiddler;
}

config.commands.editTiddler.handler = function(event,src,title)
{
	var t = store.getTiddler(title);
	// Edit the tiddler if it either is not a tiddler (but a shadowTiddler)
	// or the tiddler is not readOnly
	if(!t || !t.abegoIsPartTiddler)
		{
		clearMessage();
		story.displayTiddler(null,title,DEFAULT_EDIT_TEMPLATE);
		story.focusTiddler(title,"text");
		return false;
		}
}

// To allow the "./partName" syntax in macros we need to hijack 
// the invokeMacro to define the "currentParent" while it is running.
// 
var oldInvokeMacro = window.invokeMacro;
function myInvokeMacro(place,macro,params,wikifier,tiddler) {
	var oldCurrentParent = currentParent;
	if (tiddler) currentParent = tiddler;
	try {
		oldInvokeMacro.apply(this, arguments);
	} finally {
		currentParent = oldCurrentParent;
	}
}
window.invokeMacro = myInvokeMacro;

// To correctly support the "./partName" syntax while refreshing we need to hijack 
// the config.refreshers.tiddlers to define the "currentParent" while it is running.
// 
(function() {
	var oldTiddlerRefresher= config.refreshers.tiddler;
	config.refreshers.tiddler = function(e,changeList) {
		var oldCurrentParent = currentParent;
		try {
			currentParent = e.getAttribute("tiddler");
			return oldTiddlerRefresher.apply(this,arguments);
		} finally {
			currentParent = oldCurrentParent;
		}
	};
})();

// Support "./partName" syntax inside <<tabs ...>> macro
(function() {
	var extendRelativeNames = function(e, title) {
		var nodes = e.getElementsByTagName("a");
		for(var i=0; i<nodes.length; i++) {
			var node = nodes[i];
			var s = node.getAttribute("content");
			if (s && s.indexOf("./") == 0)
				node.setAttribute("content",title+s.substr(1));
		}
	};
	var oldHandler = config.macros.tabs.handler;
	config.macros.tabs.handler = function(place,macroName,params,wikifier,paramString,tiddler) {
		var result = oldHandler.apply(this,arguments);
		if (tiddler)
			extendRelativeNames(place, tiddler.title);
		return result;
	};
})();

// Scroll the anchor anchorName in the viewer of the given tiddler visible.
// When no tiddler is defined use the tiddler of the target given event is used.
window.scrollAnchorVisible = function(anchorName, tiddler, evt) {
	var tiddlerElem = null;
	if (tiddler) {
		tiddlerElem = document.getElementById(story.idPrefix + tiddler);
	}
	if (!tiddlerElem && evt) {
		var target = resolveTarget(evt);
		tiddlerElem = story.findContainingTiddler(target);
	}
	if (!tiddlerElem) return;

	var children = tiddlerElem.getElementsByTagName("a");
	for (var i = 0; i < children.length; i++) {
		var child = children[i];
		var name = child.getAttribute("name");
		if (name == anchorName) {
			var y = findPosY(child);
			window.scrollTo(0,y);
			return;
		}
	}
}

} // of "install only once"
//}}}

/***
<html><sub><a href="javascript:;" onclick="scrollAnchorVisible('Top',null, event)">[Top]</sub></a></html>

!Licence and Copyright
Copyright (c) abego Software ~GmbH, 2006 ([[www.abego-software.de|http://www.abego-software.de]])

Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

Redistributions in binary form must reproduce the above copyright notice, this
list of conditions and the following disclaimer in the documentation and/or other
materials provided with the distribution.

Neither the name of abego Software nor the names of its contributors may be
used to endorse or promote products derived from this software without specific
prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.

<html><sub><a href="javascript:;" onclick="scrollAnchorVisible('Top',null, event)">[Top]</sub></a></html>
***/
/***
|''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);
//}}}
/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAMCAgMCAgMDAgMDAwMDBAcFBAQEBAkGBwUHCgkLCwoJCgoMDREODAwQDAoKDhQPEBESExMTCw4UFhQSFhESExL/2wBDAQMDAwQEBAgFBQgSDAoMEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhL/wAARCAAwADADASIAAhEBAxEB/8QAHAAAAQQDAQAAAAAAAAAAAAAABgEEBQcCAwgJ/8QALxAAAQMDAgUDAwMFAAAAAAAAAQIDEQQFIRIxAAYiQVEHE2EUMnEIFYElUpGhsf/EABkBAAIDAQAAAAAAAAAAAAAAAAIEAAEDBf/EAB0RAAMBAAIDAQAAAAAAAAAAAAABAhEDBBIhMUH/2gAMAwEAAhEDEQA/AKLoXUvU7jtKtxMJSXFFuZxKlH8aQTiZJ7443toZo7RUV9SUvKTSAIUodK3CO2SftBxJjEzw15TK2HXG68BAeUpLOpRSVDT1SAIOZJ75/wAwfMj7lvutVTUDykMPNlbbKSAmRnpkbggnIwYODPC+aCqxmK7spQUUoWSTIQ4TskDO+0ASd4gjhhcr1UUzbiQsCprVQWwCQRsBE9RIPaJgCMcK2LiQFt3CqS0z0qbRAUlQJG2Djbwck4njWuwU6lJVWLqFOOOlTdQtvpWQkRJjee+0ERjaE0S0cwOPV7bTpcFQ6stlLapBQE5Mf3STnIPwdJ4K6C4stHWG3Uq1aENBZXAMkTOST5IBOPEpg+WbQyK8l51aVFICBr0jWSoEkaYkkD8GNticihddfS06WmQlAKCkIUSmDJwJ0jeSZzHfNVgUle1N9dNwV7BK2XI0wohRWJUSkeAEiRIMKkTHEw2/SXtazVtvOOpAaBQ5nUAoAqjPmRv0bYxBuNAs+4g63UNpmQHCVBvTq6dxkYHdREkyAQWZ1T9WPYS+4tklWtCehGo7lX25kHsNtjng/gAf+l/o9U88VLZoaf6nVCIbJlAIgpE9/nc4yTuZ8/egNz5RZWKu2hC4JWCgJIkQQRjYbgnPaMcdQ/odt1vS3VP1jbFNVhEsU6jKkknqyR9w+PJ4u39QDlpHK39XUhpxSihlwmFJJBmP9D+eOV2O5XHtavTSz9GePimsTPJmptz7FSpP06vcSkBYRHTpRECThUpOcYnbbh0q6JpqRTaGlaDJQqYSRgDVjxHc/GCRx1L6Sv8ApbbbTzjX8+ooaq6hlaLfTPMhaBhQ1JMEagYziJO88clXh/3HHv2grNK66otpWtM6QsFOJABjTH4GPD00qAceMqt+ghS1vvinNUkL0hJ91pIJQNjvmcg/yc7cGlhdq+Xq5yosyad6mcTjXj2yTpyNMxAjPdXxxW4aV9WE0uCwmXEIMhU9+pIiAIG0zkRPB5arkqnQyhSH6plaBHtuJOmVSUiOkDx2MHxndmJfXpnzhfbXUpql3FFIjShTaaVJUlsJB6tRI8bTHxkHhfUj1evXMTworxcKl1t1WlDrqtewJ+0nAx/3xxWHLzqLehVPbKZ76OoVqcpiCAhf5Agbz8wfBHEje3qajpmnnak24lzVLnVJAwmRkEZ3nf8Anhauvxu/Nr2GrpLEwDuCbpQ3x+31aVam0qWgqUVl1nJ9wSQIIJgbyIjfhjSBxLSUpdUFIQEqVGpBPmSc/aRBHacSYcXLm6nt1R7dqqnLjX1rZaeqiyohDYAIQMmcCTIG+3mNddbddagrW2oFSQFlvJA31kidUZwSAAZ6jxvhSP/Z
/*{{{*/

/* Every time the user hovers over the trigger box, the current browser viewport
height is measured; 85% of this value is set as the max height of the sidebar.
GOAL: prevent the expanding sidebar from inducing a scrollbar to appear on the
window, which messes with sidebar handling itself.

Then, the sidebar is displayed. .fxsidebar has z-index 10 and .sidebarTriggerbox
has z-index 9, so the sidebar covers the triggerbox. */

(function ($) { 

$(".sidebarTriggerbox").live("mouseenter", function(){
	var triggerboxID = this.id;
	var sidebarID = "#"+triggerboxID.slice(0,-10);  // chop off "triggerbox"
	var theHeight = $(window).height();
	$(sidebarID).css("max-height",0.85*theHeight+"px");
	$(sidebarID).css('width', 'auto');
	$(sidebarID).css('height', '100%');
	$(sidebarID).show();
	//$(sidebarID).animate({opacity: 'toggle', width: 'auto', height: '100%'});
	//console.log("I");
});

$(".fluidSidebarWrapper").live("mouseleave", function(){
	// Check if a click has occurred; if not, hide sidebar
	if (! $(this).hasClass('selected')) {
		var wrapperID = this.id;
		var sidebarID = "#"+wrapperID.slice(0,-7);  // chop off "wrapper"
		$(sidebarID).css('width', '0px');
		$(sidebarID).css('height', '0px');
		$(sidebarID).hide();
		//$(sidebarID).animate({opacity: 'toggle', width: '0px', height: '0px'});
		//console.log("O");
	}
});

}) (jQuery);

/*}}}*/
!!!What's going on elsewhere in ~TiddlySpace?

<<activity>>
* @@[[News|NewsMap]]@news@@
{{hooky2{Emergence}}} is a concept in [[systems theory|Systems theory]] and a truckload of science and philosophy disciplines. It means that something, composed of other things, acquires 'new' characteristics... perhaps in a puzzling way. I will get back to the 'puzzling' issue. Here is a dead-simple example:

{{groupbox_bricks{Start with a hundred bricks. Stack them in twenty rows of five bricks each. //Run through the result.// Ouch. But of course you saw it straight away: what your ran at was a //wall//, about a metre wide and over a metre tall. If you ran with enthusiasm, then looking around you may now again see one hundred bricks, and not much wall. Maybe you see various //piles// of bricks.<br><br>''... What's the point?''<br>{{span{
*The //wall// and //pile// objects "emerge" from __the way the bricks are arranged__. This is all about //arrangement//: you could replace a clay brick with a gold brick; the wall would still be there.
*The wall has properties which one hundred bricks do not have when they are not committed to any arrangement (an abstract, [[ideal|Philosophical idealism]] concept, mind). Your bruises tell you that. And a tape measure can give you other properties of the wall, like its width. One hundred non-committed bricks have no 'width'.
}}}}}}

''Stating the obvious? Wait up...''

It is not just about bricks and walls. That is not where people struggle mentally with emergence. Emergent phenomena far less obvious than a wall include [[life|Life]] and [[mind|Mind]] and [[society|Society]]. Many people find it much harder in such cases to grasp how the jump happens from the building blocks to the bigger thing. Indeed, many suppose that something "else" ("which science cannot explain") is added to bits of matter in order to get life or mind from them.

But really it is, again, a matter of having constituent parts in a //particular arrangement//, which makes them interact in certain ways, and when you look at all of it - bingo! - there is a bigger thing. Science has been turning its attention from studying the parts to studying the arrangement and the interactions of the parts (e.g. in [[genomics|Genomics]], [[multilevel evolutionary theory|Multilevel evolutionary theory]], [[ecology|Ecology]] or general  [[complexity science|Complexity science]]).

''An important question''

So is our mind "nothing more than atoms"? No. Your mind //is//: //being// a particular and changing collection of atoms arranged in particular, fantastically complicated, and changing ways. That collection would be your body and the things it interacts with.

So no, it is not "just atoms"; nor is a wall "just bricks". Just as bricks are always arranged in a certain way, so are atoms. Some arrangements constitute a pile of dust. A particular arrangment constitutes my mind+++^*@{{footnoteButton{[†|note]}}}{{normal{more about mind at its [[own groov|Mind]].}}}===.

@@color:red;There are __building blocks__, and there are __arrangements__. But there is //no added [[magic|Magic]]//, there is no fairy dust, no godly touch, no immaterial life force. (But nae worries - there is [[beauty|Beauty]]).@@

''Puzzling?''

@@color: darkgrey;//A subjectivist approach//@@ ~ One opinion is that phenomena need to be puzzling for us to call them 'emergent'. Most people do not find the appearance of a wall out of bricks puzzling, and thus it would not be called emergent. But //all// people? What about babies? And what about various animals? Different creatures find different things puzzling. So in this approach emergence says more about the observer than about the observed. If you were all-knowing, nothing would be surprising, and nothing emergent.

@@color: darkgrey;//An objectivist approach//@@ ~ Another definiton tries to identify aspects of systems that qualify them as 'emergent', no matter how puzzling (or not) they are to anybody. Candidate aspects include well-defined boundaries, and //permanence of arrangement//. Then again, permanence is again extremely subjective. On a human time scale? Arbitrary! And while an individual organism looks fairly well-bounded for a while, what about more fluctuating or volatile arrangements, such as a group of people waiting at a bus stop? Should we speak about degrees of emergence? I think so!

@@color: red;The picture seems hard to grasp for the unaided human mind. We need [[macroscopes|Macroscope]].@@


/***
|Name|TagCloudPlugin|
|Source|http://www.TiddlyTools.com/#TagCloudPlugin|
|Version|1.7.0|
|Author|Eric Shulman|
|Original Author|Clint Checketts|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|present a 'cloud' of tags (or links) using proportional font display|
!Usage
<<<
{{{
<<cloud type action:... limit:... tag tag tag ...>>
<<cloud type action:... limit:... +TiddlerName>>
<<cloud type action:... limit:... -TiddlerName>>
<<cloud type action:... limit:... =tagvalue>>
}}}
where:
* //type// is a keyword, one of:
** ''tags'' (default) - displays a cloud of tags, based on frequency of use
** ''links'' - displays a cloud of tiddlers, based on number of links //from// each tiddler
** ''references'' - displays a cloud of tiddlers, based on number of links //to// each tiddler
* ''action:popup'' (default) - clicking a cloud item shows a popup with links to related tiddlers<br>//or//<br> ''action:goto'' - clicking a cloud item immediately opens the tiddler corresponding to that item
* ''limit:N'' (optional) - restricts the cloud display to only show the N most popular tags/links
* ''tag tag tag...'' (or ''title title title'' if ''links''/''references'' is used)<br>shows all tags/links in the document //except// for those listed as macro parameters
* ''+TiddlerName''<br>show only tags/links read from a space-separated, bracketed list stored in a separate tiddler.
* ''-TiddlerName''<br>show all tags/links //except// those read from a space-separated, bracketed list stored in a separate tiddler.
* ''=tagvalue'' (//only if type=''tags''//)<br>shows only tags that are themselves tagged with the indicated tag value (i.e., ~TagglyTagging usage)
//note: for backward-compatibility, you can also use the macro {{{<<tagCloud ...>>}}} in place of {{{<<cloud ...>>}}}//
<<<
!Examples
<<<
//all tags excluding<<tag systemConfig>>, <<tag excludeMissing>> and <<tag script>>//
{{{<<cloud systemConfig excludeMissing script>>}}}
{{groupbox{<<cloud systemConfig excludeMissing script>>}}}
//top 10 tags excluding<<tag systemConfig>>, <<tag excludeMissing>> and <<tag script>>//
{{{<<cloud limit:10 systemConfig excludeMissing script>>}}}
{{groupbox{<<cloud limit:10 systemConfig excludeMissing script>>}}}
//tags listed in// [[FavoriteTags]]
{{{<<cloud +FavoriteTags>>}}}
{{groupbox{<<cloud +FavoriteTags>>}}}
//tags NOT listed in// [[FavoriteTags]]
{{{<<cloud -FavoriteTags>>}}}
{{groupbox{<<cloud -FavoriteTags>>}}}
//links to tiddlers tagged with 'package'//
{{{<<cloud action:goto =package>>}}}
{{groupbox{<<cloud action:goto =package>>}}}
//top 20 most referenced tiddlers//
{{{<<cloud references limit:20>>}}}
{{groupbox{<<cloud references limit:20>>}}}
//top 20 tiddlers that contain the most links//
{{{<<cloud links limit:20>>}}}
{{groupbox{<<cloud links limit:20>>}}}
<<<
!Revisions
<<<
2009.07.17 [1.7.0] added {{{-TiddlerName}}} parameter to exclude tags that are listed in the indicated tiddler
2009.02.26 [1.6.0] added {{{action:...}}} parameter to apply popup vs. goto action when clicking cloud items
2009.02.05 [1.5.0] added ability to show links or back-links (references) instead of tags and renamed macro to {{{<<cloud>>}}} to reflect more generalized usage.
2008.12.16 [1.4.2] corrected group calculation to prevent 'group=0' error
2008.12.16 [1.4.1] revised tag filtering so excluded tags don't affect calculations
2008.12.15 [1.4.0] added {{{limit:...}}} parameter to restrict the number of tags displayed to the top N most popular
2008.11.15 [1.3.0] added {{{+TiddlerName}}} parameter to include only tags that are listed in the indicated tiddler
2008.09.05 [1.2.0] added '=tagname' parameter to include only tags that are themselves tagged with the specified value (i.e., ~TagglyTagging usage)
2008.07.03 [1.1.0] added 'segments' property to macro object.  Extensive code cleanup
<<<
!Code
***/
//{{{
version.extensions.TagCloudPlugin= {major: 1, minor: 7 , revision: 0, date: new Date(2009,7,17)};
//Originally created by Clint Checketts, contributions by Jonny Leroy and Eric Shulman
//Currently maintained and enhanced by Eric Shulman
//}}}
//{{{
config.macros.cloud = {
	tagstip: "%1 tiddlers tagged with '%0'",
	refslabel: " (%0 references)",
	refstip: "%1 tiddlers have links to '%0'",
	linkslabel: " (%0 links)",
	linkstip: "'%0' has links to %1 other tiddlers",
	groups: 9,
	init: function() {
		config.macros.tagCloud=config.macros.cloud; // for backward-compatibility
		config.shadowTiddlers.TagCloud='<<cloud>>';
		config.shadowTiddlers.StyleSheetTagCloud=
			'/*{{{*/\n'
			+'.tagCloud span {line-height: 3.5em; margin:3px;}\n'
			+'.tagCloud1{font-size: 80%;}\n'
			+'.tagCloud2{font-size: 100%;}\n'
			+'.tagCloud3{font-size: 120%;}\n'
			+'.tagCloud4{font-size: 140%;}\n'
			+'.tagCloud5{font-size: 160%;}\n'
			+'.tagCloud6{font-size: 180%;}\n'
			+'.tagCloud7{font-size: 200%;}\n'
			+'.tagCloud8{font-size: 220%;}\n'
			+'.tagCloud9{font-size: 240%;}\n'
			+'/*}}}*/\n';
		setStylesheet(store.getTiddlerText('StyleSheetTagCloud'),'tagCloudsStyles');
	},
	getLinks: function(tiddler) { // get list of links to existing tiddlers and shadows
		if (!tiddler.linksUpdated) tiddler.changed();
		var list=[]; for (var i=0; i<tiddler.links.length; i++) {
			var title=tiddler.links[i];
			if (store.isShadowTiddler(title)||store.tiddlerExists(title))
				list.push(title);
		}
		return list;
	},
	handler: function(place,macroName,params) {
		// unpack params
		var inc=[]; var ex=[]; var limit=0; var action='popup';
		var links=(params[0]&&params[0].toLowerCase()=='links'); if (links) params.shift();
		var refs=(params[0]&&params[0].toLowerCase()=='references'); if (refs) params.shift();
		if (params[0]&&params[0].substr(0,7).toLowerCase()=='action:')
			action=params.shift().substr(7).toLowerCase();
		if (params[0]&&params[0].substr(0,6).toLowerCase()=='limit:')
			limit=parseInt(params.shift().substr(6));
		while (params.length) {
			if (params[0].substr(0,1)=='+') { // read taglist from tiddler
				inc=inc.concat(store.getTiddlerText(params[0].substr(1),'').readBracketedList());
			} else if (params[0].substr(0,1)=='-') { // exclude taglist from tiddler
				ex=ex.concat(store.getTiddlerText(params[0].substr(1),'').readBracketedList());
			} else if (params[0].substr(0,1)=='=') { // get tag list using tagged tags
				var tagged=store.getTaggedTiddlers(params[0].substr(1));
				for (var t=0; t<tagged.length; t++) inc.push(tagged[t].title);
			} else ex.push(params[0]); // exclude params
			params.shift();
		}
		// get all items, include/exclude specific items
		var items=[];
		var list=(links||refs)?store.getTiddlers('title','excludeLists'):store.getTags();
		for (var t=0; t<list.length; t++) {
			var title=(links||refs)?list[t].title:list[t][0];
			if (links)	var count=this.getLinks(list[t]).length;
			else if (refs)	var count=store.getReferringTiddlers(title).length;
			else 		var count=list[t][1];
			if ((!inc.length||inc.contains(title))&&(!ex.length||!ex.contains(title)))
				items.push({ title:title, count:count });
		}
		if(!items.length) return;
		// sort by decending count, limit results (optional)
		items=items.sort(function(a,b){return(a.count==b.count)?0:(a.count>b.count?-1:1);});
		while (limit && items.length>limit) items.pop();
		// find min/max and group size
		var most=items[0].count;
		var least=items[items.length-1].count;
		var groupSize=(most-least+1)/this.groups;
		// sort by title and draw the cloud of items
		items=items.sort(function(a,b){return(a.title==b.title)?0:(a.title>b.title?1:-1);});
		var cloudWrapper = createTiddlyElement(place,'div',null,'tagCloud',null);
		for (var t=0; t<items.length; t++) {
			cloudWrapper.appendChild(document.createTextNode(' '));
			var group=Math.ceil((items[t].count-least)/groupSize)||1;
			var className='tagCloudtag tagCloud'+group;
			var tip=refs?this.refstip:links?this.linkstip:this.tagstip;
			tip=tip.format([items[t].title,items[t].count]);
			if (action=='goto') { // TAG/LINK/REFERENCES GOTO
				var btn=createTiddlyLink(cloudWrapper,items[t].title,true,className);
				btn.title=tip;
				btn.style.fontWeight='normal';
			} else if (!links&&!refs) { // TAG POPUP
				var btn=createTiddlyButton(cloudWrapper,items[t].title,tip,onClickTag,className);
				btn.setAttribute('tag',items[t].title);
			} else { // LINK/REFERENCES POPUP
				var btn=createTiddlyButton(cloudWrapper,items[t].title,tip,
					function(ev) { var e=ev||window.event; var cmt=config.macros.cloud;
						var popup = Popup.create(this);
						var title = this.getAttribute('tiddler');
						var count = this.getAttribute('count');
						var refs  = this.getAttribute('refs')=='T';
						var links = this.getAttribute('links')=='T';
						var label = (refs?cmt.refslabel:cmt.linkslabel).format([count]);
						createTiddlyLink(popup,title,true);
						createTiddlyText(popup,label);
						createTiddlyElement(popup,'hr');
						if (refs) {
							popup.setAttribute('tiddler',title);
							config.commands.references.handlePopup(popup,title);
						}
						if (links) {
							var tiddler = store.fetchTiddler(title);
							var links=config.macros.cloud.getLinks(tiddler);
							for(var i=0;i<links.length;i++)
								createTiddlyLink(createTiddlyElement(popup,'li'),
									links[i],true);
						}
						Popup.show();
						e.cancelBubble=true; if(e.stopPropagation) e.stopPropagation();
						return false;
					}, className);
				btn.setAttribute('tiddler',items[t].title);
				btn.setAttribute('count',items[t].count);
				btn.setAttribute('refs',refs?'T':'F');
				btn.setAttribute('links',links?'T':'F');
				btn.title=tip;
			}
		}
	}
};
//}}}
|''Name:''|[[TriptychTheme]]|
|''Description:''|A theme with a central clickable image map, and foldable, lockable, resizable sidebars. Derived from [[NeUIemTheme]] by [[Mario Pietsch|http://pmario.tiddlyspace.com]].|
|''Editor:''|[[Kosmaton|http://kosmaton.tiddlyspace.com]] (Feb 2011)|
|''PageTemplate:''|##PageTemplate|
|''ViewTemplate:''|##ViewTemplate|
|''EditTemplate:''|##EditTemplate|
|''RevisionTemplate:''|TriptychTheme##RevisionTemplate|
|''StyleSheet:''|##StyleSheet|
|''UsedClones:''|StyleSheetHeaderMp StyleSheetMenuBarMp StyleSheetSideBarMp StyleSheetTiddlerMp StyleSheetTiddlySpaceMp StyleSheet_neui-em EmasticSystem NeuiemZzConfig:zzConfig TerminateStyleSheet:StyleSheet CSideBarTabs CSidebarOptions CSidebarTools NeuiemSidebarTools:SidebarTools TopMenu SideBarOptions OptionsPanel [[sidebarSearch]] FontPalette ToolbarCommands GettingStarted NeUIemTheme01 NeUIemTheme02 NeUIemTheme03 NeUIemTheme04 |

!Important
If any of the above clones is missing, the theme may not work.

!PageTemplate
<!--{{{-->

<!-- DUMMY DIV USED TO FIND THE WIDTH OF THE VIEWPORT W/O SCROLLBARS, CROSS-BROWSER -->
<div id="testWidthDiv" class='dp100' style="position: fixed; left: 0; top: 0; z-index: -100"></div>

<!-- HERE'S THE BACKGROUND IMAGE MAP (indepdnt of main tiddler area) -->

	<div id='bckimg' style="position:absolute; z-index: 0; margin-left: auto; margin-right: auto; margin-top: 40px; width: 520px; height: 409px; left: 0; right: 0;">

		<img src="http://kosmaton.bplaced.net/veminra/content/Chauvet_frame.png" style="position: absolute; z-index: -1;" />
		<img src="http://kosmaton.bplaced.net/veminra/content/Chauvet_background.jpg" style="position:absolute; z-index: -3; top: 41px; left: 35px;"/>
		<img src="http://kosmaton.bplaced.net/veminra/content/Chauvet_transp.gif" style="position:relative; z-index: -1; top: 41px; left: 35px;" usemap="#testMapView" border="0" width="450" height="333" />
		
		<map name="testMapView">
			<area id="quad1" shape="poly" coords="41,88,57,105,53,114,54,128,55,147,51,176,53,187,61,195,70,197,85,185,105,169,111,150,105,138,94,157,78,143,76,101,96,70,147,46,184,41,203,51,183,28,167,20,138,23,120,31,102,41,68,61,54,74" alt="Solidum" href="javascript:;" onclick="story.displayTiddler(null,'GState: Solid'); return false;"/>
			<area id="quad2" shape="poly" coords="137,224,147,226,163,218,165,208,181,155,167,115,195,128,218,118,265,123,305,136,313,147,354,141,343,12,273,50,200,54,168,44,124,55,85,82,79,104,84,145,99,157,110,144,124,173,128,195,128,194" alt="Liquidum" href="javascript:;" onclick="story.displayTiddler(null,'GState: Liquid'); return false;" />
			<area id="quad3" shape="poly" coords="201,254,213,248,231,216,250,197,236,187,269,163,304,149,308,151,309,143,282,132,242,124,206,126,195,132,173,123,185,153,191,157,186,173,191,238" alt="Gas" href="javascript:;" onclick="story.displayTiddler(null,'GState: Gas'); return false;" />
			<area id="quad4" shape="poly" coords="230,272,243,268,244,276,261,260,282,244,330,259,356,278,359,302,383,310,386,330,447,329,447,168,393,163,392,146,354,144,312,150,271,162,239,185,252,198,241,211,239,230,225,262" alt="Plasma" href="javascript:;" onclick="story.displayTiddler(null,'GState: Plasma'); return false;" />
			<area id="quad5" shape="poly" coords="204,316,203,301,199,292,201,259,216,282,204,257,190,251,187,240,177,234,142,241,127,233,103,220,78,228,68,244,53,254,42,242,44,252,31,251,22,241,26,220,19,233,23,254,37,262,66,277,88,271,92,281,84,299,96,286,106,289,107,309,121,290,146,299,179,297" alt="About" href="javascript:;" onclick="story.displayTiddler(null,'About'); return false;" />
		</map>

		<img src="http://kosmaton.bplaced.net/veminra/content/quad1.gif" class="quad quad1-map" alt="quad1pic" border="0" height="333" width="450" style = "position: absolute; top: 41px; left: 35px; display: none; z-index: -2;" />
		<img src="http://kosmaton.bplaced.net/veminra/content/quad2.gif" class="quad quad2-map" alt="quad2pic" border="0" height="333" width="450" style = "position: absolute; top: 41px; left: 35px; display: none; z-index: -2;" />
		<img src="http://kosmaton.bplaced.net/veminra/content/quad3.gif" class="quad quad3-map" alt="quad3pic" border="0" height="333" width="450" style = "position: absolute; top: 41px; left: 35px; display: none; z-index: -2;" />
		<img src="http://kosmaton.bplaced.net/veminra/content/quad4.gif" class="quad quad4-map" alt="quad4pic" border="0" height="333" width="450" style = "position: absolute; top: 41px; left: 35px; display: none; z-index: -2;" />
		<img src="http://kosmaton.bplaced.net/veminra/content/quad5.gif" class="quad quad5-map" alt="quad5pic" border="0" height="333" width="450" style = "position: absolute; top: 41px; left: 35px; display: none; z-index: -2;" />

	</div>

	<div id='plaque' style="color: white; text-align: center; line-height: 40px; font-family: 'AllHookedUpRegular'; font-size: x-large; background-image: url(http://kosmaton.bplaced.net/veminra/content/plaque_small.png); position:absolute; z-index: 0; margin-left: auto; margin-right: auto; margin-top: 409px; width: 162px; height: 40px; left: 0; right: 0;"></div>
	<div id='hiddenFontPreloader' style="color: white; text-align: center; line-height: 40px; font-family: 'AllHookedUpRegular'; opacity: 0; position:absolute; z-index: -10; margin-left: auto; margin-right: auto; margin-top: 409px; width: 162px; height: 40px; left: 0; right: 0;">:-P</div>
	<div id='legalNote' style="color: white; text-align: center; font-family: Arial, sans-serif; font-size: xx-small; vertical-align: center; position:absolute; z-index: -10; margin-left: auto; margin-right: auto; width: 500px; margin-top: 455px; left: 0; right: 0;"><a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" target="_blank" style='vertical-align: -40%;'><img alt="Creative Commons License" style="opacity: 0.65;" src="http://i.creativecommons.org/l/by-nc-sa/3.0/80x15.png" /></a> All original content by <a href="javascript:;" onclick="story.displayTiddler(null,'Kosmaton'); return false;" style='color: #FFFF99'>this person</a> under <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/"target="_blank" style='color: #FFFF99'>this license</a>. Hosted <a rel="license" href="http://www.tiddlyspace.com" target="_blank" style='color: #FFFF99'>here</a>. <a href="javascript:;" onclick="story.displayTiddler(null,'Credits'); return false;" style='color: #FFFF99'>Credits.</a> <a href="javascript:;" onclick="story.displayTiddler(null,'Privacy Policy'); return false;" style='color: gold'>Privacy.</a> <a class="feed" href="javascript:;" onclick="story.displayTiddler(null,'Subscribe'); return false;" style='color: navy; background-color: white;'>Subscribe!</a></div>

<!-- tsRowBody -->
<div style='position: relative;'>


	<!-- LEFT SIDEBAR -->
	<div id='leftBarTriggerbox' class='sidebarTriggerbox scaledBackground' style='float: left; left: 0px; top: 3em; background-image: url("lichen1_small.png");'></div>

     <div id='leftBarWrapper' class='fluidSidebarWrapper' style='left: 0px; top: 3em;' data-side='left' data-savedWidth='0px' data-savedHeight='0px'>

	<div id='leftBar' class='sidebar' style='width: 0px; display: none;'>
		<div id='TLSbox' class='lockButton' macro='sidebarLock' style='width: 1em; margin-left: auto; margin-right: auto;'></div>
		<!-- tsBoxMainMenu -->
		<div id='feedBar' style='margin-top: 0em; margin-left: 1em; margin-bottom: 0em; opacity: 0.6;'>
			<a href="http://veminra.tiddlyspace.com/bags/veminra_public/tiddlers.atom?select=tag:content&sort=-modified&title=ve%20minra&desc=ve%20minra%20ATOM%20feed&limit=25" title="ATOM feed" alt="ATOM feed"><img src="pick_feed_icon_small.png"></a>
		</div>		
		
		<!-- original MainMenu menu -->
		<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
		
		<!-- search box -->
		<div macro="showWhen !readOnly">		
			<div id='sidebarSearch' class='box searchForeground' style='padding-bottom: 0.5em';>
				<div refresh='content' tiddler='sidebarSearch'></div>
			</div>
		</div>
		<div macro="showWhen readOnly">		
			<div id='sidebarSearchRO' class='box' style='padding-bottom: 0.5em';>
				<div refresh='content' tiddler='SearchFormRO'></div>
			</div>
		</div>

		<div style='text-align: center; width: auto; margin-top: 1.5em; font-size: x-small; color: grey;'>busy tags:</div>
		<div id='tagcloud' macro='cloud -TagsNotInCloud'></div>
	</div>

     </div>

	<!-- RIGHT SIDEBAR -->
	<div id='rightBarTriggerbox' class='sidebarTriggerbox scaledBackground' style='float: right; right: 0px; top: 3em; background-image: url("lichen2_small.png");'></div>

     <div id='rightBarWrapper' class='fluidSidebarWrapper' style='right: 0px; top: 3em;' data-side='right' data-savedWidth='0px' data-savedHeight='0px'>

	<div id='rightBar' class='sidebar' style='width: 0px; display: none;'>
		<div id='TRSbox' class='lockButton' macro='sidebarLock' style='width: 1em; margin-left: auto; margin-right: auto;'></div>
		<!-- tsBoxSidebarTools -->
		<div macro="hideWhen readOnly">
			<div id='sidebarTools' class='box' refresh='content' force='true' tiddler='CSidebarTools' style='text-align: center;'></div>
		</div>
		<!-- tsBoxSidebarTabs -->		
		<div id='sidebarTabs' class='box' refresh='content' force='true' tiddler='CSideBarTabs'></div>
	</div>

     </div>

	


	<!-- tsColDisplayArea -->
	<div id='displayArea' style='position: absolute;'>
		<!-- tsBoxMessageArea -->		
		<div id='messageArea' class='box'></div>

		<!-- tsBoxBreadCrumbs -->		
		<div id='breadCrumbs' class='breadCrumbs box'></div>

		<!-- tsBoxTiddlersBar -->		
		<div id='tiddlersBar' refresh='none' ondblclick='config.macros.tiddlersBar.onTiddlersBarAction(event)'></div>

		<!-- tsBoxTiddlerDisplay -->		
		<div id='tiddlerDisplay' class='box'>
			<script type="text/javascript">
				config.macros.tiddlersBar.fitTiddlerDisplay();
			</script>
		</div>
	</div>


</div>	<!-- row -->





<!--}}}-->
!ViewTemplate
<!--{{{-->


<!-- tsVT_NEUIem -->

<div class='dp100 clearfix'>
	<!-- tsVT_toolbar -->
	<div class='dp100' style="height: 24px;">
		<!-- tsBoxVT_FollowPlaceHolder -->		
		<div macro="showWhen !readOnly" style="margin-top: -11px;">
			<div class='followPlaceHolder box' style='position: static; float: left;' macro='followTiddlersButton'>
			<span macro="view title replyLink"></span>
			</div>
		</div>

		<!-- tsBoxVT_Toolbar -->
		<div macro="showWhen !readOnly">		
			<div class='box toolbar dpfr' macro='toolbar [[ToolbarCommands::ViewToolbar]] icons:yes' style="margin-top: 0px; margin-right: -11px;"></div>
		</div>
		<div macro="showWhen readOnly">		
			<div class='box toolbar dpfr' macro='toolbar [[ToolbarCommandsPublic::ViewToolbar]] icons:yes' style="margin-top: -11px; margin-right: -11px;"></div>
		</div>
	</div>

	<!-- tsVT_leftCol -->
	<div class='dp10'>
		<!-- tsBoxVT_SiteIcon -->
		<div macro="showWhen !readOnly">		
			<div class='box spaceSiteIcon' macro='tiddlerOrigin label:yes height:48 width:48'></div>
		</div>

		<!-- State/UC Icon -->
		<div macro="showWhen tiddler.tags.containsAny(['content','UC','Under construction'])">
			<div class="box" macro="tiddler StateIconTiddler" height=50 width=50></div>
		</div>

		<!-- BoxVT_Calendar -->
		<div macro="hideWhen tiddler.isTagged('nodate')">		
		<div class='box vm_calendar' macro='viewRevisions page:5' alt="Last revision date - Click for more" title="Last revision date - Click for more">
			<div class='vm_month' macro='view modified date mmm'></div>
			<div class='vm_date' macro='view modified date 0DD'></div>
			<div class='vm_year' macro='view modified date YYYY'></div>
			<!-- div class='time' macro='view modified date 0hh:0mm'></div  -->
		</div>
		</div>

		<!-- BoxVTts_tagged -->		
		<div class='box tagged' macro='tags'></div>
		<div macro="hideWhen readOnly===true">
			<div class='box' macro='tiddler CTagBox'></div>
		</div>
	</div>

	<!-- tsViewTemplate -->
	<div class='dp90'>
		<!-- horizontal separator line -->
		<div style='height: 2px; border-top: 1px solid [[ColorPalette::PrimaryMid]];'></div>

		<!-- tsBox_concertina -->		
		<div class='box concertina clear'></div>

		<!-- tsBoxVT_Body -->		
		<div class='box content'>
			<div class='viewer' macro='view text wikified'></div>
			<div class='viewer' macro='showWhenTagged content'>

<!-- ***** BEGIN CONTACT FORM ***** -->

<br><div style="height: auto; font-style: italic; font-size:small; border-top: 1px dotted darkslategrey; padding-bottom: 10px; overflow: auto;">

	<div style="float: left; padding-top: 10px; padding-left: 3px; margin-right: 10px;">Share your opinion - send a tablet: </div>
	<img id="tabletLink1" class="tabletLink"  src="claytablet_small.png" style="float: left; padding-top: 5px; cursor: pointer;" onclick="jQuery('#'+this.id.slice(0,-12)+'-contactform').slideToggle('slow');"></img>
	<div style="position: absolute; right: 15px; font-style: normal; font-family: 'courier', monospace; margin-right: 3px;"><a onclick="story.displayTiddler(null,'Talking to ve minra'); jQuery('#tiddlerDisplay').show(); return false;" href="javascript:;" alt="How does this work? Talking to ve minra">¿How does this work?</a></div>

</div>
			
<div id="contactform" class="contactform" style="display: none;">

<!-- Form target/method handled by jQuery's .post (see below) -->
<form id="form" class="form">

<label class="name">Name<br /><input class="text" name="name" type="text" /><br /></label>

<label class="email">E-mail address<br /><input class="text" name="email" type="text" /><br /></label>

<label class="subject">Subject<br /><input class="text" name="subject" type="text" id="theSubject" /><br /></label>

<label class="msg">Message<br /><textarea class="text" name="msg" style="height: 115px;"></textarea><br /></label>

<input type="hidden" name="browser_check" value="false" />

<div style="width: 300px; height: 80px; position: relative;">

	<img id="captcha" class="captchaImage" src="http://kosmaton.bplaced.net/veminra/securimage/securimage_show.php" alt="CAPTCHA Image" style="position: absolute; left: 15px; top: 10px; border: 3px double gainsboro;" />

	<object alt="Listen to captcha code" title="Listen to captcha code" width="32" height="32" style="position: absolute; left: 210px; top: 10px;" type="application/x-shockwave-flash" data="http://dl.dropbox.com/u/8334322/securimage_play.swf?audio=http://kosmaton.bplaced.net/veminra/securimage/securimage_play.php&amp;bgColor1=#ddd&amp;bgColor2=#fff&amp;iconColor=#f55&amp;borderWidth=1&amp;borderColor=#f00">
		<param name="movie" value="http://dl.dropbox.com/u/8334322/securimage_play.swf?audio=/securimage/securimage_play.php&amp;bgColor1=#ddd&amp;bgColor2=#fff&amp;iconColor=#f55&amp;borderWidth=1&amp;borderColor=#f00" />
	</object>

	<div style="position: absolute; left: 251px; top: 10px; width: 30px; height: 30px; background-color: white; color: darkgreen; border: 1px solid black; text-align: center;">
		<a id="newButton" href="javascript:;" title="Get a new code" style="font-size: x-large; font-style:normal; line-height: 30px;">♻</a>
	</div>
	<input class="text" type="text" name="captcha_code" maxlength="6" style="width: 80px; text-align: center;  position: absolute; left: 202px; top: 48px;" />

</div>
<div style='font-size: 77%; margin-bottom: 6px; margin-left:20px; color: DarkSlateGray'>Requires browser cookies enabled (temporarily)</div>
<input id="chkbx" type="checkbox" name="selfcopy" checked="checked" value="yes" style="margin-left:15px;" /><label id="chkbxLabel" style="color: black;">Send a copy to yourself? </label>
<a id="submitbutton" class="submitbutton" href="javascript:;">Submit</a>

</form>
<div id='responseDiv' class='responseDiv' style='width: 300px; height: 30px; display: none; background-color: rgba(239, 234, 150, 0.7); margin: 17px 15px 0 0; padding: 6px; -moz-border-radius:15px; -webkit-border-radius:15px; border-radius:15px;'></div>

</div>

<!-- note: javascript (FormScript) transcluded right at the end of ViewTemplate -->
<!-- ***** END CONTACT FORM ***** -->

<div macro="NrOfTwins" style="height: auto; font-style: italic; font-size:small; border-top: 1px dotted darkslategrey; padding-bottom: 20px; overflow: auto;">
</div>

<div id='othersSay' style="display: none; padding-bottom: 20px;" macro='tsScan {{tiddler.title}} fat:y template:"TEMPLATES##scanComment" query:"select=bag:!veminra_public" '></div>

			</div>

		</div>

		<!-- tsBoxVT_TagglyTaggingFooter -->
		<div macro="hideWhen readOnly===true">
			<div class="box tagglyTagging" macro="tagglyTagging"></div>
		</div>
		<!-- tsBox_StoryGlue -->		
		<div class='box storyGlue' macro='storyGlue fsStory ACTIVESTORY'></div>
	</div>

	<span class="hide" macro='tiddler "fitTiddlerDisplayScript"'></span>

</div>

<div macro='showWhenTagged content'>
	<div macro='FormScript'></div>
</div>

<!-- row -->

<!--}}}-->
!EditTemplate
<!--{{{-->


<!-- tsET_NEUIem -->
<div class='dp100 clearfix'>
	<!-- tsEditTemplate -->
	<div class='dp100'>

		<div class='dp100'>
			<!-- BoxET_tsEditToolbar -->
			<div macro="showWhen !readOnly">		
				<div class='box toolbar dpfr' macro='toolbar [[ToolbarCommands::EditToolbar]] icons:yes'></div>
			</div>
			<div macro="showWhen readOnly">		
				<div class='box toolbar dpfr' macro='toolbar [[ToolbarCommandsPublic::EditToolbar]] icons:yes'></div>
			</div>

			<!-- BoxET_tsSetPrivate -->		
			<div class="box dpfr privacyEdit" macro='setPrivacy label:no interactive:yes'></div>
			<div class='box dpfr editSpaceSiteIcon'	macro='tiddlerOrigin height:25 width:25 label:no interactive:no'></div>

			<!-- BoxET_tsEditTitle -->		
			<div class='box editor' macro='edit title' style='float: left;'></div>
			<div macro='annotations'></div>
		</div>

		<div macro='tiddler QuickEditToolbar with: show'></div>

		<!-- BoxET_tsTitle 		DISABLED
		<div class='box title' macro='view title'></div>  -->

		<!-- BoxET_tsEditBody -->		
		<div class='box editor' macro='edit text'></div>

		<!-- BoxET_tsTagging -->		
		<div class='box save editor' macro='edit tags'></div>

		<!-- BoxET_tsEditFooter -->		
		<div class='box editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser excludeLists'></span></div>
	</div>

</div>	<!-- row -->

<!--}}}-->
!RevisionTemplate
<!--{{{-->


<!-- tsRT_NEUIem -->
<div macro='slideRevision'></div>
<div class='dp100 clearfix'>
	<!-- tsRT_toolbar -->
	<div class='dp100'>
		<!-- tsBoxVT_FollowPlaceHolder -->		
		<div class='followPlaceHolder' macro='followTiddlers'>
			<span macro="view title replyLink"></span>
		</div>

		<!-- tsBoxRT_Toolbar -->
		<div macro="hideWhen readOnly">
			<div class='box toolbar' macro='toolbar [[ToolbarCommands::RevisionToolbar]] icons:yes'></div>
		</div>
	</div>

	<!-- tsVT_leftCol -->
	<div class='dp10'>
		<!-- tsBoxVT_SiteIcon -->		
		<div class='box spaceSiteIcon' macro='tiddlerOrigin label:yes height:48 width:48'></div>

		<!-- BoxVT_Calender -->		
		<div class='box calendar' macro='viewRevisions page:5'>
			<div class='month' macro='view modified date mmm'></div>
			<div class='date' macro='view modified date 0DD'></div>
			<!-- div class='time' macro='view modified date 0hh:0mm'></div  -->
		</div>

		<!-- BoxVTts_tagged -->		
		<div class='box tagged' macro='tags'></div>
		<div macro="hideWhen readOnly">
			<div class='box' macro='tiddler CTagBox'></div>
		</div>
	</div>

	<!-- tsViewTemplate -->
	<div class='dp90'>
		<!-- tsBox_ModifierIcon -->		
		<div class='box modifierIcon dpfr'
			macro='view modifier SiteIcon label:yes height:48 width:48 labelPrefix:"modified by "'>
		</div>

		<!-- tsBoxVT_Title -->		
		<div class='titleContainer'>
			<div class='box title' macro='view title'></div>
		</div>

		<!-- tsBox_concertina -->		
		<div class='box concertina clear'></div>

		<!-- tsBoxVT_Body -->		
		<div class='box content'>
			<div class='viewer' macro='view text wikified'></div>
		</div>

		<!-- tsBoxVT_TagglyTaggingFooter -->		
		<div class="box tagglyTagging" macro="tagglyTagging"></div>

		<!-- tsBox_StoryGlue -->		
		<div class='box storyGlue' macro='storyGlue fsStory ACTIVESTORY'></div>
	</div>
</div>	<!-- row -->

<!--}}}-->
!StyleSheet
/*{{{*/
Version: 1.0 - 2010.08.12

/*****************************************************/
/*-- some simple rules to change the global layout --*/
/*-- margin should not be uses for row, col, box   --*/
/*-- margin is used to adjust special elements     --*/
/*-- The layout doesn't allow padding-left/right or margin-left/right ! for rows and cols --*/
.row {
	margin: 0;
	padding: 0;
	margin-top: 0.5em;
}

/*-- The layout doesn't allow padding-left/right or margin-left/right ! for rows and cols --*/
/*-- col is not assigned to layout yet --*/
.col {
	margin: 0;
	padding: 0;
}

/*-- if you want more space between 2 columns use box 2nd and 4th parameter. --*/
/*-- boxes must have padding-bottom: 0; !! --*/
.box {
	margin: 0;
	padding: 0.5em 0.5em 0 0.5em;
}

/* general stuff */
.noBullets ul {
	list-style:none;
}

.noNumbers ol {
	list-style:none;
}

.noBr br {
	display: none;
}

/* prefer monospace for editing */
.editor textarea, .editor input {
	font-size: 90%; 
	font-family: [[FontPalette::twEditor]], 'Courier New', monospace; 
	background-color:[[ColorPalette::TertiaryPale]];
}


/*-- emastic System --*/
[[EmasticSystem]]

/*-- theme specific stuff --*/
[[StyleSheet_neui-em]]

/*-- triptych-specific (added by Kosmaton) --*/
[[StyleSheetTriptych]]

/*-- call the standard StyleSheet --*/
[[StyleSheet]]

/*}}}*/
/*{{{*/
.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;
	}
}
/*}}}*/
ColorPalette
StyleSheet
SiteSubtitle
GettingStarted
SiteTitle
MainMenu
SiteIcon
DefaultTiddlers
ViewTemplate
PageTemplate
SideBarOptions
EditTemplate
SiteInfo
SideBarTabs
ToolbarCommands
<<tiddler SidebarButtons>>
/%<<closeAll>><<permaview>><<newTiddler>><<newJournal 'YYYY, DD MMM'>>
%/
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
In //Settings > Plugins// , Piwik lets you customise which information is tracked and how it is presented. Some suggestions to respect your visitors' privacy by forgoing any visible ~IP-based identification:

__Activate__:
*~AnonymizeIP

__Deactivate__:
*Live
*Provider
//arguably only mildly privacy-unfriendly://
*~VisitFrequency
*Referers
*~UserCountry
*~UserCountryMap
*~UserSettings

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="29pt" viewBox="13 43 29 29" width="29pt" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" onclick="if(jQuery) jQuery(document).trigger('cNewJournal', {elem:this, comp:{menue:1}})" onmousedown="if(jQuery) jQuery(document).trigger('cSmaller', {elem:this, comp:{animations:1}})" onmouseup="if(jQuery) jQuery(document).trigger('cResize', {elem:this, comp:{animations:1}})" title="Create a new tiddler from the current date and time">
 <metadata id="metadata14">
  <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:rights>
     <cc:Agent>
      <dc:title>http://creativecommons.org/licenses/by-nc-sa/3.0/at/</dc:title>
     </cc:Agent>
    </dc:rights>
    <dc:source>http://iconbuilder.tiddlyspace.com</dc:source>
    <dc:creator>
     <cc:Agent>
      <dc:title>Mario Pietsch</dc:title>
     </cc:Agent>
    </dc:creator>
   </cc:Work>
  </rdf:RDF>
 </metadata>
 <defs id="defs_bBgTrans">
 <linearGradient id="linearGradient001" y2="27.646" gradientUnits="userSpaceOnUse" x2="-45.8" y1="27.646" x1="-57.66">
   <stop id="stop1" stop-color="#6BB546" offset="0"/>
   <stop id="stop2" stop-color="#B5DAA2" offset="0.66462"/>
   <stop id="stop3" stop-color="#6BB546" offset="1"/>
  </linearGradient></defs>
<g id="icon">
 <rect id="iconBG" stroke="#696969" ry="4.1663" transform="matrix(0,-1,1,0,0,0)" height="25" width="25" y="15.167" x="-70.116" stroke-width="1.2" fill="none" class="showBG"/>
 <rect id="iconFG" stroke-width="0" fill-rule="evenodd" ry="2.3755" transform="matrix(0,-1,1,0,0,0)" width="22" y="16.646" x="-68.6" height="22" fill="url(#linearGradient001)" class="showFG"/>
<g id="iconSymbol" stroke-linejoin="miter" stroke="#4d4d4d" stroke-linecap="round" stroke-miterlimit="4" stroke-dasharray="none" fill="none" class="showSY">
  <path d="m21.763,50.448,8.4828-0.000001,0,3.5274,3.2858,0,0,11.126-11.769,0z" stroke-width="1.60000002"/>
  <path d="m30.795,50.25,2.8355,2.9981" stroke-width="1.28512716"/>
  <path d="m-19.945,14.462a3.0439,3.0439,0,1,1,-6.0877,0,3.0439,3.0439,0,1,1,6.0877,0z" transform="matrix(1.1526536,0,0,1.1526536,54.173325,42.898189)" stroke-width="1.04107594"/>
  <path d="m27.754,57.974,0,2.0218" stroke-width="1.20000005"/>
  <path d="m25.834,57.588,1.8711,2.3837" stroke-width="1.20000005"/>
 </g>
 <rect id="overlay" stroke="#696969" opacity="0" ry="4.1663" transform="matrix(0,-1,1,0,0,0)" height="25" width="25" y="15.167" x="-70.116" stroke-width="1.2" class="showOV"/>
</g>
</svg>
Various languages including English have an unfortunate and absolutely omnipresent expression. In English it has a number of varieties, from {{hooky2{//How do you do?//}}} to //Y'alrite?// and then some. 

I am talking about the case when this is used as //hello//. Alas, it is being very twisted about its intentions. Saying hello is aknowledging another person's presence. [[According to Wikipedia|https://secure.wikimedia.org/wikipedia/en/wiki/Hello]] it derives etymologically from simple calls for attention. In contrast, saying //How are you?// while meaning //hello// is pretending to care about someone when you may very well not care at all.

This may seem far-fetched. //That's just how we say it, it's not meant literally...!// OK, but it is a particularly messed-up way to say it.

@@color:crimson;Consider that __how they are doing__ is one of the most important matters in life for most people. Certainly on a bad day. That makes the offhand usage of //How are you?// particularly twisted.@@ It is like calling your child 'Sunshine (But Not Really)'. It carries a reek of lie, indifference, disdain perhaps - even if that is not intentional or personal. It carries a reek of a twist in social mores, of politeness devoid of its noble potential. Of course there is the whole expectation of some bland, pseudo-macho answer: //fine// or //not too shabby// or //great!//; to the point that people will answer //fine// when, for a change and literally, you ask //What's up?// Fine is up? I was asking what is happening in your life!

Health-wish based greetings such as //salut// (informal French) or //Здравствуйте// (formal Russian) are nicer. Even if these too are usually used without literal intent, they do not pose a question that makes a mockery of things. French //ça va?// offends in a similar way as //y'alrite?// though. I am not sure how offhand Russian //как поживаешь?// is used.

It is all about the //usage// of the phrase. I would be keen to see a study of various languages and cultures and their take on this matter.


tag for tiddlers mainly presenting an external document (e.g. an article)
You can change the title and subtitle of your space, this will be visible to people visiting your space as well as being what is shown the browser tabs.  The content these are stored in two tiddlers, clicking on the links below will open up these tiddlers which you can edit to make changes.
* [[SiteTitle]]
* [[SiteSubtitle]]
<html><hr><html>
/***
|Name|HTMLFormattingPlugin|
|Source|http://www.TiddlyTools.com/#HTMLFormattingPlugin|
|Documentation|http://www.TiddlyTools.com/#HTMLFormattingPluginInfo|
|Version|2.4.1|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|embed wiki syntax formatting inside of HTML content|
The ~HTMLFormatting plugin allows you to ''mix wiki-style formatting syntax within HTML formatted content'' by extending the action of the standard TiddlyWiki formatting handler.
!!!!!Documentation
>see [[HTMLFormattingPluginInfo]]
!!!!!Configuration
<<<
Use {{{<hide linebreaks>}}} within HTML content to wiki-style rendering of line breaks.  To //always// omit all line breaks from the rendered output, you can set this option:
><<option chkHTMLHideLinebreaks>> ignore all line breaks
which can also be 'hard coded' into your document by adding the following to a tiddler, tagged with <<tag systemConfig>>
>{{{config.options.chkHTMLHideLinebreaks=true;}}}
<<<
!!!!!Revisions
<<<
2010.05.07 2.4.1 added chkHTMLHideLinebreaks option
| see [[HTMLFormattingPluginInfo]] for additional revision details |
2005.06.26 1.0.0 Initial Release (as code adaptation - pre-dates TiddlyWiki plugin architecture!!)
<<<
!!!!!Code
***/
//{{{
version.extensions.HTMLFormattingPlugin= {major: 2, minor: 4, revision: 1, date: new Date(2010,5,7)};

// find the formatter for HTML and replace the handler
initHTMLFormatter();
function initHTMLFormatter()
{
	for (var i=0; i<config.formatters.length && config.formatters[i].name!="html"; i++);
	if (i<config.formatters.length)	config.formatters[i].handler=function(w) {
		if (!this.lookaheadRegExp)  // fixup for TW2.0.x
			this.lookaheadRegExp = new RegExp(this.lookahead,"mg");
		this.lookaheadRegExp.lastIndex = w.matchStart;
		var lookaheadMatch = this.lookaheadRegExp.exec(w.source)
		if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
			var html=lookaheadMatch[1];
			// if <nowiki> is present, just let browser handle it!
			if (html.indexOf('<nowiki>')!=-1)
				createTiddlyElement(w.output,"span").innerHTML=html;
			else {
				// if <hide linebreaks> is present, or chkHTMLHideLinebreaks is set
				// suppress wiki-style literal handling of newlines
				if (config.options.chkHTMLHideLinebreaks||(html.indexOf('<hide linebreaks>')!=-1))
					html=html.replace(/\n/g,' ');
				// remove all \r's added by IE textarea and mask newlines and macro brackets
				html=html.replace(/\r/g,'').replace(/\n/g,'\\n').replace(/<</g,'%%(').replace(/>>/g,')%%');
				// create span, let browser parse HTML
				var e=createTiddlyElement(w.output,"span"); e.innerHTML=html;
				// then re-render text nodes as wiki-formatted content
				wikifyTextNodes(e,w);
			}
			w.nextMatch = this.lookaheadRegExp.lastIndex; // continue parsing
		}
	}
}

// wikify #text nodes that remain after HTML content is processed (pre-order recursion)
function wikifyTextNodes(theNode,w)
{
	function unmask(s) { return s.replace(/\%%\(/g,'<<').replace(/\)\%%/g,'>>').replace(/\\n/g,'\n'); }
	switch (theNode.nodeName.toLowerCase()) {
		case 'style': case 'option': case 'select':
			theNode.innerHTML=unmask(theNode.innerHTML);
			break;
		case 'textarea':
			theNode.value=unmask(theNode.value);
			break;
		case '#text':
			var txt=unmask(theNode.nodeValue);
			var newNode=createTiddlyElement(null,"span");
			theNode.parentNode.replaceChild(newNode,theNode);
			wikify(txt,newNode,highlightHack,w.tiddler);
			break;
		default:
			for (var i=0;i<theNode.childNodes.length;i++)
				wikifyTextNodes(theNode.childNodes.item(i),w); // recursion
			break;
	}
}
//}}}
@kosmaton's worldview space. See [[About]].


/***
|''Name:''|TiddlersBarPluginMP|
|''Description:''|A bar to switch between tiddlers through tabs (like browser tabs bar).|
|''Version:''|1.2.5|
|''Date:''|Jan 18,2008|
|''Source:''|http://visualtw.ouvaton.org/VisualTW.html|
|''Author:''|Pascal Collin, edited by Kosmaton Feb 2011|
|''License:''|[[BSD open source license|License]]|
|''~CoreVersion:''|2.1.0|
|''Browser:''|Firefox 2.0; InternetExplorer 6.0, others|
!Attention
This plugin contains some changings, at the end of the plugin marked with !!MP!!

!Demos
On [[homepage|http://visualtw.ouvaton.org/VisualTW.html]], open several tiddlers to use the tabs bar.
!Installation
#import this tiddler from [[homepage|http://visualtw.ouvaton.org/VisualTW.html]] (tagged as systemConfig)
#save and reload
#''if you're using a custom [[PageTemplate]]'', add {{{<div id='tiddlersBar' refresh='none' ondblclick='config.macros.tiddlersBar.onTiddlersBarAction(event)'></div>}}} before {{{<div id='tiddlerDisplay'></div>}}}
#optionally, adjust StyleSheetTiddlersBar
!Tips
*Doubleclick on the tiddlers bar (where there is no tab) create a new tiddler.
*Tabs include a button to close {{{x}}} or save {{{!}}} their tiddler.
*By default, click on the current tab close all others tiddlers.
!Configuration options 
<<option chkDisableTabsBar>> Disable the tabs bar (to print, by example).
<<option chkHideTabsBarWhenSingleTab >> Automatically hide the tabs bar when only one tiddler is displayed. 
<<option txtSelectedTiddlerTabButton>> ''selected'' tab command button.
<<option txtPreviousTabKey>> previous tab access key.
<<option txtNextTabKey>> next tab access key.
!Code
***/
//{{{
config.options.chkDisableTabsBar = config.options.chkDisableTabsBar ? config.options.chkDisableTabsBar : false;
config.options.chkHideTabsBarWhenSingleTab  = config.options.chkHideTabsBarWhenSingleTab  ? config.options.chkHideTabsBarWhenSingleTab  : false;
config.options.txtSelectedTiddlerTabButton = config.options.txtSelectedTiddlerTabButton ? config.options.txtSelectedTiddlerTabButton : "closeOthers";
config.options.txtPreviousTabKey = config.options.txtPreviousTabKey ? config.options.txtPreviousTabKey : "";
config.options.txtNextTabKey = config.options.txtNextTabKey ? config.options.txtNextTabKey : "";
config.macros.tiddlersBar = {
	tooltip : "see ",
	tooltipClose : "click here to close this tab",
	tooltipSave : "click here to save this tab",
	promptRename : "Enter tiddler new name",
	currentTiddler : "",
	previousState : false,
	previousKey : config.options.txtPreviousTabKey,
	nextKey : config.options.txtNextTabKey,	
	tabsAnimationSource : null, //use document.getElementById("tiddlerDisplay") if you need animation on tab switching.
	handler: function(place,macroName,params) {
		var previous = null;

		/* -- insert some button tabs -- */
		if (config.macros.tiddlersBar.currentTiddler){
			createTiddlyButton(place,'⇵','Toggle display',config.macros.tiddlersBar.toggleTiddlerDisplay,'tab tabUnselected');
			/* createTiddlyButton(place,'↹','Fit display to sidebars',config.macros.tiddlersBar.fitTiddlerDisplay,'tab tabUnselected'); */
			createTiddlyButton(place,'♻','Permaview (store current tiddler story in browser URL bar)',function(){story.permaView();},'tab tabUnselected');
			createTiddlyButton(place,'✗','Close all tiddlers',config.macros.tiddlersBar.closeAllTabTiddlers,'tab tabUnselected');
		}
		/* ----------------------------- */

		if (config.macros.tiddlersBar.isShown())
			story.forEachTiddler(function(title,e){
				if (title==config.macros.tiddlersBar.currentTiddler){
					var d = createTiddlyElement(null,"span",null,"tab tabSelected");
					config.macros.tiddlersBar.createActiveTabButton(d,title);
					if (previous && config.macros.tiddlersBar.previousKey) previous.setAttribute("accessKey",config.macros.tiddlersBar.nextKey);
					previous = "active";
				}
				else {
					var d = createTiddlyElement(place,"span",null,"tab tabUnselected");
					var btn = createTiddlyButton(d,title,config.macros.tiddlersBar.tooltip + title,config.macros.tiddlersBar.onSelectTab);
					btn.setAttribute("tiddler", title);
					if (previous=="active" && config.macros.tiddlersBar.nextKey) btn.setAttribute("accessKey",config.macros.tiddlersBar.previousKey);
					previous=btn;
				}
				var isDirty =story.isDirty(title);
				var c = createTiddlyButton(d,isDirty ?"!":"x",isDirty?config.macros.tiddlersBar.tooltipSave:config.macros.tiddlersBar.tooltipClose, isDirty ? config.macros.tiddlersBar.onTabSave : config.macros.tiddlersBar.onTabClose,"tabButton");
				c.setAttribute("tiddler", title);
				if (place.childNodes) {
					place.insertBefore(document.createTextNode(" "),place.firstChild); // to allow break line here when many tiddlers are open
					place.insertBefore(d,place.firstChild); 
				}
				else place.appendChild(d);
			})
	}, 
	refresh: function(place,params){
		removeChildren(place);
		config.macros.tiddlersBar.handler(place,"tiddlersBar",params);
		if (config.macros.tiddlersBar.previousState!=config.macros.tiddlersBar.isShown()) {
			story.refreshAllTiddlers();
			if (config.macros.tiddlersBar.previousState) story.forEachTiddler(function(t,e){e.style.display="";});
			config.macros.tiddlersBar.previousState = !config.macros.tiddlersBar.previousState;
		}
	},
	isShown : function(){
		if (config.options.chkDisableTabsBar) return false;
		if (!config.options.chkHideTabsBarWhenSingleTab) return true;
		var cpt=0;
		story.forEachTiddler(function(){cpt++});
		return (cpt>1);
	},
	selectNextTab : function(){  //used when the current tab is closed (to select another tab)
		var previous="";
		story.forEachTiddler(function(title){
			if (!config.macros.tiddlersBar.currentTiddler) {
				story.displayTiddler(null,title);
				return;
			}
			if (title==config.macros.tiddlersBar.currentTiddler) {
				if (previous) {
					story.displayTiddler(null,previous);
					return;
				}
				else config.macros.tiddlersBar.currentTiddler=""; 	// so next tab will be selected
			}
			else previous=title;
			});		
	},
	onSelectTab : function(e){
		var t = this.getAttribute("tiddler");
		if (t) story.displayTiddler(null,t);
		return false;
	},
	onTabClose : function(e){
		var t = this.getAttribute("tiddler");
		if (t) {
			if(story.hasChanges(t) && !readOnly) {
				if(!confirm(config.commands.cancelTiddler.warning.format([t])))
				return false;
			}
			story.closeTiddler(t);
		}
		return false;
	},
	onTabSave : function(e) {
		var t = this.getAttribute("tiddler");
		if (!e) e=window.event;
		if (t) config.commands.saveTiddler.handler(e,null,t);
		return false;
	},
	onSelectedTabButtonClick : function(event,src,title) {
		var t = this.getAttribute("tiddler");
		if (!event) event=window.event;
		if (t && config.options.txtSelectedTiddlerTabButton && config.commands[config.options.txtSelectedTiddlerTabButton])
			config.commands[config.options.txtSelectedTiddlerTabButton].handler(event, src, t);
		return false;
	},
	onTiddlersBarAction: function(event) {
		var source = event.target ? event.target.id : event.srcElement.id; // FF uses target and IE uses srcElement;
		if (source=="tiddlersBar") story.displayTiddler(null,'New Tiddler',DEFAULT_EDIT_TEMPLATE,false,null,null);
	},
	createActiveTabButton : function(place,title) {
		if (config.options.txtSelectedTiddlerTabButton && config.commands[config.options.txtSelectedTiddlerTabButton]) {
			var btn = createTiddlyButton(place, title, config.commands[config.options.txtSelectedTiddlerTabButton].tooltip ,config.macros.tiddlersBar.onSelectedTabButtonClick);
			btn.setAttribute("tiddler", title);
		}
		else
			createTiddlyText(place,title);
	},
	toggleTiddlerDisplay : function() {
		jQuery('#tiddlerDisplay').slideToggle('slow');
	},
	fitTiddlerDisplay: function() {
		var wiDiv = document.getElementById("testWidthDiv");
		var w_all = wiDiv.offsetWidth;
		/*var w_all = jQuery(window).width();*/
		if (jQuery('#leftBarWrapper').hasClass('fixedSidebarWrapper'))
			var w_left = jQuery('#leftBarWrapper').width();
		else var w_left = 0;
		if (jQuery('#rightBarWrapper').hasClass('fixedSidebarWrapper'))
			var w_right = jQuery('#rightBarWrapper').width();
		else var w_right = 0;
		var w_free = w_all - w_left - w_right;
		var leftBorder_dA = w_left + 0.03*w_free;
		jQuery('#displayArea').css('left',leftBorder_dA+'px');
		jQuery('#displayArea').width(0.94*w_free);
			//console.log("fitted");
	},
	closeAllTabTiddlers: function() {
		jQuery('#tiddlerDisplay').show();
		story.closeAllTiddlers();
	}
}

story.coreCloseTiddler = story.coreCloseTiddler? story.coreCloseTiddler : story.closeTiddler;
story.coreDisplayTiddler = story.coreDisplayTiddler ? story.coreDisplayTiddler : story.displayTiddler;

story.closeTiddler = function(title,animate,unused) {
	if (title==config.macros.tiddlersBar.currentTiddler)
		config.macros.tiddlersBar.selectNextTab();
	story.coreCloseTiddler(title,false,unused); //disable animation to get it closed before calling tiddlersBar.refresh
	var e=document.getElementById("tiddlersBar");
	if (e) config.macros.tiddlersBar.refresh(e,null);
}

story.displayTiddler = function(srcElement,tiddler,template,animate,unused,customFields,toggle){
	story.coreDisplayTiddler(config.macros.tiddlersBar.tabsAnimationSource,tiddler,template,animate,unused,customFields,toggle);
	var title = (tiddler instanceof Tiddler)? tiddler.title : tiddler;  
	if (config.macros.tiddlersBar.isShown()) {
		story.forEachTiddler(function(t,e){
			if (t!=title) e.style.display="none";
			else e.style.display="";
		})
		config.macros.tiddlersBar.currentTiddler=title;
	}
	var e=document.getElementById("tiddlersBar");
	if (e) config.macros.tiddlersBar.refresh(e,null);
}

var coreRefreshPageTemplate = coreRefreshPageTemplate ? coreRefreshPageTemplate : refreshPageTemplate;
refreshPageTemplate = function(title) {
	coreRefreshPageTemplate(title);
	/*-- new --*/
	var e = document.getElementById("tiddlersBar");
	if (config.macros.tiddlersBar && e) config.macros.tiddlersBar.refresh(e);

// !!MP!! old prevents a theme, which has no div id=tiddlersBar from loading.
//old	if (config.macros.tiddlersBar && e) config.macros.tiddlersBar.refresh(document.getElementById("tiddlersBar"));
}

// !!MP!! removed this line because it causes a scroll to top if a popup opens.
// ensureVisible=function (e) {return 0}

config.shadowTiddlers.StyleSheetTiddlersBar = "/*{{{*/\n";
config.shadowTiddlers.StyleSheetTiddlersBar += "#tiddlersBar .button {border:0}\n";
config.shadowTiddlers.StyleSheetTiddlersBar += "#tiddlersBar .tab {white-space:nowrap}\n";
config.shadowTiddlers.StyleSheetTiddlersBar += "#tiddlersBar {padding : 0.5em 0.5em 2px 0.5em}\n";
config.shadowTiddlers.StyleSheetTiddlersBar += ".tabUnselected .tabButton, .tabSelected .tabButton {padding : 0 2px 0 2px; margin: 0 0 0 4px;}\n";
config.shadowTiddlers.StyleSheetTiddlersBar += ".tiddler, .tabContents {border:1px [[ColorPalette::TertiaryPale]] solid;}\n";
config.shadowTiddlers.StyleSheetTiddlersBar +="/*}}}*/";
store.addNotification("StyleSheetTiddlersBar", refreshStyles);

config.refreshers.none = function(){return true;}
config.shadowTiddlers.PageTemplate=config.shadowTiddlers.PageTemplate.replace(/<div id='tiddlerDisplay'><\/div>/m,"<div id='tiddlersBar' refresh='none' ondblclick='config.macros.tiddlersBar.onTiddlersBarAction(event)'></div>\n<div id='tiddlerDisplay'></div>");

//}}}
<!DOCTYPE HTML>
<html>
<body style="display:none">
topics: <ul id="topics"></ul>
<button id='addtopic'>add topic</button>
stream:
<ul id="stream"></ul>
<script type='text/javascript' src='/bags/common/tiddlers/jquery.js'></script>
<script type='text/javascript' src='/bags/tiddlyspace/tiddlers/chrjs'></script>
<script src="/twikifier.js" type="text/javascript" charset="utf-8"></script>
<script type='text/javascript'>
	$.ajaxSetup({
		beforeSend: function(xhr) {
			xhr.setRequestHeader("X-ControlView", "false");
		}
	});
	function renderTopic(topic) {
		var item = $("<li />").appendTo("#topics");
		$("<button class='show' />").text(topic).appendTo(item);
		$("<button class='delete'>x</button>").appendTo(item);
		return item[0];
	}
	var host =  '/';
	var space = "jon";
	var active_topics = [];
	var current_topic, offset;
	function renderTopics() {
		var topics = active_topics;
		$("#topics").empty();
		for(var i = 0; i < topics.length; i++) {
			var topic = topics[i];
			if(topic) {
				renderTopic(topic);
			}
		}
		$("body").show();
	}
	// Array Remove - By John Resig (MIT Licensed)
	Array.prototype.remove = function(from, to) {
		var rest = this.slice((to || from) + 1 || this.length);
		this.length = from < 0 ? this.length + from : from;
		return this.push.apply(this, rest);
	};

	var topicList = new tiddlyweb.Tiddler("Topics", new tiddlyweb.Bag(space + "_public", host));
	topicList.get(function(tid) {
			active_topics = tid.text.split("\n");
			renderTopics(active_topics);
			$("#topics .show:first").trigger("click");
		},
		function() {
			active_topics = ["tiddlyspace"];
			renderTopics(active_topics)
		}
	);
	$("#addtopic").click(function(ev) {
		var text = prompt("What topic would you like to watch?");
		if(active_topics.indexOf(text) === -1) {
			active_topics.push(text);
		}
		var el = renderTopic(text);
		topicList.text = active_topics.join("\n");
		topicList.put(function() {
			$("button.show", el).trigger("click");
		}, function() {
			alert("eek!")
		});
	});
	$("#topics .delete").live("click",function(ev) {
		var topic = $(".show", this.parentNode).text();
		active_topics.remove(active_topics.indexOf(topic));
		renderTopics();
		topicList.text = active_topics.join("\n");
		topicList.put(function() {}, function() {
			alert("eek!")
		});
	});
	w = createWikifier(window, jQuery, { host: host, container: "recipes/" + space + "_public" });
	$("#topics .show").live("click",function(ev) {
		var tag = $(this).text();
		current_topic = tag;
		offset = 0;
		$("#stream").empty();
		var search = new tiddlyweb.Search('tag:"' + tag + '" &fat=y', host);
		search.get(function(tiddlers) {
			for(var i = 0; i < tiddlers.length; i++) {
				var tiddler = tiddlers[i];
				var item = $("<li />").appendTo("#stream")[0];
				$("<h2 />").text(tiddler.title + ": ").appendTo(item);
				
				$("<div class='text' />").text(tiddler.text).appendTo(item);
				$("<div class='author' />").text(tiddler.modifier).appendTo(item);
			}
		}, function() {
			$("<li>no topics :-(</li>").appendTo("#stream");
		});
	});
	$(window).scroll(function(){
		if($(window).scrollTop() == $(document).height() - $(window).height()) {
			offset += 10;
			// find a way to get all tiddlers created before the ones above
			console.log("loadMore();");
		}
	});
</script>
</body>
</html>
/***
|Name|ImageMapPluginKos|
|Source|http://www.TiddlyTools.com/#ImageMapPlugin|
|Documentation|http://www.TiddlyTools.com/#ImageMapPluginInfo|
|Version|1.2.2|
|Author|Eric Shulman|
|Edited by|Kosmaton|
|''NOTE''|''This is a toned-down version; the original plugin has more functions! Please check Source.''|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|apply image maps ('hotspots') with links to tiddlers|
!!!!!Documentation
>see [[ImageMapPluginInfo]]
!!!!!Revisions
<<<
2009.05.27 [1.2.2] improved autoscroll for {{{<<mapMaker>>}}} textarea
2009.05.14 [1.2.1] added cursor changes
see [[ImageMapPluginInfo]] for additional revision details
2009.05.09 [1.0.0] initial release
<<<
!!!!!Code
***/
//{{{
config.macros.mapMaker= {
	handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		var img=place.lastChild; // image element must immediately precede macro
		if (!img||img.nodeName!='IMG') return;
		img.onmousemove=function(ev){ ev=ev||window.event;
			var mX=!config.browser.isIE?ev.pageX:(ev.clientX+findScrollX());
			var mY=!config.browser.isIE?ev.pageY:(ev.clientY+findScrollY());
			var ta=this.nextSibling.getElementsByTagName('textarea')[0];
			var lines=ta.value.split('\n'); var last=lines.length?lines.length-1:0;
			var vals=lines[last].split(','); vals.pop(); vals.pop(); lines[last]=vals.join(',');
			lines[last]+=(lines[last].length?',':'')+(mX-findPosX(this))+','+(mY-findPosY(this));
			ta.value=lines.join('\n');
			ta.scrollTop=ta.scrollHeight-ta.offsetHeight+this.emH*2;
			ta.scrollLeft=lines[last].length*this.emW-ta.offsetWidth;
			ta.focus();
		};
		img.onmouseout=function(ev){ ev=ev||window.event;
			var ta=this.nextSibling.getElementsByTagName('textarea')[0];
			var lines=ta.value.split('\n'); var last=lines.length?lines.length-1:0;
			var vals=lines[last].split(','); vals.pop(); vals.pop(); lines[last]=vals.join(',');
			ta.value=lines.join('\n');
			ta.scrollTop=ta.scrollHeight-ta.offsetHeight+this.emH*2;
			ta.scrollLeft=lines[last].length*this.emW-ta.offsetWidth;
		};
		img.onmouseover=img.onclick=function(ev) { ev=ev||window.event;
			var mX=!config.browser.isIE?ev.pageX:(ev.clientX+findScrollX());
			var mY=!config.browser.isIE?ev.pageY:(ev.clientY+findScrollY());
			var ta=this.nextSibling.getElementsByTagName('textarea')[0];
			ta.value+=(ta.value.length?',':'')+(mX-findPosX(this))+','+(mY-findPosY(this));
			var lines=ta.value.split('\n'); var last=lines.length?lines.length-1:0;
			ta.scrollTop=ta.scrollHeight-ta.offsetHeight+this.emH*2;
			ta.scrollLeft=lines[last].length*this.emW-ta.offsetWidth;
			ta.focus();
		}
		img.style.border='1px solid #999';
		img.style.cursor='crosshair';
		var map=params[0]||'';
		var s=createTiddlyElement(place,'div');
		s.style.height=s.style.width='1em';
		img.emW=s.offsetWidth; img.emH=s.offsetHeight; // get font metrics (for auto scrolling)
		s.style.height=s.style.width='';
		s.innerHTML+=
			'<textarea rows="8" style="display:block;clear:both;width:100%;" tiddler="'+map+'">'
			+store.getTiddlerText(map,'')
			+'</textarea>';
	}
}
//}}}
/*{{{*/
[[StyleSheetTiddlySpaceMp]]

[[StyleSheetMediaPrint]]
/*}}}*/
!UC
{{center{[img[Under construction|UCOrange.png][GState: Under construction]]}}}
!Solid
{{center{[img[Solid|solid_icon.png][GState: Solid]]}}}
!Liquid
{{center{[img[Liquid|liquid_icon.png][GState: Liquid]]}}}
!Gas
<html><img src='gas_icon.png' alt='Gas' title='Gas' onclick="story.displayTiddler(null,'GState: Gas');" style="cursor: pointer; height: 84px; width: 85px; position: relative; left: 50%; margin-top: -12px; margin-left: -42px; margin-bottom: -12px;"></div></html>
!Plasma
{{center{[img[Plasma|plasma_icon.png][GState: Plasma]]}}}
!dummy
[tag[default]]
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
<!--{{{-->
<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>
<!--}}}-->
{{center{{{hooky2{{{realbig{Horse Noocracy}}}

//A wild & semi-practical pamphlet//}}}}}}
{{normal{{{sectionTOC{}}}}}}
!Prelude

{{indent{//It is time that we, humans, wean ourselves off of the sedentary lifestyle.//}}}

This is not a fact. It is a hunch: something worth exploring. Even if the above is not true, perhaps it //is// time to //think// about it.

The usual story is that our prehistoric ancestors were nomads; later they settled down. Presumably those earliest folks did not wander all over the place, but stuck to ranges for foraging etc., at least for a while. The distribution of limited resources (prey, shelter) imposes a certain territoriality, an 'ambulant sedentism' of sorts. Our forebears, spread over the globe, must have gone through various levels and variants of such sedentism and true nomadism. Whatever the details of that picture, there is no doubt that more radical sedentarisation was a crucial step in the development of humanity, perhaps for better //and// for worse. Historians and anthropologists have dug up the story. There are copious details of numerous early city-states, feudal empires, and 21st-century nation-state megapoleis. The trend in all those details is a gradual increase in efficacy of resource exploitation. You cannot very well exploit a deposit of ore if you are always on the move. This increase has been driven at the base by human reproductive drive, with higher-level motivations more or less derived from that.

!First movement: Guts (//andante//)

We will get back to this line of thought shortly but here is a small story. It is in the grand old tradition of student bar talk. Once upon a time [[Kosmaton]] was asked by [[a friend|http://noabysstocross.tumblr.com]] what in his view the ideal society would be like. This was not in some snotty-nosed spirit of revolution. It was closer to asking: what is your ideal pizza? Memory has failed, but it may have been in the context of the one friend being a libertarian of sorts, and a third a marxist of sorts, so that their pizzas differed clearly. Kosmaton's pizza may have seemed more ill-defined.

If the records are correct, the answer came after only brief consideration. It was not so much a rationally considered proposition as a honest translation of instincts mixed with pre-sedimented thought. Thus: there is no apology for lack of realism, or for huge gaps in the story. Time kills details and adds interlopers, but it must have been something like this:

<<<
!!!!! Original horsey idea
People can each live in their __own estate__, in pleasant natural settings, and spaced well apart. Setting out on foot from one's house (cabin or castlet as desired), one would think one lives in a primordial wilderness. There has been a great drive to get away from a "don't work, don't eat" economy, so that __leisure is the basis and work is a choice__. No 'protestant work ethic'. Survival-level production of goods is deeply automated and robotised, and quarantined in land away from the living spaces. Electronic __communication__ is widespread so that people stay in touch easily, and their social lives are to some extent virtualised. However in practice they also meet up at one another's places, for anything from very short terms (a party) to very long ones (a happy(!) family). But essentially, everybody can always fall back on their own personal 'estate'. (Some system of distribution of these estates must be in place, some market; but there should be plenty of choice, requiring among other things, a far lower world population than we have now.) The main modes of __transport__ between estates are trains or metros for long distances, and ''horses'' and bikes for shorter distances. There is a 'right of way' over estates. Automobile-like vehicles would be present but only when expedient, unless technology made them as unobtrusive as the other modes of transport. __Towns and cities__ would be transformed in regional hubs of activity where one can have things like larger-scale entertainment venues. This would also be heavily virtualised, so that from my VR-device in America I can attend a concert in Asia.
<<<

On the whole, we have a world without struggle for subsistence (have fun, create; do not toil), with great freedom of social aggregation //and// disaggregation (see [[Solve et coagula]]), and in line with the current sustainability craze.

As mentioned, this is a blurted-out, blurry perfect pizza proposal, where nectar and ambrosia are supposedly in the kitchen cupboard, cheap as chips. It is not a well-considered real-world recipe. It is just a quick stab even at a perfect pizza. For instance, //pleasant// is in the eye of the beholder, and in hindsight, let us allow for people to live in industrial wasteland settings etc. if that happens to be their thing. Yet it is not the point to pick this youthful recipe apart right now. The point is to take note of the type of ambrosia desired.

!Interlude (//adagio spiccato//): 'Horse'? 'Noocracy'? ¿What the deuce?

Many years later the same friend called Kosmaton's social program by the moniker 'horse liberalism'. //ve minra// happily reflects //horse//, but ditches //liberalism// (too many unwelcome connotations) in favour of //noocracy//. The ''horse'' sort of trots up as a symbol of the blend of 'naturalness' and technology. Once one's brain is sufficiently aware of the [[material, physical nature of life|Philosophical materialism]], it is easy and inoffensive to think of [[animals (including us) as machines|Life]] (of a peculiar kind, of course). Indeed with domestic animals there is even a real engineering aspect to them. One can thus appreciate something like a horse on a rational-technical level alongside a more emotional, instinctive level. And surely (oh well!) the grass-burning, self-healing, multi-gear horse is one hell of a piece of technology - as well as an illustrious and noble carrier of Winnetous of all kind. May it find a happy place in the sun alongside the solar choppers of the future! Plus, horses have a flair of //freedom//, with their manes and speed and roaming inclinations. While on an ontological level horse noocracy believes as little in [[free will]] as in Santa Claus or Jahweh, it does recognise the psychological need for people to feel free, and must try to accommodate this.

What is ''noocracy''? Literally it means something like 'government of wisdom' (less optimistically, 'power to the wise'). If Kosmaton's friends were something of a liberal and something of a marxist, he was really something of a technocrat. Certainly the pizza sketch above has a technically optimised economic background against which people can frolic, taking away much of the current need for political struggle. But technocracy carries such a stink of dull WASP men in lab coats calculating utility functions while outside half the world parties and the other half suffers! (It's an OK average.) While that stigma is not necessarily smart, there is something to say for //νους// as opposed to //τέχνη//, if the former implies smart questions about how //and why// as opposed to the singular geeky preoccupation with //how// of the latter. The term 'noocracy' is not perfect, for such reasons as:
# If we are to believe [[Wikipedia on this|https://secure.wikimedia.org/wikipedia/en/wiki/Noocracy]] then folks who have brandished 'noocracy' include [[Plato]], [[Vladimir Vernadski]] and [[Pierre Teilhard de Chardin]]. //ve minra// claims hardly any serious familiarity with these gentlemen; all three seem worth studying. But we would not want to seem guilty by association of feet-off-the-ground platonism, atom bomb endorsement, or ~Christ-as-Singularity mysticism, respectively. (The concept of [[noosphere]] seems vaguely interesting. But if it is just an information-centred synonym for 'culture', then let us keep it at that, and reduce the risk of [[waffle|Waffle (speech)]].)
# {{span{Technocracy is often accused of being antidemocratic. Its wiser brother noocracy would suffer the same fate. This is a debate for elsewhere, but there is some truth to it; yet it is hard to imagine, and maybe difficult to argue for, a democratic process extended not only to the 'what do we want?' but also the 'how shall we get it?' Thus //ve minra// sympathises with Frankel's "I don't trust any technocrat" to some extent, but sympathises more, and more deeply with Skinner (and Father Eugene here isn't an oaf either):

{{center{<html><object width = "512" height = "328" > <param name = "movie" value = "http://www-tc.pbs.org/video/media/swf/PBSPlayer.swf" > </param><param name="flashvars" value="video=1517564818&player=viral&end=0" /> <param name="allowFullScreen" value="true"></param > <param name = "allowscriptaccess" value = "always" > </param><param name="wmode" value="transparent"></param ><embed src="http://www-tc.pbs.org/video/media/swf/PBSPlayer.swf" flashvars="video=1517564818&player=viral&end=0" type="application/x-shockwave-flash" allowscriptaccess="always" wmode="transparent" allowfullscreen="true" width="512" height="328" bgcolor="#000000"></embed></object><p style="font-size:11px; font-family:Arial, Helvetica, sans-serif; color: #808080; margin-top: 5px; background: transparent; text-align: center; width: 512;">Watch the <a style="text-decoration:none !important; font-weight:normal !important; height: 13px; color:#4eb2fe !important;" href="http://video.pbs.org/video/1517564818" target="_blank">full episode</a>. See more <a style="text-decoration:none !important; font-weight:normal !important; height: 13px; color:#4eb2fe !important;" href="http://www.theopenmind.tv/" target="_blank">The Open Mind.</a></p></html>}}}
}}}
So, __in essence__: ratio (noocracy) and a sense of freedom (horses). It is the Enlightenment all over. But a different take.

!Second Movement: +Head (//vivace con brio//)

We started out with a brief, bold eulogy of nomadism, and then talked about a perfect pizza involving an estate for everyone. Where did the nomads go? Sure, the envisioned leisure society provides generous time for individuals or groups to move around. There is plenty of pretty space to roam on your horse or bike, while camping out or visiting friends. But there is always the estate to return to. It is semi-nomadic.

__Now let us burst the bubble__. The perfect pizza is not going to happen any time soon. Can we approach it here and now? In heavily urbanised areas in e.g. Western Europe, the answer seems a big, fat, in-your-face 'no'. The very patchwork of pretty estates is ludicrously unattainable. Only the upper classes live in something approaching the estate idea. But even they do not benefit from the open patchwork: they live on individual island patches in a quilt of overdevelopment. The less affluent in their unhealthy or (if lucky or industrious) merely banal housing are nowhere near the estate. Their commute to work - no choice - often even locks out any direct experience of what such a patchwork might be like, day in, day out (excluding, perhaps, holidays). It dulls hope. If you are not exceptionally rich you cannot have anything like the perfect pizza. And even if you are the lucky one, statistics say that most of your fellows will not be.

As for horses: they are a very inaccessible good. Most people do not have the money for them, nor the space, nor the time, nor the knowledge. Roads are hardly a heaven for bicycles (with notable exceptions); never mind hooved transport.

So what can you and I do? If you have a desk job, why don't you get yourself a good laptop, a good back-up tent, a good velomobile, and hit the road? Plenty of reasons, sure, but have a look anyway:

<<<
!!!!! Horse noocracy II (no horses, particularly)
* ([[direct link|http://kosmaton.bplaced.net/veminra/content/Horse%20Noocracy/Velodomus%20concept%20outline%20(Kosmaton).pdf]])
<html><div align="center"><iframe src="http://kosmaton.bplaced.net/veminra/content/Horse%20Noocracy/Velodomus%20concept%20outline%20(Kosmaton).pdf" frameborder="15" width=95% height="400"><p>It appears you don't have a PDF plugin for this browser. <a href="http://kosmaton.bplaced.net/veminra/content/Horse%20Noocracy/Velodomus%20concept%20outline%20(Kosmaton).pdf">Click here to download the PDF file.</a></p></iframe></div></html>
<<<

One can spend many a happy, productive day in the 'outside office':

{{center{[img[forest1|http://kosmaton.bplaced.net/veminra/content/Horse%20Noocracy/forest1.jpg]]
[img[forest2|http://kosmaton.bplaced.net/veminra/content/Horse%20Noocracy/forest2.jpg]]
}}}
But we here at //ve minra// confess: we have very little experience with living 'on the road'. But we need to be clear here. "First try the vagrant life for a year, then we'll talk!" That is not an answer to our confession. Horse noocracy is emphatically //not// about intentionally living a pariah life in the periphery. The ambition is to live __better__. It must be a life that will look //desirable// to people who are tied from their house to their office by a 9-to-5 causal chain, but who do not want to live rough 'n' dangerous.

Now the problem is, the structure/culture is not there at all. It must be feasible technically to build a velodomus-like vehicle. Suppose you did. Are you really going to be able to pull off the life it promises? Where exactly will you ride it - among the traffic? Would it not be handy if you could recharge the battery somewhere? If there were public showers? Where will you park it safely? What kind of attention will you get - only the friendly, admiring sort? Yeah?

Maybe you would manage, but it would be a survival game, played at the edges. Much like it is for the minority of people who today do live ambulant lives, be they Roma and kindred, alternativists of any type or age, or retired folks with a bit of money on the side looking to bring adventure back into their lives. There is plenty of stigma on the lifestyle, meshed but not coinciding with stigma due to low socio-economic status and associated real or imagined problems. They may have to live in covered-up vans so they attract neither the police nor thieves or worse. In less enlightened places they have to go through red tape and exasperatedly part with good money for an enforced camping spot or mooring. (There may be sound ecological reasons for it - and unsavoury or dumb ones too. But it still sucks to have to pay up and stick to the path because //others// reduced ecosystem viability to a rattling wheeze.)

So we are back to sedentarisation and nomads. Here is the take-home message.
{{red{Horse noocracy is by no means about going back to any of the purportedly squalid or at least unambitious aspects of nomadism. Instead it is a step beyond our current sedentism-based system. The latter has provided great advances; but among other evil moves, it has put the individual in a straight-jacket where most of the time one cannot even sit or stand where one desires. If only as a tribute to the masses who suffered to build, and still suffer to support, this (partly) industrialised, technological world of (some of) ours, let us consider what our guts really want and what our brains and technology can beautifully do about that.}}}

!Coda: Stop the myopic competition and the damn cancerous growth, already. (//grave con fuoco//)

The global view of things on this Earth is relatively recent. If it were not for that excuse, one would be truly baffled, in the face of wonderful calculations for bridges and stock markets, how pathetically humanity deals with population and resources. The diligent hands wielding compasses and signing contracts suddenly turn into coal shovels when the variables are population size, growth rate, and resources yield. [[It is a tremendous mess|Overpopulation]]. This blatant insanity continues (and may well be getting worse by the second) due to a lack of rational global take on the matter. In steering action, individual's gonads keep besting simple, universal, mathematical no-brainers. Consider that this is the result of [[a more-begets-more process|Evolution]] that does not care about anything at all. It leads certainly as easily to endless pools of blood as it leads to cuddling puppy scenes. Get a grip, humanity, or no-one in this galaxy will //ever// want to talk to us. And by humanity we mean every individual: You there!: try and stop being a petty selfish bastard, and try to create the structures that will give you the leisure to do so.


{{center{✤}}}

<<sectionTOC>>
/*{{{*/
Name:Automatic
Background: #e5f0e5
Foreground: #0e190f
PrimaryPale: #fcfdfc
PrimaryLight: #accfae
PrimaryMid: #4A6C4A
PrimaryDark: #000000
SecondaryPale: #fdfcfc
SecondaryLight: #cfacac
SecondaryMid: #a15d5c
SecondaryDark: #000000
TertiaryPale: #fcfcfd
TertiaryLight: #afaccf
TertiaryMid: #615ca1
TertiaryDark: #000000
/*}}}*/
/***
|''Name''|onWindowResizePlugin|
|''Description''|Adjusts screen elements on browser window resize in "triptych" theme|
|''Author''|Kosmaton|
|''Version''|0.1|
|''License''|[[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|''~CoreVersion''|2.5.3|
|''Type''|plugin|
!Code
***/
//{{{

(function ($) {

$(window).resize(function() {
	var maxHeight;
	if (config.options["txtUserMaxSidebarHeight"] == undefined
		|| config.options["txtUserMaxSidebarHeight"] > 100
		|| config.options["txtUserMaxSidebarHeight"] < 0)
		maxHeight = 0.85;
	else maxHeight = config.options["txtUserMaxSidebarHeight"]/100;

	// re-fit tiddlerDisplay width
	config.macros.tiddlersBar.fitTiddlerDisplay();
	// re-fit any fixed sidebars (w.r.t. to max-height)
	$('.fixedSidebarWrapper').css("max-height", maxHeight*$(window).height()+"px");
});

}) (jQuery);

//}}}
<<tiddler SiteInfo>>
/***
|''Name''|ActivityStreamPlugin|
|''Version''|0.5.4|
|''Description''|Provides a following macro|
|''Author''|Jon Robson|
|''Requires''|TiddlySpaceFollowingPlugin|
|''License''|[[BSD|http://www.opensource.org/licenses/bsd-license.php]]|
|''Source''|https://github.com/jdlrobson/TiddlyWiki/raw/master/plugins/TiddlySpaceInstaller/ActivityStreamPlugin.js|
!Usage
{{{<<activity>>}}}
!!Supressing activity
You can supress notifications by  id:
"plugin", "shadow", "standard", "follow", "followYou", "siteInfo", "siteIcon", "ownSiteIcon", "notify", "reply"
e.g. {{{ <<activity supress:siteIcon>> }}} will hide siteIcon activity from you.

!!Supressing people
{{{<<activity ignore:person}}} will ignore all activity where person is the subject of the activity. eg. person followed other-person will not appear in the feed.
!!Controlling displayed dates.
{{{<<activity timestampFormat:"<0hh o' clock>" headingFormat:"0DD/0MM" >>}}} will display date headings as date/month eg.
3rd of January would be displayed as 03/01. This particular timestamp example gives you the hour of the activity.

!!Even more content
{{{<<activity limit:no>>}}} will show you all possible activity in the last X days where X is set at a macro level (advanced developers should see config.macros.activity.RECENTNESS).
!StyleSheet

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

.feedItem .siteIcon {
	display: inline;
}

.activityStream .error {
	background-color: red;
	color: white;
	font-weight: bold;
}

.activityStream .feedItem {
list-style: none;
}

.activityStream .notification {
	background-color: yellow;
	color: black;
}

.activityStream .activityGroupTitle {
	font-weight: bold;
	margin-top: 8px;
}
.activityStream .feedItem {
	margin-left: 8px;
}
!Code
***/
//{{{
(function($) {
var name = "StyleSheetActivityStream";
config.shadowTiddlers[name] = store.getTiddlerText(tiddler.title +
     "##StyleSheet");
store.addNotification(name, refreshStyles);

var followMacro = config.macros.followTiddlers;
var tweb = config.extensions.tiddlyweb;
var tiddlyspace = config.extensions.tiddlyspace;
var scanMacro = config.macros.tsScan;

var modifierSpaceLink = "<<view modifier spaceLink>>";
var spaceTiddlyLink = "<<view server.bag spaceLink server.title>>";
var bagSpaceLink = "<<view server.bag spaceLink>>";
var bagSiteIcon = "<<view server.bag SiteIcon width:24 height:24 label:no preserveAspectRatio:yes>>";
var modifierSiteIcon = "<<view modifier SiteIcon width:24 height:24 label:no preserveAspectRatio:yes>>";
var timestamp = "[<<view modified date '0hh:0mm'>>]";
var replyLink = "<<view server.title replyLink>>";
config.shadowTiddlers.ActivityStreamTemplates = [
	"!notify\n%3 {{notification{%0 %1 has modified %2 in %0 %1 and flagged it for your attention!}}} %8\n",
	"!reply\n%3 {{notification{%0 %1 replied with %2 to your %4 %5 post.}}} %8\n",
	"!userSiteIcon\n%3 %6 %7 has a new ~SiteIcon.\n",
	"!spaceSiteIcon\n%3 %6 %7 updated the SiteIcon for the %0 %1 space.\n",
	"!image\n%3 %6 %7 drew the image %2 in the %1 space.\n",
	"!plugin\n%3 %6 %7 modified a plugin called %2 in the %0 %1 space.\n",
	"!shadow\n%3 %6 %7 modified a shadow tiddler %2 in the %0 %1 space.\n",
	"!geo\n%3 %6 %7 modified a geo tiddler called %2 in the %0 %1 space <<view title maplink 'view on map'>>. %8\n",
	"!followYou\n%3 %0 %1 is now following you.\n",
	"!follow\n%3 %0 %1 is now following %4 %5 <<view server.title link follow>>\n",
	"!siteInfo\n%3 %6 %7 <<view server.bag spaceLink server.title label:described>> the %0 %1 space.\n",
	"!video\n%3 %6 %7 modified a video entitled %2 in the %0 %1 space. %8\n",
	"!standard\n%3 %6 %7 modified %2 in the %0 %1 space. %8\n"
	].join("").format(bagSiteIcon, bagSpaceLink, spaceTiddlyLink, timestamp,
		"<<view server.title SiteIcon width:24 height:24 label:no preserveAspectRatio:yes>>", "<<view server.title spaceLink>>",
		modifierSiteIcon, modifierSpaceLink, replyLink);
story.refreshTiddler("ActivityStreamTemplates", null, true);
config.annotations.ActivityStreamTemplates = "This is a special tiddler used by the ActivityStreamPlugin. It is used for templating notifications. Templates at the top have preference over templates at the bottom.";

var macro = config.macros.activity = {
	default_limit: 50,
	templates: [],
	init: function() {
		var templates = [];
		var regex = new RegExp(/^!(.*)\n/gm);
		var text = store.getTiddlerText("ActivityStreamTemplates");
		var match = regex.exec(text);
		while(match) {
			templates.push(match[1]);
			match = regex.exec(text);
		}
		macro.templates = templates;
	},
	// order matters - earlier templates override older ones
	RECENTNESS: 2, // in days
	TIMESTAMP_FORMAT: "<0hh:0mm>",
	info: {},
	locale: {
		pleaseWait: "please wait while we load your stream...",
		errorLoading: "The activity stream failed to load. Please make sure you have an internet connection and try again.",
		userHeading: "Below is the activity stream for spaces that this space follows with the follow tag. (%0/%1 spaces have been loaded)",
		emptyStream: "Activity stream currently empty. (%0/%1 loaded)"
	},
	getTimeStamp: function() {
		var today = new Date();
		macro._lastRun = today.getTime();
		var previous = new Date(today.setDate(today.getDate() - macro.RECENTNESS));
		return previous.convertToYYYYMMDDHHMM();
	},
	handler: function(place, macroName, params, wikifier, paramString, tiddler) {
		var container = $("<div />").text(macro.locale.pleaseWait).appendTo(place).
			attr("refresh", "macro").attr("macroName", macroName).attr("paramString", paramString);
		var space = tiddlyspace.currentSpace.name;
		var options = macro.getOptions(paramString);
		$(container).attr("activity-limit", options.limit);
		macro._session = Math.random();
		var activityType;
		var sourceActivity = function(user) {
			macro.CURRENT_USER = user.name;
			macro.USER_AT_TAG = "@%0".format(user.name);
			followMacro.getFollowers(function(users) {
				macro.getActivity(container, users, activityType, options);
			}, macro.CURRENT_USER);
			container.attr("activity-type", activityType);
			macro._renderStream(container, activityType, options);
		};

		if(options.user) {
			sourceActivity({name: options.user});
		} else {
			sourceActivity({ name: tiddlyspace.currentSpace.name });
		}
	},
	getOptions: function(paramString) {
		var options = {};
		var args = paramString.parseParams("name")[0];
		var toMap = ["timestampFormat", "headingFormat", "limit", "user"];
		var i;
		for(i = 0; i < toMap.length; i++) {
			var map = toMap[i];
			options[map] = args[map] ? args[map][0] : false;
		}
		var supress = args.supress || [];
		var templates = [];
		var show = args.show ? args.show : macro.templates;
		for(i = 0; i < show.length; i++) {
			var template = show[i];
			if(supress.indexOf(template) === -1) {
				templates.push(template);
			}
		}
		options.ignore = args.ignore || [];
		options.templates = templates;
		return options;
	},
	_getActivityQuery: function(user, timestamp) {
		timestamp = timestamp || macro.getTimeStamp();
		if(user) {
			return "/bags/%0_public/tiddlers?select=modified:>%1".format(user, timestamp);
		} else {
			return false;
		}
	},
	refresh: function(container) {
		var type = $(container).attr("activity-type");
		var limit = $(container).attr("activity-limit");
		var options = macro.getOptions($(container).attr("paramString"));
		options.limit = parseInt(limit, 10);
		macro.renderStream(container, type, options);
	},
	getActivity: function(place, users, type, options) {
		var i;
		var timestamp = macro.activityTimestamp;
		var firstRun =  timestamp ? false : true;
		macro.info.loaded = firstRun ? 0 : macro.info.loaded;
		var afterAjax = function(tiddlers) {
			if(firstRun) {
				macro.info.loaded += 1;
			}
			macro.updateStream(tiddlers, type, options);
			macro.renderStream(place, type, options);
		};
		var success = function(tiddlers) {
			afterAjax(tiddlers);
		};
		var error = function() {
			afterAjax([]);
		};
		if(macro._lastRun > new Date().getTime() - 300000) { // leave 5 minutes between calls
			afterAjax([]);
			return;
		}
		macro.info.queries = users.length;
		for(i = 0; i < users.length; i++) {
			var user = users[i];
			ajaxReq({
				url: macro._getActivityQuery(user, timestamp),
				dataType: "json", success: success, error: error
			});
		}
		macro.activityTimestamp = new Date().convertToYYYYMMDDHHMM();
	},
	reportError: function(place) {
		var error = $("<div />").addClass("error").text(locale.errorLoading);
		$(place).empty().append(error);
	},
	createFeedEntry: function(container, tiddler, options) {
		var item = $("<li />").addClass("feedItem");
		var content = $("<div />").appendTo(item);
		var wikifyPlace = $("<span />").appendTo(content)[0];
		var author = tiddler.modifier;
		if(author && !options.ignore.contains(author)) {
			$(container).append(item);
			config.macros.view.views.activityItem(null, wikifyPlace, null, null, null, tiddler);
			return item;
		}
		return false;
	},
	renderStream: function(place, type, options) {
		window.clearTimeout(macro._renderTimeout);
		macro._renderTimeout = window.setTimeout(function() {
			macro._renderStream(place, type, options);
		}, 100);
	},
	_renderStream: function(place, type, options) {
		$(place).empty();
		var limit = options.limit;
		var container = $("<ul />").addClass("activityStream").appendTo(place);
		var textHeading = macro.locale.userHeading.format(macro.info.loaded, macro.info.queries);
		$("<li />").addClass("listTitle").text(textHeading).appendTo(container);
		var tiddlers = store.sortTiddlers(store.filterTiddlers("[server.activity[true]]"), "-modified"); // TODO: sort headings instead if possible (conflicts with limit)
		var headings = [];
		var groups = {};
		var processed = 0, i, j;
		var atEndOfActivityFeed = true;
		for(i = 0; i < tiddlers.length; i++) {
			var tiddler = tiddlers[i];
			if(options.templates.contains(tiddler.fields["server.activity.type"])) {
				if(!limit || processed < limit) {
					var modified = tiddler.modified;
					if(modified) {
						// format date.
						var modifiedString = modified.formatString(options.headingFormat || config.macros.timeline.dateFormat);
						if(headings.contains(modifiedString)) {
							groups[modifiedString].push(tiddler);
						} else {
							headings.push(modifiedString);
							groups[modifiedString] = [ tiddler ];
						}
					}
					processed += 1;
				} else {
					atEndOfActivityFeed = false;
				}
			}
		}
		var somethingRendered;
		for(i = 0; i < headings.length; i++) {
			var heading = headings[i];
			var _tiddlers = store.sortTiddlers(groups[heading], "-modified");
			var headingEl;
			if(_tiddlers.length > 0) {
				headingEl = $("<li />").addClass("listTitle activityGroupTitle").text(heading).appendTo(container);
			}
			var rendered = [];
			for(j = 0; j < _tiddlers.length; j++) {
				var item = macro.createFeedEntry(container, _tiddlers[j], options);
				if(item) {
					rendered.push(item);
				}
			}
			if(rendered.length === 0) {
				headingEl.remove();
			} else {
				somethingRendered = true;
			}
		}
		if(!somethingRendered) {
			var msg;
			if(macro.gotActivity) { // it has been run before
				msg = macro.locale.emptyStream.format(macro.info.loaded, macro.info.queries);
			} else {
				msg = macro.locale.pleaseWait;
			}
			$(container).text(msg);
		}
		if(!atEndOfActivityFeed) { // show more button
			$("<input />").attr("type", "button").val("more").click(function(ev) {
				var currentLimit = $(place).attr("activity-limit");
				var newLimit = parseInt(currentLimit, 10) + 50;
				macro.default_limit = newLimit;
				$(place).attr("activity-limit", newLimit);
				macro.refresh(place);
			}).appendTo(place);
		}
		this.gotActivity = true;
	},
	updateStream: function(jstiddlers, type, options) {
		// assume already sorted.
		var tiddlers = scanMacro._tiddlerfy(jstiddlers, options);
		var _dirty = store.isDirty();
		$.each(tiddlers, function(i, tid) {
			var info = config.macros.view.activity.getActivityInfo(tid, options);
			tid.fields["server.activity.type"] = info.type;
			tid.fields["server.activity"] = "true";
			if(!tid.tags.contains("excludeLists")) {
				tid.title = tiddlyspace.getLocalTitle(tid.title, tid.fields["server.workspace"]);
				tid.tags = tid.tags.concat(["excludeLists", "excludeMissing", "excludeSearch"]);
				tid.fields.doNotSave = "true";
				store.addTiddler(tid); // save caused unsaved changes alert and slowdown
			}
		});
		store.setDirty(_dirty);
	}
};

config.macros.view.views.activityItem = function(value, place, params, wikifier,
	paramString, tiddler) {
	var info = config.macros.view.activity.getActivityInfo(tiddler, {});
	wikify(info.template, place, null, tiddler);
};

var helper = config.macros.view.activity = {
	_isNotification: function(tiddler) {
		return tiddler.tags.contains(macro.USER_AT_TAG) || tiddler.tags.contains("@all");
	},
	_repliesOn: function() {
		return tiddlyspace.currentSpace.name === macro.CURRENT_USER;
	},
	types: {
		video: function(tiddler) {
			return tiddler.tags.contains("video");
		},
		geo: function(tiddler) {
			return tiddler.fields["geo.lat"] && tiddler.fields["geo.long"];
		},
		siteInfo: function(tiddler) {
			var title = tiddler.fields["server.title"];
			return title === "SiteInfo";
		},
		userSiteIcon: function(tiddler) {
			var modifierBag = "%0_public".format(tiddler.modifier);
			var title = tiddler.fields["server.title"];
			return title === "SiteIcon" && modifierBag === tiddler.fields["server.bag"];
		},
		spaceSiteIcon: function(tiddler) {
			var title = tiddler.fields["server.title"];
			return title === "SiteIcon"; // note userSiteIcon above does the bag check
		},
		shadow: function(tiddler) {
			var title = tiddler.fields["server.title"];
			return title in config.shadowTiddlers;
		},
		plugin: function(tiddler) {
			return tiddler.tags.contains("systemConfig");
		},
		followYou: function(tiddler) {
			var title = tiddler.fields["server.title"];
			title = title.indexOf("@") === 0 ? title.substr(1) : title;
			return tiddler.tags.contains("follow") && title === macro.USER_AT_TAG;
		},
		follow: function(tiddler) {
			return tiddler.tags.contains("follow");
		},
		reply: function(tiddler) {
			var title = tiddler.fields["server.title"];
			var myTiddler = store.getTiddler(tiddler.title);
			var myTiddlerIsOlder = myTiddler && myTiddler.modified < tiddler.modified;
			return store.tiddlerExists(title) && myTiddlerIsOlder && helper._repliesOn(tiddler);
		},
		notify: function(tiddler) {
			var title = tiddler.fields["server.title"];
			var myTiddler = store.getTiddler(title);
			var myTiddlerIsNewer = myTiddler && myTiddler.modified > tiddler.modified;
			return helper._isNotification(tiddler) && helper._repliesOn(tiddler) && !myTiddlerIsNewer;
		},
		standard: function(tiddler) {
			return true;
		},
		image: function(tiddler) {
			return config.macros.image.isImageTiddler(tiddler);
		}
	},
	// each type should point to a slice in ActivityStreamTemplates tiddler
	getActivityInfo: function(tiddler, options) {
		var repliesOn = tiddlyspace.currentSpace.name === macro.CURRENT_USER;
		var activityType, i;
		if(tiddler) {
			for(i = 0; i < macro.templates.length; i++) {
				var type = macro.templates[i];
				if(!activityType && helper.types[type]) {
					if(helper.types[type](tiddler)) {
						activityType = type;
					}
				}
			}
		}
		template = store.getTiddlerText("ActivityStreamTemplates##" + activityType) || locale.standardTemplate;
		return activityType ? { template: template, type: activityType } : false;
	}
};

config.macros.view.views.link = function(value, place, params, wikifier,
		paramString, tiddler) {
		var el = createTiddlyLink(place,value,true);
		if(params[2]) {
			$(el).text(params[2]);
		}
};

config.macros.view.views.maplink = function(value, place, params, wikifier,
		paramString, tiddler) {
		var lat = tiddler.fields["geo.lat"];
		var lng = tiddler.fields["geo.long"];
		var label  = params[2] || value;
		if(lat && lng) {
			$("<a />").attr("href", "http://maps.google.com/maps?saddr=%0,%1".format(lat, lng)).text(label).appendTo(place);
		}
};

var _displayS = tiddlyspace.displayServerTiddler;
tiddlyspace.displayServerTiddler = function(src, title, workspace, callback) {
	var localTitle = tiddlyspace.getLocalTitle(title, workspace);
	var localTiddler = store.getTiddler(localTitle);

	var _callback = function(src, tiddler) {
		if(callback) {
			callback(src, tiddler);
		}
		if(localTiddler) {
			tiddler.fields["server.activity"] = "true";
			tiddler.fields["server.activity.type"] = localTiddler.fields["server.activity.type"];
		}
	};
	return _displayS.apply(this, [ src, title, workspace, _callback ]);
};
}(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);
//}}}
Have a look at @freestyle
!Spaces
<<groupBy server.bag>>

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

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

!Drafts
<<list filter [is[draft]]>>
/***
|''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
.publicLightText {
	color: #C0E5FC;
}

.privateLightText {
	color: #E2C1D6;
}

.tiddler .error.annotation .button{
	display: inline-block;
}

#backstageArea #backstageToolbar a.task_tiddlyspace {
	margin: 0px auto auto -75px;
	font-weight: bold;
	width: 150px;
	line-height:24px;
	font-size: 1.2em;
	padding: 0;
	top: 0;
	position: absolute;
	left: 50%;
}

.task_tiddlyspace .image,
.task_tiddlyspace .svgIcon {
	display: inline;
}

.task_tiddlyspace .svgIconText {
	display: none;
}

.task_tiddlyspace .logoText {
	position: absolute;
	top: 0px;
	margin-left: 5px;
}

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

.backstageBackground {
	fill: black;
}

#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 .tabContents ol,
#backstage .tabContents ul {
	padding: auto;
}

#backstageButton a {
	margin: 0;
}

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

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

#backstageToolbar a {
	position: relative;
}

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

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

.backstageTask .txtUserName,
.backstageTask .spaceName {
	color: #fff;
}

.backstageSelTab .txtUserName,
.backstageSelTab .spaceName,
a:hover .txtUserName,
a:hover .spaceName {
	color: #000;
}

.spaceSiteIcon {
	margin-right: 10px;
}

.userSiteIcon {
	margin-left: 10px;
}

#backstageToolbar .task_space {
	position: absolute;
	top: 0px;
	left: 0%;
}

#backstageToolbar .task_user,
#backstageToolbar .task_login {
	display: block;
	position: absolute;
	top: 0px;
	right: 5%;
}

#backstageToolbar .task_login img {
	position: relative;
	display: inline;
}

#backstageToolbar .task_login img,
#backstageToolbar .task_user img {
	float: right;
}

#backstageToolbar .task_space .svgIcon {
	float: left;
	position: relative;
	z-index: 2;
}

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

#backstageToolbar .spaceSiteIcon {
	float: left;
}

a.backstageTask {
	display: block;
}

#backstageToolbar a span.txtUserName,
#backstageToolbar a .txtUserName span {
	display: inline;
	float: none;
}

#backstage .deleteButton {
	margin-left: 0.3em;
	font-weight: bold;
	color: red;
	font-size: 1.6em;
}

#backstage .deleteButton:hover {
	background: none;
}

#backstageArea .siteIcon {
	display: inline;
}

#backstagePanel .TiddlySpaceLogin {
	display: inline;
}

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

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

#backstage .tabContents {
	padding: 1.5em;
	text-align: left;
}

#backstage table {
	margin: auto;
}

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

#backstage .txtSpaceTab li {
	border: 1px solid #ddd;
	background: #eee;
	list-style: none;
	margin: 0.5em;
	padding: 0.5em;
	width: 80%;
}

#backstage .txtSpaceTab li.annotation {
	border: 2px solid [[ColorPalette::SecondaryMid]];
}

#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 div.txtSpaceTab li .deleteButton {
	float: right;
}

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

a.baskstageTask.task_login,
a.baskstageTask.task_user {
	_width: 200px;
	_text-align: right;
}

#backstageArea #backstageToolbar .task_login img,
#backstageArea #backstageToolbar .task_user img {
	_display: inline;
	_float: none;
}

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

#backstage iframe {
	height: 600px;
	width: 100%;
	border: 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_tabs_for_nonmembers = ["PluginManager", "Backstage##FileImport",
	"Backstage##BatchOps", "Backstage##SpaceMembers",
	"TiddlySpaceTabs##Private", "TiddlySpaceTabs##Drafts"];
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 = true;
}

config.tasks.user = {
	text: "user: ",
	tooltip: "user control panel",
	unpluggedText: "unplugged user",
	content: "<html><iframe frameBorder='0' src='" + config.extensions.tiddlyweb.host + "/_account'></iframe></html>"
};

config.tasks.space = {
	text: "space: ",
	tooltip: "space control panel",
	className: "right"
};

config.tasks.tiddlyspace = {
	text: "",
	tooltip: "",
	content: "<<tiddler Backstage##Menu>>"
};

if(window.location.protocol == "file:") {
	config.unplugged = true; // TODO: move into extensions.tiddly{web/space} namespace!?
	config.tasks.space.content = "<<tiddler Backstage##SpaceUnplugged>>";
} else {
	config.tasks.space.content = "<html><iframe frameBorder='0' src='/_space'></iframe></html>";
}
config.backstageTasks = ["tiddlyspace", "user", "space"];

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();
	if(!config.unplugged) {
		tweb.getUserInfo(function(user) {
			if(user.anon) {
				$(".task_user", tasks).hide();
				tiddlyspace.disableTab(disabled_tabs_for_nonmembers);
			} else {
				$(".task_login", tasks).hide();
			}
		});
	}
	// display backstage
	return _show.apply(this, arguments);
};
if(readOnly) {
	tiddlyspace.disableTab(disabled_tabs_for_nonmembers);
}

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

// mock out renderAvatar if unavailable -- XXX: temporary hotfix, not a permanent solution!
tiddlyspace.renderAvatar = tiddlyspace.renderAvatar || function() {};

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."
	},
	checkSyncStatus: function(tiddler) {
		var bs = backstage.tiddlyspace;
		var t = store.filterTiddlers("[is[unsynced]]");
		var unsyncedList = $("#backstage .tiddlyspaceMenu .unsyncedList");
		if(t.length > 0 && !readOnly) {
			bs.tweakMiddleButton("unsyncedIcon");
			$("#backstage").addClass("unsyncedChanges");
		} else {
			bs.tweakMiddleButton();
			$("#backstage").removeClass("unsyncedChanges");
		}
		refreshElements($("#backstage")[0]);
		if(tiddler) {
			var title = typeof(tiddler) === "string" ? tiddler : tiddler.title;
			var el = story.getTiddler(title) || false;
			if(el) {
				refreshElements(el);
			}
		}
	},
	userButton: function(backstageArea, user) {
		// override user button (logged in) to show username
		var userBtn = $("[task=user]", backstageArea).empty();
		if(config.unplugged && user.anon) {
			$("<span />").text(tasks.user.unpluggedText).appendTo(userBtn);
		} else if(!config.unplugged && user.anon) {
			userBtn.remove();
		} else {
			$("<span />").text(tasks.user.text).appendTo(userBtn);
			$("<span />").addClass("txtUserName").text(user.name).appendTo(userBtn);
			var container = $("<span />").appendTo(userBtn)[0];
			tiddlyspace.renderAvatar(container, user.name,
				{ imageOptions: { imageClass:"userSiteIcon", height: 24, width: 24 },
				labelOptions: { include: false } });
		}
	},
	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];
		altText = $(hideBtn).text();
		$(hideBtn).empty();
		imageMacro.renderImage(hideBtn, "close.svg",
			{ altImage: commonUrl.format("close.png"), alt: altText, width: 24, height: 24 });
	},
	middleButton: function(backstageArea, user) {
		var bs = backstage.tiddlyspace;
		var backstageToolbar = $("#backstageToolbar", backstageArea)[0];
		if(config.unplugged) {
			config.messages.memberStatus = bs.locale.unplugged;
		} else if(!user.anon) {
			config.messages.memberStatus = readOnly ? bs.locale.nonmember : bs.locale.member;
		} else {
			config.messages.memberStatus = bs.locale.loggedout;
		}
		// construct the tiddlyspace logo
		var backstageLogo = $("#[task=tiddlyspace]").empty()[0];
		$("<span />").addClass("iconContainer").appendTo(backstageLogo);
		$('<span class="logoText"><span class="privateLightText">tiddly</span>' +
				'<span class="publicLightText">space</span></span>').
			appendTo(backstageLogo);
		bs.tweakMiddleButton();
	},
	tweakMiddleButton: function(iconName) {
		var backstageLogo = $("#[task=tiddlyspace] .iconContainer").empty()[0];
		var backstageToolbar = $("#backstageToolbar");
		var plugin = backstage.tiddlyspace;
		if(!iconName) {
			iconName = readOnly ? "publicIcon" : "privateAndPublicIcon";
		}
		config.macros.image.renderImage(backstageLogo, iconName, { width: 24, height: 24 });
	},
	spaceButton: function(backstageArea, user) {
		// override space button to show SiteIcon
		var btn = $("[task=space]", backstageArea).show();
		if(user && user.anon && config.unplugged) {
			btn.hide();
			return;
		}
		btn.empty();
		tiddlyspace.renderAvatar(btn[0], currentSpace,
			{ imageOptions: { imageClass:"spaceSiteIcon", height: 24, width: 24 },
			labelOptions: { include: false } });
		$("<span />").text(tasks.space.text).appendTo(btn);
		$("<span />").addClass("spaceName").text(currentSpace).appendTo(btn);
	},
	addClasses: function(backstageArea) {
		var tasks = $(".backstageTask", backstageArea);
		for(var i = 0; i < tasks.length; i++) {
			var btn = $(tasks[i]);
			var taskName = btn.attr("task");
			btn.addClass("task_%0".format(taskName));
		}
	}
};

var _init = backstage.init;
backstage.init = function() {
	_init.apply(this, arguments);
	var init = function(user) {
		var backstageArea = $("#backstageArea")[0];
		var bs = backstage.tiddlyspace;
		store.addNotification(null, bs.checkSyncStatus);
		bs.userButton(backstageArea, user);
		bs.showButton();
		bs.hideButton();
		bs.middleButton(backstageArea, user);
		bs.spaceButton(backstageArea, user);
		bs.addClasses(backstageArea); // for IE styling purposes
		bs.checkSyncStatus();
	};
	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);
	}
};

$.extend(config.messages, {
	syncExplanation: "You are currently viewing an offline version of this TiddlySpace. From here you can sync your offline copy with the online version.",
	syncListHeading: "Unsaved tiddlers listed below"});

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

})(jQuery);
//}}}
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="29pt" viewBox="13 43 29 29" width="29pt" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" onmousedown="if(jQuery) jQuery(document).trigger('cSmaller', {elem:this, comp:{animations:1}})" onmouseup="if(jQuery) jQuery(document).trigger('cResize', {elem:this, comp:{animations:1}})">
 <defs id="defs6">
 <linearGradient id="linearGradient001" y2="27.646" gradientUnits="userSpaceOnUse" x2="-45.8" y1="27.646" x1="-57.66">
   <stop id="stop1" stop-color="#FF4646" offset="0"/>
   <stop id="stop2" stop-color="#ffcccc" offset="0.66462"/>
   <stop id="stop3" stop-color="#FF4646" offset="1"/>
  </linearGradient></defs>
<g id="icon" stroke-linecap="round" stroke-miterlimit="4">
 <rect id="iconBG" style="stroke-dasharray:none;" fill-rule="evenodd" ry="4.1663" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#696969" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="none"/>
 <rect id="iconFG" stroke-width="0" fill-rule="evenodd" ry="2.3755" transform="matrix(0, -1, 1, 0, 0, 0)" width="22" stroke-miterlimit="4" y="16.646" x="-68.6" height="22" fill="url(#linearGradient001)" class="showOnHover" opacity="0"/>
 <g id="iconSymbol">
 <path id="path3645" stroke-linejoin="miter" style="stroke-dasharray:none;" d="m-23.302,17.497c0.01395-0.0064,0.0156,0.0261,0.0143,0.03143-0.01484,0.061-0.10068,0.05137-0.14,0.02579-0.11849-0.07708-0.08526-0.2504-0.003-0.34004,0.17365-0.18931,0.47534-0.11872,0.63154,0.05396,0.27503,0.30406,0.15201,0.77586-0.14521,1.0145-0.46844,0.3761-1.1521,0.18524-1.4889-0.27069-0.49266-0.6669-0.21843-1.6041,0.43042-2.0548,0.89949-0.62476,2.1319-0.25161,2.7121,0.62439,0.77241,1.1662,0.28478,2.7356-0.8526,3.4609-1.4672,0.93564-3.4151,0.31794-4.3011-1.1151-1.1144-1.8023-0.3511-4.1704,1.4118-5.2328,2.1717-1.3088,5.0016-0.38425,6.256,1.7427,1.5188,2.5753,0.4174,5.9087-2.1079,7.3706-3.0131,1.7444-6.8916,0.45055-8.5767-2.5073-1.9855-3.4851-0.48369-7.9504,2.941-9.8743,3.9914-2.2422,9.0851-0.51682,11.263,3.4089" transform="matrix(1.02832, 0, 0, 1.02832, 51.2465, 40.8719)" stroke="#4d4d4d" stroke-linecap="round" stroke-miterlimit="4" stroke-width="1.55593979000000000" fill="none"/>
</g>
 <rect id="overlay" opacity="0.01" ry="4.1663" style="stroke-dasharray:none;" fill-rule="evenodd" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#e6e6e6" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="#e6e6e6" onmouseover="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})" onmouseout="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})"/>
</g>
</svg>
/***
|''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);
//}}}
/***
|''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);
//}}}
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
/*{{{*/

(function ($) { 

	$("#bckimg area").live("mouseenter", function(){
		$('#plaque').text( $(this).attr('alt') );
		var quadMap = '.'+$(this).attr('id')+'-map';
		// trick to reload image so GIF anim is reset:
		$(quadMap).attr('src', '');
		$(quadMap).attr('src',"http://kosmaton.bplaced.net/veminra/content/"+$(this).attr('id')+'.gif');
		$(quadMap).css('display', 'inline');
	}).live("mouseleave", function(){
		var quadMap = '.'+$(this).attr('id')+'-map';
		// Check if a click occurred & only change the hover state accordingly
		if (! $(quadMap).hasClass('selected')) {
			$(quadMap).css('display', 'none');
			$('#plaque').text( '' );
			}
		});

	$("#bckimg area").click(function(){
		$('#bckimg img.quad').removeClass('selected').css('display', 'none');
		var quadMap = '.'+$(this).attr('id')+'-map';
		$(quadMap).addClass('selected').css('display', 'inline');
	});

}) (jQuery);

/*}}}*/
<br><br><br><br>{{hooky2{Dissolve & coagulate!}}} This alchemical motto summarises what is at the heart of //ve minra//.

[[Alchemy]] was (is?+++*{{footnoteButton_red{[†|note]}}}{{normal{My knowledge about alchemy is limited!}}}===) a mixture of early chemistry, mysticism and philosophy. To //ve minra// the mysticism is right out, at least for the purposes of obtaining knowledge (see [[waffle|Waffle (speech)]]). But there seems to be a certain overlap in philosophy. There is this ambition of @@color:blue;analysis@@ of the world but @@color:limegreen;synthesis@@ too - a world in which analysis and synthesis themselves are omnipresent.

Science has typically proceeded by @@border-bottom:1px solid blue;analysis@@. To fully understand a big thing, you need to chop it up mentally. To fully understand a car, you need to know what is inside. Even if you are oblivious to car entrails, to drive you still need to mentally chop up some parts: the different positions of the gear box, for instance. You will not get far if you see the gear box as one homogeneous thing. A study of, say, poverty in a city will not get far if it makes no distinctions between parts of the city or parts of the population, or perhaps distinctions between cities. [[Information theory]] is built on this idea: there is only information if there is distinction.

But then there is @@border-bottom:1px solid limegreen;synthesis@@. This is all about [[emergence|Emergence]], so please read that.

If you put all that together, and [[look around you|“The most beautiful thing in life is to see”]], some parts of the picture may start to look very layered and/or blurry. You start to need [[macroscopes|Macroscope]] to see the forest for the trees, and the trees for the forest, all at once. That is a good thing, as far as understanding the world goes.

{{hooky2{@@color:#600;But there is more.@@}}}  //Solve & coagula// is not only about how we //see// things and how things //are//. It is also about the forces which make them like that. At the most basic level the fundamental forces/laws/statistical tendencies of physics result in a huge process of dissipation of energy+++*{{footnoteButton_red{[†|note]}}}{{normal{My knowledge about cosmology and energetics is sadly limited. If yours is broader, and you find I write [[waffle|Waffle (speech)]], please let me know.}}}===. But within this smearing out and homogenisation of stuff the same laws create temporary aggregations of matter, some of which are more aggregated than others. We distinguish the four physical states of matter - plasma, gas, liquid and solid. (//ve minra// uses [[an analogy|ve minra states]] to classify its [[groovs|Groov]].)

{{hooky2{@@color:#900;But there is more still.@@}}}  Biology is a matter of physics and chemistry; physics and chemistry put through the regime of [[natural selection|Natural selection]]. Some people (see e.g. [[here|https://secure.wikimedia.org/wikipedia/en/wiki/Maximum_power_principle]]) suppose that natural selection results in the [[persistence and proliferation|Survival and reproduction]] of those chemical and biological arrangement which dissipate energy more quickly. This is a contentious idea, and the details are not clear. But generally, if one creature sucks in more stuff (matter, energy) from its surroundings than another, it stands a better chance of surviving and reproducing; so we will end up with more of that kind. [[Variation|Variation (in evolution)]] and natural selection lead to creatures that can be ever more complex and locally non-homogeneous, while their energy turnover is ever higher, speeding up the universe's rush to homogeneity as a whole. (Since this easily leads to [[local exhaustion of resources|Tragedy of the commons]] with a potential danger of being stuck to the local, this is a core thumbs-down argument against [[competition|Competition]] and unrestrained [[growth|Growth]].) It is not impossile for less gung-ho systems to arise, but they will tend to collapse to gung-ho invaders.

{{hooky2{@@color:#C00;... and more!@@}}}  Biological evolution can be seen as the result of the selection of genes (see [[selfish gene|Selfish gene]]). However, these genes are often selected in sets, because there is a synergy between the parts of the set. This gives things like organisms. Then selection picks out organisms (and their genes) between which there are synergies -- still all on the basis of that dissipation-accelerating. This happens in nonhuman ecologies, in human societies, in mixes of the two. At this level things tend to be very complicated indeed, and synergy calculations changeable. Thus allegiances of parts shift rapidly and work in many dimensions. Think of your position within your job, family, various other groups. But this dissolving and coagulating has a continuity all the way down to the states of matter+++*{{footnoteButton_red{[†|note]}}}{{normal{perhaps down to subatomic particles? I would not know.}}}===, not merely by analogy, but in a very direct, material way.

Understanding this requires one hell of a good [[macroscope|Macroscope]], [[consilience|Consilience]], and a commitment to go beyond battles of dusty and unsubtle [[Organicist]] and [[Biolophobe]] mummies.  

{{hooky2{@@color:#F00;Last but not least,@@}}}  //solve & coagula// is the domain of science: it is here that science gobbles up the philosophical domains of ontology ("what //is// stuff?") and epistemology ("how to see stuff?"). But then the big question, given s&c, is: //what should we do about that?// This is __ethics__, where philosophy still shines. Which at //ve minra// is a lot about __aesthetics__. And __praxis__: doing stuff.

//ve minra// exists to:
*list some s&c science;
*think about s&c ethics;
*see what it all means for daily life;
*spread the [[groove|Groove]].


<!--{{{-->
<link rel="shortcut icon" href="/recipes/veminra_public/tiddlers/favicon.ico" />
<link href="/bags/veminra_public/tiddlers.atom?select=tag:content&sort=-modified&title=ve%20minra&desc=ve%20minra%20ATOM%20feed&limit=25" rel="alternate"
	type="application/atom+xml" title="ve minra" />
<!--}}}-->

<!--{{{-->
<style type="text/css">#contentWrapper {display:none;}</style><div id="SplashScreen" style="border: 3px solid #ccc; display: block; text-align: center; width: 320px; margin: 100px auto; padding: 50px; color: white; font-size: 32px; font-family:Tahoma; background-image: url(wood127.jpg);"><b>ve minra</b> is loading <img src="DNAloader.gif" /><br><span style="font-size: 14px; color:lightyellow;">Requires Javascript.</span></div>
<!--}}}-->

<!--{{{-->
<script type="text/javascript">
var pkBaseURL = (("https:" == document.location.protocol) ? "https://kosmaton.bplaced.com/piwik/" : "http://kosmaton.bplaced.com/piwik/");
document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<!--}}}-->

The four horses in the {{larger{{{hooky{''central image of this site''}}}}}} lead to listings of [[groovs|Groov]] according to the state-of-cohesion of these groovs. A groov stating "3 + 3 = 6" will be 'solid'; a highly fanciful, speculative or unfinished groov might be 'gas' or even 'plasma'.

Why?

The first groov written for this site is the one on [[Horse noocracy]]. This involves horses, and also a sense of daring for the future. Thus the "Cavaliere rosso" (red rider) of the Italian futurist painter Carlo Carrà seemed a great logo of sorts. Then we here at //ve minra// checked up on the [[Futurist Manifesto|http://www.unknown.nu/futurism/manifesto.html]] and found ourselves [[only partly agreeing|Modernism]]. So the rider has been reduced to part of the painting (lower right, as it happens). The main image now has palaeolithic horses and a rhino from the [[Chauvet cave|http://www.culture.gouv.fr/culture/arcnat/chauvet/en/]] in France. Whether the early artists were thinking about the future - who knows?

The rhino quickly volunteered to say 'About'. So the task remained to have the four horses make themselves useful. Various foursomes were considered before we settled on the states of matter. [[Solids|GState: Solid]] <html><img src="solid_icon.png" style="width: 16px; height: 16px;"/></html>, [[liquids|GState: Liquid]] <html><img src="liquid_icon.png" style="width: 16px; height: 16px;"/></html>, [[gases|GState: Gas]] <html><img src="gas_icon.png" style="width: 16px; height: 16px;"/></html> and [[plasmas|GState: Plasma]] <html><img src="plasma_icon.png" style="width: 16px; height: 16px;"/></html>: that pretty much covers everything.

But this is not a site (solely) about physics. It is however a site that concerns itselfs deeply with dynamics of [[cohesion and dissociation|Solve et coagula]]. Stuff binds and sticks and falls apart all the time, everywhere. The states of matter are the widest gradient showing this, from tightly packed solids all the way to plasma (gas with its electrons gone loose). Ideas also go from tightly packed over 'well done' and 'half-baked' to 'marbles quite lost'. Thus, it makes for an analogy.

(It is not merely an analogy, but at //ve minra//, us staunch [[philosophical materialists|Philosphical materialism]] have not quite worked out how exactly it is not.)


<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="29pt" viewBox="13 43 29 29" width="29pt" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" onmousedown="if(jQuery) jQuery(document).trigger('cSmaller', {elem:this, comp:{animations:1}})" onmouseup="if(jQuery) jQuery(document).trigger('cResize', {elem:this, comp:{animations:1}})">
 <defs id="defs6">
 <linearGradient id="linearGradient001" y2="27.646" gradientUnits="userSpaceOnUse" x2="-45.8" y1="27.646" x1="-57.66">
   <stop id="stop1" stop-color="#CC9900" offset="0"/>
   <stop id="stop2" stop-color="#E8D18B" offset="0.66462"/>
   <stop id="stop3" stop-color="#CC9900" offset="1"/>
  </linearGradient></defs>
<g id="icon" stroke-linecap="round" stroke-miterlimit="4">
 <rect id="iconBG" style="stroke-dasharray:none;" fill-rule="evenodd" ry="4.1663" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#696969" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="none"/>
 <rect id="iconFG" stroke-width="0" fill-rule="evenodd" ry="2.3755" transform="matrix(0, -1, 1, 0, 0, 0)" width="22" stroke-miterlimit="4" y="16.646" x="-68.6" height="22" fill="url(#linearGradient001)" class="showOnHover" opacity="0"/>
 <g id="iconSymbol" stroke-linejoin="miter" stroke="#4d4d4d" stroke-linecap="butt" fill="none">
   <rect id="rect3637" style="stroke-dasharray:none;" ry="0" height="13.033" width="13.033" stroke-miterlimit="4" y="51.156" x="21.11" stroke-width="1.3672"/>
   <path id="path3639" d="m20.989,54.423,12.783,0" stroke-width="0.80000001px"/>
   <path id="path3641" d="m21.256,57.619,12.783,0" stroke-width="0.80000001px"/>
   <path id="path3643" d="m21.211,60.682,12.65,0" stroke-width="0.80000001px"/>
   <path id="path3645" d="m18.032,10.562,0,16.034" transform="matrix(0.8, 0, 0, 0.8, 13, 43)" stroke-width="1px"/>
  </g>
 <rect id="overlay" opacity="0.01" ry="4.1663" style="stroke-dasharray:none;" fill-rule="evenodd" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#e6e6e6" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="#e6e6e6" onmouseover="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})" onmouseout="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})"/>
</g>
</svg>
/*{{{*/

.vm_calendar {
	color: dimgrey;
	margin: 3px 8px 0px 8px;
	cursor: pointer;
}

.vm_calendar:hover {
	color: white;
}


.vm_calendar .vm_month {
	font-size: 1.0em;
	text-align: center;
	padding: 2px;
}

.vm_calendar .vm_date {
	font-size: 1.0em;
	font-weight: bold;
	text-align: center;
	border-top: 1px dotted gainsboro;
	border-bottom: 1px dotted gainsboro;
}

.vm_calendar .vm_year {
	font-size: 0.8em;
	text-align: center;
	padding: 2px;
}


/*}}}*/
/***
|''Name''|HistoryPlugin|
|''Version''|0.3.5|
|''Description''|Auto generates permaviews as you open and close tiddlers. Back button allows you to flick back to previous stories on modern browsers.|
***/
//{{{
(function($) {
var lastPermaviewTimeout;
function makePermaview() {
	if(lastPermaviewTimeout) {
		window.clearTimeout(lastPermaviewTimeout);
	}
	lastPermaviewTimeout = window.setTimeout(function() {
		story.permaView();
	}, 200);
}
var runParamifier = false;
var _invokeParamifier = invokeParamifier;
invokeParamifier = function() {
	runParamifier = true;
	var res = _invokeParamifier.apply(this, arguments);
	runParamifier = false;
	return res;
}
var runPermaview;
var _permaview = Story.prototype.permaView;
Story.prototype.permaView = function() {
	runPermaview = true;
	var res = _permaview.apply(this, arguments);
	return res;
}
var _closeAll = Story.prototype.closeAllTiddlers;
var closeAll;
Story.prototype.closeAllTiddlers = function() {
	closeAll = true;
  var res = _closeAll.apply(this, arguments);
  makePermaview();;
	return res;
};

var _close = Story.prototype.closeTiddler;
Story.prototype.closeTiddler = function(title,animate,unused) {
	var tidEl = story.getTiddler(title);
	if(tidEl) {
		tidEl.setAttribute("tiddler", "");
	}
	var res = _close.apply(this, arguments);
	if(!closeAll) {
		makePermaview();;
	}
	return res;
};

var runDisplayTiddlers;
var _displayTiddlers = Story.prototype.displayTiddlers;
Story.prototype.displayTiddlers = function() {
	runDisplayTiddlers = true;
	var el = _displayTiddlers.apply(this, arguments);
	runDisplayTiddlers = false;
	makePermaview();;
	return el;
};

var _display = Story.prototype.displayTiddler;
Story.prototype.displayTiddler = function(srcElement,tiddler,template,animate,unused,customFields,toggle,animationSrc)
{
	var el = _display.apply(this, arguments);
	if(!runDisplayTiddlers) {
		makePermaview();; // to do: dont create permaview for sucked in tiddlers ?
	}
	return el;
};

var timeout;
var hashchange = function(ev) {
	if(!runPermaview && !runParamifier) {
		closeAll = true;
		var p = getParameters();
		story.closeAllTiddlers(); // TODO: don't close 'sucked in tiddlers'
		if(p) {
			invokeParamifier(p.parseParams("open",null,false), "onstart");
		}
	}
	if(timeout) {
		window.clearTimeout(timeout);
	}
	if(runPermaview || runParamifier || closeAll) {
		timeout = window.setTimeout(function() {
			runPermaview = false;
			runParamifier = false;
			closeAll = false;
		}, 300);
	}
};

window.onhashchange = hashchange;

})(jQuery);
//}}}
{{center{@@font-size: small;//''Note'': This is probably not yet sufficiently coherent, but it may be.//@@}}}

{{groupbox{@@color:crimson;//Short version//@@: This is an argument in favour of individual freedom, from facts of life rather than from axioms. We have no free will: so humans are all equal in being 100% at the mercy of the 'forces of nature'. Realising this suggests (but does not strictly enforce) //egocide//, and //compassion// towards others. These in turn suggest respecting the other's desire to [[groove|Groove]] as much as one's own. That means allowing as much political+++*{{footnoteButton{[†|note]}}}{{normal{'political' in the broadest sense, including mundane actions between people; if you think 'politics' is just parliaments and G8 meetings, you //really// need to ponder freedom a bit more... if you want to, that is.}}}=== freedom as is physically possible.

An alternative, //ism//-heavy title for this [[groov|Groov]]:
>//Determinism begets egalitarianism begets liberalism+++*{{footnoteButton{[†|note]}}}{{normal{'liberalism' in the broad sense of support for individual freedom. The details, concerning libertarianism versus statism et cetera, may be discussed at some later point.}}}===//
}}}

In the eyes of probably quite a lot of people, the desirability of {{hooky2{freedom}}} needs little arguing. The same goes perhaps for {{hooky2{equality}}}, though one might expect less consensus on that front. But some will disagree. And even those who intuitively accept these ideals as a matter of course should really be able to motivate their gripes with the master of a happy, healthy //slave// who is treated well and lives a fulfilling life. (Such cases were not unknown, though presumably rare, in Ancient Roman times. Also, lest I over-focus on historical exotic stuff: do you have a boss at work and how often are you forced to follow orders?)

!!!//Freedom can't be its own motivation//

A mere indignant "But... slavery is bad! Freedom is good!" will not do. The reason is freedom itself, in a way. There is a whole lot of things you can do as a human, even if very many of these //seem// unavailable. Many of us walk within narrow lines set by socialisation, or lack of imagination and initiative. Yet: you can punch people in the face. You can walk away in the middle of a meeting, offering no explanation. More joyfully, you can kiss strangers, and you can donate half of your bank balance to a noble cause. Now these things may have consequences which may be undesirable, and we may avoid them, but it is important to remember that there is no physical impossibility+++*{{footnoteButton{[†|note]}}}{{normal{'No impossibility' means here that in a general sense such actions do not contradict the laws of physics. However, they may be impossible to perform in specific cases, deterministically depending on specific circumstances. You may be unable to bring yourself to walk away.}}}===. (It makes life a lot more exciting and significant, too.) This is stressed in egoistic philosophies, from Nietzsche over Stirner to certain anarcho-primitivists: to let one's wild ego be reined in is considered bad. But this leads to a society of slaves and masters. Strong wild egos enslave weaker wild egos -- they [[have to|Natural selection]], unless there are pseudo-endless resources, which is [[not|Overpopulation]] what blind Mommy Nature usually offers. Inasmuch as a single person has opposing drives, there can be intra-person enslavement too (cf. addiction). And weaker egos can combine to dominate a formely stronger ego. In all cases freedom begets the absence of freedom. So saying "it's just good" will not do.

!!!//An alternative//

People [[do not have free will|Free will]], even if we have that impression subjectively. We choose and reason and all that, but we cannot go against the causal chains of interacting physical matter, because we [[are|Emergence]] those chains. As best as we can tell life, including our choices etc., is deterministic (though not at all in the Hegelian sense+++*{{footnoteButton{[†|note]}}}{{normal{Just to be clear: although the two are sometimes conflated, determinism does not imply [[teleology|https://en.wikipedia.org/wiki/Teleology]]. Determinism says that a million years hence, life will be in a specific state fully determined by its current state; it does not say this has to be a state with some cosmic purpose. (Of course living creatures have their own less-than-cosmic purposes - see [[teleonomy|https://en.wikipedia.org/wiki/Teleonomy]].) Nor am I talking about a naive sort of determinism, of the sort that says "If you grow up as X, you will always do Y". There tend to be exceptions to such macro-level 'rules', apparently invalidating determinism. However I am talking about deterministic interactions at very low, sub-atomic levels. These combine into larger patterns some of which look near-deterministic themselves, while others do not (cf. [[chaos in the mathematical sense|https://en.wikipedia.org/wiki/Chaos_theory]]).}}}===). Now this does not mean that the individual ceases to exist - see the [[free will|Free will]] groov for a discussion. Accepting determinism for real does however break the beefcake-Western-liberal ideology of always wanting to force causal explanations back to the level of the individual human. Adopting a more [[macroscopic|Macroscope]] view is bound to lead to at least some __egocide__. One is a bit like a drop in the ocean, but it does not go nearly that far, and it is a lot more complex (and interesting). However, no matter how un-droplike you feel and behave on a vigorous day, that is still fully materially determined. So if you mess up on that vigorous day, while it is justified to point at //you//, __compassion__ is in order at the same time. I would not claim that egocide and compassion follow logically from determinism; but they do seem sensible in light of it. And in turn they make __egalitarianism__ seem sensible: if you disbelieve the beefcake and pity the murderer you just locked up, if all the puppets are in it together, then it does not seem very reasonable to claim that some have more rights than others.

So we have the future unfolding (so to speak) as it must, with people somewhat-fuzzy parts of it, alternately blundering and [[grooving|Groove]] as far as their personal experience is concerned. That future is already written (so to speak, again). But it is going to happen through human actions and choices, among other things, and "making the world good" plays a role in this. We just derived that egalitarianism is sensible. This is partly about 'positive rights', which is about distribution of stuff. If pineapple is good for both of us, and I have one, and you are just as hungry as me, you and I get half a pineapple each. It is also about 'negative freedom', which is about people not cramping each other's groove. (An excellent analysis of the concept of liberty is [[here|http://plato.stanford.edu/entries/liberty-positive-negative/]] at Stanford.) I should not cramp your groove just because I have the power to do so and it increases my groove. If a utilitarian calculus is done (likely hard in practice, but one can try), all men weigh the same. This means that the freedom of the weaker takes away from the freedom of the stronger, and more so the tighter the resource squeeze. Obviously this sucks for the stronger. But the argument presented here tells the stronger that if they wish to make sense in the wider Universe, they will grant the weaker their freedom nonetheless. Other sensible endeavours are to [[avoid resource squeezes|Overpopulation]] and social groupings that are [[hard to make egalitarian|5 suffices]]: then fewer concessions need to be made to begin with.

!!!//So... slavery?//

We journeyed from the absence of free will to a plea for freedom-granting. Can we now motivate abolitionism? Not quite, perhaps. We specified freedom in terms of absence of groove-cramping. It is not a clear-cut issue whether the //dominus// liberating the //servus// promotes this: it depends on the specificities of the slave and his potential life as a free man. To be clear: //ve minra// is against slavery! But to argue that general case more argumentation may be required than is presented here (the cited Stanford article ponders this). Now in specific cases the motivation may be very obvious; and the same goes for the wage slaves, perhaps rather closer to the reader's home.


{{center{From

<html><img title="République française logo" src="http://kosmaton.bplaced.net/veminra/content/No%20free%20will%2C%20so%20grant%20us%20freedom/Logo_de_la_R%C3%A9publique_fran%C3%A7aise.png" style="border: 3px ridge palegoldenrod;" /></html>+++{{footnotebutton{[†|source]}}}{{normal{From [[https://secure.wikimedia.org/wikipedia/en/wiki/Liberalism|https://secure.wikimedia.org/wikipedia/en/wiki/Liberalism]]}}}===


to

<html><img title="République terrestre logo" src="http://kosmaton.bplaced.net/veminra/content/No%20free%20will%2C%20so%20grant%20us%20freedom/Logo_de_la_R%C3%A9publique_terrestre.png" style="border: 3px ridge palegoldenrod;" /></html>+++{{footnotebutton{[†|source]}}}{{normal{Adapted from the above, plus [[https://secure.wikimedia.org/wikipedia/commons/wiki/File:Antarctica_on_the_globe_(yellow).svg|https://secure.wikimedia.org/wikipedia/commons/wiki/File:Antarctica_on_the_globe_(yellow).svg]]}}}===


(Black for space, yellow for the Sun. I admit Marianne is sexier.)
}}}



/*{{{*/
/* created by QuickOpenTagPlugin */
#sidebarTabs .tabContents a.button { display:inline;}
.tagglyTagged .quickopentag, .tagged .quickopentag 
	{ border:1px solid #eee; padding:2px; padding-right:0px; padding-left:1px; }
.quickopentag .tiddlyLink { padding:2px; padding-left:3px; display:inline; }
.quickopentag a.button { padding:1px; padding-left:2px; padding-right:2px; display:inline;}
/* extra specificity to make it work right */
#displayArea .viewer .quickopentag a.button, 
#displayArea .viewer .quickopentag a.tiddyLink, 
#mainMenu .quickopentag a.tiddyLink, 
#mainMenu .quickopentag a.tiddyLink 
	{ border:0px solid black; display:inline;}
#displayArea .viewer .quickopentag a.button, 
#mainMenu .quickopentag a.button 
	{ margin-left:0px; padding-left:2px; display:inline;}
#displayArea .viewer .quickopentag a.tiddlyLink, 
#mainMenu .quickopentag a.tiddlyLink 
	{ margin-right:0px; padding-right:0px; padding-left:0px; margin-left:0px; }
a.miniTag {font-size:150%;} 
#mainMenu .quickopentag a.button 
	/* looks better in right justified main menus */
	{ margin-left:0px; padding-left:2px; margin-right:0px; padding-right:0px; display:inline;}
#topMenu .quickopentag { padding:0px; margin:0px; border:0px; }
#topMenu .quickopentag .tiddlyLink { padding-right:1px; margin-right:0px; }
#topMenu .quickopentag .button { padding-left:1px; margin-left:0px; border:0px; display:inline; }
/*}}}*/
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
/***
|''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($) {

var ctfield = "server.content-type";

var plugin = config.extensions.BinaryTiddlersPlugin = {
	isWikiText: function(tiddler) {
		var ctype = tiddler.fields[ctfield];
		if(ctype) {
			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 && !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''|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);
//}}}
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
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="29pt" viewBox="13 43 29 29" width="29pt" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
 <metadata id="metadata14">
  <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:rights>
     <cc:Agent>
      <dc:title>http://creativecommons.org/licenses/by-nc-sa/3.0/at/</dc:title>
     </cc:Agent>
    </dc:rights>
    <dc:source>http://iconbuilder.tiddlyspace.com</dc:source>
    <dc:creator>
     <cc:Agent>
      <dc:title>Mario Pietsch</dc:title>
     </cc:Agent>
    </dc:creator>
   </cc:Work>
  </rdf:RDF>
 </metadata>
 <defs id="defs_bBgTrans">
 <linearGradient id="linearGradient001" y2="27.646" gradientUnits="userSpaceOnUse" x2="-45.8" y1="27.646" x1="-57.66">
   <stop id="stop1" stop-color="#6BB546" offset="0"/>
   <stop id="stop2" stop-color="#B5DAA2" offset="0.66462"/>
   <stop id="stop3" stop-color="#6BB546" offset="1"/>
  </linearGradient></defs>
<g id="icon">
 <rect id="iconBG" stroke="#696969" ry="4.1663" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" y="15.167" x="-70.116" stroke-width="1.2" fill="none" class="showBG"/>
 <rect id="iconFG" stroke-width="0" fill-rule="evenodd" ry="2.3755" transform="matrix(0, -1, 1, 0, 0, 0)" width="22" y="16.646" x="-68.6" height="22" fill="url(#linearGradient001)" class="showFG"/>
<g id="iconSymbol" stroke="#4d4d4d" fill="none" class="showSY">
  <path stroke-linejoin="round" d="m31.517,48.69-12.734,12.078,7.0859-1.3033-1.8415,7.4961,13.207-11.835-5.7181-6.4354z" stroke-miterlimit="4" stroke-width="1.60000002"/>
 </g>
 <rect id="overlay" stroke="#696969" opacity="0" ry="4.1663" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" y="15.167" x="-70.116" stroke-width="1.2" class="showOV"/>
</g>
</svg>
/*{{{*/
Background: #f3f1e2
Foreground: #1c1b0b
PrimaryPale: #ffffff
PrimaryLight: #DBD9C9 /* was: #ddd8ad */
PrimaryMid: #bcb25b
PrimaryDark: #24220e
SecondaryPale: #ffffff
SecondaryLight: #E8A4A1
SecondaryMid: #D24B46
SecondaryDark: #2A0A09
TertiaryPale: #ffffff
TertiaryLight: saddlebrown /*was: #adddc8 */
TertiaryMid: #5bbc92
TertiaryDark: #0e241a
Error: #f88
ColorPaletteParameters: HSL([54|80], [0.4208652141144611],[0.1|1])
/*}}}*/
Unless you're delighted with the default scheme 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>>
<html><hr><html>
<!--{{{-->
<script>
	// set some defaults if no values stored in cookie
	if (config.options["txtUserTiddlerWidth"] == undefined)
		config.options["txtUserTiddlerWidth"] = 94;
	if (config.options["txtUserMaxSidebarHeight"] == undefined)
		config.options["txtUserMaxSidebarHeight"] = 85;

	// fit the tiddler display area on page load
	jQuery(document).ready(function () {
		config.macros.tiddlersBar.fitTiddlerDisplay();
	});
</script>

<!-- corrects the backstage icon to take less space; this is
in MarkupPostBody so it is applied after StyleSheetBackstage
APPARENTLY NOT LONGER NECESSARY AS CORE BUTTON ALTERED? -->
<style type="text/css">
/*#backstageShow {
	height: 35px;
	width: 40px;
}
#backstageShow .svgIcon {
	left: -12px;
	top: -5px;
}*/
</style>

<!--}}}-->
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
/***
|Name:|HideWhenPlugin|
|Description:|Allows conditional inclusion/exclusion in templates|
|Version:|3.1 ($Rev: 3919 $)|
|Date:|$Date: 2008-03-13 02:03:12 +1000 (Thu, 13 Mar 2008) $|
|Source:|http://mptw.tiddlyspot.com/#HideWhenPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
For use in ViewTemplate and EditTemplate. Example usage:
{{{<div macro="showWhenTagged Task">[[TaskToolbar]]</div>}}}
{{{<div macro="showWhen tiddler.modifier == 'BartSimpson'"><img src="bart.gif"/></div>}}}
***/
//{{{

window.hideWhenLastTest = false;

window.removeElementWhen = function(test,place) {
	window.hideWhenLastTest = test;
	if (test) {
		jQuery(place).empty()
		place.parentNode.removeChild(place);
	}
};


merge(config.macros,{

	hideWhen: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( eval(paramString), place);
	}},

	showWhen: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( !eval(paramString), place);
	}},

	hideWhenTagged: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( tiddler.tags.containsAll(params), place);
	}},

	showWhenTagged: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( !tiddler.tags.containsAll(params), place);
	}},

	hideWhenTaggedAny: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( tiddler.tags.containsAny(params), place);
	}},

	showWhenTaggedAny: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( !tiddler.tags.containsAny(params), place);
	}},

	hideWhenTaggedAll: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( tiddler.tags.containsAll(params), place);
	}},

	showWhenTaggedAll: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( !tiddler.tags.containsAll(params), place);
	}},

	hideWhenExists: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( store.tiddlerExists(params[0]) || store.isShadowTiddler(params[0]), place);
	}},

	showWhenExists: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( !(store.tiddlerExists(params[0]) || store.isShadowTiddler(params[0])), place);
	}},

	hideWhenTitleIs: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( tiddler.title == params[0], place);
	}},

	showWhenTitleIs: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( tiddler.title != params[0], place);
	}},

	'else': { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( !window.hideWhenLastTest, place);
	}}

});

//}}}

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="918 510 14 14" width="14pt" height="14pt"><metadata xmlns:dc="http://purl.org/dc/elements/1.1/"><dc:date>2010-06-06 13:07Z</dc:date><!-- Produced by OmniGraffle Professional 5.2.2 --></metadata><defs><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="white"/><stop offset="1" stop-color="#2b2b2b"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(922.3752 513.7837) scale(11.4739436)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><g><path d="M 929.6952 512.9018 C 927.1568 510.36337 923.0412 510.36337 920.5028 512.9018 C 917.9644 515.4402 917.9644 519.5558 920.5028 522.09418 C 923.0412 524.63257 927.1568 524.63257 929.6952 522.09418 C 932.2336 519.5558 932.2336 515.4402 929.6952 512.9018 M 925.099 515.7425 L 927.17633 513.66516 L 928.9318 515.42065 L 926.8545 517.498 L 928.9318 519.57532 L 927.17633 521.3308 L 925.099 519.25348 L 923.02167 521.3308 L 921.2662 519.57532 L 923.3435 517.498 L 921.2662 515.42065 L 923.02167 513.66516 Z" fill="url(#Obj_Gradient)"/></g></g></svg>
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
<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>
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
This is a list of themes central to //ve minra//. They should be addressed as time progresses. The list is subject to change.


{{center table{ · {{hooky{[[Solve et coagula]]}}} ··· {{normal{Parmenides, Herakleitos, science.}}} · 
 · {{hooky{[[S & C II: Winks from the past]]}}} ··· {{normal{Bosch, Bruegel, Brahms, Beatles to Clash.}}} ·
 · {{hooky{[[Sociobiology]]}}} ··· {{normal{What every child should know.}}} · 
 · {{hooky{[[Ethics]]}}} ··· {{normal{100% secular.}}} · 
 · {{hooky{[[Vegetarianism]]}}} ··· {{normal{Eat them or not?}}} · 
 · {{hooky{[[Overpopulation]]}}} ··· {{normal{Not always smart.}}} · 
 · {{hooky{[[Why live?]]}}} ··· {{normal{Let's find a //good// reason.}}} · 
 · {{hooky{[[Gods]]}}} ··· {{normal{A fairytale.}}} · 
 · {{hooky{[[Free will]]}}} ··· {{normal{A fairytale.}}} · 
 · {{hooky{[[Freedom|No free will, so grant us freedom]]}}} ··· {{normal{Get it while it's hot.}}} · 
 · {{hooky{[[Mobility|Horse noocracy]]}}} ··· {{normal{Keep on truckin'.}}} · 
 · {{hooky{[[Modernism|Modernism rocks]]}}} ··· {{normal{Versus decadence.}}} · 
 · {{hooky{[[Waves]]}}} ··· {{normal{Music, matter, water.}}} · 
 · {{hooky{[[Futurism]]}}} ··· {{normal{Where do you want to go today?™}}} ·
 · {{hooky{[[5 suffices]]}}} ··· {{normal{Beyond is soap.}}} · }}}

/*{{{*/
/*!
 * jQuery UI 1.8.9
 *
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI
 */
(function(c,j){function k(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.9",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,
NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d=this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this,
"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position");
if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"),10);if(!isNaN(b)&&b!==0)return b}a=a.parent()}}return 0},disableSelection:function(){return this.bind((c.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});c.each(["Width","Height"],function(a,b){function d(f,g,l,m){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(l)g-=parseFloat(c.curCSS(f,
"border"+this+"Width",true))||0;if(m)g-=parseFloat(c.curCSS(f,"margin"+this,true))||0});return g}var e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight,outerWidth:c.fn.outerWidth,outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j)return i["inner"+b].call(this);return this.each(function(){c(this).css(h,d(this,f)+"px")})};c.fn["outer"+b]=function(f,g){if(typeof f!=="number")return i["outer"+b].call(this,f);return this.each(function(){c(this).css(h,
d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){var b=a.nodeName.toLowerCase(),d=c.attr(a,"tabindex");if("area"===b){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map")return false;a=c("img[usemap=#"+d+"]")[0];return!!a&&k(a)}return(/input|select|textarea|button|object/.test(b)?!a.disabled:"a"==b?a.href||!isNaN(d):!isNaN(d))&&k(a)},tabbable:function(a){var b=c.attr(a,"tabindex");return(isNaN(b)||b>=0)&&c(a).is(":focusable")}});
c(function(){var a=document.body,b=a.appendChild(b=document.createElement("div"));c.extend(b.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});c.support.minHeight=b.offsetHeight===100;c.support.selectstart="onselectstart"in b;a.removeChild(b).style.display="none"});c.extend(c.ui,{plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&a.element[0].parentNode)for(var e=0;e<b.length;e++)a.options[b[e][0]]&&
b[e][1].apply(a.element,d)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(a,b){if(c(a).css("overflow")==="hidden")return false;b=b&&b==="left"?"scrollLeft":"scrollTop";var d=false;if(a[b]>0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a<b+d},isOver:function(a,b,d,e,h,i){return c.ui.isOverAxis(a,d,h)&&c.ui.isOverAxis(b,e,i)}})}})(jQuery);
;/*!
 * jQuery UI Widget 1.8.9
 *
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI/Widget
 */
(function(b,j){if(b.cleanData){var k=b.cleanData;b.cleanData=function(a){for(var c=0,d;(d=a[c])!=null;c++)b(d).triggerHandler("remove");k(a)}}else{var l=b.fn.remove;b.fn.remove=function(a,c){return this.each(function(){if(!c)if(!a||b.filter(a,[this]).length)b("*",this).add([this]).each(function(){b(this).triggerHandler("remove")});return l.call(b(this),a,c)})}}b.widget=function(a,c,d){var e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget}b.expr[":"][f]=function(h){return!!b.data(h,
a)};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g)};c=new c;c.options=b.extend(true,{},c.options);b[e][a].prototype=b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a])};b.widget.bridge=function(a,c){b.fn[a]=function(d){var e=typeof d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):d;if(e&&d.charAt(0)==="_")return h;
e?this.each(function(){var g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==j){h=i;return false}}):this.each(function(){var g=b.data(this,a);g?g.option(d||{})._init():b.data(this,a,new c(d,this))});return h}};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c)};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){b.data(c,this.widgetName,this);this.element=b(c);this.options=b.extend(true,{},this.options,
this._getCreateOptions(),a);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},
widget:function(){return this.element},option:function(a,c){var d=a;if(arguments.length===0)return b.extend({},this.options);if(typeof a==="string"){if(c===j)return this.options[a];d={};d[a]=c}this._setOptions(d);return this},_setOptions:function(a){var c=this;b.each(a,function(d,e){c._setOption(d,e)});return this},_setOption:function(a,c){this.options[a]=c;if(a==="disabled")this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",c);return this},
enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(a,c,d){var e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a=b.event.props.length;for(var f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f]}}this.element.trigger(c,d);return!(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(jQuery);
;/*!
 * jQuery UI Mouse 1.8.9
 *
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI/Mouse
 *
 * Depends:
 *	jquery.ui.widget.js
 */
(function(c){c.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var a=this;this.element.bind("mousedown."+this.widgetName,function(b){return a._mouseDown(b)}).bind("click."+this.widgetName,function(b){if(true===c.data(b.target,a.widgetName+".preventClickEvent")){c.removeData(b.target,a.widgetName+".preventClickEvent");b.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(a){a.originalEvent=
a.originalEvent||{};if(!a.originalEvent.mouseHandled){this._mouseStarted&&this._mouseUp(a);this._mouseDownEvent=a;var b=this,e=a.which==1,f=typeof this.options.cancel=="string"?c(a.target).parents().add(a.target).filter(this.options.cancel).length:false;if(!e||f||!this._mouseCapture(a))return true;this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet)this._mouseDelayTimer=setTimeout(function(){b.mouseDelayMet=true},this.options.delay);if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a)){this._mouseStarted=
this._mouseStart(a)!==false;if(!this._mouseStarted){a.preventDefault();return true}}this._mouseMoveDelegate=function(d){return b._mouseMove(d)};this._mouseUpDelegate=function(d){return b._mouseUp(d)};c(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);a.preventDefault();return a.originalEvent.mouseHandled=true}},_mouseMove:function(a){if(c.browser.msie&&!(document.documentMode>=9)&&!a.button)return this._mouseUp(a);if(this._mouseStarted){this._mouseDrag(a);
return a.preventDefault()}if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,a)!==false)?this._mouseDrag(a):this._mouseUp(a);return!this._mouseStarted},_mouseUp:function(a){c(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;a.target==this._mouseDownEvent.target&&c.data(a.target,this.widgetName+".preventClickEvent",
true);this._mouseStop(a)}return false},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery);
;/*
 * jQuery UI Resizable 1.8.9
 *
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI/Resizables
 *
 * Depends:
 *	jquery.ui.core.js
 *	jquery.ui.mouse.js
 *	jquery.ui.widget.js
 */
(function(e){e.widget("ui.resizable",e.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1E3},_create:function(){var b=this,a=this.options;this.element.addClass("ui-resizable");e.extend(this,{_aspectRatio:!!a.aspectRatio,aspectRatio:a.aspectRatio,originalElement:this.element,
_proportionallyResizeElements:[],_helper:a.helper||a.ghost||a.animate?a.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){/relative/.test(this.element.css("position"))&&e.browser.opera&&this.element.css({position:"relative",top:"auto",left:"auto"});this.element.wrap(e('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),
top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=
this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=a.handles||(!e(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",
nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all")this.handles="n,e,s,w,se,sw,ne,nw";var c=this.handles.split(",");this.handles={};for(var d=0;d<c.length;d++){var f=e.trim(c[d]),g=e('<div class="ui-resizable-handle '+("ui-resizable-"+f)+'"></div>');/sw|se|ne|nw/.test(f)&&g.css({zIndex:++a.zIndex});"se"==f&&g.addClass("ui-icon ui-icon-triangle-1-se");"sw"==f&&g.addClass("ui-icon ui-icon-triangle-1-sw");this.handles[f]=".ui-resizable-"+f;this.element.append(g)}}this._renderAxis=function(h){h=h||this.element;for(var i in this.handles){if(this.handles[i].constructor==
String)this.handles[i]=e(this.handles[i],this.element).show();if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var j=e(this.handles[i],this.element),k=0;k=/sw|ne|nw|se|n|s/.test(i)?j.outerHeight():j.outerWidth();j=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join("");h.css(j,k);this._proportionallyResize()}e(this.handles[i])}};this._renderAxis(this.element);this._handles=e(".ui-resizable-handle",this.element).disableSelection();
this._handles.mouseover(function(){if(!b.resizing){if(this.className)var h=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=h&&h[1]?h[1]:"se"}});if(a.autoHide){this._handles.hide();e(this.element).addClass("ui-resizable-autohide").hover(function(){e(this).removeClass("ui-resizable-autohide");b._handles.show()},function(){if(!b.resizing){e(this).addClass("ui-resizable-autohide");b._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var b=function(c){e(c).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};
if(this.elementIsWrapper){b(this.element);var a=this.element;a.after(this.originalElement.css({position:a.css("position"),width:a.outerWidth(),height:a.outerHeight(),top:a.css("top"),left:a.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);b(this.originalElement);return this},_mouseCapture:function(b){var a=false;for(var c in this.handles)if(e(this.handles[c])[0]==b.target)a=true;return!this.options.disabled&&a},_mouseStart:function(b){var a=this.options,c=this.element.position(),
d=this.element;this.resizing=true;this.documentScroll={top:e(document).scrollTop(),left:e(document).scrollLeft()};if(d.is(".ui-draggable")||/absolute/.test(d.css("position")))d.css({position:"absolute",top:c.top,left:c.left});e.browser.opera&&/relative/.test(d.css("position"))&&d.css({position:"relative",top:"auto",left:"auto"});this._renderProxy();c=m(this.helper.css("left"));var f=m(this.helper.css("top"));if(a.containment){c+=e(a.containment).scrollLeft()||0;f+=e(a.containment).scrollTop()||0}this.offset=
this.helper.offset();this.position={left:c,top:f};this.size=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalSize=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalPosition={left:c,top:f};this.sizeDiff={width:d.outerWidth()-d.width(),height:d.outerHeight()-d.height()};this.originalMousePosition={left:b.pageX,top:b.pageY};this.aspectRatio=typeof a.aspectRatio=="number"?a.aspectRatio:
this.originalSize.width/this.originalSize.height||1;a=e(".ui-resizable-"+this.axis).css("cursor");e("body").css("cursor",a=="auto"?this.axis+"-resize":a);d.addClass("ui-resizable-resizing");this._propagate("start",b);return true},_mouseDrag:function(b){var a=this.helper,c=this.originalMousePosition,d=this._change[this.axis];if(!d)return false;c=d.apply(this,[b,b.pageX-c.left||0,b.pageY-c.top||0]);if(this._aspectRatio||b.shiftKey)c=this._updateRatio(c,b);c=this._respectSize(c,b);this._propagate("resize",
b);a.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize();this._updateCache(c);this._trigger("resize",b,this.ui());return false},_mouseStop:function(b){this.resizing=false;var a=this.options,c=this;if(this._helper){var d=this._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName);d=f&&e.ui.hasScroll(d[0],"left")?0:c.sizeDiff.height;
f={width:c.size.width-(f?0:c.sizeDiff.width),height:c.size.height-d};d=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null;var g=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;a.animate||this.element.css(e.extend(f,{top:g,left:d}));c.helper.height(c.size.height);c.helper.width(c.size.width);this._helper&&!a.animate&&this._proportionallyResize()}e("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",
b);this._helper&&this.helper.remove();return false},_updateCache:function(b){this.offset=this.helper.offset();if(l(b.left))this.position.left=b.left;if(l(b.top))this.position.top=b.top;if(l(b.height))this.size.height=b.height;if(l(b.width))this.size.width=b.width},_updateRatio:function(b){var a=this.position,c=this.size,d=this.axis;if(b.height)b.width=c.height*this.aspectRatio;else if(b.width)b.height=c.width/this.aspectRatio;if(d=="sw"){b.left=a.left+(c.width-b.width);b.top=null}if(d=="nw"){b.top=
a.top+(c.height-b.height);b.left=a.left+(c.width-b.width)}return b},_respectSize:function(b){var a=this.options,c=this.axis,d=l(b.width)&&a.maxWidth&&a.maxWidth<b.width,f=l(b.height)&&a.maxHeight&&a.maxHeight<b.height,g=l(b.width)&&a.minWidth&&a.minWidth>b.width,h=l(b.height)&&a.minHeight&&a.minHeight>b.height;if(g)b.width=a.minWidth;if(h)b.height=a.minHeight;if(d)b.width=a.maxWidth;if(f)b.height=a.maxHeight;var i=this.originalPosition.left+this.originalSize.width,j=this.position.top+this.size.height,
k=/sw|nw|w/.test(c);c=/nw|ne|n/.test(c);if(g&&k)b.left=i-a.minWidth;if(d&&k)b.left=i-a.maxWidth;if(h&&c)b.top=j-a.minHeight;if(f&&c)b.top=j-a.maxHeight;if((a=!b.width&&!b.height)&&!b.left&&b.top)b.top=null;else if(a&&!b.top&&b.left)b.left=null;return b},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var b=this.helper||this.element,a=0;a<this._proportionallyResizeElements.length;a++){var c=this._proportionallyResizeElements[a];if(!this.borderDif){var d=[c.css("borderTopWidth"),
c.css("borderRightWidth"),c.css("borderBottomWidth"),c.css("borderLeftWidth")],f=[c.css("paddingTop"),c.css("paddingRight"),c.css("paddingBottom"),c.css("paddingLeft")];this.borderDif=e.map(d,function(g,h){g=parseInt(g,10)||0;h=parseInt(f[h],10)||0;return g+h})}e.browser.msie&&(e(b).is(":hidden")||e(b).parents(":hidden").length)||c.css({height:b.height()-this.borderDif[0]-this.borderDif[2]||0,width:b.width()-this.borderDif[1]-this.borderDif[3]||0})}},_renderProxy:function(){var b=this.options;this.elementOffset=
this.element.offset();if(this._helper){this.helper=this.helper||e('<div style="overflow:hidden;"></div>');var a=e.browser.msie&&e.browser.version<7,c=a?1:0;a=a?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+a,height:this.element.outerHeight()+a,position:"absolute",left:this.elementOffset.left-c+"px",top:this.elementOffset.top-c+"px",zIndex:++b.zIndex});this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(b,a){return{width:this.originalSize.width+
a}},w:function(b,a){return{left:this.originalPosition.left+a,width:this.originalSize.width-a}},n:function(b,a,c){return{top:this.originalPosition.top+c,height:this.originalSize.height-c}},s:function(b,a,c){return{height:this.originalSize.height+c}},se:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},sw:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,a,c]))},ne:function(b,a,c){return e.extend(this._change.n.apply(this,
arguments),this._change.e.apply(this,[b,a,c]))},nw:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,a,c]))}},_propagate:function(b,a){e.ui.plugin.call(this,b,[a,this.ui()]);b!="resize"&&this._trigger(b,a,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});e.extend(e.ui.resizable,
{version:"1.8.9"});e.ui.plugin.add("resizable","alsoResize",{start:function(){var b=e(this).data("resizable").options,a=function(c){e(c).each(function(){var d=e(this);d.data("resizable-alsoresize",{width:parseInt(d.width(),10),height:parseInt(d.height(),10),left:parseInt(d.css("left"),10),top:parseInt(d.css("top"),10),position:d.css("position")})})};if(typeof b.alsoResize=="object"&&!b.alsoResize.parentNode)if(b.alsoResize.length){b.alsoResize=b.alsoResize[0];a(b.alsoResize)}else e.each(b.alsoResize,
function(c){a(c)});else a(b.alsoResize)},resize:function(b,a){var c=e(this).data("resizable");b=c.options;var d=c.originalSize,f=c.originalPosition,g={height:c.size.height-d.height||0,width:c.size.width-d.width||0,top:c.position.top-f.top||0,left:c.position.left-f.left||0},h=function(i,j){e(i).each(function(){var k=e(this),q=e(this).data("resizable-alsoresize"),p={},r=j&&j.length?j:k.parents(a.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(r,function(n,o){if((n=
(q[o]||0)+(g[o]||0))&&n>=0)p[o]=n||null});if(e.browser.opera&&/relative/.test(k.css("position"))){c._revertToRelativePosition=true;k.css({position:"absolute",top:"auto",left:"auto"})}k.css(p)})};typeof b.alsoResize=="object"&&!b.alsoResize.nodeType?e.each(b.alsoResize,function(i,j){h(i,j)}):h(b.alsoResize)},stop:function(){var b=e(this).data("resizable"),a=b.options,c=function(d){e(d).each(function(){var f=e(this);f.css({position:f.data("resizable-alsoresize").position})})};if(b._revertToRelativePosition){b._revertToRelativePosition=
false;typeof a.alsoResize=="object"&&!a.alsoResize.nodeType?e.each(a.alsoResize,function(d){c(d)}):c(a.alsoResize)}e(this).removeData("resizable-alsoresize")}});e.ui.plugin.add("resizable","animate",{stop:function(b){var a=e(this).data("resizable"),c=a.options,d=a._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName),g=f&&e.ui.hasScroll(d[0],"left")?0:a.sizeDiff.height;f={width:a.size.width-(f?0:a.sizeDiff.width),height:a.size.height-g};g=parseInt(a.element.css("left"),10)+(a.position.left-
a.originalPosition.left)||null;var h=parseInt(a.element.css("top"),10)+(a.position.top-a.originalPosition.top)||null;a.element.animate(e.extend(f,h&&g?{top:h,left:g}:{}),{duration:c.animateDuration,easing:c.animateEasing,step:function(){var i={width:parseInt(a.element.css("width"),10),height:parseInt(a.element.css("height"),10),top:parseInt(a.element.css("top"),10),left:parseInt(a.element.css("left"),10)};d&&d.length&&e(d[0]).css({width:i.width,height:i.height});a._updateCache(i);a._propagate("resize",
b)}})}});e.ui.plugin.add("resizable","containment",{start:function(){var b=e(this).data("resizable"),a=b.element,c=b.options.containment;if(a=c instanceof e?c.get(0):/parent/.test(c)?a.parent().get(0):c){b.containerElement=e(a);if(/document/.test(c)||c==document){b.containerOffset={left:0,top:0};b.containerPosition={left:0,top:0};b.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}}else{var d=e(a),f=[];e(["Top",
"Right","Left","Bottom"]).each(function(i,j){f[i]=m(d.css("padding"+j))});b.containerOffset=d.offset();b.containerPosition=d.position();b.containerSize={height:d.innerHeight()-f[3],width:d.innerWidth()-f[1]};c=b.containerOffset;var g=b.containerSize.height,h=b.containerSize.width;h=e.ui.hasScroll(a,"left")?a.scrollWidth:h;g=e.ui.hasScroll(a)?a.scrollHeight:g;b.parentData={element:a,left:c.left,top:c.top,width:h,height:g}}}},resize:function(b){var a=e(this).data("resizable"),c=a.options,d=a.containerOffset,
f=a.position;b=a._aspectRatio||b.shiftKey;var g={top:0,left:0},h=a.containerElement;if(h[0]!=document&&/static/.test(h.css("position")))g=d;if(f.left<(a._helper?d.left:0)){a.size.width+=a._helper?a.position.left-d.left:a.position.left-g.left;if(b)a.size.height=a.size.width/c.aspectRatio;a.position.left=c.helper?d.left:0}if(f.top<(a._helper?d.top:0)){a.size.height+=a._helper?a.position.top-d.top:a.position.top;if(b)a.size.width=a.size.height*c.aspectRatio;a.position.top=a._helper?d.top:0}a.offset.left=
a.parentData.left+a.position.left;a.offset.top=a.parentData.top+a.position.top;c=Math.abs((a._helper?a.offset.left-g.left:a.offset.left-g.left)+a.sizeDiff.width);d=Math.abs((a._helper?a.offset.top-g.top:a.offset.top-d.top)+a.sizeDiff.height);f=a.containerElement.get(0)==a.element.parent().get(0);g=/relative|absolute/.test(a.containerElement.css("position"));if(f&&g)c-=a.parentData.left;if(c+a.size.width>=a.parentData.width){a.size.width=a.parentData.width-c;if(b)a.size.height=a.size.width/a.aspectRatio}if(d+
a.size.height>=a.parentData.height){a.size.height=a.parentData.height-d;if(b)a.size.width=a.size.height*a.aspectRatio}},stop:function(){var b=e(this).data("resizable"),a=b.options,c=b.containerOffset,d=b.containerPosition,f=b.containerElement,g=e(b.helper),h=g.offset(),i=g.outerWidth()-b.sizeDiff.width;g=g.outerHeight()-b.sizeDiff.height;b._helper&&!a.animate&&/relative/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g});b._helper&&!a.animate&&/static/.test(f.css("position"))&&
e(this).css({left:h.left-d.left-c.left,width:i,height:g})}});e.ui.plugin.add("resizable","ghost",{start:function(){var b=e(this).data("resizable"),a=b.options,c=b.size;b.ghost=b.originalElement.clone();b.ghost.css({opacity:0.25,display:"block",position:"relative",height:c.height,width:c.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof a.ghost=="string"?a.ghost:"");b.ghost.appendTo(b.helper)},resize:function(){var b=e(this).data("resizable");b.ghost&&b.ghost.css({position:"relative",
height:b.size.height,width:b.size.width})},stop:function(){var b=e(this).data("resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}});e.ui.plugin.add("resizable","grid",{resize:function(){var b=e(this).data("resizable"),a=b.options,c=b.size,d=b.originalSize,f=b.originalPosition,g=b.axis;a.grid=typeof a.grid=="number"?[a.grid,a.grid]:a.grid;var h=Math.round((c.width-d.width)/(a.grid[0]||1))*(a.grid[0]||1);a=Math.round((c.height-d.height)/(a.grid[1]||1))*(a.grid[1]||1);if(/^(se|s|e)$/.test(g)){b.size.width=
d.width+h;b.size.height=d.height+a}else if(/^(ne)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}else{if(/^(sw)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a}else{b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}b.position.left=f.left-h}}});var m=function(b){return parseInt(b,10)||0},l=function(b){return!isNaN(parseInt(b,10))}})(jQuery);
;
/*}}}*/
Sorry, no content yet - the topic '@chris-dent' may be waiting for its write-up.
<!--{{{-->
<script>

if (document.images)
{
  // preload images

  gif1= new Image(); 
  gif1.src="http://kosmaton.bplaced.net/veminra/content/quad1.gif";

  gif2= new Image(); 
  gif2.src="http://kosmaton.bplaced.net/veminra/content/quad2.gif";

  gif3= new Image(); 
  gif3.src="http://kosmaton.bplaced.net/veminra/content/quad3.gif";

  gif4= new Image(); 
  gif4.src="http://kosmaton.bplaced.net/veminra/content/quad4.gif";

  gif5= new Image(); 
  gif5.src="http://kosmaton.bplaced.net/veminra/content/quad5.gif";

  alche1 = new Image();
  alche1.src="http://kosmaton.bplaced.net/veminra/content/GStates/alche_earth_small.png";

  alche2 = new Image();
  alche2.src="http://kosmaton.bplaced.net/veminra/content/GStates/alche_water_small.png";

  alche3 = new Image();
  alche3.src="http://kosmaton.bplaced.net/veminra/content/GStates/alche_gas_small.png";

  alche4 = new Image();
  alche4.src="http://kosmaton.bplaced.net/veminra/content/GStates/alche_plasma_small.png";

  retro1 = new Image();
  retro1.src="fs-597.jpg";

  claytablet = new Image();
  claytablet.src = "http://kosmaton.bplaced.net/veminra/design/pix/cuneiform_light.png";
}

</script>
<!--}}}-->
/***
|''Name:''|TiddlersBarPluginMPKos|
|''Description:''|A bar to switch between tiddlers through tabs (like browser tabs bar).|
|''Version:''|1.2.5|
|''Date:''|Jan 18,2008|
|''Source:''|http://visualtw.ouvaton.org/VisualTW.html|
|''Original author:''|Pascal Collin|
|''1st edit by:''|Mario Pietsch, http://nostalgia.tiddlyspace.com/#TiddlersBarPluginMP|
|''2nd edit by:''|Kosmaton (Feb 2011)|
|''License:''|[[BSD open source license|License]]|
|''~CoreVersion:''|2.1.0|
|''Browser:''|Firefox 2.0; InternetExplorer 6.0, others|
!Attention
Changes by Mario Pietsch at the end of the plugin marked with !!MP!!
Changes by Kosmaton marked with !!Kos!!

!Demos
On [[homepage|http://visualtw.ouvaton.org/VisualTW.html]], open several tiddlers to use the tabs bar.
!Installation
#import this tiddler from [[homepage|http://visualtw.ouvaton.org/VisualTW.html]] (tagged as systemConfig)
#save and reload
#''if you're using a custom [[PageTemplate]]'', add {{{<div id='tiddlersBar' refresh='none' ondblclick='config.macros.tiddlersBar.onTiddlersBarAction(event)'></div>}}} before {{{<div id='tiddlerDisplay'></div>}}}
#optionally, adjust StyleSheetTiddlersBar
!Tips
*Doubleclick on the tiddlers bar (where there is no tab) create a new tiddler.
*Tabs include a button to close {{{x}}} or save {{{!}}} their tiddler.
*By default, click on the current tab close all others tiddlers.
!Configuration options 
<<option chkDisableTabsBar>> Disable the tabs bar (to print, by example).
<<option chkHideTabsBarWhenSingleTab >> Automatically hide the tabs bar when only one tiddler is displayed. 
<<option txtSelectedTiddlerTabButton>> ''selected'' tab command button.
<<option txtPreviousTabKey>> previous tab access key.
<<option txtNextTabKey>> next tab access key.
!Code
***/
//{{{
config.options.chkDisableTabsBar = config.options.chkDisableTabsBar ? config.options.chkDisableTabsBar : false;
config.options.chkHideTabsBarWhenSingleTab  = config.options.chkHideTabsBarWhenSingleTab  ? config.options.chkHideTabsBarWhenSingleTab  : false;
config.options.txtSelectedTiddlerTabButton = config.options.txtSelectedTiddlerTabButton ? config.options.txtSelectedTiddlerTabButton : "closeOthers";
config.options.txtPreviousTabKey = config.options.txtPreviousTabKey ? config.options.txtPreviousTabKey : "";
config.options.txtNextTabKey = config.options.txtNextTabKey ? config.options.txtNextTabKey : "";
config.macros.tiddlersBar = {
	tooltip : "see ",
	tooltipClose : "click here to close this tab",
	tooltipSave : "click here to save this tab",
	promptRename : "Enter tiddler new name",
	currentTiddler : "",
	previousState : false,
	previousKey : config.options.txtPreviousTabKey,
	nextKey : config.options.txtNextTabKey,	
	tabsAnimationSource : null, //use document.getElementById("tiddlerDisplay") if you need animation on tab switching.
	handler: function(place,macroName,params) {
		var previous = null;

		/* -- !!Kos!! -- insert some button tabs -- */
		if (config.macros.tiddlersBar.currentTiddler){
			createTiddlyButton(place,'⇵','Toggle display',config.macros.tiddlersBar.toggleTiddlerDisplay,'tab tabUnselected');
			// createTiddlyButton(place,'♻','Permaview (store current groove story in browser URL bar)',function(){story.permaView();},'tab tabUnselected');
			createTiddlyButton(place,'✗','Close all groovs',config.macros.tiddlersBar.closeAllTabTiddlers,'tab tabUnselected');
		}
		/* ------------------------------- !!Kos!! */

		if (config.macros.tiddlersBar.isShown())
			story.forEachTiddler(function(title,e){
				if (title==config.macros.tiddlersBar.currentTiddler){
					var d = createTiddlyElement(null,"span",null,"tab tabSelected");
					config.macros.tiddlersBar.createActiveTabButton(d,title);
					if (previous && config.macros.tiddlersBar.previousKey) previous.setAttribute("accessKey",config.macros.tiddlersBar.nextKey);
					previous = "active";
				}
				else {
					var d = createTiddlyElement(place,"span",null,"tab tabUnselected");
					var btn = createTiddlyButton(d,title,config.macros.tiddlersBar.tooltip + title,config.macros.tiddlersBar.onSelectTab);
					btn.setAttribute("tiddler", title);
					if (previous=="active" && config.macros.tiddlersBar.nextKey) btn.setAttribute("accessKey",config.macros.tiddlersBar.previousKey);
					previous=btn;
				}
				var isDirty =story.isDirty(title);
				var c = createTiddlyButton(d,isDirty ?"!":"x",isDirty?config.macros.tiddlersBar.tooltipSave:config.macros.tiddlersBar.tooltipClose, isDirty ? config.macros.tiddlersBar.onTabSave : config.macros.tiddlersBar.onTabClose,"tabButton");
				c.setAttribute("tiddler", title);
				if (place.childNodes) {
					place.insertBefore(document.createTextNode(" "),place.firstChild); // to allow break line here when many tiddlers are open
					place.insertBefore(d,place.firstChild); 
				}
				else place.appendChild(d);
			})
	}, 
	refresh: function(place,params){
		removeChildren(place);
		config.macros.tiddlersBar.handler(place,"tiddlersBar",params);
		if (config.macros.tiddlersBar.previousState!=config.macros.tiddlersBar.isShown()) {
			story.refreshAllTiddlers();
			if (config.macros.tiddlersBar.previousState) story.forEachTiddler(function(t,e){e.style.display="";});
			config.macros.tiddlersBar.previousState = !config.macros.tiddlersBar.previousState;
		}
		/* -- !!Kos!!              */
		config.macros.tiddlersBar.fitTiddlerDisplay();
		/*              !!Kos!! -- */
	},
	isShown : function(){
		if (config.options.chkDisableTabsBar) return false;
		if (!config.options.chkHideTabsBarWhenSingleTab) return true;
		var cpt=0;
		story.forEachTiddler(function(){cpt++});
		return (cpt>1);
	},
	selectNextTab : function(){  //used when the current tab is closed (to select another tab)
		var previous="";
		story.forEachTiddler(function(title){
			if (!config.macros.tiddlersBar.currentTiddler) {
				story.displayTiddler(null,title);
				return;
			}
			if (title==config.macros.tiddlersBar.currentTiddler) {
				if (previous) {
					story.displayTiddler(null,previous);
					return;
				}
				else config.macros.tiddlersBar.currentTiddler=""; 	// so next tab will be selected
			}
			else previous=title;
			});		
	},
	onSelectTab : function(e){
		var t = this.getAttribute("tiddler");
		if (t) story.displayTiddler(null,t);
		return false;
	},
	onTabClose : function(e){
		var t = this.getAttribute("tiddler");
		if (t) {
			if(story.hasChanges(t) && !readOnly) {
				if(!confirm(config.commands.cancelTiddler.warning.format([t])))
				return false;
			}
			story.closeTiddler(t);
		}
		return false;
	},
	onTabSave : function(e) {
		var t = this.getAttribute("tiddler");
		if (!e) e=window.event;
		if (t) config.commands.saveTiddler.handler(e,null,t);
		return false;
	},
	onSelectedTabButtonClick : function(event,src,title) {
		var t = this.getAttribute("tiddler");
		if (!event) event=window.event;
		if (t && config.options.txtSelectedTiddlerTabButton && config.commands[config.options.txtSelectedTiddlerTabButton])
			config.commands[config.options.txtSelectedTiddlerTabButton].handler(event, src, t);
		return false;
	},
	onTiddlersBarAction: function(event) {
		var source = event.target ? event.target.id : event.srcElement.id; // FF uses target and IE uses srcElement;
		if (source=="tiddlersBar") story.displayTiddler(null,'New Tiddler',DEFAULT_EDIT_TEMPLATE,false,null,null);
	},
	createActiveTabButton : function(place,title) {
		if (config.options.txtSelectedTiddlerTabButton && config.commands[config.options.txtSelectedTiddlerTabButton]) {
			var btn = createTiddlyButton(place, title, config.commands[config.options.txtSelectedTiddlerTabButton].tooltip ,config.macros.tiddlersBar.onSelectedTabButtonClick);
			btn.setAttribute("tiddler", title);
		}
		else
			createTiddlyText(place,title);
	},
	/* -- !!Kos!! -- Some extra methods used in the "triptych" theme;
	                 they do what their name says.                */
	toggleTiddlerDisplay : function() {
		jQuery('#tiddlerDisplay').slideToggle('slow');
	},
	fitTiddlerDisplay: function() {
		var tDFrac;
		if (config.options["txtUserTiddlerWidth"] == undefined
			|| config.options["txtUserTiddlerWidth"] > 100
			|| config.options["txtUserTiddlerWidth"] < 0)
			tDFrac = 0.94;
		else tDFrac = config.options["txtUserTiddlerWidth"]/100;

		var sideFrac = ( 1 - tDFrac ) / 2;
		var wiDiv = document.getElementById("testWidthDiv");
		var w_all = wiDiv.offsetWidth;
		if (jQuery('#leftBarWrapper').hasClass('fixedSidebarWrapper'))
			var w_left = jQuery('#leftBarWrapper').width();
		else var w_left = 0;
		if (jQuery('#rightBarWrapper').hasClass('fixedSidebarWrapper'))
			var w_right = jQuery('#rightBarWrapper').width();
		else var w_right = 0;
		var w_free = w_all - w_left - w_right;
		var leftBorder_dA = w_left + sideFrac*w_free;
		jQuery('#displayArea').css('left',leftBorder_dA+'px');
		jQuery('#displayArea').width(tDFrac*w_free);
		//console.log("fitted");
	},
	closeAllTabTiddlers: function() {
		jQuery('#tiddlerDisplay').show();
		story.closeAllTiddlers();
	}
	/* ---------------------------------------------------- !!Kos!! */
}

story.coreCloseTiddler = story.coreCloseTiddler? story.coreCloseTiddler : story.closeTiddler;
story.coreDisplayTiddler = story.coreDisplayTiddler ? story.coreDisplayTiddler : story.displayTiddler;

story.closeTiddler = function(title,animate,unused) {
	if (title==config.macros.tiddlersBar.currentTiddler)
		config.macros.tiddlersBar.selectNextTab();
	story.coreCloseTiddler(title,false,unused); //disable animation to get it closed before calling tiddlersBar.refresh
	var e=document.getElementById("tiddlersBar");
	if (e) config.macros.tiddlersBar.refresh(e,null);
}

story.displayTiddler = function(srcElement,tiddler,template,animate,unused,customFields,toggle){
	story.coreDisplayTiddler(config.macros.tiddlersBar.tabsAnimationSource,tiddler,template,animate,unused,customFields,toggle);
	var title = (tiddler instanceof Tiddler)? tiddler.title : tiddler;  
	if (config.macros.tiddlersBar.isShown()) {
		story.forEachTiddler(function(t,e){
			if (t!=title) e.style.display="none";
			else e.style.display="";
		})
		config.macros.tiddlersBar.currentTiddler=title;
	}
	var e=document.getElementById("tiddlersBar");
	if (e) config.macros.tiddlersBar.refresh(e,null);
}

var coreRefreshPageTemplate = coreRefreshPageTemplate ? coreRefreshPageTemplate : refreshPageTemplate;
refreshPageTemplate = function(title) {
	coreRefreshPageTemplate(title);
	/*-- new --*/
	var e = document.getElementById("tiddlersBar");
	if (config.macros.tiddlersBar && e) config.macros.tiddlersBar.refresh(e);

// !!MP!! old prevents a theme, which has no div id=tiddlersBar from loading.
//old	if (config.macros.tiddlersBar && e) config.macros.tiddlersBar.refresh(document.getElementById("tiddlersBar"));
}

// !!MP!! removed this line because it causes a scroll to top if a popup opens.
// ensureVisible=function (e) {return 0}

config.shadowTiddlers.StyleSheetTiddlersBar = "/*{{{*/\n";
config.shadowTiddlers.StyleSheetTiddlersBar += "#tiddlersBar .button {border:0}\n";
config.shadowTiddlers.StyleSheetTiddlersBar += "#tiddlersBar .tab {white-space:nowrap}\n";
config.shadowTiddlers.StyleSheetTiddlersBar += "#tiddlersBar {padding : 0.5em 0.5em 2px 0.5em}\n";
config.shadowTiddlers.StyleSheetTiddlersBar += ".tabUnselected .tabButton, .tabSelected .tabButton {padding : 0 2px 0 2px; margin: 0 0 0 4px;}\n";
config.shadowTiddlers.StyleSheetTiddlersBar += ".tiddler, .tabContents {border:1px [[ColorPalette::TertiaryPale]] solid;}\n";
config.shadowTiddlers.StyleSheetTiddlersBar +="/*}}}*/";
store.addNotification("StyleSheetTiddlersBar", refreshStyles);

config.refreshers.none = function(){return true;}
config.shadowTiddlers.PageTemplate=config.shadowTiddlers.PageTemplate.replace(/<div id='tiddlerDisplay'><\/div>/m,"<div id='tiddlersBar' refresh='none' ondblclick='config.macros.tiddlersBar.onTiddlersBarAction(event)'></div>\n<div id='tiddlerDisplay'></div>");

//}}}
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
/***
|''Name''|SvgEvent_Menue|
|''Description''|contains the global TW jQuery custom events.|
|''Author''|Mario Pietsch|
|''Version''|0.2.1|
|''Status''|''stable''|
|''Source''|http://fxplugins.tiddlyspace.com|
|''CoreVersion''|2.6|
|''Documentation''|[[SvgEvent_Info]]|
|''Keywords''|svg, events, animation, commands|
!Important
!Known issues
!History
*V 0.2.1
**stable
**[[SvgEvent_Info]] has more info now
*Version: 0.2.0
**changed function names. They are not ugly anymore :)
**SvgEventzPlugin is not needed anymore!
*Version: 0.1.0
**initial release
!Code
***/
/*{{{*/
if(!version.extensions.SvgEvent_Menue) { //# ensure that the plugin is only installed once
version.extensions.SvgEvent_Menue= { installed: true };

(function($) {

var eventTypes = ["cCloseAll", "cPermaview", "cNewTiddler", "cNewJournal", "cSaveChanges", "cReadDoc", "cmd99"];

menue= {
	// if you add event types here. Also go to the end and adjust "var eventTypes" accordingly.

	//menueCloseAll
	cCloseAll: function(e, trial) {
		if  (! trial.comp.menue) return false;

		story.closeAllTiddlers();
		return false;
	}, 

	//menuePermaview
	cPermaview: function(e, trial) {
		if  (! trial.comp.menue) return false;
		story.permaView();
		return false;
	}, 

	//menueNewTiddler
	cNewTiddler: function(e, trial) {
		if  (! trial.comp.menue) return false;
		// trigger readOnly
		if (readOnly) {$(document).trigger('cmd99', trial); return false;}

		var title = 'New Tiddler';
		story.displayTiddler(null, title);
		config.commands.editTiddler.handler(null, null, title);
		return false;
	}, 

	//menueNewJournal
	cNewJournal: function(e, trial) {
		if  (! trial.comp.menue) return false;
		// trigger readOnly
		if (readOnly) {$(document).trigger('cmd99', trial); return false;}

		var title = config.macros.timeline.dateFormat;
		title = new Date().formatString(title.trim());
		story.displayTiddler(null, title);
		config.commands.editTiddler.handler(null, null, title);

		return false;
	}, 

	// menueSaveChanges
	cSaveChanges: function(e, trial) {
		if  (! trial.comp.menue) return false;
		// trigger readOnly
		if (readOnly) {$(document).trigger('cmd99', trial); return false;}
		
		saveChanges();
		return false;
	}, 

	cReadDoc: function(e, trial) {
		if  (! trial.comp.menue) return false;

		var rdDocMsg= "Read the documentation!";

		displayMessage(rdDocMsg);
		return false;
	},

	cmd99: function(e, trial) {
		var rdOnlyMsg= "System is readOnly!";

		if  (! trial.comp.menue) return false;

		displayMessage(rdOnlyMsg);

		trial.elem.setAttribute('opacity', 0.3);
		return false;
	}

}; // menue


// if you add components here a 
var components = [menue];

$.each(components, function(i,component) {
	$.each(eventTypes, function(j,eventType) {
		var handler = component[eventType];
		if (handler) $(document).bind(eventType, handler);
	});
});


})(jQuery);
} //# end of "install only once"

/*}}}*/
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
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="29pt" viewBox="13 43 29 29" width="29pt" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" onmousedown="if(jQuery) jQuery(document).trigger('cSmaller', {elem:this, comp:{animations:1}})" onmouseup="if(jQuery) jQuery(document).trigger('cResize', {elem:this, comp:{animations:1}})">
 <defs id="defs6">
 <linearGradient id="linearGradient001" y2="27.646" gradientUnits="userSpaceOnUse" x2="-45.8" y1="27.646" x1="-57.66">
   <stop id="stop1" stop-color="#CC9900" offset="0"/>
   <stop id="stop2" stop-color="#E8D18B" offset="0.66462"/>
   <stop id="stop3" stop-color="#CC9900" offset="1"/>
  </linearGradient></defs>
<g id="icon" stroke-linecap="round" stroke-miterlimit="4">
 <rect id="iconBG" style="stroke-dasharray:none;" fill-rule="evenodd" ry="4.1663" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#696969" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="none"/>
 <rect id="iconFG" stroke-width="0" fill-rule="evenodd" ry="2.3755" transform="matrix(0, -1, 1, 0, 0, 0)" width="22" stroke-miterlimit="4" y="16.646" x="-68.6" height="22" fill="url(#linearGradient001)" class="showOnHover" opacity="0"/>
 <g id="iconSymbol" stroke-linejoin="miter" stroke-miterlimit="4">
  <g id="g2873" transform="translate(-5.75544, -1.55954)" stroke="#A00">
   <path id="path2875" style="stroke-dasharray:none;" d="m32.71,59.791c0,0.71068-0.57612,1.2868-1.2868,1.2868s-1.2868-0.57612-1.2868-1.2868,0.57612-1.2868,1.2868-1.2868,1.2868,0.57612,1.2868,1.2868z" fill-rule="evenodd" transform="matrix(0.844979, 0, 0, 0.844979, 6.38812, 2.07297)" stroke-linecap="round" stroke-width="4" fill="#CCC"/>
   <rect id="rect2877" style="stroke-dasharray:none;" ry="1.4818" height="8.8906" width="5.1947" stroke-linecap="butt" y="55.64" x="30.465" stroke-width="1.4708" fill="none"/>
  </g>
  <g id="g2867" stroke="#4d4d4d" transform="translate(-10.5083, 1.70807)">
   <path id="path2869" style="stroke-dasharray:none;" d="m32.71,59.791c0,0.71068-0.57612,1.2868-1.2868,1.2868s-1.2868-0.57612-1.2868-1.2868,0.57612-1.2868,1.2868-1.2868,1.2868,0.57612,1.2868,1.2868z" fill-rule="evenodd" transform="matrix(0.844979, 0, 0, 0.844979, 6.38812, 2.07297)" stroke-linecap="round" stroke-width="4" fill="#CCC"/>
   <rect id="rect2871" style="stroke-dasharray:none;" ry="1.4818" height="8.8906" width="5.1947" stroke-linecap="butt" y="55.64" x="30.465" stroke-width="1.4708" fill="none"/>
  </g>
  <g id="g3620" stroke="#4d4d4d" transform="translate(0.259923, -0.148528)">
   <path id="path3288" style="stroke-dasharray:none;" d="m32.71,59.791c0,0.71068-0.57612,1.2868-1.2868,1.2868s-1.2868-0.57612-1.2868-1.2868,0.57612-1.2868,1.2868-1.2868,1.2868,0.57612,1.2868,1.2868z" fill-rule="evenodd" transform="matrix(0.844979, 0, 0, 0.844979, 6.38812, 2.07297)" stroke-linecap="round" stroke-width="4" fill="#CCC"/>
   <rect id="rect3629" style="stroke-dasharray:none;" ry="1.4818" height="8.8906" width="5.1947" stroke-linecap="butt" y="55.64" x="30.465" stroke-width="1.4708" fill="none"/>
  </g>
 </g>
 <rect id="overlay" opacity="0.01" ry="4.1663" style="stroke-dasharray:none;" fill-rule="evenodd" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#e6e6e6" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="#e6e6e6" onmouseover="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})" onmouseout="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})"/>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="29pt" viewBox="13 43 29 29" width="29pt" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" onmousedown="if(jQuery) jQuery(document).trigger('cSmaller', {elem:this, comp:{animations:1}})" onmouseup="if(jQuery) jQuery(document).trigger('cResize', {elem:this, comp:{animations:1}})">
 <defs id="defs6">
 <linearGradient id="linearGradient001" y2="27.646" gradientUnits="userSpaceOnUse" x2="-45.8" y1="27.646" x1="-57.66">
   <stop id="stop1" stop-color="#CC9900" offset="0"/>
   <stop id="stop2" stop-color="#E8D18B" offset="0.66462"/>
   <stop id="stop3" stop-color="#CC9900" offset="1"/>
  </linearGradient></defs>
<g id="icon" stroke-linecap="round" stroke-miterlimit="4">
 <rect id="iconBG" style="stroke-dasharray:none;" fill-rule="evenodd" ry="4.1663" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#696969" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="none"/>
 <rect id="iconFG" stroke-width="0" fill-rule="evenodd" ry="2.3755" transform="matrix(0, -1, 1, 0, 0, 0)" width="22" stroke-miterlimit="4" y="16.646" x="-68.6" height="22" fill="url(#linearGradient001)" class="showOnHover" opacity="0"/>
 <g id="iconSymbol" stroke-linejoin="miter" stroke="#4d4d4d" stroke-linecap="round" stroke-miterlimit="4">
  <path id="path3640" style="stroke-dasharray:none;" d="m21.877,50.312,0,14.926" stroke-width="2.50369096" fill="none"/>
  <rect id="rect3642" style="stroke-dasharray:none;" transform="matrix(0.707107, -0.707107, 0.707107, 0.707107, 0, 0)" ry="0" height="2.1305" width="2.1305" y="59.855" x="-17.174" stroke-width="2.4" fill="none"/>
  <rect id="rect3644" ry="0" style="stroke-dasharray:none;" transform="matrix(0.707107, -0.707107, 0.707107, 0.707107, 0, 0)" height="2.1305" width="2.1305" y="66.038" x="-23.357" stroke-width="2.4" fill="none"/>
  <path id="path3646" style="stroke-dasharray:none;" d="m22.664,54.557,3.0416,0" stroke-width="2.4" fill="none"/>
 </g>
 <rect id="overlay" opacity="0.01" ry="4.1663" style="stroke-dasharray:none;" fill-rule="evenodd" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#e6e6e6" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="#e6e6e6" onmouseover="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})" onmouseout="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})"/>
</g>
</svg>
{{indent{{{hooky2{Plasma}}} (one of the [[ve minra states]]): potentially electrifying! Mostly far out [[groovs|Groov]]:

<<list filter "[tag[GState: Plasma]]">>}}}

{{center{[img[plasma_icon.png]]
{{small{The Sun: a rotating sphere of plasma.}}}}}}

<<paletteView ColorPalette>>
iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJDSURBVHjajJJNSBRhGMd/887MzrQxRSLbFuYhoUhEKsMo8paHUKFLdBDrUIdunvq4RdClOq8Hb0FBSAVCUhFR1CGD/MrIJYqs1kLUXd382N356plZFOrUO/MMz/vO83+e93n+f+1zF+kQBoOQNLBJg0CTj7z/rvWjGbEOIwKp9O7WkhtQc/wMWrlIkP8Kc1lMS8eyFHpkpo5SgWCCVO7Z5JARhuz1Qg29fh87u6/9VWL1/SPc4Qy6n8c0FehiXin6dcCQaylDMhqGz8ydS2hKkmxNkWxowWnuBLHK6G2C8X6UJkBlxUmNqLYyNbzF74QLDrgFgh9LLE0NsPKxjW1Hz2EdPIubsOFdH2HgbwAlC4S19dT13o+3pS+vcSfvUcq9YnbwA6muW9hNpym/FWBxfh0CZkKGkPBZeJFhcWQAu6EN52QGZ/8prEKW+cdXq0039UiLXhUYzdjebOJQQI30UXp6mZn+Dtam32Afu0iyrgUvN0r+ZQbr8HncSpUVJfwRhBWC0hyGV8CxXBL5SWYf9sYBidYLIG2V87/ifVjTWAX6AlxeK2C0X8e58hOr/Qa2XJ3iLMWxB1h72tHs7bgryzHAN2o2gJorTrLxRHVazd0o4TXiyV2Yjs90uzauGvvppmqcLjwmbZ3V7BO2HOrBnbgrQRqWUgTZ5+Snx4WeKfzCCrmb3axODKNH+vvUyWjqyK4DiKQ0eXSpFsgVvLJQWpH+xSpr4otg/HI0TR/t97cxTUS+QxIMRTLi/9ZYJPI/AgwAoc3W7ZrqR2IAAAAASUVORK5CYII=
/***
|''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);
//}}}
<<tiddler SideBarTabs>>
/%
*Renaming this tiddler, will make the right sidebar invisible.
*Using this tiddler with the theme, makes it possible to keep the original SideBarTabs tiddler. 
 
!!!old content
<<tiddler SidebarButtons>>
<<slider chkSliderSideBarTabs SideBarTabs "Index »" "display the timeline">> 
%/
iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAABIAAAASABGyWs+AAAEQklEQVQ4y5XQT2wUVRwH8O97b96bndnp7na7bkvpNrSLIOqhSW3SGA8mJkXxhAe59kC0B7l50IMKxsREMQEPRE949GIKBSXIoYVaw7IqmwiUNg21urs0Tdud2e7u7Px5Mx5aTC0tKb/km7zJTD7vN1+CLdNiRLFWq+PI4aFIR0eHXqvX3Hz+94au68Hd6Wnsdsijw+uHD+P6jUly6pOPXuzN7n+rJdE6SBWlDWFo27W1ew9LxbHxievjmUxX88vTX+0OHhkZwcLCX+LY28eOd/Xu/8BVjYzlhXBkCIUStHACI3Tr5sPi97mbNz/u7u4uv3fixJPho0ePYnR0lHx3/vyJ7ude+LzKdD0AhVAoCIAgBPwgQBCESFAP5j8Pfrg4OvpOsq1t9cyZMzvD586dw5plvdT/8isXZTzdmYjq0DmDKwN4Qbj+EQH8IETDcaE0rGDmj1sfvjsy8sXg4CByudy2MLt8+TKKpdL7ib37hpKtcaRaNISEQlEYVM6hcgUqV6ALjmhEhRcSwqTX/tmnp0Y7O/fWb9++vS1M3zzyRqsRiw8KTUfK0KEwBboQMCIqDJWDMwpPStieDwJA0zQYidZsb2/2UE9Pz45VKHv27GlROE8pCoPt+YhwDkrWe601XVSbLnwZIARQJwScEkQiWiQej7c/k07vDJum5UvP8xRKUW26qDseCCEIghAyDCEYg2BsvTdKwAhgSS+wbduxLGtHmF65cmXVrKw+EJDQxXqnQmGICAVRlUPfSFTlSGocGiOoVipmsVicn52d3Rken5hozs/P/7i2uiyjnEEX/LFEhYJEZP1Cp1ZF8e+Fqas/X52Zm5vbEWb1eh1zc3MLqWRyoKM93ROPxSAUCkEJOAUEJYgwAsYo7EYDualJXLhwIbe4uPgTIcQrl8vbw3fu3MHw8HCjUCj8iTDob4lGO2OGAVVwcIWBUQopJZaXljA1eQNjY2NYWlp63jAMTUo51dXV5ZVKpcdhACgUChgeHl68du3aRNWyhGWae9eqVb2yukLLpXI4fe9u7dat3C+XLl1aNE2zS1EUhRAyAEDzfX8qk8k8hpPND319fbAsi/f39z/b3t7eJ4RISynrpmlO379/vxAEQSoSiXwrhBgihEBK6bque9ZxnJOU0kY+n98eftJks1mk02lIKXtUVf1GVdUhSil833cdxzlr2/ZJxth/ONstXKlUYBgGdF03Pc+bIoQc4pxnOeeMUjpACNEcx/k1k8l45XJ59zAALC8vI5VKQQjxP1wIwSilA5RS7jjOZHd3t9xaBd34CwZA2XSmm2oLAQQAvIMHD+5Lp9Nfx2KxVxljaDQas5ZlvUYpLT7amAAQAHQABoA4gASA1o20bSS58S4GwFhZWbF93/9N07QeSqnRbDZPz8zMjCcSiWDzxmTLtsqWrbduLDfiHjhwIGkYRptt23fz+bxnGMbTNPx08y8kW8hxB8vFdwAAACJ6VFh0U29mdHdhcmUAAHjaKy8v18vMyy5OTixI1csvSgcANtgGWBBTylwAAAAASUVORK5CYII=
/***
|Name:|QuickOpenTagPlugin|
|Description:|Changes tag links to make it easier to open tags as tiddlers|
|Version:|3.0.1 ($Rev: 3861 $)|
|Date:|$Date: 2008-03-08 10:53:09 +1000 (Sat, 08 Mar 2008) $|
|Source:|http://mptw.tiddlyspot.com/#QuickOpenTagPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
***/
//{{{
config.quickOpenTag = {

	dropdownChar: (document.all ? "\u25bc" : "\u25be"), // the little one doesn't work in IE?

	createTagButton: function(place,tag,excludeTiddler) {
		// little hack so we can do this: <<tag PrettyTagName|RealTagName>>
		var splitTag = tag.split("|");
		var pretty = tag;
		if (splitTag.length == 2) {
			tag = splitTag[1];
			pretty = splitTag[0];
		}
		
		var sp = createTiddlyElement(place,"span",null,"quickopentag");
		createTiddlyText(createTiddlyLink(sp,tag,false),pretty);
		
		var theTag = createTiddlyButton(sp,config.quickOpenTag.dropdownChar,
                        config.views.wikified.tag.tooltip.format([tag]),onClickTag);
		theTag.setAttribute("tag",tag);
		if (excludeTiddler)
			theTag.setAttribute("tiddler",excludeTiddler);
    		return(theTag);
	},

	miniTagHandler: function(place,macroName,params,wikifier,paramString,tiddler) {
		var tagged = store.getTaggedTiddlers(tiddler.title);
		if (tagged.length > 0) {
			var theTag = createTiddlyButton(place,config.quickOpenTag.dropdownChar,
                        	config.views.wikified.tag.tooltip.format([tiddler.title]),onClickTag);
			theTag.setAttribute("tag",tiddler.title);
			theTag.className = "miniTag";
		}
	},

	allTagsHandler: function(place,macroName,params) {
		var tags = store.getTags(params[0]);
		var filter = params[1]; // new feature
		var ul = createTiddlyElement(place,"ul");
		if(tags.length == 0)
			createTiddlyElement(ul,"li",null,"listTitle",this.noTags);
		for(var t=0; t<tags.length; t++) {
			var title = tags[t][0];
			if (!filter || (title.match(new RegExp('^'+filter)))) {
				var info = getTiddlyLinkInfo(title);
				var theListItem =createTiddlyElement(ul,"li");
				var theLink = createTiddlyLink(theListItem,tags[t][0],true);
				var theCount = " (" + tags[t][1] + ")";
				theLink.appendChild(document.createTextNode(theCount));
				var theDropDownBtn = createTiddlyButton(theListItem," " +
					config.quickOpenTag.dropdownChar,this.tooltip.format([tags[t][0]]),onClickTag);
				theDropDownBtn.setAttribute("tag",tags[t][0]);
			}
		}
	},

	// todo fix these up a bit
	styles: [
"/*{{{*/",
"/* created by QuickOpenTagPlugin */",
".tagglyTagged .quickopentag, .tagged .quickopentag ",
"	{ margin-right:1.2em; border:1px solid #eee; padding:2px; padding-right:0px; padding-left:1px; }",
".quickopentag .tiddlyLink { padding:2px; padding-left:3px; }",
".quickopentag a.button { padding:1px; padding-left:2px; padding-right:2px;}",
"/* extra specificity to make it work right */",
"#displayArea .viewer .quickopentag a.button, ",
"#displayArea .viewer .quickopentag a.tiddyLink, ",
"#mainMenu .quickopentag a.tiddyLink, ",
"#mainMenu .quickopentag a.tiddyLink ",
"	{ border:0px solid black; }",
"#displayArea .viewer .quickopentag a.button, ",
"#mainMenu .quickopentag a.button ",
"	{ margin-left:0px; padding-left:2px; }",
"#displayArea .viewer .quickopentag a.tiddlyLink, ",
"#mainMenu .quickopentag a.tiddlyLink ",
"	{ margin-right:0px; padding-right:0px; padding-left:0px; margin-left:0px; }",
"a.miniTag {font-size:150%;} ",
"#mainMenu .quickopentag a.button ",
"	/* looks better in right justified main menus */",
"	{ margin-left:0px; padding-left:2px; margin-right:0px; padding-right:0px; }", 
"#topMenu .quickopentag { padding:0px; margin:0px; border:0px; }",
"#topMenu .quickopentag .tiddlyLink { padding-right:1px; margin-right:0px; }",
"#topMenu .quickopentag .button { padding-left:1px; margin-left:0px; border:0px; }",
"/*}}}*/",
		""].join("\n"),

	init: function() {
		// we fully replace these builtins. can't hijack them easily
		window.createTagButton = this.createTagButton;
		config.macros.allTags.handler = this.allTagsHandler;
		config.macros.miniTag = { handler: this.miniTagHandler };
		config.shadowTiddlers["QuickOpenTagStyles"] = this.styles;
		store.addNotification("QuickOpenTagStyles",refreshStyles);
	}
}

config.quickOpenTag.init();

//}}}

chkPrivateMode: true
chkSearchShadows: false
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
/*{{{*/
.headerForeground {
	position: relative;
	text-align: right;
}

.header {
	width: 100%; /* for ie */
}

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

.header {
	position: relative;
	background-color: [[ColorPalette::PrimaryLight]];
}

.siteTitle {
	display: block;
}

/*}}}*/
{{hooky2{Lojban}}} (pronounced ~LOZHban) is an ambitious constructed language. It was chosen for this site's name because it is almost nation-neutral and allows for high precision of expression. Nice. So they say. See:
* http://www.lojban.org
* [[Wikipedia on Lojban, in English|https://secure.wikimedia.org/wikipedia/en/wiki/Lojban]]
* [[Wikipedia on Lojban, in Lojban|https://secure.wikimedia.org/wikipedia/jbo/wiki/lojban.]]
Lojban is not spoken on this site (yet?), but interest is piqued.

{{groupbox{{{medium{The full name of this site should be something like

{{indent{''lo ve minra pe’a''}}}
where the ''’'' is pronounced like the ''h'' in English, and that first letter is an L not a capital I. {{green{minra}}} really means //x1 reflects/mirrors/echoes x2 [object/radiation] to observer/point x3 as x4//. The {{green{ve}}} switches x1 and x4. It puts the focus on what the reflecting produces (that is, x4). {{green{lo}}} essentially turns the activity into a thing. And {{green{pe'a}}} indicates non-literal speech. Because this site is not about reflected //objects and radiation// only.}}}}}}

/*{{{*/
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]]
The 'content' tag.

It has excludeLists so it won't show up in the tag list of a tiddler that has it.
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
!usage
{{{[img[ui-icons_222222_256x240.png]]}}}
[img[ui-icons_222222_256x240.png]]
!notes
//none//
!type
image/png
!file

!url

!data
data:image/png;base64,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
{{center{
<html><img title="Mock '5 Suffices' t-shirt with Snowwhite & 7 dwarfs" src="http://kosmaton.bplaced.net/veminra/content/5%20Suffices%20t-shirt.jpg" style="border: 3px ridge palegoldenrod;" /></html>+++{{footnotebutton{[†|source]}}}{{normal{From [[https://secure.wikimedia.org/wikipedia/commons/wiki/File:T-Shirt-ad.jpg|https://secure.wikimedia.org/wikipedia/commons/wiki/File:T-Shirt-ad.jpg]] & [[https://secure.wikimedia.org/wikipedia/commons/wiki/File:Snow_White_and_the_Seven_Dwarfs_2.png|https://secure.wikimedia.org/wikipedia/commons/wiki/File:Snow_White_and_the_Seven_Dwarfs_2.png]]}}}===
}}}

"{{hooky2{5 suffices}}}" is a polite, rhymy way to say "more than 5 sucks". Sucks in some ways.

We are talking about people (some animals? gnomes?). In groups of more than roughly five of them, even if they are committed to [[egalitarianism|Egalitarianism]], politics is bound to creep up. And with it, shepherds and sheepoids, soap operas, injustice. [[Politics]] means power games. Power games means aggression against the [[freedom|Freedom]] of the individual to mind their own business if that is what they want. Of course, having //no// power games is an aggression against the freedom of the wannabe shepherd to control sheepoids. The latter does not seem an [[enlightened|Enlightenment]] sort of freedom though.

Just think of the difference between having dinner tête-à-tête, in a group of four, or in a group of seven. Who is talking, who is shut(ting) up? It is clearly not an iron law, as even a tête-à-tête can be very unbalanced; we are talking about a tendency with, perhaps, a [[phase transition|Phase transition]] of sorts. I have no proof here, so see if you kind of agree, or not, or show me proof or counterproof.

Presumably the numerical threshold is related to trust, information intake capacity, decision efficiency.

I do not know at all how to 'solve this'. There might be some material and moral technology that helps. But one suspects that will not go very far if forced submission to the common good is unwelcome. Also, never forming groups of more than five people is hardly an option. So the main argument for wearing "5 suffices" t-shirts, g-strings and top hats is just as reminders of where people's rights tend to go beyond five.

Note that many people partially //like// power games and soaps. That does not make them [[good|Good and evil]] though. Nor have I shown here that they are bad; but I do not like them.


/*{{{*/
Name: MpBlue
Background: #ffd
Foreground: #000
PrimaryPale: #ccd
PrimaryLight: #57c
PrimaryMid: #114
PrimaryDark: #012
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
/*{{{*/
(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);
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>
This is a custom SVG webfont generated by Font Squirrel.
Copyright   : All Hooked Up  Starving4 Entertainment 2002 This font is licensed under the terms of the Design Science Licence httpdslorgcopyleftdsltxt
Designer    : Darren Rigby
Foundry     : Objets Dart
Foundry URL : httpdartcanadatripodcomObjets
</metadata>
<defs>
<font id="webfontqYqPbbEh" horiz-adv-x="981" >
<font-face units-per-em="2048" ascent="1638" descent="-410" />
<missing-glyph horiz-adv-x="512" />
<glyph unicode=" "  horiz-adv-x="512" />
<glyph unicode="&#x09;" horiz-adv-x="512" />
<glyph unicode="&#xa0;" horiz-adv-x="512" />
<glyph unicode="!" horiz-adv-x="426" d="M42.5 -42.5q-42.5 42.5 -42.5 85t42.5 85.5t85.5 43t85.5 -43t42.5 -85.5t-42.5 -85t-85.5 -42.5t-85.5 42.5zM85 410l-85 785q0 85 85 85h86q85 0 85 -85l-85 -785q0 -90 -43 -90t-43 90z" />
<glyph unicode="&#x22;" horiz-adv-x="768" d="M21.5 1109.5q-21.5 85.5 21 128t85.5 42.5t85.5 -42.5t21 -128t-42.5 -149.5t-64 -64t-64 64t-42.5 149.5zM362.5 1109.5q-21.5 85.5 21.5 128t85.5 42.5t85 -42.5t21.5 -128t-42.5 -149.5t-64.5 -64t-64 64t-42.5 149.5z" />
<glyph unicode="#" horiz-adv-x="1096" d="M154 -64l-81 21l89 342h-162v85h183l137 512h-183v85h204l86 312l81 -22l-77 -290h252l85 312l81 -22l-77 -290h154v-85h-179l-133 -512h175v-85h-200l-94 -363l-81 21l89 342h-256zM273 384h252l136 512h-256z" />
<glyph unicode="$" horiz-adv-x="896" d="M363 576q-188 34 -265 102.5t-77 174.5q0 128 96 181.5t203 53.5l-21 128q0 85 64 85t64 -85l-22 -128h192q85 0 86 -85v-171q0 -85 -43 -85t-43 85t-42.5 128t-127.5 43h-64q-64 0 -117.5 -32t-53.5 -96t42.5 -85.5t128.5 -42.5q201 -38 281.5 -104.5t80.5 -215.5 q0 -128 -85 -181.5t-235 -53.5l22 -128q0 -85 -64 -85t-64 85l21 128h-235q-85 0 -85 85v171q0 85 42.5 85t42.5 -85t43 -128t128 -43h107q128 0 160 43t32 107t-42.5 93.5t-149.5 55.5z" />
<glyph unicode="%" horiz-adv-x="1024" d="M213 853q-107 0 -160 64t-53 150q0 85 53.5 149t159.5 64q107 0 160.5 -64t53.5 -149t-53.5 -149.5t-160.5 -64.5zM213 938q43 0 64.5 43t21.5 86t-21.5 86t-64.5 43t-64 -43.5t-21 -85.5q0 -43 21 -86t64 -43zM640 0q-107 0 -160 64t-53 149t53 149.5t160 64.5t160 -64 t53 -150q0 -85 -53 -149t-160 -64zM640 84q43 0 64 43.5t21 85.5q0 43 -21 86t-64 43t-64 -43t-21 -86t21 -86t64 -43zM0 0l768 1323l85 -43l-768 -1323z" />
<glyph unicode="&#x26;" horiz-adv-x="1152" d="M256 597.5q-85 -85.5 -85 -213.5t85 -213.5t213 -85.5h86q85 0 127.5 43t42.5 128v299q0 85 43 85t43 -42.5t85 -42.5t85 -43t-42.5 -43t-42.5 -85v-299q0 -85 -85 -85h-342q-256 0 -362.5 106.5t-106.5 277.5t106.5 256t277.5 85q-149 0 -224 64t-75 192t75 213.5 t309 85.5h256q128 0 128 -128v-43q0 -85 -42.5 -85t-42.5 42.5t-42.5 85.5t-128.5 43h-128q-128 0 -170.5 -64t-42.5 -150q0 -85 42.5 -149t170.5 -64h86q85 0 85 -42.5t-85 -42.5h-86q-128 0 -213 -85.5z" />
<glyph unicode="'" horiz-adv-x="426" d="M42.5 1066.5q-42.5 42.5 -42.5 85.5t42.5 85.5t85.5 42.5t85.5 -42.5t42.5 -128t-77 -158t-115 -54t64 126.5q-43 0 -85.5 42.5z" />
<glyph unicode="(" horiz-adv-x="554" d="M320 -128q-107 0 -213.5 192t-106.5 576t106.5 576t213.5 192t107 -42.5t-64 -42.5t-128 -192t-64 -491t64 -491t128 -192t64 -42.5t-107 -42.5z" />
<glyph unicode=")" horiz-adv-x="554" d="M106.5 1408q106.5 0 213.5 -192t107 -576t-107 -576t-213.5 -192t-106.5 42.5t64 42.5t128 192t64 491t-64 491t-128 192t-64 42.5t106.5 42.5z" />
<glyph unicode="*" horiz-adv-x="563" d="M228 1236l100 80l39 -51l-100 -80l126 -28l-15 -62l-125 29l56 -115l-57 -28l-57 115l-54 -115l-57 28l55 116l-124 -28l-15 62l125 28l-100 80l40 50l99 -81v128h64v-128z" />
<glyph unicode="+" horiz-adv-x="768" d="M0 405v86h256v256h85v-256h256v-86h-256v-256h-85v256h-256z" />
<glyph unicode="," horiz-adv-x="426" d="M42.5 -42.5q-42.5 42.5 -42.5 85t42.5 85.5t85.5 43t85.5 -43t42.5 -128t-77 -157.5t-115 -53.5t64 126q-43 0 -85.5 42.5z" />
<glyph unicode="-" horiz-adv-x="768" d="M0 405v86h597v-86h-597z" />
<glyph unicode="." horiz-adv-x="426" d="M42.5 -42.5q-42.5 42.5 -42.5 85t42.5 85.5t85.5 43t85.5 -43t42.5 -85.5t-42.5 -85t-85.5 -42.5t-85.5 42.5z" />
<glyph unicode="/" horiz-adv-x="593" d="M-2 -216l442 1649l82 -22l-442 -1649z" />
<glyph unicode="0" horiz-adv-x="1024" d="M427 0q-213 0 -320 192t-107 448t106.5 448t320.5 192q213 0 319.5 -192t106.5 -448t-106.5 -448t-319.5 -192zM427 85q128 0 192 171t64 384t-64 384t-192 171t-192 -171t-64 -384t64 -384t192 -171z" />
<glyph unicode="1" horiz-adv-x="1024" d="M256 0q-85 0 -85 42.5t42.5 42.5t85 43t42.5 128v640q0 85 -42.5 128t-85 43t-42.5 42.5t85 42.5t106.5 64t85.5 64t64 -128v-896q0 -85 42.5 -128t85.5 -43t43 -42.5t-86 -42.5h-341z" />
<glyph unicode="2" horiz-adv-x="1071" d="M21 1152q0 128 128 128h235q256 0 362.5 -106.5t106.5 -256t-66 -239t-335 -196.5q-175 -68 -298 -217q-68 -94 59 -94h384q85 0 128 42.5t43 85t42.5 42.5t42.5 -85v-128q0 -128 -170 -128h-555q-128 0 -128 128q0 43 30 119q111 192 422 355q132 55 181.5 119 t49.5 183.5t-85.5 205t-213.5 85.5h-107q-85 0 -127.5 -43t-42.5 -128t-43 -85t-43 85v128z" />
<glyph unicode="3" horiz-adv-x="1024" d="M384 725h-85q-64 0 -77 30t55 86l286 268h-307q-85 0 -128 -42.5t-43 -85t-42.5 -42.5t-42.5 85v128q0 128 128 128h597q85 0 85.5 -42.5t-42.5 -72.5l-384 -354q256 0 362.5 -107t106.5 -299t-106.5 -298.5t-362.5 -106.5h-299q-85 0 -85 85v171q0 85 42.5 85t42.5 -85 t43 -128t128 -43h128q128 0 213.5 85.5t85.5 235t-85.5 234.5t-213.5 85z" />
<glyph unicode="4" horiz-adv-x="1024" d="M427 0q-85 0 -85.5 42.5t42.5 42.5t85.5 43t42.5 128v43h-427q-111 0 -42 128l473 789q38 64 102.5 64t64.5 -128v-768h85q85 0 85 -42.5t-85 -42.5h-85v-43q0 -85 42.5 -128t85 -43t42.5 -42.5t-85 -42.5h-341zM188 384h324v563q0 98 -43 26l-311 -529q-30 -60 30 -60z " />
<glyph unicode="5" horiz-adv-x="1024" d="M384 725h-299q-85 0 -85 86v341q0 128 128 128h597q85 0 86 -85v-171q0 -85 -43 -85t-43 42.5t-42.5 85t-127.5 42.5h-384q-85 0 -86 -85v-171q0 -43 43 -42h256q256 0 362.5 -107t106.5 -299t-106.5 -298.5t-362.5 -106.5h-299q-85 0 -85 85v171q0 85 42.5 85t42.5 -85 t43 -128t128 -43h128q128 0 213.5 85.5t85.5 235t-85.5 234.5t-213.5 85z" />
<glyph unicode="6" horiz-adv-x="1024" d="M128 149.5q-128 149.5 -128 490.5t128 490.5t341 149.5h128q85 0 85.5 -42.5t-85.5 -42.5h-85q-171 0 -256 -128t-85 -299q85 128 256 128q213 0 319.5 -117.5t106.5 -330.5t-106.5 -330.5t-319.5 -117.5q-171 0 -299 149.5zM427 85q149 0 202.5 96t53.5 267t-53.5 267 t-202.5 96q-107 0 -181.5 -96t-74.5 -267t74.5 -267t181.5 -96z" />
<glyph unicode="7" horiz-adv-x="1024" d="M64 1152q0 128 128 128h512q149 0 149 -128q0 -51 -64 -158l-507 -896q-47 -98 -111 -98t-64 43q0 60 42 128l491 832q64 107 -64 106h-256q-85 0 -128 -42.5t-43 -85t-42.5 -42.5t-42.5 85v128z" />
<glyph unicode="8" horiz-adv-x="1024" d="M273 683q-68 0 -149 85t-81 213t106.5 213.5t277.5 85.5t277.5 -85.5t106.5 -213.5q0 -213 -222 -298q68 0 166 -85.5t98 -256.5t-106.5 -256t-319.5 -85t-320 85.5t-107 255.5q0 257 273 342zM171 341q0 -128 64 -192t192 -64t192 64t64 192t-85.5 213.5t-213.5 85.5 q-213 -86 -213 -299zM469 725q171 43 171 256q0 128 -64 171t-149 43t-149.5 -43t-64.5 -171t77 -190t179 -66z" />
<glyph unicode="9" horiz-adv-x="1024" d="M725 1130.5q128 -149.5 128 -490.5t-128 -490.5t-341 -149.5h-128q-85 0 -85 42.5t85 42.5h85q171 0 256.5 128t85.5 299q-85 -128 -256 -128q-213 0 -320 117.5t-107 330.5t106.5 330.5t320.5 117.5q170 0 298 -149.5zM427 1195q-149 0 -202.5 -96t-53.5 -267t53 -267 t203 -96q107 0 181.5 96t74.5 267t-74.5 267t-181.5 96z" />
<glyph unicode=":" horiz-adv-x="426" d="M42.5 640q-42.5 43 -42.5 85.5t42.5 85t85.5 42.5t85.5 -42.5t42.5 -85t-42.5 -85.5t-85.5 -43t-85.5 43zM42.5 -42.5q-42.5 42.5 -42.5 85t42.5 85.5t85.5 43t85.5 -43t42.5 -85.5t-42.5 -85t-85.5 -42.5t-85.5 42.5z" />
<glyph unicode=";" horiz-adv-x="426" d="M42.5 -42.5q-42.5 42.5 -42.5 85t42.5 85.5t85.5 43t85.5 -43t42.5 -128t-77 -157.5t-115 -53.5t64 126q-43 0 -85.5 42.5zM42.5 640q-42.5 43 -42.5 85.5t42.5 85t85.5 42.5t85.5 -42.5t42.5 -85t-42.5 -85.5t-85.5 -43t-85.5 43z" />
<glyph unicode="&#x3c;" horiz-adv-x="844" d="M98 751l423 230q68 43 110.5 -21t-34.5 -107l-435 -213l435 -213q77 -43 34.5 -107t-110.5 -21l-423 230q-192 111 0 222z" />
<glyph unicode="=" horiz-adv-x="768" d="M0 491v85h597v-85h-597zM0 235v85h597v-85h-597z" />
<glyph unicode="&#x3e;" horiz-adv-x="806" d="M542 546l-423 -230q-68 -43 -110.5 21t34.5 107l435 213l-435 213q-77 43 -34.5 107t110.5 21l423 -230q192 -111 0 -222z" />
<glyph unicode="?" horiz-adv-x="1024" d="M21 1152q0 128 128 128h235q256 0 362.5 -106.5t106.5 -256t-66 -239t-237 -115.5q-183 -30 -209 -136q0 -85 -42.5 -85.5t-42.5 85.5q0 171 183 200q145 30 194.5 107t49.5 183.5t-85.5 192t-213.5 85.5h-107q-85 0 -127.5 -43t-42.5 -128t-43 -85t-43 85v128z M213.5 -42.5q-42.5 42.5 -42.5 85t42.5 85.5t85 43t85.5 -43t43 -85.5t-43 -85t-85 -42.5q-43 0 -85.5 42.5z" />
<glyph unicode="@" horiz-adv-x="1152" d="M725 832h86q0 64 -43 106.5t-128 42.5h-128q-128 0 -234.5 -106.5t-106.5 -319.5t106.5 -341.5t319.5 -128.5h214q85 0 85 -42.5t-85 -42.5h-214q-341 0 -469 149.5t-128 405.5t128 384t341 128h256q128 0 192 -64t64 -171v-512q0 -128 -128 -128h-170q-213 0 -320 64 t-107 235t160 256t309 85zM516.5 672q-89.5 -75 -89.5 -181q0 -107 64 -160.5t192 -53.5h42q85 0 86 86v298q0 85 -86 86q-119 0 -208.5 -75z" />
<glyph unicode="A" horiz-adv-x="1049" d="M188 0h-60q-102 0 -124 36q-6 11 -6 29q0 44 36 131l363 999q30 85 94 85t94 -85l362 -999q17 -49 17 -84q0 -45 -27 -69q-49 -43 -152 -43h-85q-85 0 -85.5 42.5t85.5 42.5h42h9q43 0 43 31q0 14 -9 33l-90 235h-494l-90 -235q-10 -22 -11 -37q0 -27 37 -27h51 q85 0 85 -42.5t-85 -42.5zM235 469h426l-175 495q-19 54 -38 55q-21 0 -43 -59z" />
<glyph unicode="B" horiz-adv-x="1024" d="M736 597.5q117 -85.5 117 -256.5t-106.5 -256t-319.5 -85h-299q-128 0 -128 128v1024q0 128 128 128h256q171 0 277.5 -85.5t106.5 -213.5t-87.5 -213t-185.5 -85q124 0 241 -85.5zM256 640q-85 0 -85 -85v-384q0 -85 85 -86h171q128 0 192 64t64 192t-75 213.5 t-352 85.5zM520.5 791.5q76.5 61.5 76.5 189.5t-64 171t-149 43h-128q-85 0 -85 -86v-384q273 5 349.5 66.5z" />
<glyph unicode="C" horiz-adv-x="1066" d="M512 0q-256 0 -384 170.5t-128 469.5t128 469.5t384 170.5h299q85 0 85 -85v-171q0 -85 -42.5 -85t-42.5 85t-43 128t-128 43h-128q-171 0 -256 -171t-85 -384t85 -384t256 -171h128q85 0 128 43t43 128t42.5 85t42.5 -85v-171q0 -85 -85 -85h-299z" />
<glyph unicode="D" horiz-adv-x="1109" d="M427 0h-299q-128 0 -128 128v1024q0 128 128 128h299q256 0 384 -170.5t128 -469.5t-128 -469.5t-384 -170.5zM427 85q171 0 256 171t85 384t-85.5 384t-255.5 171h-171q-85 0 -85 -86v-938q0 -85 85 -86h171z" />
<glyph unicode="E" d="M683 1280q128 0 128 -128v-43q0 -85 -43 -85t-43 42.5t-42.5 85.5t-127.5 43h-214q-85 0 -127.5 -43t-42.5 -128v-256q0 -85 85 -85h256q85 0 85 -43t-85 -43h-256q-85 0 -85 -85v-256q0 -85 42.5 -128t127.5 -43h214q85 0 127.5 43t42.5 85.5t43 42.5t43 -85v-43 q0 -128 -128 -128h-555q-128 0 -128 128v1024q0 128 128 128h555z" />
<glyph unicode="F" d="M683 1280q128 0 128 -128v-43q0 -85 -43 -85t-43 42.5t-42.5 85.5t-127.5 43h-214q-85 0 -127.5 -43t-42.5 -128v-256q0 -85 85 -85h256q85 0 85 -43t-85 -43h-256q-85 0 -85 -85v-256q0 -85 42.5 -128t85 -43t42.5 -42.5t-85 -42.5h-128q-128 0 -128 128v1024 q0 128 128 128h555z" />
<glyph unicode="G" horiz-adv-x="1109" d="M512 0q-256 0 -384 170.5t-128 469.5t128 469.5t384 170.5h299q85 0 85 -85v-171q0 -85 -42.5 -85t-42.5 85t-43 128t-128 43h-128q-171 0 -256 -171t-85 -384t85 -384t256 -171h171q85 0 85 86v341q0 85 -85 85h-171q-85 0 -85 43t85 43h341q85 0 86 -86v-512 q0 -85 -86 -85h-341z" />
<glyph unicode="H" horiz-adv-x="1109" d="M128 0q-128 0 -128 128v1024q0 128 128 128h128q85 0 85 -42.5t-42.5 -42.5t-85 -43t-42.5 -128v-256q0 -85 85 -85h427q85 0 85 85v256q0 85 -42.5 128t-85.5 43t-43 42.5t86 42.5h128q128 0 128 -128v-1024q0 -128 -128 -128h-128q-85 0 -85.5 42.5t42.5 42.5t85.5 43 t42.5 128v256q0 85 -85 85h-427q-85 0 -85 -85v-256q0 -85 42.5 -128t85 -43t42.5 -42.5t-85 -42.5h-128z" />
<glyph unicode="I" horiz-adv-x="682" d="M85 0q-85 0 -85 42.5t42.5 42.5t85.5 43t43 128v768q0 85 -43 128t-85.5 43t-42.5 42.5t85 42.5h342q85 0 85 -42.5t-42.5 -42.5t-85.5 -43t-43 -128v-768q0 -85 43 -128t85.5 -43t42.5 -42.5t-85 -42.5h-342z" />
<glyph unicode="J" horiz-adv-x="512" d="M92 -132q79 94 79 303v853q0 85 -43 128t-85.5 43t-42.5 42.5t85 42.5h128q128 0 128 -128v-1024q0 -102 -132 -256q-112 -130 -152 -130q-7 0 -12 4q-9 8 -9 22q0 33 56 100z" />
<glyph unicode="K" horiz-adv-x="989" d="M256 1280q85 0 85 -42.5t-42.5 -42.5t-85 -43t-42.5 -128v-768q0 -85 42.5 -128t85 -43t42.5 -42.5t-85 -42.5h-128q-128 0 -128 128v1024q0 128 128 128h128zM555 1280h128q64 0 98 -36q10 -10 10 -27q0 -42 -61 -125q-119 -192 -282 -328q-42 -42 -42 -80q0 -20 12 -40 l393 -435q31 -38 30 -76q0 -31 -20 -63q-45 -70 -108 -70h-158q-85 0 -85.5 42.5t85.5 42.5h34h8q43 0 43 31q0 14 -9 33l-371 414q-36 44 -36 88q0 48 45 96q230 175 345 362q11 19 11 33q0 35 -70 36q-85 9 -85 55.5t85 46.5z" />
<glyph unicode="L" horiz-adv-x="938" d="M128 0q-128 0 -128 128v1024q0 128 128 128h128q85 0 85 -42.5t-42.5 -42.5t-85 -43t-42.5 -128v-768q0 -85 42.5 -128t127.5 -43h214q85 0 127.5 43t42.5 85.5t43 42.5t43 -85v-43q0 -128 -128 -128h-555z" />
<glyph unicode="M" horiz-adv-x="1237" d="M128 0q-128 0 -128 128v1003q0 149 128 149q111 0 149 -85l214 -589q21 -76 46 -76q26 0 56 80l250 576q41 94 117 94q107 0 107 -128v-1024q0 -128 -128 -128h-111q-85 0 -85.5 42.5t43.5 42.5t77 43t33 128v683q-2 64 -16 64t-39 -64l-222 -517q-51 -119 -116 -119h-4 q-78 0 -132 145l-179 499q-44 66 -69 66q-33 0 -34 -117v-640q0 -85 43 -128t85.5 -43t42.5 -42.5t-85 -42.5h-43z" />
<glyph unicode="N" horiz-adv-x="1194" d="M128 0q-128 0 -128 128v1003q0 149 128 149q85 0 149 -85l555 -875q36 -21 59 -21q47 0 48 85v640q0 85 -43 128t-85.5 43t-42.5 42.5t128 42.5t128 -171v-981q0 -128 -128 -128q-85 0 -149 85l-555 875q-36 21 -59 21q-47 0 -48 -85v-640q0 -85 43 -128t85.5 -43 t42.5 -42.5t-128 -42.5z" />
<glyph unicode="O" horiz-adv-x="1194" d="M512 0q-256 0 -384 170.5t-128 469.5t128 469.5t384 170.5t384 -170.5t128 -469.5t-128 -469.5t-384 -170.5zM512 85q171 0 256 171t85 384t-85 384t-256 171t-256 -171t-85 -384t85 -384t256 -171z" />
<glyph unicode="P" d="M256 555q-85 0 -85 -86v-213q0 -85 42.5 -128t85 -43t42.5 -42.5t-85 -42.5h-128q-128 0 -128 128v1024q0 128 128 128h256q213 0 320 -85.5t107 -255.5q0 -171 -128 -267t-427 -117zM565.5 725.5q74.5 85.5 74.5 213.5t-64 192t-192 64h-128q-85 0 -85 -86v-384 q0 -85 85 -85q235 0 309.5 85.5z" />
<glyph unicode="Q" horiz-adv-x="1152" d="M512 0q-256 0 -384 170.5t-128 469.5t128 469.5t384 170.5t384 -170.5t128 -469.5t-128 -469.5t-384 -170.5zM512 85q171 0 256 171t85 384t-85 384t-256 171t-256 -171t-85 -384t85 -384t256 -171zM107 -192l-22 38q-6 8 -6 16q0 34 122 63q115 28 249 28q40 0 81 -2 q181 -11 438 -126q17 -15 17 -23q0 -7 -17 -7h-9q-235 68 -416 77q-22 1 -43 1q-152 0 -254 -54q-63 -34 -99 -34q-29 0 -41 23z" />
<glyph unicode="R" d="M384 597l329 -435q55 -77 108.5 -77t53.5 -42.5t-86 -42.5h-85q-85 0 -192 128l-294 405q-20 27 -32 28q-15 0 -15 -49v-256q0 -85 42.5 -128t85 -43t42.5 -42.5t-85 -42.5h-128q-128 0 -128 128v1024q0 128 128 128h256q213 0 320 -85.5t107 -255.5q0 -171 -107 -256.5 t-320 -85.5zM384 683q128 0 192 64t64 192t-64 192t-192 64h-128q-85 0 -85 -86v-341q0 -85 85 -85h128z" />
<glyph unicode="S" d="M405 563q-209 34 -307 119.5t-98 256.5t106.5 256t298.5 85h278q85 0 85 -85v-171q0 -85 -42.5 -85t-42.5 85t-43 128t-128 43h-107q-107 0 -170.5 -64t-63.5 -192q0 -85 53 -134.5t181 -70.5q222 -38 314 -130t92 -263q0 -213 -107 -277t-299 -64h-320q-85 0 -85 85v171 q0 85 42.5 85t42.5 -85t43 -128t128 -43h149q128 0 181.5 64t53.5 192q0 107 -53.5 151.5t-181.5 70.5z" />
<glyph unicode="T" horiz-adv-x="1109" d="M299 0q-85 0 -85.5 42.5t42.5 42.5t85.5 43t42.5 128v853q0 85 -85 86h-86q-128 0 -128 -128q0 -85 -42.5 -85.5t-42.5 85.5v128q0 85 85 85h768q85 0 86 -85v-128q0 -85 -43 -85.5t-43 85.5q0 128 -128 128h-85q-85 0 -85 -86v-853q0 -85 42.5 -128t85 -43t42.5 -42.5 t-85 -42.5h-341z" />
<glyph unicode="U" horiz-adv-x="1066" d="M512 0q-256 0 -384 128t-128 341v683q0 128 128 128h128q85 0 85 -42.5t-42.5 -42.5t-85 -43t-42.5 -128v-555q0 -128 85 -256t256 -128t235 128t64 256v555q0 85 -43 128t-85.5 43t-42.5 42.5t85 42.5h43q128 0 128 -128v-683q0 -213 -96 -341t-288 -128z" />
<glyph unicode="V" horiz-adv-x="1049" d="M777 1280h59q102 0 124 -36q6 -11 6 -29q0 -44 -36 -131l-363 -999q-30 -85 -93.5 -85t-93.5 85l-363 999q-17 49 -17 84q0 45 28 69q49 43 151 43h86q85 0 85 -42.5t-85 -42.5h-43h-8q-43 0 -44 -31q0 -14 9 -33l299 -815q19 -54 39 -55q21 0 42 59l294 811q10 22 11 37 q0 27 -36 27h-51q-85 0 -85 42.5t85 42.5z" />
<glyph unicode="W" horiz-adv-x="1604" d="M1289 1280h59q102 0 124 -36q6 -11 6 -29q0 -44 -36 -131l-363 -999q-30 -85 -93.5 -85t-93.5 85l-162 448l-163 -448q-30 -85 -93.5 -85t-93.5 85l-363 999q-17 49 -17 84q0 45 28 69q49 43 151 43h86q85 0 85 -42.5t-85 -42.5h-43q-51 0 -52 -32q0 -13 9 -32l299 -815 q19 -54 39 -55q21 0 42 59l124 337l-154 427q-17 49 -17 84q0 45 28 69q49 43 151 43h86q85 0 85 -42.5t-85 -42.5h-43h-8q-43 0 -44 -31q0 -14 9 -33l299 -815q19 -54 39 -55q21 0 42 59l294 811q10 22 11 37q0 27 -36 27h-51q-85 0 -85 42.5t85 42.5z" />
<glyph unicode="X" horiz-adv-x="938" d="M85 0q-85 0 -85 85q13 256 307 564l-303 546q-7 19 -7 34q0 45 67 51h192q85 0 85 -42.5t-85 -42.5q-31 0 -31 -21q0 -16 18 -43l192 -384q179 188 205 362q0 85 -85 86q-85 0 -85.5 42.5t85.5 42.5h128q85 0 85 -85v-8q0 -257 -294 -509l298 -541q27 -46 27 -76 q0 -61 -108 -61h-136q-85 0 -85.5 42.5t85.5 42.5q51 0 51 28q0 16 -17 41l-239 418q-192 -226 -222 -401q0 -85 85 -86q85 0 85.5 -42.5t-85.5 -42.5h-128z" />
<glyph unicode="Y" horiz-adv-x="942" d="M649 1280h51q77 0 104 -43q10 -15 10 -38q0 -43 -33 -115l-260 -572q-34 -51 -35 -128v-128q0 -85 43 -128t85.5 -43t42.5 -42.5t-85 -42.5h-128q-128 0 -128 128v256q0 77 -30 128l-269 572q-22 47 -22 84q0 33 18 59q38 53 124 53h123q85 0 85.5 -42.5t-85.5 -42.5h-34 h-8q-43 0 -43 -31q0 -14 8 -33l210 -448q26 -47 52 -47t54 47l214 448q10 22 10 37q0 27 -36 27h-38q-85 0 -85 42.5t85 42.5z" />
<glyph unicode="Z" horiz-adv-x="917" d="M21 1152q0 128 128 128h448q149 0 150 -128q0 -51 -64 -158l-470 -802q-21 -36 -21 -59q0 -47 85 -48h256q85 0 128 43t43 85.5t42.5 42.5t42.5 -85v-43q0 -128 -170 -128h-491q-128 0 -128 128q0 51 64 149l469 811q21 36 22 59q0 47 -86 48h-192q-85 0 -127.5 -43 t-42.5 -85.5t-43 -42.5t-43 85v43z" />
<glyph unicode="[" horiz-adv-x="469" d="M256 1408q85 0 85 -42.5t-42.5 -42.5t-85 -43t-42.5 -128v-1024q0 -85 42.5 -128t85 -43t42.5 -42.5t-85 -42.5h-128q-128 0 -128 128v1280q0 128 128 128h128z" />
<glyph unicode="\" horiz-adv-x="597" d="M440 -238l-442 1649l82 22l442 -1649z" />
<glyph unicode="]" horiz-adv-x="469" d="M85 -128q-85 0 -85 42.5t42.5 42.5t85.5 43t43 128v1024q0 85 -43 128t-85.5 43t-42.5 42.5t85 42.5h128q128 0 128 -128v-1280q0 -128 -128 -128h-128z" />
<glyph unicode="^" horiz-adv-x="537" d="M9 1058l132 205q43 34 85 0l132 -209q38 -94 -47 -47l-128 158l-132 -158q-80 -51 -42 51z" />
<glyph unicode="_" horiz-adv-x="853" d="M0 -171v86h853v-86h-853z" />
<glyph unicode="`" horiz-adv-x="426" d="M128 1024q102 -108 64 -126.5t-115 54t-77 158t42.5 128t85.5 42.5t85.5 -42.5t42.5 -85.5t-42.5 -85.5t-85.5 -42.5z" />
<glyph unicode="a" d="M555 640h85q0 85 -42.5 128t-128.5 43h-170q-85 0 -85.5 42.5t85.5 42.5h256q128 0 192 -64t64 -192v-512q0 -128 -128 -128h-256q-213 0 -320 64t-107 235t160 256t395 85zM260.5 480q-89.5 -75 -89.5 -181q0 -107 64 -160.5t192 -53.5h128q85 0 85 86v298q0 85 -85 86 q-205 0 -294.5 -75z" />
<glyph unicode="b" horiz-adv-x="960" d="M384 896q171 0 299 -117.5t128 -330.5t-107 -330.5t-320 -117.5h-256q-128 0 -128 128v1024q0 128 128 128h128q85 0 85 -42.5t-42.5 -42.5t-85 -43t-42.5 -128v-43q0 -85 85 -85h128zM384 811h-128q-85 0 -85 -86v-554q0 -85 85 -86h128q128 0 192 96t64 267t-74.5 267 t-181.5 96z" />
<glyph unicode="c" horiz-adv-x="917" d="M427 0q-213 0 -320 117.5t-107 330.5t106.5 330.5t320.5 117.5h256q85 0 85 -85v-171q0 -85 -42.5 -85t-42.5 85t-43 128t-128 43h-85q-128 0 -192 -96t-64 -267t64 -267t192 -96h85q85 0 128 43t43 128t42.5 85t42.5 -85v-171q0 -85 -85 -85h-256z" />
<glyph unicode="d" horiz-adv-x="960" d="M555 896q85 0 85 85v43q0 85 -42.5 128t-85.5 43t-43 42.5t86 42.5h128q128 0 128 -128v-1024q0 -128 -128 -128h-256q-213 0 -320 117.5t-107 330.5t128 330.5t299 117.5h128zM245.5 715q-74.5 -96 -74.5 -267t64 -267t192 -96h128q85 0 85 86v554q0 85 -85 86h-128 q-107 0 -181.5 -96z" />
<glyph unicode="e" horiz-adv-x="917" d="M427 0q-213 0 -320 117.5t-107 330.5t106.5 330.5t320.5 117.5q256 0 371 -265q16 -27 16 -49q0 -39 -46 -66l-201 -119l-106 -60q-39 -23 -64 -23q-21 0 -30 17q-5 8 -5 16q0 29 56 63l107 59q73 43 89 103q5 17 5 35q0 45 -30 97q-55 107 -162 107q-128 0 -192 -96 t-64 -267t64 -267t192 -96h85q85 0 128 43t43 128t42.5 85t42.5 -85v-171q0 -85 -85 -85h-256z" />
<glyph unicode="f" horiz-adv-x="554" d="M171 0q-85 0 -86 85v640q0 85 -42.5 85.5t-42.5 43t85 42.5v128q0 128 64 192t192 64q85 0 85.5 -42.5t-42.5 -42.5t-85.5 -43t-42.5 -128v-128h85q85 0 85.5 -42.5t-85.5 -42.5q-85 0 -85 -86v-469q0 -85 42.5 -128t85.5 -43t43 -42.5t-86 -42.5h-170z" />
<glyph unicode="g" horiz-adv-x="960" d="M427 0q-171 0 -299 117.5t-128 330.5t106.5 330.5t320.5 117.5h256q128 0 128 -128v-768q0 -171 -85.5 -256t-256.5 -85h-170q-85 0 -85.5 42.5t85.5 42.5h170q85 0 128 42.5t43 128.5q0 85 -85 85h-128zM427 85h128q85 0 85 86v554q0 85 -85 86h-128q-128 0 -192 -96 t-64 -267t74.5 -267t181.5 -96z" />
<glyph unicode="h" horiz-adv-x="1024" d="M427 896q213 0 319.5 -106.5t106.5 -320.5v-341q0 -128 -128 -128h-128q-85 0 -85 42.5t42.5 42.5t85.5 43t43 128v213q0 128 -64 235t-192 107h-171q-85 0 -85 -86v-469q0 -85 42.5 -128t85 -43t42.5 -42.5t-85 -42.5h-128q-128 0 -128 128v1024q0 128 128 128h128 q85 0 85 -42.5t-42.5 -42.5t-85 -43t-42.5 -128v-43q0 -85 85 -85h171z" />
<glyph unicode="i" horiz-adv-x="640" d="M85 0q-85 0 -85 42.5t42.5 42.5t85.5 43t43 128v384q0 85 -43 128t-85.5 43t-42.5 42.5t85 42.5h128q128 0 128 -128v-512q0 -85 43 -128t85.5 -43t42.5 -42.5t-85 -42.5h-342zM170.5 1152q-42.5 43 -42.5 85.5t42.5 85t85.5 42.5t85.5 -42.5t42.5 -85t-42.5 -85.5 t-85.5 -43t-85.5 43z" />
<glyph unicode="j" horiz-adv-x="490" d="M92 -132q79 94 79 303v469q0 85 -43 128t-85.5 43t-42.5 42.5t85 42.5h128q128 0 128 -128v-640q0 -102 -132 -256q-112 -130 -152 -130q-7 0 -12 4q-9 8 -9 22q0 33 56 100zM170.5 1152q-42.5 43 -42.5 85.5t42.5 85t85.5 42.5t85.5 -42.5t42.5 -85t-42.5 -85.5 t-85.5 -43t-85.5 43z" />
<glyph unicode="k" horiz-adv-x="904" d="M256 1280q85 0 85 -42.5t-42.5 -42.5t-85 -43t-42.5 -128v-768q0 -85 42.5 -128t85 -43t42.5 -42.5t-85 -42.5h-128q-128 0 -128 128v1024q0 128 128 128h128zM452 896h128q64 0 98 -36q10 -10 10 -27q0 -42 -61 -125q-111 -124 -217 -179q-20 -11 -21 -32q0 -19 16 -45 l342 -281q31 -33 30 -68q0 -23 -13 -45q-34 -58 -111 -58h-158q-85 0 -85 42.5t85 42.5h34h14q36 0 35 14q0 8 -11 20l-320 252q-36 44 -36 88q0 48 45 96q162 81 256 170q11 19 11 33q0 35 -71 36q-85 9 -85 55.5t85 46.5z" />
<glyph unicode="l" horiz-adv-x="640" d="M85 0q-85 0 -85 42.5t42.5 42.5t85.5 43t43 128v768q0 85 -43 128t-85.5 43t-42.5 42.5t85 42.5h128q128 0 128 -128v-896q0 -85 43 -128t85.5 -43t42.5 -42.5t-85 -42.5h-342z" />
<glyph unicode="m" horiz-adv-x="1280" d="M747 896q149 0 255.5 -85.5t106.5 -255.5v-427q0 -128 -128 -128h-128q-85 0 -85 42.5t42.5 42.5t85.5 43t43 128v299q0 128 -64 192t-128 64t-107 -32t-43 -139v-299q0 -85 -36 -85t-49 77l-55 316q-30 162 -158 162h-43q-85 0 -85 -86v-469q0 -85 42.5 -128t85 -43 t42.5 -42.5t-85 -42.5h-128q-128 0 -128 128v640q0 128 128 128h256q128 0 175 -94q60 94 188 94z" />
<glyph unicode="n" horiz-adv-x="1024" d="M427 896q213 0 319.5 -106.5t106.5 -320.5v-341q0 -128 -128 -128h-128q-85 0 -85 42.5t42.5 42.5t85.5 43t43 128v213q0 128 -64 235t-192 107h-171q-85 0 -85 -86v-469q0 -85 42.5 -128t85 -43t42.5 -42.5t-85 -42.5h-128q-128 0 -128 128v640q0 128 128 128h299z" />
<glyph unicode="o" d="M427 0q-213 0 -320 117.5t-107 330.5t106.5 330.5t320.5 117.5q213 0 319.5 -117.5t106.5 -330.5t-106.5 -330.5t-319.5 -117.5zM427 85q128 0 192 96t64 267t-64 267t-192 96t-192 -96t-64 -267t64 -267t192 -96z" />
<glyph unicode="p" horiz-adv-x="960" d="M256 0q-85 0 -85 -85t42.5 -128t85 -43t42.5 -42.5t-85 -42.5h-128q-128 0 -128 128v981q0 128 128 128h256q213 0 320 -117.5t107 -330.5t-128 -330.5t-299 -117.5h-128zM565.5 181q74.5 96 74.5 267t-64 267t-192 96h-128q-85 0 -85 -86v-554q0 -85 85 -86h128 q107 0 181.5 96z" />
<glyph unicode="q" horiz-adv-x="960" d="M427 0q-171 0 -299 117.5t-128 330.5t106.5 330.5t320.5 117.5h256q128 0 128 -128v-981q0 -128 -128 -128t-128 42.5t42.5 42.5t42.5 85v86q0 85 -85 85h-128zM427 85h128q85 0 85 86v554q0 85 -85 86h-128q-128 0 -192 -96t-64 -267t74.5 -267t181.5 -96z" />
<glyph unicode="r" horiz-adv-x="768" d="M384 896q128 0 192 -42.5t64 -128t-42.5 -128t-106.5 -42.5q-48 0 -48 24q0 8 5 18q21 43 21 128.5t-128 85.5h-85q-85 0 -85 -86v-469q0 -85 42.5 -128t85 -43t42.5 -42.5t-85 -42.5h-128q-128 0 -128 128v640q0 128 128 128h256z" />
<glyph unicode="s" horiz-adv-x="896" d="M363 384q-188 34 -265 102.5t-77 174.5q0 128 96 181.5t246 53.5h234q85 0 86 -85v-171q0 -85 -43 -85t-43 85t-42.5 128t-127.5 43h-64q-64 0 -117.5 -32t-53.5 -96t42.5 -85.5t128.5 -42.5q201 -38 281.5 -104.5t80.5 -215.5q0 -128 -85 -181.5t-277 -53.5h-278 q-85 0 -85 85v171q0 85 42.5 85t42.5 -85t43 -128t128 -43h107q128 0 160 43t32 107t-42.5 93.5t-149.5 55.5z" />
<glyph unicode="t" horiz-adv-x="661" d="M427 896q85 0 85 -42.5t-42.5 -42.5t-85.5 -43t-43 -128v-384q0 -85 43 -128t85.5 -43t42.5 -42.5t-85 -42.5h-128q-128 0 -128 128v512q0 85 -43 128t-85.5 43t-42.5 42.5t85 42.5t128 42.5t43 128.5q0 85 42.5 85t42.5 -85v-171h86z" />
<glyph unicode="u" d="M427 0q-213 0 -320 106.5t-107 320.5v341q0 128 128 128h128q85 0 85 -42.5t-42.5 -42.5t-85 -43t-42.5 -128v-213q0 -128 64 -235t192 -107q171 0 234.5 107t63.5 235v213q0 85 -42.5 128t-85 43t-42.5 42.5t85 42.5h43q128 0 128 -128v-341q0 -213 -96 -320t-288 -107z " />
<glyph unicode="v" horiz-adv-x="932" d="M649 896h38q102 0 124 -36q6 -11 6 -29q0 -44 -36 -131l-286 -615q-30 -85 -94 -85t-94 85l-290 615q-19 41 -19 74q0 40 28 69q51 53 153 53h81q85 0 85.5 -42.5t-85.5 -42.5h-34h-8q-43 0 -43 -31q0 -14 8 -33l210 -448q26 -47 52 -47t54 47l214 448q10 22 10 37 q0 27 -36 27h-38q-85 0 -85 42.5t85 42.5z" />
<glyph unicode="w" horiz-adv-x="1365" d="M1075 896h39q102 0 123 -36q6 -11 7 -29q0 -44 -37 -131l-285 -615q-30 -85 -94 -85t-94 85l-120 261l-119 -261q-30 -85 -94 -85t-94 85l-290 615q-19 41 -19 74q0 40 28 69q51 53 153 53h81q85 0 85.5 -42.5t-85.5 -42.5h-34h-8q-43 0 -43 -31q0 -14 8 -33l210 -448 q26 -47 52 -47t54 47l68 140l-123 261q-19 41 -20 74q0 40 28 69q51 53 154 53h81q85 0 85 -42.5t-85 -42.5h-34h-8q-43 0 -44 -31q0 -14 9 -33l209 -448q26 -47 52.5 -47t54.5 47l213 448q10 22 11 37q0 27 -36 27h-39q-85 0 -85 42.5t85 42.5z" />
<glyph unicode="x" horiz-adv-x="938" d="M85 0q-85 0 -85 85q4 205 290 376l-286 350q-7 19 -7 34q0 45 67 51h192q85 0 85 -42.5t-85 -42.5q-27 0 -27 -15q0 -16 31 -49l179 -214q162 77 201 192q0 85 -85 86q-85 0 -85.5 42.5t85.5 42.5h128q85 0 85 -85q0 -192 -269 -346l273 -328q27 -46 27 -76 q0 -61 -108 -61h-136q-85 0 -85.5 42.5t85.5 42.5q44 0 44 18q0 15 -32 42l-226 256q-179 -98 -213 -230q0 -85 85 -86q85 0 85.5 -42.5t-85.5 -42.5h-128z" />
<glyph unicode="y" horiz-adv-x="942" d="M649 896h38q102 0 124 -36q6 -11 6 -29q0 -44 -36 -131l-418 -892q-10 -22 -11 -37q0 -27 36 -27h39q85 0 85 -42.5t-85 -42.5h-39q-102 0 -123 36q-6 11 -7 29q0 44 36 131l43 85q15 21 15 45q0 30 -23 66l-312 649q-19 41 -19 74q0 40 28 69q51 53 153 53h81 q85 0 85.5 -42.5t-85.5 -42.5h-34h-8q-43 0 -43 -31q0 -14 8 -33l210 -448q26 -47 52 -47t54 47l214 448q10 22 10 37q0 27 -36 27h-38q-85 0 -85 42.5t85 42.5z" />
<glyph unicode="z" horiz-adv-x="917" d="M21 768q0 128 128 128h448q149 0 150 -128q0 -51 -64 -107l-457 -469q-29 -40 -29 -65q0 -42 80 -42h256q85 0 128 43t43 85.5t42.5 42.5t42.5 -85v-43q0 -128 -170 -128h-491q-128 0 -128 128q0 51 64 107l457 469q29 40 28 65q0 42 -80 42h-192q-85 0 -127.5 -43 t-42.5 -85.5t-43 -42.5t-43 85v43z" />
<glyph unicode="{" horiz-adv-x="554" d="M320 -128q-107 0 -171 192t-64 299v170q0 64 -42.5 64t-42.5 43t42.5 43t42.5 64v170q0 107 64 299t171 192t107 -42.5t-64 -42.5t-85.5 -192t-21.5 -342q0 -149 -85 -149q85 0 85 -149t21.5 -341.5t85.5 -192.5t64 -42.5t-107 -42.5z" />
<glyph unicode="|" horiz-adv-x="256" d="M0 -256v1707h85v-1707h-85z" />
<glyph unicode="}" horiz-adv-x="554" d="M106.5 1408q106.5 0 170.5 -192t64 -299v-170q0 -64 43 -64t43 -43t-43 -43t-43 -64v-170q0 -107 -64 -299t-170.5 -192t-106.5 42.5t64 42.5t85.5 192t21.5 342q0 149 85 149q-85 0 -85 149t-21.5 341.5t-85.5 192.5t-64 42.5t106.5 42.5z" />
<glyph unicode="~" horiz-adv-x="725" d="M9 640q55 85 161.5 85t138.5 -42.5t85.5 -42.5t108.5 43q51 21 52 -43q-64 -85 -171 -85t-139 42.5t-85 42.5t-109 -43q-51 -21 -42 43z" />
<glyph unicode="&#xa1;" horiz-adv-x="426" d="M213.5 938.5q42.5 -42.5 42.5 -85t-42.5 -85.5t-85.5 -43t-85.5 43t-42.5 85.5t42.5 85t85.5 42.5t85.5 -42.5zM171 486l85 -785q0 -85 -85 -85h-86q-85 0 -85 85l85 785q0 90 43 90t43 -90z" />
<glyph unicode="&#xa2;" horiz-adv-x="938" d="M384 192q-171 0 -277.5 117.5t-106.5 330.5t106.5 330.5t277.5 117.5l-21 128q0 85 64 85t64 -85l-22 -128h214q85 0 85 -85v-171q0 -85 -42.5 -85t-42.5 85t-43 128t-128 43h-85q-128 0 -192 -96t-64 -267t64 -267t192 -96h85q85 0 128 43t43 128t42.5 85t42.5 -85v-171 q0 -85 -85 -85h-214l22 -128q0 -85 -64 -85t-64 85z" />
<glyph unicode="&#xa3;" horiz-adv-x="1109" d="M85 0q-85 0 -85 42.5t42.5 42.5t42.5 86v384q0 85 -42.5 85t-42.5 42.5t42.5 42.5t42.5 86q0 256 128 362.5t384 106.5h256q85 0 86 -85v-171q0 -85 -43 -85t-43 85t-42.5 128t-127.5 43h-86q-171 0 -256 -107t-85 -235v-42q0 -85 85 -86h256q85 0 85.5 -42.5 t-85.5 -42.5h-256q-85 0 -85 -85v-384q0 -85 85 -86h342q85 0 127.5 43t42.5 128t43 85t43 -85v-171q0 -85 -86 -85h-768z" />
<glyph unicode="&#xa4;" horiz-adv-x="1109" d="M597 0q-256 0 -373 170.5t-128 256t-53.5 85.5t-42.5 42.5t42.5 42.5t42.5 43t-42.5 43t-42.5 42.5t42.5 42.5t53.5 85.5t128 256t373 170.5h299q85 0 85 -85v-171q0 -85 -42.5 -85t-42.5 85t-42.5 128t-128.5 43h-128q-171 0 -251.5 -136.5t-85 -213.5t80.5 -77h214 q85 0 85 -42.5t-85 -42.5h-214q-85 0 -85 -43t85 -43h171q85 0 85 -42.5t-85 -42.5h-171q-85 0 -80.5 -77t85.5 -213.5t251 -136.5h128q85 0 128 43t43 128t42.5 85t42.5 -85v-171q0 -85 -85 -85h-299z" />
<glyph unicode="&#xa5;" horiz-adv-x="942" d="M649 1280h51q77 0 104.5 -42.5t-23.5 -153.5l-260 -572q-34 -51 -35 -128v-43h86q85 0 85 -42.5t-85 -42.5h-86q0 -85 43 -128t85.5 -43t42.5 -42.5t-85 -42.5h-128q-128 0 -128 128v128h-86q-85 0 -85 42.5t85 42.5h86v43q0 77 -30 128l-269 572q-43 90 -4.5 143 t124.5 53h123q85 0 85.5 -42.5t-85.5 -42.5h-34q-73 4 -43 -64l210 -448q51 -94 106 0l214 448q30 64 -26 64h-38q-85 0 -85 42.5t85 42.5z" />
<glyph unicode="&#xa6;" horiz-adv-x="256" d="M0 -256v811h85v-811h-85zM0 725v726h85v-726h-85z" />
<glyph unicode="&#xa7;" horiz-adv-x="896" d="M363 363q-188 34 -265 102t-77 175q0 128 98 183q-119 73 -119 222q0 128 85.5 181.5t277.5 53.5h277q85 0 85 -85v-171q0 -85 -42.5 -85t-42.5 85t-42.5 128t-128.5 43h-106q-128 0 -160 -32t-32 -96t42.5 -94t149.5 -56q188 -43 264.5 -106.5t76.5 -170.5 q0 -128 -98 -183q119 -73 119 -222q0 -128 -85 -181.5t-277 -53.5h-278q-85 0 -85 85v171q0 85 42.5 85t42.5 -85t43 -128t128 -43h107q128 0 160 32t32 96t-42.5 94t-149.5 56zM461 512q73 43 72 107q0 64 -42.5 85t-127.5 43l-94 21q-77 -43 -77 -107t42.5 -85t128.5 -43z " />
<glyph unicode="&#xa8;" horiz-adv-x="682" d="M334 1358q-35 35 -35 71t35 71.5t71 35.5t71.5 -35.5t35.5 -71.5t-35.5 -71t-71.5 -35t-71 35zM35.5 1358q-35.5 35 -35.5 71t35.5 71.5t71.5 35.5t71 -35.5t35 -71.5t-35 -71t-71 -35t-71.5 35z" />
<glyph unicode="&#xa9;" horiz-adv-x="1277" d="M227 308q139 -139 330 -139t330.5 139t139.5 330t-139.5 330.5t-330.5 139.5t-330 -139.5t-139 -330.5t139 -330zM2 638q0 227 164 391.5t391 164.5t391.5 -164.5t164.5 -391.5t-164.5 -391t-391.5 -164t-392 164q-163 164 -163 391zM559 299q-149 0 -234.5 85t-85.5 256 q0 149 85.5 245t234.5 96h192q64 0 64 -64v-128q0 -64 -32 -64t-32 64t-32 96t-96 32h-64q-85 0 -138.5 -74.5t-53.5 -202.5t53.5 -202.5t138.5 -74.5h64q64 0 96 32t32 96t32 64t32 -64v-128q0 -64 -64 -64h-192z" />
<glyph unicode="&#xaa;" horiz-adv-x="576" d="M277.5 960h42.5q0 42.5 -21.25 64t-64.25 21.5h-85q-42.5 0 -42.75 21.25t42.75 21.25h128q64 0 96 -32t32 -96v-256q0 -64 -64 -64h-128q-106.5 0 -160 32t-53.5 117.5t80 128t197.5 42.5zM130.25 880q-44.75 -37.5 -44.75 -90.5q0 -53.5 32 -80.25t96 -26.75h64 q42.5 0 42.5 43v149q0 42.5 -42.5 43q-102.5 0 -147.25 -37.5zM171 490.842q0 26.249 19.0488 45.1484q19.0498 18.8994 44.999 18.8994q25.9482 0 44.998 -18.8994q19.0488 -18.8994 19.0488 -45.1484q0 -26.248 -19.0488 -44.998q-19.0498 -18.749 -45.1484 -18.749 q-25.7988 0 -44.8486 18.749q-19.0488 18.75 -19.0488 44.998z" />
<glyph unicode="&#xab;" horiz-adv-x="358" d="M145 384l-128 213q-34 43 0 86l128 213q47 21 43 -43l-73 -213l73 -213q4 -64 -43 -43z" />
<glyph unicode="&#xac;" horiz-adv-x="1190" />
<glyph unicode="&#xad;" horiz-adv-x="938" d="M0 597v86h768v-86h-768z" />
<glyph unicode="&#x2212;" horiz-adv-x="938" d="M0 597v86h768v-86h-768z" />
<glyph unicode="&#xae;" horiz-adv-x="1277" d="M227 308q139 -139 330 -139t330.5 139t139.5 330t-139.5 330.5t-330.5 139.5t-330 -139.5t-139 -330.5t139 -330zM2 638q0 227 164 391.5t391 164.5t391.5 -164.5t164.5 -391.5t-164.5 -391t-391.5 -164t-392 164q-163 164 -163 391zM640 981q85 0 138.5 -32t53.5 -106.5 t-32 -106.5t-85.5 -32t-32 32t21.5 106.5t-107 74.5h-85q-64 0 -64 -64v-362q0 -64 32 -96t64 -32t32 -32t-64 -32h-107q-85 0 -85 106v470q0 107 85 106h235z" />
<glyph unicode="&#xaf;" horiz-adv-x="426" />
<glyph unicode="&#x2c9;" horiz-adv-x="426" />
<glyph unicode="&#xb0;" horiz-adv-x="597" d="M213 939q44 0 86 42t42 85.5t-42 86t-85.5 42.5t-86 -42.5t-42.5 -86t42 -85.5t86 -42zM71 924q-71 71 -71 142.5t71 142.5t142.5 71t142.5 -71t71 -142.5t-71 -142.5t-143 -71q-71 0 -142 71z" />
<glyph unicode="&#xb1;" horiz-adv-x="768" d="M0 682v86h256v256h85v-256h256v-86h-256v-256h-85v256h-256zM0 256v86h597v-86h-597z" />
<glyph unicode="&#xb2;" horiz-adv-x="597" d="M10.5 1387q0 64 64 64h117.5q128 0 181.25 -53.25t53.25 -128t-33 -119.5t-167.5 -98.25q-87.5 -34 -149 -108.5q-34 -47 29.5 -47h192q42.5 0 64 21.25t21.5 42.5t21.25 21.25t21.25 -42.5v-64q0 -64 -85 -64h-277.5q-64 0 -64 64q0 21.5 15 59.5q55.5 96 211 177.5 q66 27.5 90.75 59.5t24.75 91.75t-42.75 102.5t-106.75 42.75h-53.5q-42.5 0 -63.75 -21.5t-21.25 -64t-21.5 -42.5t-21.5 42.5v64z" />
<glyph unicode="&#xb3;" horiz-adv-x="597" d="M192 1173.5h-42.5q-32 0 -38.5 15t27.5 43l143 134h-153.5q-42.5 0 -64 -21.25t-21.5 -42.5t-21.25 -21.25t-21.25 42.5v64q0 64 64 64h298.5q42.5 0 42.75 -21.25t-21.25 -36.25l-192 -177q128 0 181.25 -53.5t53.25 -149.5t-53.25 -149.25t-181.25 -53.25h-149.5 q-42.5 0 -42.5 42.5v85.5q0 42.5 21.25 42.5t21.25 -42.5t21.5 -64t64 -21.5h64q64 0 106.75 42.75t42.75 117.5t-42.75 117.25t-106.75 42.5z" />
<glyph unicode="&#xb4;" horiz-adv-x="597" d="M0 1365l337 154q51 26 81 -47t-34 -81l-341 -68q-64 -5 -43 42z" />
<glyph unicode="&#xb5;" horiz-adv-x="1024" d="M256 0q-85 0 -85 -85t42.5 -128t85 -43t42.5 -42.5t-85 -42.5h-128q-128 0 -128 128v981q0 128 128 128h128q85 0 85 -42.5t-42.5 -42.5t-85 -43t-42.5 -128v-469q0 -85 85 -86h171q128 0 192 107t64 235v213q0 85 -43 128t-85.5 43t-42.5 42.5t85 42.5h128 q128 0 128 -128v-683q0 -85 -42.5 -85t-38 77t-64 0t-281.5 -77h-171z" />
<glyph unicode="&#x3bc;" horiz-adv-x="1024" d="M256 0q-85 0 -85 -85t42.5 -128t85 -43t42.5 -42.5t-85 -42.5h-128q-128 0 -128 128v981q0 128 128 128h128q85 0 85 -42.5t-42.5 -42.5t-85 -43t-42.5 -128v-469q0 -85 85 -86h171q128 0 192 107t64 235v213q0 85 -43 128t-85.5 43t-42.5 42.5t85 42.5h128 q128 0 128 -128v-683q0 -85 -42.5 -85t-38 77t-64 0t-281.5 -77h-171z" />
<glyph unicode="&#xb6;" horiz-adv-x="1194" d="M128 672q-128 96 -128 267t106.5 256t320.5 85h469q128 0 128 -128v-1024q0 -128 -171 -128h-85q85 0 85 85v1067q0 43 -42 43v-1067q0 -128 -128 -128h-128q-85 0 -85.5 42.5t42.5 42.5t85.5 43t42.5 128v213q0 85 -85 86q-299 21 -427 117z" />
<glyph unicode="&#xb7;" horiz-adv-x="426" d="M42.5 554.5q-42.5 42.5 -42.5 85t42.5 85.5t85.5 43t85.5 -43t42.5 -85.5t-42.5 -85t-85.5 -42.5t-85.5 42.5z" />
<glyph unicode="&#x2219;" horiz-adv-x="426" d="M42.5 554.5q-42.5 42.5 -42.5 85t42.5 85.5t85.5 43t85.5 -43t42.5 -85.5t-42.5 -85t-85.5 -42.5t-85.5 42.5z" />
<glyph unicode="&#xb8;" horiz-adv-x="533" d="M189 -107h-42q-43 0 -43 43v64h43v-43q0 -21 22 -21h20q85 0 128 -32t43 -106.5t-42.5 -106.5t-128.5 -32h-148q-43 0 -43 42v86q0 43 21.5 42.5t21.5 -42.5q0 -43 21.5 -64.5t63.5 -21.5h63q43 0 64.5 21.5t21.5 75t-21.5 74.5t-64.5 21z" />
<glyph unicode="&#xb9;" horiz-adv-x="426" d="M128 811q-42.5 0 -42.5 21.25t21.25 21.25t42.5 21.5t21.25 64v320q0 42.5 -21.25 64t-42.5 21.5t-21.25 21.25t42.5 21.25t53.25 32t42.75 32t32 -64v-448q0 -42.5 21.25 -64t42.75 -21.5t21.5 -21.25t-43 -21.25h-170.5z" />
<glyph unicode="&#xba;" horiz-adv-x="597" d="M213.5 640q-106.5 0 -160 58.75t-53.5 165.25t53.25 165.25t160.25 58.75q106.5 0 159.75 -58.75t53.25 -165.25t-53.25 -165.25t-159.75 -58.75zM213.5 682.5q64 0 96 48t32 133.5t-32 133.5t-96 48t-96 -48t-32 -133.5t32 -133.5t96 -48zM149 490.842 q0 26.249 19.0488 45.1484q19.0498 18.8994 44.999 18.8994q25.9482 0 44.998 -18.8994q19.0488 -18.8994 19.0488 -45.1484q0 -26.248 -19.0488 -44.998q-19.0498 -18.749 -45.1484 -18.749q-25.7988 0 -44.8486 18.749q-19.0488 18.75 -19.0488 44.998z" />
<glyph unicode="&#xbb;" horiz-adv-x="358" d="M43 896l128 -213q34 -43 0 -86l-128 -213q-47 -21 -43 43l73 213l-73 213q-4 64 43 43z" />
<glyph unicode="&#xbc;" horiz-adv-x="584" d="M128 811q-42.5 0 -42.5 21.25t21.25 21.25t42.5 21.5t21.25 64v320q0 42.5 -21.25 64t-42.5 21.5t-21.25 21.25t42.5 21.25t53.25 32t42.75 32t32 -64v-448q0 -42.5 21.25 -64t42.75 -21.5t21.5 -21.25t-43 -21.25h-170.5zM0 576v86h426.871v-86h-426.871zM213.5 -171 q-42.5 0 -42.75 21.25t21.25 21.25t42.75 21.5t21.25 64v21.5h-213.5q-55.5 0 -21 64l236.5 394.5q19 32 51.25 32t32.25 -64v-384h42.5q42.5 0 42.5 -21.25t-42.5 -21.25h-42.5v-21.5q0 -42.5 21.25 -64t42.5 -21.5t21.25 -21.25t-42.5 -21.25h-170.5zM94 21h162v281.5 q0 49 -21.5 13l-155.5 -264.5q-15 -30 15 -30z" />
<glyph unicode="&#xbd;" horiz-adv-x="597" d="M128 811q-42.5 0 -42.5 21.25t21.25 21.25t42.5 21.5t21.25 64v320q0 42.5 -21.25 64t-42.5 21.5t-21.25 21.25t42.5 21.25t53.25 32t42.75 32t32 -64v-448q0 -42.5 21.25 -64t42.75 -21.5t21.5 -21.25t-43 -21.25h-170.5zM0 576v86h426.871v-86h-426.871zM10.5 405 q0 64 64 64h117.5q128 0 181.25 -53.25t53.25 -128t-33 -119.5t-167.5 -98.25q-87.5 -34 -149 -108.5q-34 -47 29.5 -47h192q42.5 0 64 21.25t21.5 42.5t21.25 21.25t21.25 -42.5v-64q0 -64 -85 -64h-277.5q-64 0 -64 64q0 21.5 15 59.5q55.5 96 211 177.5 q66 27.5 90.75 59.5t24.75 91.75t-42.75 102.5t-106.75 42.75h-53.5q-42.5 0 -63.75 -21.5t-21.25 -64t-21.5 -42.5t-21.5 42.5v64z" />
<glyph unicode="&#xbe;" horiz-adv-x="584" d="M192 1173.5h-42.5q-32 0 -38.5 15t27.5 43l143 134h-153.5q-42.5 0 -64 -21.25t-21.5 -42.5t-21.25 -21.25t-21.25 42.5v64q0 64 64 64h298.5q42.5 0 42.75 -21.25t-21.25 -36.25l-192 -177q128 0 181.25 -53.5t53.25 -149.5t-53.25 -149.25t-181.25 -53.25h-149.5 q-42.5 0 -42.5 42.5v85.5q0 42.5 21.25 42.5t21.25 -42.5t21.5 -64t64 -21.5h64q64 0 106.75 42.75t42.75 117.5t-42.75 117.25t-106.75 42.5zM0 576v86h426.871v-86h-426.871zM213.5 -171q-42.5 0 -42.75 21.25t21.25 21.25t42.75 21.5t21.25 64v21.5h-213.5 q-55.5 0 -21 64l236.5 394.5q19 32 51.25 32t32.25 -64v-384h42.5q42.5 0 42.5 -21.25t-42.5 -21.25h-42.5v-21.5q0 -42.5 21.25 -64t42.5 -21.5t21.25 -21.25t-42.5 -21.25h-170.5zM94 21h162v281.5q0 49 -21.5 13l-155.5 -264.5q-15 -30 15 -30z" />
<glyph unicode="&#xbf;" horiz-adv-x="1002" d="M832 -256q0 -128 -128 -128h-235q-256 0 -362.5 106.5t-106.5 256t66 239t237 115.5q183 30 209 136q0 85 42.5 85.5t42.5 -85.5q0 -171 -183 -200q-145 -30 -194.5 -107t-49.5 -183.5t85.5 -192t213.5 -85.5h107q85 0 127.5 43t42.5 128t43 85t43 -85v-128zM639.5 938.5 q42.5 -42.5 42.5 -85t-42.5 -85.5t-85 -43t-85.5 43t-43 85.5t43 85t85 42.5q43 0 85.5 -42.5z" />
<glyph unicode="&#xc0;" horiz-adv-x="1049" d="M188 0h-60q-102 0 -124 36q-6 11 -6 29q0 44 36 131l363 999q30 85 94 85t94 -85l362 -999q17 -49 17 -84q0 -45 -27 -69q-49 -43 -152 -43h-85q-85 0 -85.5 42.5t85.5 42.5h42h9q43 0 43 31q0 14 -9 33l-90 235h-494l-90 -235q-10 -22 -11 -37q0 -27 37 -27h51 q85 0 85 -42.5t-85 -42.5zM235 469h426l-175 495q-19 54 -38 55q-21 0 -43 -59zM640 1323l-341 68q-64 9 -34.5 81.5t81.5 46.5l337 -154q21 -46 -43 -42z" />
<glyph unicode="&#xc1;" horiz-adv-x="1049" d="M188 0h-60q-102 0 -124 36q-6 11 -6 29q0 44 36 131l363 999q30 85 94 85t94 -85l362 -999q17 -49 17 -84q0 -45 -27 -69q-49 -43 -152 -43h-85q-85 0 -85.5 42.5t85.5 42.5h42h9q43 0 43 31q0 14 -9 33l-90 235h-494l-90 -235q-10 -22 -11 -37q0 -27 37 -27h51 q85 0 85 -42.5t-85 -42.5zM235 469h426l-175 495q-19 54 -38 55q-21 0 -43 -59zM256 1365l337 154q51 26 81 -47t-34 -81l-341 -68q-64 -5 -43 42z" />
<glyph unicode="&#xc2;" horiz-adv-x="1049" d="M188 0h-60q-102 0 -124 36q-6 11 -6 29q0 44 36 131l363 999q30 85 94 85t94 -85l362 -999q17 -49 17 -84q0 -45 -27 -69q-49 -43 -152 -43h-85q-85 0 -85.5 42.5t85.5 42.5h42h9q43 0 43 31q0 14 -9 33l-90 235h-494l-90 -235q-10 -22 -11 -37q0 -27 37 -27h51 q85 0 85 -42.5t-85 -42.5zM235 469h426l-175 495q-19 54 -38 55q-21 0 -43 -59zM235 1365l213 128q43 34 86 0l213 -128q21 -47 -43 -42l-213 72l-213 -72q-64 -5 -43 42z" />
<glyph unicode="&#xc3;" horiz-adv-x="1049" d="M188 0h-60q-102 0 -124 36q-6 11 -6 29q0 44 36 131l363 999q30 85 94 85t94 -85l362 -999q17 -49 17 -84q0 -45 -27 -69q-49 -43 -152 -43h-85q-85 0 -85.5 42.5t85.5 42.5h42h9q43 0 43 31q0 14 -9 33l-90 235h-494l-90 -235q-10 -22 -11 -37q0 -27 37 -27h51 q85 0 85 -42.5t-85 -42.5zM235 469h426l-175 495q-19 54 -38 55q-21 0 -43 -59zM222 1408q55 85 161.5 85t138.5 -42.5t85.5 -42.5t108.5 43q51 21 52 -43q-64 -85 -171 -85t-139 42.5t-85 42.5t-109 -43q-51 -21 -42 43z" />
<glyph unicode="&#xc4;" horiz-adv-x="1049" d="M188 0h-60q-102 0 -124 36q-6 11 -6 29q0 44 36 131l363 999q30 85 94 85t94 -85l362 -999q17 -49 17 -84q0 -45 -27 -69q-49 -43 -152 -43h-85q-85 0 -85.5 42.5t85.5 42.5h42h9q43 0 43 31q0 14 -9 33l-90 235h-494l-90 -235q-10 -22 -11 -37q0 -27 37 -27h51 q85 0 85 -42.5t-85 -42.5zM235 469h426l-175 495q-19 54 -38 55q-21 0 -43 -59zM569 1358q-35 35 -35 71t35 71.5t71 35.5t71.5 -35.5t35.5 -71.5t-35.5 -71t-71.5 -35t-71 35zM270.5 1358q-35.5 35 -35.5 71t35.5 71.5t71.5 35.5t71 -35.5t35 -71.5t-35 -71t-71 -35 t-71.5 35z" />
<glyph unicode="&#xc5;" horiz-adv-x="1049" d="M188 0h-60q-102 0 -124 36q-6 11 -6 29q0 44 36 131l363 999q30 85 94 85t94 -85l362 -999q17 -49 17 -84q0 -45 -27 -69q-49 -43 -152 -43h-85q-85 0 -85.5 42.5t85.5 42.5h42h9q43 0 43 31q0 14 -9 33l-90 235h-494l-90 -235q-10 -22 -11 -37q0 -27 37 -27h51 q85 0 85 -42.5t-85 -42.5zM235 469h426l-175 495q-19 54 -38 55q-21 0 -43 -59zM491 1387q15 0 28.5 14t13.5 28.5t-14 28.5t-28.5 14t-28.5 -14t-14 -28.5t14 -28.5t29 -14zM419.5 1358q-35.5 35 -35.5 71t35.5 71.5t71.5 35.5t71 -35.5t35 -71.5t-35 -71t-71 -35t-71.5 35 z" />
<glyph unicode="&#xc6;" horiz-adv-x="1762" d="M1485 1280q128 0 128 -128v-43q0 -85 -43 -85t-43 42.5t-42.5 85.5t-127.5 43h-214q-85 0 -127.5 -43t-42.5 -128v-256q0 -85 85 -85h256q85 0 85 -43t-85 -43h-256q-85 0 -85 -85v-256q0 -85 42.5 -128t127.5 -43h214q85 0 127.5 43t42.5 85.5t43 42.5t43 -85v-43 q0 -128 -128 -128h-555q-128 0 -128 128v256h-486l-179 -235q-55 -64 8 -64h17q85 0 85 -42.5t-85 -42.5h-85q-64 0 -79 53.5t57 142.5l726 999q64 85 128 85h576zM802 469v495q0 111 -85 -4l-342 -491h427z" />
<glyph unicode="&#xc7;" horiz-adv-x="1066" d="M512 0q-256 0 -384 170.5t-128 469.5t128 469.5t384 170.5h299q85 0 85 -85v-171q0 -85 -42.5 -85t-42.5 85t-43 128t-128 43h-128q-171 0 -256 -171t-85 -384t85 -384t256 -171h128q85 0 128 43t43 128t42.5 85t42.5 -85v-171q0 -85 -85 -85h-299zM530 -107h-42 q-43 0 -43 43v64h43v-43q0 -21 22 -21h20q85 0 128 -32t43 -106.5t-42.5 -106.5t-128.5 -32h-148q-43 0 -43 42v86q0 43 21.5 42.5t21.5 -42.5q0 -43 21.5 -64.5t63.5 -21.5h63q43 0 64.5 21.5t21.5 75t-21.5 74.5t-64.5 21z" />
<glyph unicode="&#xc8;" d="M683 1280q128 0 128 -128v-43q0 -85 -43 -85t-43 42.5t-42.5 85.5t-127.5 43h-214q-85 0 -127.5 -43t-42.5 -128v-256q0 -85 85 -85h256q85 0 85 -43t-85 -43h-256q-85 0 -85 -85v-256q0 -85 42.5 -128t127.5 -43h214q85 0 127.5 43t42.5 85.5t43 42.5t43 -85v-43 q0 -128 -128 -128h-555q-128 0 -128 128v1024q0 128 128 128h555zM597 1323l-341 68q-64 9 -34.5 81.5t81.5 46.5l337 -154q21 -46 -43 -42z" />
<glyph unicode="&#xc9;" d="M683 1280q128 0 128 -128v-43q0 -85 -43 -85t-43 42.5t-42.5 85.5t-127.5 43h-214q-85 0 -127.5 -43t-42.5 -128v-256q0 -85 85 -85h256q85 0 85 -43t-85 -43h-256q-85 0 -85 -85v-256q0 -85 42.5 -128t127.5 -43h214q85 0 127.5 43t42.5 85.5t43 42.5t43 -85v-43 q0 -128 -128 -128h-555q-128 0 -128 128v1024q0 128 128 128h555zM213 1365l337 154q51 26 81 -47t-34 -81l-341 -68q-64 -5 -43 42z" />
<glyph unicode="&#xca;" d="M683 1280q128 0 128 -128v-43q0 -85 -43 -85t-43 42.5t-42.5 85.5t-127.5 43h-214q-85 0 -127.5 -43t-42.5 -128v-256q0 -85 85 -85h256q85 0 85 -43t-85 -43h-256q-85 0 -85 -85v-256q0 -85 42.5 -128t127.5 -43h214q85 0 127.5 43t42.5 85.5t43 42.5t43 -85v-43 q0 -128 -128 -128h-555q-128 0 -128 128v1024q0 128 128 128h555zM171 1365l213 128q43 34 86 0l213 -128q21 -47 -43 -42l-213 72l-213 -72q-64 -5 -43 42z" />
<glyph unicode="&#xcb;" d="M683 1280q128 0 128 -128v-43q0 -85 -43 -85t-43 42.5t-42.5 85.5t-127.5 43h-214q-85 0 -127.5 -43t-42.5 -128v-256q0 -85 85 -85h256q85 0 85 -43t-85 -43h-256q-85 0 -85 -85v-256q0 -85 42.5 -128t127.5 -43h214q85 0 127.5 43t42.5 85.5t43 42.5t43 -85v-43 q0 -128 -128 -128h-555q-128 0 -128 128v1024q0 128 128 128h555zM483 1358q-35 35 -35 71t35 71.5t71 35.5t71.5 -35.5t35.5 -71.5t-35.5 -71t-71.5 -35t-71 35zM184.5 1358q-35.5 35 -35.5 71t35.5 71.5t71.5 35.5t71 -35.5t35 -71.5t-35 -71t-71 -35t-71.5 35z" />
<glyph unicode="&#xcc;" horiz-adv-x="682" d="M85 0q-85 0 -85 42.5t42.5 42.5t85.5 43t43 128v768q0 85 -43 128t-85.5 43t-42.5 42.5t85 42.5h342q85 0 85 -42.5t-42.5 -42.5t-85.5 -43t-43 -128v-768q0 -85 43 -128t85.5 -43t42.5 -42.5t-85 -42.5h-342zM427 1323l-341 68q-64 9 -34.5 81.5t81.5 46.5l337 -154 q21 -46 -43 -42z" />
<glyph unicode="&#xcd;" horiz-adv-x="682" d="M85 0q-85 0 -85 42.5t42.5 42.5t85.5 43t43 128v768q0 85 -43 128t-85.5 43t-42.5 42.5t85 42.5h342q85 0 85 -42.5t-42.5 -42.5t-85.5 -43t-43 -128v-768q0 -85 43 -128t85.5 -43t42.5 -42.5t-85 -42.5h-342zM43 1365l337 154q51 26 81 -47t-34 -81l-341 -68 q-64 -5 -43 42z" />
<glyph unicode="&#xce;" horiz-adv-x="682" d="M85 0q-85 0 -85 42.5t42.5 42.5t85.5 43t43 128v768q0 85 -43 128t-85.5 43t-42.5 42.5t85 42.5h342q85 0 85 -42.5t-42.5 -42.5t-85.5 -43t-43 -128v-768q0 -85 43 -128t85.5 -43t42.5 -42.5t-85 -42.5h-342zM0 1365l213 128q43 34 86 0l213 -128q21 -47 -43 -42 l-213 72l-213 -72q-64 -5 -43 42z" />
<glyph unicode="&#xcf;" horiz-adv-x="682" d="M85 0q-85 0 -85 42.5t42.5 42.5t85.5 43t43 128v768q0 85 -43 128t-85.5 43t-42.5 42.5t85 42.5h342q85 0 85 -42.5t-42.5 -42.5t-85.5 -43t-43 -128v-768q0 -85 43 -128t85.5 -43t42.5 -42.5t-85 -42.5h-342zM334 1358q-35 35 -35 71t35 71.5t71 35.5t71.5 -35.5 t35.5 -71.5t-35.5 -71t-71.5 -35t-71 35zM35.5 1358q-35.5 35 -35.5 71t35.5 71.5t71.5 35.5t71 -35.5t35 -71.5t-35 -71t-71 -35t-71.5 35z" />
<glyph unicode="&#xd0;" horiz-adv-x="1152" d="M427 0h-299q-128 0 -128 128v384q0 85 -42.5 85t-42.5 43t42.5 43t42.5 85v384q0 128 128 128h299q256 0 384 -170.5t128 -469.5t-128 -469.5t-384 -170.5zM427 85q171 0 256 171t85 384t-85.5 384t-255.5 171h-171q-85 0 -85 -86v-341q0 -85 85 -85h171q85 0 85 -43 t-85 -43h-171q-85 0 -85 -85v-341q0 -85 85 -86h171z" />
<glyph unicode="&#xd1;" horiz-adv-x="1194" d="M128 0q-128 0 -128 128v1003q0 149 128 149q85 0 149 -85l555 -875q36 -21 59 -21q47 0 48 85v640q0 85 -43 128t-85.5 43t-42.5 42.5t128 42.5t128 -171v-981q0 -128 -128 -128q-85 0 -149 85l-555 875q-36 21 -59 21q-47 0 -48 -85v-640q0 -85 43 -128t85.5 -43 t42.5 -42.5t-128 -42.5zM222 1408q55 85 161.5 85t138.5 -42.5t85.5 -42.5t108.5 43q51 21 52 -43q-64 -85 -171 -85t-139 42.5t-85 42.5t-109 -43q-51 -21 -42 43z" />
<glyph unicode="&#xd2;" horiz-adv-x="1194" d="M512 0q-256 0 -384 170.5t-128 469.5t128 469.5t384 170.5t384 -170.5t128 -469.5t-128 -469.5t-384 -170.5zM512 85q171 0 256 171t85 384t-85 384t-256 171t-256 -171t-85 -384t85 -384t256 -171zM683 1323l-341 68q-64 9 -34.5 81.5t81.5 46.5l337 -154 q21 -46 -43 -42z" />
<glyph unicode="&#xd3;" horiz-adv-x="1194" d="M512 0q-256 0 -384 170.5t-128 469.5t128 469.5t384 170.5t384 -170.5t128 -469.5t-128 -469.5t-384 -170.5zM512 85q171 0 256 171t85 384t-85 384t-256 171t-256 -171t-85 -384t85 -384t256 -171zM299 1365l337 154q51 26 81 -47t-34 -81l-341 -68q-64 -5 -43 42z" />
<glyph unicode="&#xd4;" horiz-adv-x="1194" d="M512 0q-256 0 -384 170.5t-128 469.5t128 469.5t384 170.5t384 -170.5t128 -469.5t-128 -469.5t-384 -170.5zM512 85q171 0 256 171t85 384t-85 384t-256 171t-256 -171t-85 -384t85 -384t256 -171zM256 1365l213 128q43 34 86 0l213 -128q21 -47 -43 -42l-213 72 l-213 -72q-64 -5 -43 42z" />
<glyph unicode="&#xd5;" horiz-adv-x="1194" d="M512 0q-256 0 -384 170.5t-128 469.5t128 469.5t384 170.5t384 -170.5t128 -469.5t-128 -469.5t-384 -170.5zM512 85q171 0 256 171t85 384t-85 384t-256 171t-256 -171t-85 -384t85 -384t256 -171zM244 1408q55 85 161.5 85t138.5 -42.5t85.5 -42.5t108.5 43 q51 21 52 -43q-64 -85 -171 -85t-139 42.5t-85 42.5t-109 -43q-51 -21 -42 43z" />
<glyph unicode="&#xd6;" horiz-adv-x="1194" d="M512 0q-256 0 -384 170.5t-128 469.5t128 469.5t384 170.5t384 -170.5t128 -469.5t-128 -469.5t-384 -170.5zM512 85q171 0 256 171t85 384t-85 384t-256 171t-256 -171t-85 -384t85 -384t256 -171zM590 1358q-35 35 -35 71t35 71.5t71 35.5t71.5 -35.5t35.5 -71.5 t-35.5 -71t-71.5 -35t-71 35zM291.5 1358q-35.5 35 -35.5 71t35.5 71.5t71.5 35.5t71 -35.5t35 -71.5t-35 -71t-71 -35t-71.5 35z" />
<glyph unicode="&#xd7;" horiz-adv-x="768" d="M0 683l64 64l235 -238l234 238l64 -64l-238 -235l238 -235l-64 -64l-234 238l-235 -238l-64 64l238 235z" />
<glyph unicode="&#xd8;" horiz-adv-x="1194" d="M512 0q-171 0 -277 73q-43 -73 -79.5 -51.5t6.5 106.5q-162 171 -162 512q0 299 128 469.5t384 170.5q171 0 277 -73q47 81 85.5 60t-16.5 -115q166 -171 166 -512q0 -299 -128 -469.5t-384 -170.5zM725 1092q-85 102 -213 103q-171 0 -256 -171t-85 -384t76 -371z M299 188q85 -102 213 -103q171 0 256 171t85 384t-76 371z" />
<glyph unicode="&#xd9;" horiz-adv-x="1066" d="M512 0q-256 0 -384 128t-128 341v683q0 128 128 128h128q85 0 85 -42.5t-42.5 -42.5t-85 -43t-42.5 -128v-555q0 -128 85 -256t256 -128t235 128t64 256v555q0 85 -43 128t-85.5 43t-42.5 42.5t85 42.5h43q128 0 128 -128v-683q0 -213 -96 -341t-288 -128zM640 1323 l-341 68q-64 9 -34.5 81.5t81.5 46.5l337 -154q21 -46 -43 -42z" />
<glyph unicode="&#xda;" horiz-adv-x="1066" d="M512 0q-256 0 -384 128t-128 341v683q0 128 128 128h128q85 0 85 -42.5t-42.5 -42.5t-85 -43t-42.5 -128v-555q0 -128 85 -256t256 -128t235 128t64 256v555q0 85 -43 128t-85.5 43t-42.5 42.5t85 42.5h43q128 0 128 -128v-683q0 -213 -96 -341t-288 -128zM256 1365 l337 154q51 26 81 -47t-34 -81l-341 -68q-64 -5 -43 42z" />
<glyph unicode="&#xdb;" horiz-adv-x="1066" d="M512 0q-256 0 -384 128t-128 341v683q0 128 128 128h128q85 0 85 -42.5t-42.5 -42.5t-85 -43t-42.5 -128v-555q0 -128 85 -256t256 -128t235 128t64 256v555q0 85 -43 128t-85.5 43t-42.5 42.5t85 42.5h43q128 0 128 -128v-683q0 -213 -96 -341t-288 -128zM213 1365 l213 128q43 34 86 0l213 -128q21 -47 -43 -42l-213 72l-213 -72q-64 -5 -43 42z" />
<glyph unicode="&#xdc;" horiz-adv-x="1066" d="M512 0q-256 0 -384 128t-128 341v683q0 128 128 128h128q85 0 85 -42.5t-42.5 -42.5t-85 -43t-42.5 -128v-555q0 -128 85 -256t256 -128t235 128t64 256v555q0 85 -43 128t-85.5 43t-42.5 42.5t85 42.5h43q128 0 128 -128v-683q0 -213 -96 -341t-288 -128zM547 1358 q-35 35 -35 71t35 71.5t71 35.5t71.5 -35.5t35.5 -71.5t-35.5 -71t-71.5 -35t-71 35zM248.5 1358q-35.5 35 -35.5 71t35.5 71.5t71.5 35.5t71 -35.5t35 -71.5t-35 -71t-71 -35t-71.5 35z" />
<glyph unicode="&#xdd;" horiz-adv-x="942" d="M649 1280h51q77 0 104 -43q10 -15 10 -38q0 -43 -33 -115l-260 -572q-34 -51 -35 -128v-128q0 -85 43 -128t85.5 -43t42.5 -42.5t-85 -42.5h-128q-128 0 -128 128v256q0 77 -30 128l-269 572q-22 47 -22 84q0 33 18 59q38 53 124 53h123q85 0 85.5 -42.5t-85.5 -42.5h-34 h-8q-43 0 -43 -31q0 -14 8 -33l210 -448q26 -47 52 -47t54 47l214 448q10 22 10 37q0 27 -36 27h-38q-85 0 -85 42.5t85 42.5zM171 1365l337 154q51 26 81 -47t-34 -81l-341 -68q-64 -5 -43 42z" />
<glyph unicode="&#xde;" d="M256 341q-85 0 -85 -85t42.5 -128t85 -43t42.5 -42.5t-85 -42.5h-128q-128 0 -128 128v1024q0 128 128 128h128q85 0 85 -42.5t-42.5 -42.5t-85 -43t-42.5 -128h213q213 0 320 -64t107 -235t-128 -267t-427 -117zM565.5 512q74.5 85 74.5 213t-64 171t-192 43h-128 q-85 0 -85 -86v-341q0 -85 85 -85q235 0 309.5 85z" />
<glyph unicode="&#xdf;" horiz-adv-x="1194" d="M171 0q-85 0 -86 85v640q0 85 -42.5 85.5t-42.5 43t85 42.5v85q0 128 85.5 213.5t256.5 85.5t256 -85.5t85 -213.5v-85q0 -85 -64 -85t-117.5 -32t-53.5 -96t43 -85.5t107 -42.5q179 -38 260 -104.5t81 -215.5q0 -128 -106.5 -181.5t-234.5 -53.5h-256q-85 0 -86 85v171 q0 85 43 85t43 -85t42.5 -128t127.5 -43h86q107 0 138.5 43t31.5 107t-34 93.5t-136 55.5q-166 34 -243 102.5t-77 174.5q0 128 74.5 181.5t159.5 53.5v128q0 85 -42.5 128t-127.5 43t-128 -43t-43 -128v-853q0 -85 42.5 -85.5t42.5 -43t-85 -42.5h-85z" />
<glyph unicode="&#xe0;" d="M555 640h85q0 85 -42.5 128t-128.5 43h-170q-85 0 -85.5 42.5t85.5 42.5h256q128 0 192 -64t64 -192v-512q0 -128 -128 -128h-256q-213 0 -320 64t-107 235t160 256t395 85zM260.5 480q-89.5 -75 -89.5 -181q0 -107 64 -160.5t192 -53.5h128q85 0 85 86v298q0 85 -85 86 q-205 0 -294.5 -75zM640 982l-341 68q-64 9 -34.5 81.5t81.5 46.5l337 -154q21 -46 -43 -42z" />
<glyph unicode="&#xe1;" d="M555 640h85q0 85 -42.5 128t-128.5 43h-170q-85 0 -85.5 42.5t85.5 42.5h256q128 0 192 -64t64 -192v-512q0 -128 -128 -128h-256q-213 0 -320 64t-107 235t160 256t395 85zM260.5 480q-89.5 -75 -89.5 -181q0 -107 64 -160.5t192 -53.5h128q85 0 85 86v298q0 85 -85 86 q-205 0 -294.5 -75zM256 1024l337 154q51 26 81 -47t-34 -81l-341 -68q-64 -5 -43 42z" />
<glyph unicode="&#xe2;" d="M555 640h85q0 85 -42.5 128t-128.5 43h-170q-85 0 -85.5 42.5t85.5 42.5h256q128 0 192 -64t64 -192v-512q0 -128 -128 -128h-256q-213 0 -320 64t-107 235t160 256t395 85zM260.5 480q-89.5 -75 -89.5 -181q0 -107 64 -160.5t192 -53.5h128q85 0 85 86v298q0 85 -85 86 q-205 0 -294.5 -75zM171 1024l213 128q43 34 86 0l213 -128q21 -47 -43 -42l-213 72l-213 -72q-64 -5 -43 42z" />
<glyph unicode="&#xe3;" d="M555 640h85q0 85 -42.5 128t-128.5 43h-170q-85 0 -85.5 42.5t85.5 42.5h256q128 0 192 -64t64 -192v-512q0 -128 -128 -128h-256q-213 0 -320 64t-107 235t160 256t395 85zM260.5 480q-89.5 -75 -89.5 -181q0 -107 64 -160.5t192 -53.5h128q85 0 85 86v298q0 85 -85 86 q-205 0 -294.5 -75zM180 1067q55 85 161.5 85t138.5 -42.5t85.5 -42.5t108.5 43q51 21 52 -43q-64 -85 -171 -85t-139 42.5t-85 42.5t-109 -43q-51 -21 -42 43z" />
<glyph unicode="&#xe4;" d="M555 640h85q0 85 -42.5 128t-128.5 43h-170q-85 0 -85.5 42.5t85.5 42.5h256q128 0 192 -64t64 -192v-512q0 -128 -128 -128h-256q-213 0 -320 64t-107 235t160 256t395 85zM260.5 480q-89.5 -75 -89.5 -181q0 -107 64 -160.5t192 -53.5h128q85 0 85 86v298q0 85 -85 86 q-205 0 -294.5 -75zM505 1017q-35 35 -35 71t35 71.5t71 35.5t71.5 -35.5t35.5 -71.5t-35.5 -71t-71.5 -35t-71 35zM206.5 1017q-35.5 35 -35.5 71t35.5 71.5t71.5 35.5t71 -35.5t35 -71.5t-35 -71t-71 -35t-71.5 35z" />
<glyph unicode="&#xe5;" d="M555 640h85q0 85 -42.5 128t-128.5 43h-170q-85 0 -85.5 42.5t85.5 42.5h256q128 0 192 -64t64 -192v-512q0 -128 -128 -128h-256q-213 0 -320 64t-107 235t160 256t395 85zM260.5 480q-89.5 -75 -89.5 -181q0 -107 64 -160.5t192 -53.5h128q85 0 85 86v298q0 85 -85 86 q-205 0 -294.5 -75zM448 1046q15 0 28.5 14t13.5 28.5t-14 28.5t-28.5 14t-28.5 -14t-14 -28.5t14 -28.5t29 -14zM376.5 1017q-35.5 35 -35.5 71t35.5 71.5t71.5 35.5t71 -35.5t35 -71.5t-35 -71t-71 -35t-71.5 35z" />
<glyph unicode="&#xe6;" horiz-adv-x="1578" d="M555 640h85q0 85 -42.5 128t-128.5 43h-170q-85 0 -85.5 42.5t85.5 42.5h256q128 0 217 -94q81 94 295 94q256 0 371 -265q43 -73 -30 -115l-307 -179q-73 -43 -94 -6.5t51 79.5l107 59q73 43 89.5 102.5t-25.5 132.5q-55 107 -162 107q-128 0 -192 -96t-64 -267t64 -267 t192 -96h85q85 0 128 43t43 128t42.5 85t42.5 -85v-171q0 -85 -85 -85h-256q-213 0 -265 73q9 -73 -119 -73h-256q-213 0 -320 64t-107 235t160 256t395 85zM260.5 480q-89.5 -75 -89.5 -181q0 -107 64 -160.5t192 -53.5h128q85 0 85 86v298q0 85 -85 86q-205 0 -294.5 -75z " />
<glyph unicode="&#xe7;" horiz-adv-x="938" d="M427 0q-213 0 -320 117.5t-107 330.5t106.5 330.5t320.5 117.5h256q85 0 85 -85v-171q0 -85 -42.5 -85t-42.5 85t-43 128t-128 43h-85q-128 0 -192 -96t-64 -267t64 -267t192 -96h85q85 0 128 43t43 128t42.5 85t42.5 -85v-171q0 -85 -85 -85h-256zM445 -107h-42 q-43 0 -43 43v64h43v-43q0 -21 22 -21h20q85 0 128 -32t43 -106.5t-42.5 -106.5t-128.5 -32h-148q-43 0 -43 42v86q0 43 21.5 42.5t21.5 -42.5q0 -43 21.5 -64.5t63.5 -21.5h63q43 0 64.5 21.5t21.5 75t-21.5 74.5t-64.5 21z" />
<glyph unicode="&#xe8;" horiz-adv-x="917" d="M427 0q-213 0 -320 117.5t-107 330.5t106.5 330.5t320.5 117.5q256 0 371 -265q16 -27 16 -49q0 -39 -46 -66l-201 -119l-106 -60q-39 -23 -64 -23q-21 0 -30 17q-5 8 -5 16q0 29 56 63l107 59q73 43 89 103q5 17 5 35q0 45 -30 97q-55 107 -162 107q-128 0 -192 -96 t-64 -267t64 -267t192 -96h85q85 0 128 43t43 128t42.5 85t42.5 -85v-171q0 -85 -85 -85h-256zM555 982l-341 68q-64 9 -34.5 81.5t81.5 46.5l337 -154q21 -46 -43 -42z" />
<glyph unicode="&#xe9;" horiz-adv-x="917" d="M427 0q-213 0 -320 117.5t-107 330.5t106.5 330.5t320.5 117.5q256 0 371 -265q16 -27 16 -49q0 -39 -46 -66l-201 -119l-106 -60q-39 -23 -64 -23q-21 0 -30 17q-5 8 -5 16q0 29 56 63l107 59q73 43 89 103q5 17 5 35q0 45 -30 97q-55 107 -162 107q-128 0 -192 -96 t-64 -267t64 -267t192 -96h85q85 0 128 43t43 128t42.5 85t42.5 -85v-171q0 -85 -85 -85h-256zM171 1024l337 154q51 26 81 -47t-34 -81l-341 -68q-64 -5 -43 42z" />
<glyph unicode="&#xea;" horiz-adv-x="917" d="M427 0q-213 0 -320 117.5t-107 330.5t106.5 330.5t320.5 117.5q256 0 371 -265q16 -27 16 -49q0 -39 -46 -66l-201 -119l-106 -60q-39 -23 -64 -23q-21 0 -30 17q-5 8 -5 16q0 29 56 63l107 59q73 43 89 103q5 17 5 35q0 45 -30 97q-55 107 -162 107q-128 0 -192 -96 t-64 -267t64 -267t192 -96h85q85 0 128 43t43 128t42.5 85t42.5 -85v-171q0 -85 -85 -85h-256zM149 1024l213 128q43 34 86 0l213 -128q21 -47 -43 -42l-213 72l-213 -72q-64 -5 -43 42z" />
<glyph unicode="&#xeb;" horiz-adv-x="917" d="M427 0q-213 0 -320 117.5t-107 330.5t106.5 330.5t320.5 117.5q256 0 371 -265q16 -27 16 -49q0 -39 -46 -66l-201 -119l-106 -60q-39 -23 -64 -23q-21 0 -30 17q-5 8 -5 16q0 29 56 63l107 59q73 43 89 103q5 17 5 35q0 45 -30 97q-55 107 -162 107q-128 0 -192 -96 t-64 -267t64 -267t192 -96h85q85 0 128 43t43 128t42.5 85t42.5 -85v-171q0 -85 -85 -85h-256zM505 1017q-35 35 -35 71t35 71.5t71 35.5t71.5 -35.5t35.5 -71.5t-35.5 -71t-71.5 -35t-71 35zM206.5 1017q-35.5 35 -35.5 71t35.5 71.5t71.5 35.5t71 -35.5t35 -71.5t-35 -71 t-71 -35t-71.5 35z" />
<glyph unicode="&#xec;" horiz-adv-x="682" d="M85 0q-85 0 -85 42.5t42.5 42.5t85.5 43t43 128v384q0 85 -43 128t-85.5 43t-42.5 42.5t85 42.5h128q128 0 128 -128v-512q0 -85 43 -128t85.5 -43t42.5 -42.5t-85 -42.5h-342zM299 982l-341 68q-64 9 -34.5 81.5t81.5 46.5l337 -154q21 -46 -43 -42z" />
<glyph unicode="&#xed;" horiz-adv-x="682" d="M85 0q-85 0 -85 42.5t42.5 42.5t85.5 43t43 128v384q0 85 -43 128t-85.5 43t-42.5 42.5t85 42.5h128q128 0 128 -128v-512q0 -85 43 -128t85.5 -43t42.5 -42.5t-85 -42.5h-342zM0 1024l337 154q51 26 81 -47t-34 -81l-341 -68q-64 -5 -43 42z" />
<glyph unicode="&#xee;" horiz-adv-x="682" d="M85 0q-85 0 -85 42.5t42.5 42.5t85.5 43t43 128v384q0 85 -43 128t-85.5 43t-42.5 42.5t85 42.5h128q128 0 128 -128v-512q0 -85 43 -128t85.5 -43t42.5 -42.5t-85 -42.5h-342zM0 1024l213 128q43 34 86 0l213 -128q21 -47 -43 -42l-213 72l-213 -72q-64 -5 -43 42z" />
<glyph unicode="&#xef;" horiz-adv-x="682" d="M85 0q-85 0 -85 42.5t42.5 42.5t85.5 43t43 128v384q0 85 -43 128t-85.5 43t-42.5 42.5t85 42.5h128q128 0 128 -128v-512q0 -85 43 -128t85.5 -43t42.5 -42.5t-85 -42.5h-342zM334 1017q-35 35 -35 71t35 71.5t71 35.5t71.5 -35.5t35.5 -71.5t-35.5 -71t-71.5 -35 t-71 35zM35.5 1017q-35.5 35 -35.5 71t35.5 71.5t71.5 35.5t71 -35.5t35 -71.5t-35 -71t-71 -35t-71.5 35z" />
<glyph unicode="&#xf0;" horiz-adv-x="1024" d="M555 896q85 0 85 42.5t-85 42.5h-86q-85 0 -85 43t85 43h86q85 0 85 42.5t-42.5 64t-85.5 21.5t-43 42.5t86 42.5h128q128 0 128 -128q0 -85 42.5 -85t42.5 -43t-42.5 -43t-42.5 -85v-768q0 -128 -128 -128h-256q-213 0 -320 117.5t-107 330.5t128 330.5t299 117.5h128z M245.5 715q-74.5 -96 -74.5 -267t64 -267t192 -96h128q85 0 85 86v554q0 85 -85 86h-128q-107 0 -181.5 -96z" />
<glyph unicode="&#xf1;" horiz-adv-x="1024" d="M427 896q213 0 319.5 -106.5t106.5 -320.5v-341q0 -128 -128 -128h-128q-85 0 -85 42.5t42.5 42.5t85.5 43t43 128v213q0 128 -64 235t-192 107h-171q-85 0 -85 -86v-469q0 -85 42.5 -128t85 -43t42.5 -42.5t-85 -42.5h-128q-128 0 -128 128v640q0 128 128 128h299z M137 1067q55 85 161.5 85t138.5 -42.5t85.5 -42.5t108.5 43q51 21 52 -43q-64 -85 -171 -85t-139 42.5t-85 42.5t-109 -43q-51 -21 -42 43z" />
<glyph unicode="&#xf2;" horiz-adv-x="1024" d="M427 0q-213 0 -320 117.5t-107 330.5t106.5 330.5t320.5 117.5q213 0 319.5 -117.5t106.5 -330.5t-106.5 -330.5t-319.5 -117.5zM427 85q128 0 192 96t64 267t-64 267t-192 96t-192 -96t-64 -267t64 -267t192 -96zM555 982l-341 68q-64 9 -34.5 81.5t81.5 46.5l337 -154 q21 -46 -43 -42z" />
<glyph unicode="&#xf3;" horiz-adv-x="1024" d="M427 0q-213 0 -320 117.5t-107 330.5t106.5 330.5t320.5 117.5q213 0 319.5 -117.5t106.5 -330.5t-106.5 -330.5t-319.5 -117.5zM427 85q128 0 192 96t64 267t-64 267t-192 96t-192 -96t-64 -267t64 -267t192 -96zM213 1024l337 154q51 26 81 -47t-34 -81l-341 -68 q-64 -5 -43 42z" />
<glyph unicode="&#xf4;" horiz-adv-x="1024" d="M427 0q-213 0 -320 117.5t-107 330.5t106.5 330.5t320.5 117.5q213 0 319.5 -117.5t106.5 -330.5t-106.5 -330.5t-319.5 -117.5zM427 85q128 0 192 96t64 267t-64 267t-192 96t-192 -96t-64 -267t64 -267t192 -96zM171 1024l213 128q43 34 86 0l213 -128q21 -47 -43 -42 l-213 72l-213 -72q-64 -5 -43 42z" />
<glyph unicode="&#xf5;" horiz-adv-x="1024" d="M427 0q-213 0 -320 117.5t-107 330.5t106.5 330.5t320.5 117.5q213 0 319.5 -117.5t106.5 -330.5t-106.5 -330.5t-319.5 -117.5zM427 85q128 0 192 96t64 267t-64 267t-192 96t-192 -96t-64 -267t64 -267t192 -96zM180 1067q55 85 161.5 85t138.5 -42.5t85.5 -42.5 t108.5 43q51 21 52 -43q-64 -85 -171 -85t-139 42.5t-85 42.5t-109 -43q-51 -21 -42 43z" />
<glyph unicode="&#xf6;" horiz-adv-x="1024" d="M427 0q-213 0 -320 117.5t-107 330.5t106.5 330.5t320.5 117.5q213 0 319.5 -117.5t106.5 -330.5t-106.5 -330.5t-319.5 -117.5zM427 85q128 0 192 96t64 267t-64 267t-192 96t-192 -96t-64 -267t64 -267t192 -96zM505 1017q-35 35 -35 71t35 71.5t71 35.5t71.5 -35.5 t35.5 -71.5t-35.5 -71t-71.5 -35t-71 35zM206.5 1017q-35.5 35 -35.5 71t35.5 71.5t71.5 35.5t71 -35.5t35 -71.5t-35 -71t-71 -35t-71.5 35z" />
<glyph unicode="&#xf7;" horiz-adv-x="768" d="M0 405v86h597v-86h-597zM213 256q0 35 26 60t60 25t59.5 -25t25.5 -60t-25.5 -60t-59.5 -25t-60 25t-26 60zM213 640q0 35 26 60t60 25t59.5 -25t25.5 -60t-25.5 -60t-59.5 -25t-60 25t-26 60z" />
<glyph unicode="&#xf8;" horiz-adv-x="1024" d="M427 0q-149 0 -192 34q-51 -90 -89.5 -68.5t12.5 111.5q-158 115 -158 371q0 213 106.5 330.5t320.5 117.5q149 0 192 -30q51 85 89.5 64t-13.5 -107q158 -119 158 -375q0 -213 -106.5 -330.5t-319.5 -117.5zM290 124q30 -38 137 -39q128 0 192 96t64 267t-56 256z M563 772q-30 38 -136 39q-128 0 -192 -96t-64 -267t55 -256z" />
<glyph unicode="&#xf9;" d="M427 0q-213 0 -320 106.5t-107 320.5v341q0 128 128 128h128q85 0 85 -42.5t-42.5 -42.5t-85 -43t-42.5 -128v-213q0 -128 64 -235t192 -107q171 0 234.5 107t63.5 235v213q0 85 -42.5 128t-85 43t-42.5 42.5t85 42.5h43q128 0 128 -128v-341q0 -213 -96 -320t-288 -107z M555 982l-341 68q-64 9 -34.5 81.5t81.5 46.5l337 -154q21 -46 -43 -42z" />
<glyph unicode="&#xfa;" d="M427 0q-213 0 -320 106.5t-107 320.5v341q0 128 128 128h128q85 0 85 -42.5t-42.5 -42.5t-85 -43t-42.5 -128v-213q0 -128 64 -235t192 -107q171 0 234.5 107t63.5 235v213q0 85 -42.5 128t-85 43t-42.5 42.5t85 42.5h43q128 0 128 -128v-341q0 -213 -96 -320t-288 -107z M171 1024l337 154q51 26 81 -47t-34 -81l-341 -68q-64 -5 -43 42z" />
<glyph unicode="&#xfb;" d="M427 0q-213 0 -320 106.5t-107 320.5v341q0 128 128 128h128q85 0 85 -42.5t-42.5 -42.5t-85 -43t-42.5 -128v-213q0 -128 64 -235t192 -107q171 0 234.5 107t63.5 235v213q0 85 -42.5 128t-85 43t-42.5 42.5t85 42.5h43q128 0 128 -128v-341q0 -213 -96 -320t-288 -107z M128 1024l213 128q43 34 86 0l213 -128q21 -47 -43 -42l-213 72l-213 -72q-64 -5 -43 42z" />
<glyph unicode="&#xfc;" d="M427 0q-213 0 -320 106.5t-107 320.5v341q0 128 128 128h128q85 0 85 -42.5t-42.5 -42.5t-85 -43t-42.5 -128v-213q0 -128 64 -235t192 -107q171 0 234.5 107t63.5 235v213q0 85 -42.5 128t-85 43t-42.5 42.5t85 42.5h43q128 0 128 -128v-341q0 -213 -96 -320t-288 -107z M483 1017q-35 35 -35 71t35 71.5t71 35.5t71.5 -35.5t35.5 -71.5t-35.5 -71t-71.5 -35t-71 35zM184.5 1017q-35.5 35 -35.5 71t35.5 71.5t71.5 35.5t71 -35.5t35 -71.5t-35 -71t-71 -35t-71.5 35z" />
<glyph unicode="&#xfd;" horiz-adv-x="942" d="M649 896h38q102 0 124 -36q6 -11 6 -29q0 -44 -36 -131l-418 -892q-10 -22 -11 -37q0 -27 36 -27h39q85 0 85 -42.5t-85 -42.5h-39q-102 0 -123 36q-6 11 -7 29q0 44 36 131l43 85q15 21 15 45q0 30 -23 66l-312 649q-19 41 -19 74q0 40 28 69q51 53 153 53h81 q85 0 85.5 -42.5t-85.5 -42.5h-34h-8q-43 0 -43 -31q0 -14 8 -33l210 -448q26 -47 52 -47t54 47l214 448q10 22 10 37q0 27 -36 27h-38q-85 0 -85 42.5t85 42.5zM171 1024l337 154q51 26 81 -47t-34 -81l-341 -68q-64 -5 -43 42z" />
<glyph unicode="&#xfe;" d="M256 0q-85 0 -85 -85t42.5 -128t85 -43t42.5 -42.5t-85 -42.5h-128q-128 0 -128 128v1365q0 128 128 128h128q85 0 85 -42.5t-42.5 -42.5t-85 -43t-42.5 -128v-128h213q213 0 320 -117.5t107 -330.5t-128 -330.5t-299 -117.5h-128zM565.5 181q74.5 96 74.5 267t-64 267 t-192 96h-128q-85 0 -85 -86v-554q0 -85 85 -86h128q107 0 181.5 96z" />
<glyph unicode="&#xff;" horiz-adv-x="942" d="M649 896h38q102 0 124 -36q6 -11 6 -29q0 -44 -36 -131l-418 -892q-10 -22 -11 -37q0 -27 36 -27h39q85 0 85 -42.5t-85 -42.5h-39q-102 0 -123 36q-6 11 -7 29q0 44 36 131l43 85q15 21 15 45q0 30 -23 66l-312 649q-19 41 -19 74q0 40 28 69q51 53 153 53h81 q85 0 85.5 -42.5t-85.5 -42.5h-34h-8q-43 0 -43 -31q0 -14 8 -33l210 -448q26 -47 52 -47t54 47l214 448q10 22 10 37q0 27 -36 27h-38q-85 0 -85 42.5t85 42.5zM505 1017q-35 35 -35 71t35 71.5t71 35.5t71.5 -35.5t35.5 -71.5t-35.5 -71t-71.5 -35t-71 35zM206.5 1017 q-35.5 35 -35.5 71t35.5 71.5t71.5 35.5t71 -35.5t35 -71.5t-35 -71t-71 -35t-71.5 35z" />
<glyph unicode="&#x131;" horiz-adv-x="682" d="M85 0q-85 0 -85 42.5t42.5 42.5t85.5 43t43 128v384q0 85 -43 128t-85.5 43t-42.5 42.5t85 42.5h128q128 0 128 -128v-512q0 -85 43 -128t85.5 -43t42.5 -42.5t-85 -42.5h-342z" />
<glyph unicode="&#x152;" horiz-adv-x="1578" d="M1280 1280q128 0 128 -128v-43q0 -85 -42.5 -85t-42.5 42.5t-43 85.5t-128 43h-213q-85 0 -128 -43t-43 -128v-256q0 -85 85 -85h256q85 0 85.5 -43t-85.5 -43h-256q-85 0 -85 -85v-256q0 -85 42.5 -128t128.5 -43h213q85 0 128 43t43 85.5t42.5 42.5t42.5 -85v-43 q0 -128 -128 -128h-683q-256 0 -426.5 149.5t-170.5 490.5t170.5 490.5t426.5 149.5h683zM597 171v938q0 85 -85 86q-149 0 -245 -149.5t-96 -405.5t96 -405.5t245 -149.5q85 1 85 86z" />
<glyph unicode="&#x153;" horiz-adv-x="1621" d="M427 896q213 0 341 -149q128 149 341 149q256 0 372 -265q43 -73 -30 -115l-308 -179q-73 -43 -94 -6.5t52 79.5l106 59q73 43 90 102.5t-26 132.5q-55 107 -162 107q-128 0 -192 -96t-64 -267t64 -267t192 -96h86q85 0 127.5 43t42.5 128t43 85t43 -85v-171 q0 -85 -86 -85h-256q-213 0 -341 149q-128 -149 -341 -149t-320 117.5t-107 330.5t107 330.5t320 117.5zM427 811q-128 0 -192 -96t-64 -267t85 -267t171 -96q128 0 192 96t64 267t-64 267t-192 96z" />
<glyph unicode="&#x178;" horiz-adv-x="942" d="M649 1280h51q77 0 104 -43q10 -15 10 -38q0 -43 -33 -115l-260 -572q-34 -51 -35 -128v-128q0 -85 43 -128t85.5 -43t42.5 -42.5t-85 -42.5h-128q-128 0 -128 128v256q0 77 -30 128l-269 572q-22 47 -22 84q0 33 18 59q38 53 124 53h123q85 0 85.5 -42.5t-85.5 -42.5h-34 h-8q-43 0 -43 -31q0 -14 8 -33l210 -448q26 -47 52 -47t54 47l214 448q10 22 10 37q0 27 -36 27h-38q-85 0 -85 42.5t85 42.5zM462 1358q-35 35 -35 71t35 71.5t71 35.5t71.5 -35.5t35.5 -71.5t-35.5 -71t-71.5 -35t-71 35zM163.5 1358q-35.5 35 -35.5 71t35.5 71.5 t71.5 35.5t71 -35.5t35 -71.5t-35 -71t-71 -35t-71.5 35z" />
<glyph unicode="&#x2c6;" horiz-adv-x="682" d="M0 1365l213 128q43 34 86 0l213 -128q21 -47 -43 -42l-213 72l-213 -72q-64 -5 -43 42z" />
<glyph unicode="&#x2cb;" horiz-adv-x="597" d="M384 1323l-341 68q-64 9 -34.5 81.5t81.5 46.5l337 -154q21 -46 -43 -42z" />
<glyph unicode="&#x2da;" horiz-adv-x="383" d="M107 1387q15 0 28.5 14t13.5 28.5t-14 28.5t-28.5 14t-28.5 -14t-14 -28.5t14 -28.5t29 -14zM35.5 1358q-35.5 35 -35.5 71t35.5 71.5t71.5 35.5t71 -35.5t35 -71.5t-35 -71t-71 -35t-71.5 35z" />
<glyph unicode="&#x2dc;" horiz-adv-x="725" d="M9 1408q55 85 161.5 85t138.5 -42.5t85.5 -42.5t108.5 43q51 21 52 -43q-64 -85 -171 -85t-139 42.5t-85 42.5t-109 -43q-51 -21 -42 43z" />
<glyph unicode="&#x2000;" horiz-adv-x="768" />
<glyph unicode="&#x2001;" horiz-adv-x="1536" />
<glyph unicode="&#x2002;" horiz-adv-x="768" />
<glyph unicode="&#x2003;" horiz-adv-x="1536" />
<glyph unicode="&#x2004;" horiz-adv-x="512" />
<glyph unicode="&#x2005;" horiz-adv-x="384" />
<glyph unicode="&#x2006;" horiz-adv-x="256" />
<glyph unicode="&#x2007;" horiz-adv-x="256" />
<glyph unicode="&#x2008;" horiz-adv-x="192" />
<glyph unicode="&#x2009;" horiz-adv-x="307" />
<glyph unicode="&#x200a;" horiz-adv-x="85" />
<glyph unicode="&#x2010;" horiz-adv-x="768" d="M0 405v86h597v-86h-597z" />
<glyph unicode="&#x2011;" horiz-adv-x="768" d="M0 405v86h597v-86h-597z" />
<glyph unicode="&#x2012;" horiz-adv-x="768" d="M0 405v86h597v-86h-597z" />
<glyph unicode="&#x2013;" horiz-adv-x="1024" d="M0 405v86h835.814v-86h-835.814z" />
<glyph unicode="&#x2014;" horiz-adv-x="1216" d="M0 405v86h1044.75v-86h-1044.75z" />
<glyph unicode="&#x2018;" horiz-adv-x="426" d="M128 1024q102 -108 64 -126.5t-115 54t-77 158t42.5 128t85.5 42.5t85.5 -42.5t42.5 -85.5t-42.5 -85.5t-85.5 -42.5z" />
<glyph unicode="&#x2019;" horiz-adv-x="426" d="M42.5 1066.5q-42.5 42.5 -42.5 85.5t42.5 85.5t85.5 42.5t85.5 -42.5t42.5 -128t-77 -158t-115 -54t64 126.5q-43 0 -85.5 42.5z" />
<glyph unicode="&#x201a;" horiz-adv-x="426" d="M128 171q102 108 64 126.5t-115 -54t-77 -158t42.5 -128t85.5 -42.5t85.5 42.5t42.5 85.5t-42.5 85.5t-85.5 42.5z" />
<glyph unicode="&#x201c;" horiz-adv-x="853" d="M128 1024q102 -108 64 -126.5t-115 54t-77 158t42.5 128t85.5 42.5t85.5 -42.5t42.5 -85.5t-42.5 -85.5t-85.5 -42.5zM555 1024q102 -108 64 -126.5t-115 54t-77 158t42.5 128t85.5 42.5t85.5 -42.5t42.5 -85.5t-42.5 -85.5t-85.5 -42.5z" />
<glyph unicode="&#x201d;" horiz-adv-x="853" d="M42.5 1066.5q-42.5 42.5 -42.5 85.5t42.5 85.5t85.5 42.5t85.5 -42.5t42.5 -128t-77 -158t-115 -54t64 126.5q-43 0 -85.5 42.5zM469.5 1066.5q-42.5 42.5 -42.5 85.5t42.5 85.5t85.5 42.5t85.5 -42.5t42.5 -128t-77 -158t-115 -54t64 126.5q-43 0 -85.5 42.5z" />
<glyph unicode="&#x201e;" horiz-adv-x="853" d="M128 171q102 108 64 126.5t-115 -54t-77 -158t42.5 -128t85.5 -42.5t85.5 42.5t42.5 85.5t-42.5 85.5t-85.5 42.5zM555 171q102 108 64 126.5t-115 -54t-77 -158t42.5 -128t85.5 -42.5t85.5 42.5t42.5 85.5t-42.5 85.5t-85.5 42.5z" />
<glyph unicode="&#x2022;" horiz-adv-x="597" d="M0 639.5q0 87.5 63.5 150.5t150 63t150 -63t63.5 -150.5t-63.5 -150t-150.5 -62.5q-86 0 -149.5 62.5t-63.5 150z" />
<glyph unicode="&#x2026;" horiz-adv-x="675" d="M42.5 -42.5q-42.5 42.5 -42.5 85t42.5 85.5t85.5 43t85.5 -43t42.5 -85.5t-42.5 -85t-85.5 -42.5t-85.5 42.5zM469.5 -42.5q-42.5 42.5 -42.5 85t42.5 85.5t85.5 43t85.5 -43t42.5 -85.5t-42.5 -85t-85.5 -42.5t-85.5 42.5zM895.5 -42.5q-42.5 42.5 -42.5 85t42.5 85.5 t85.5 43t85.5 -43t42.5 -85.5t-42.5 -85t-85.5 -42.5t-85.5 42.5z" />
<glyph unicode="&#x202f;" horiz-adv-x="307" />
<glyph unicode="&#x2039;" horiz-adv-x="614" d="M145 384l-128 213q-34 43 0 86l128 213q47 21 43 -43l-73 -213l73 -213q4 -64 -43 -43zM401 384l-128 213q-34 43 0 86l128 213q47 21 43 -43l-73 -213l73 -213q4 -64 -43 -43z" />
<glyph unicode="&#x203a;" horiz-adv-x="614" d="M43 896l128 -213q34 -43 0 -86l-128 -213q-47 -21 -43 43l73 213l-73 213q-4 64 43 43zM299 896l128 -213q34 -43 0 -86l-128 -213q-47 -21 -43 43l73 213l-73 213q-4 64 43 43z" />
<glyph unicode="&#x205f;" horiz-adv-x="384" />
<glyph unicode="&#x2122;" horiz-adv-x="1258" d="M149.5 640q-42.5 0 -42.75 21.25t21.25 21.25t42.75 21.5t21.25 64v426.5q0 42.5 -42.5 43h-43q-64 0 -64 -64q0 -42.5 -21.25 -42.75t-21.25 42.75v64q0 42.5 42.5 42.5h384q42.5 0 43 -42.5v-64q0 -42.5 -21.5 -42.75t-21.5 42.75q0 64 -64 64h-42.5q-42.5 0 -42.5 -43 v-426.5q0 -42.5 21.25 -64t42.5 -21.5t21.25 -21.25t-42.5 -21.25h-170.5zM619 640q-64 0 -64 64v501.5q0 74.5 64 74.5q55.5 0 74.5 -42.5l107 -294.5q10.5 -38 23 -38q13 0 28 40l125 288q20.5 47 58.5 47q53.5 0 53.5 -64v-512q0 -64 -64 -64h-55.5q-42.5 0 -42.75 21.25 t21.75 21.25t38.5 21.5t16.5 64v341.5q-1 32 -8 32t-19.5 -32l-111 -258.5q-25.5 -59.5 -58 -59.5h-2q-39 0 -66 72.5l-89.5 249.5q-22 33 -34.5 33q-16.5 0 -17 -58.5v-320q0 -42.5 21.5 -64t42.75 -21.5t21.25 -21.25t-42.5 -21.25h-21.5z" />
<glyph unicode="&#xe000;" horiz-adv-x="895" d="M0 895h895v-895h-895v895z" />
<glyph unicode="&#xfb01;" horiz-adv-x="1194" d="M640 0q-85 0 -85 42.5t42.5 42.5t85.5 43t43 128v384q0 85 -43 128t-85.5 43t-42.5 42.5t85 42.5h128q128 0 128 -128v-512q0 -85 43 -128t85.5 -43t42.5 -42.5t-85 -42.5h-342zM725.5 1152q-42.5 43 -42.5 85.5t42.5 85t85.5 42.5t85.5 -42.5t42.5 -85t-42.5 -85.5 t-85.5 -43t-85.5 43zM171 0q-85 0 -86 85v640q0 85 -42.5 85.5t-42.5 43t85 42.5v128q0 128 64 192t192 64q85 0 85.5 -42.5t-42.5 -42.5t-85.5 -43t-42.5 -128v-128h85q85 0 85.5 -42.5t-85.5 -42.5q-85 0 -85 -86v-469q0 -85 42.5 -128t85.5 -43t43 -42.5t-86 -42.5h-170z " />
<glyph unicode="&#xfb02;" horiz-adv-x="1194" d="M640 0q-85 0 -85 42.5t42.5 42.5t85.5 43t43 128v768q0 85 -43 128t-85.5 43t-42.5 42.5t85 42.5h128q128 0 128 -128v-896q0 -85 43 -128t85.5 -43t42.5 -42.5t-85 -42.5h-342zM171 0q-85 0 -86 85v640q0 85 -42.5 85.5t-42.5 43t85 42.5v128q0 128 64 192t192 64 q85 0 85.5 -42.5t-42.5 -42.5t-85.5 -43t-42.5 -128v-128h85q85 0 85.5 -42.5t-85.5 -42.5q-85 0 -85 -86v-469q0 -85 42.5 -128t85.5 -43t43 -42.5t-86 -42.5h-170z" />
<glyph unicode="&#xfb03;" horiz-adv-x="1749" d="M1194 0q-85 0 -85 42.5t42.5 42.5t85.5 43t43 128v384q0 85 -43 128t-85.5 43t-42.5 42.5t85 42.5h128q128 0 128 -128v-512q0 -85 43 -128t85.5 -43t42.5 -42.5t-85 -42.5h-342zM1279.5 1152q-42.5 43 -42.5 85.5t42.5 85t85.5 42.5t85.5 -42.5t42.5 -85t-42.5 -85.5 t-85.5 -43t-85.5 43zM726 0q-85 0 -86 85v640q0 85 -42.5 85.5t-42.5 43t85 42.5v128q0 128 64 192t192 64q85 0 85.5 -42.5t-42.5 -42.5t-85.5 -43t-42.5 -128v-128h85q85 0 85.5 -42.5t-85.5 -42.5q-85 0 -85 -86v-469q0 -85 42.5 -128t85.5 -43t43 -42.5t-86 -42.5h-170z M171 0q-85 0 -86 85v640q0 85 -42.5 85.5t-42.5 43t85 42.5v128q0 128 64 192t192 64q85 0 85.5 -42.5t-42.5 -42.5t-85.5 -43t-42.5 -128v-128h85q85 0 85.5 -42.5t-85.5 -42.5q-85 0 -85 -86v-469q0 -85 42.5 -128t85.5 -43t43 -42.5t-86 -42.5h-170z" />
<glyph unicode="&#xfb04;" horiz-adv-x="1749" d="M1194 0q-85 0 -85 42.5t42.5 42.5t85.5 43t43 128v768q0 85 -43 128t-85.5 43t-42.5 42.5t85 42.5h128q128 0 128 -128v-896q0 -85 43 -128t85.5 -43t42.5 -42.5t-85 -42.5h-342zM726 0q-85 0 -86 85v640q0 85 -42.5 85.5t-42.5 43t85 42.5v128q0 128 64 192t192 64 q85 0 85.5 -42.5t-42.5 -42.5t-85.5 -43t-42.5 -128v-128h85q85 0 85.5 -42.5t-85.5 -42.5q-85 0 -85 -86v-469q0 -85 42.5 -128t85.5 -43t43 -42.5t-86 -42.5h-170zM171 0q-85 0 -86 85v640q0 85 -42.5 85.5t-42.5 43t85 42.5v128q0 128 64 192t192 64q85 0 85.5 -42.5 t-42.5 -42.5t-85.5 -43t-42.5 -128v-128h85q85 0 85.5 -42.5t-85.5 -42.5q-85 0 -85 -86v-469q0 -85 42.5 -128t85.5 -43t43 -42.5t-86 -42.5h-170z" />
</font>
</defs></svg> 
//{{{
config.macros.myTimeline = {};
config.macros.myTimeline.dateFormat = config.macros.timeline.dateFormat;

config.macros.myTimeline.handler = function(place,macroName,params)
{
	var nr_params = params.length;
	var myTag = [];
	for(var i=0; i<nr_params; i++) {	
		myTag[i] = params.shift();
	}
	var field = params[0] || "modified";
	var tiddlers = store.reverseLookup("tags","excludeLists",false,field);
	var lastDay = "";
	var last = params[1] ? tiddlers.length-Math.min(tiddlers.length,parseInt(params[1])) : 0;
	var dateFormat = params[2] || this.dateFormat;
	for(var t=tiddlers.length-1; t>=last; t--) {
		var tiddler = tiddlers[t];
		var belongs = false;
		for (var i=0; i<nr_params; i++) {
			if (tiddler.isTagged(myTag[i])) belongs = true;
		}
		if (belongs == false) continue;
		var theDay = tiddler[field].convertToLocalYYYYMMDDHHMM().substr(0,8);
		if(theDay != lastDay) {
			var ul = document.createElement("ul");
			addClass(ul,"timeline");
			place.appendChild(ul);
			createTiddlyElement(ul,"li",null,"listTitle",tiddler[field].formatString(dateFormat));
			lastDay = theDay;
		}
		createTiddlyElement(ul,"li",null,"listLink").appendChild(createTiddlyLink(place,tiddler.title,true));
	}
};

//}}}
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg id="svg2" xmlns="http://www.w3.org/2000/svg" height="29pt" width="29pt" version="1.0" viewBox="13 43 29 29" onmousedown="if(jQuery) jQuery(document).trigger('cSmaller', {elem:this, comp:{animations:1}})" onmouseup="if(jQuery) jQuery(document).trigger('cResize', {elem:this, comp:{animations:1}})">
 <defs id="defs6">
 <linearGradient id="linearGradient001" y2="27.646" gradientUnits="userSpaceOnUse" x2="-45.8" gradientTransform="matrix(0, -0.544761, 0.529104, 0, 18.3357, 31.7966)" y1="27.646" x1="-57.66">
   <stop id="stop3209" stop-color="#be7800" offset="0"/>
   <stop id="stop3236" stop-color="#dcb400" offset="0.66462"/>
   <stop id="stop3211" stop-color="#be7800" offset="1"/>
  </linearGradient></defs>
 <g id="icon" stroke-linecap="round" stroke-miterlimit="4" fill-rule="evenodd">
  <path id="iconBG" stroke-linejoin="round" style="stroke-dasharray:none;" d="m25.151,68.079,12.404-12.643c1.3742,0,2.4805,1.0369,2.4805,2.325v10.318c0,1.288-1.1063,2.325-2.4805,2.325h-9.9235c-1.3742,0-2.4805-1.0369-2.4805-2.325z" stroke="#696969" stroke-width="1.28" fill="none"/>
 <path id="iconFG" stroke-linejoin="round" style="stroke-dasharray:none;" d="M27.143,67.989,37.527,57.183c0.69632,0,1.2569,0.52542,1.2569,1.1781v9.6286c0,0.65265-0.56057,1.1781-1.2569,1.1781h-9.1265c-0.69632,0-1.2569-0.52541-1.2569-1.1781z" stroke="#e6e6e6" stroke-width="0.96" fill="url(#linearGradient001)" class="showOnHover" opacity="0"/>
 <g id="iconSymbol" stroke-linejoin="miter" transform="matrix(0.707107, 0.707107, -0.707107, 0.707107, 54.0298, -3.77985)" stroke="#4d4d4d" stroke-width="1.6" fill="#4d4d4d">
   <path id="path3252" style="stroke-dasharray:none;" d="M34.232,64.294,36.834,61.791"/>
   <path id="path3254" style="stroke-dasharray:none;" d="M36.834,61.791,34.232,59.34"/>
  </g>
<rect id="overlay" opacity="0.01" ry="4.1663" style="stroke-dasharray:none;" fill-rule="evenodd" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#e6e6e6" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="#e6e6e6" onmouseover="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})" onmouseout="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})"/>
 </g>
</svg>
/***
|''Name''|PaletteViewMacro|
|''Version''|0.2 mp01|
|''Author''|FND|
|''Modified''|pmario|
|''Source''|[[FND's DevPad|http://devpad.tiddlyspot.com/#PaletteViewMacro]]|
|''License''|[[Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]]|
|''~CoreVersion''|2.1|
|''Type''|macro|
|''Requires''|N/A|
|''Overrides''|N/A|
|''Description''|Displays color palettes.|
!Notes
There is also [[ViewPalettePlugin|http://simon.tiddlyspot.com/#ViewPalettePlugin]], which currently does not work with TiddlyWiki v2.2 though.
pmario changed the regexp a bit to handle spaces more friendly.
!Usage
{{{
<<paletteView [tiddler name]>>
}}}
!!Example
<<paletteView [[ColorPalette]]>> 
!Revision History
!!v0.1 (2007-11-18)
* initial release
!!v0.2 (2007-11-20)
* limited processing to slices containing [[actual color values|http://www.w3.org/TR/CSS21/syndata.html#color-units]]
* changed fallback value to the tiddler the macro is called from (instead of using [[ColorPalette]])
!To Do
* selection list for all available palettes (tag-based)
* parameter for custom table class
* customizable column order
* documentation (e.g. using from within [[ViewTemplate]])
!Code
***/
//{{{
config.macros.paletteView = {};

config.macros.paletteView.handler = function(place, macroName, params, wikifier, paramString, tiddler) {
	var title = params[0] || tiddler.title;
	//var palettes = store.getTaggedTiddlers(params[0]); // DEBUG: yet to be implemented
	var colors = store.calcAllSlices(title);	
	var labels = [];
	for(var c in colors) {
		if(this.isColor(colors[c])) {
			labels.push(c);
		}
	}
	if(labels.length > 0) {
		var output = "|!Sample|!Value|!Name|h\n";
		for(var i = 0; i < labels.length; i++) {
			output += "|padding:0 4em;background-color:" + colors[labels[i]] + ";&nbsp;|"
				+ "{{{" + colors[labels[i]] + "}}}|"
				+ "[[" + labels[i] + "|" + title + "]]|\n";
		}
		wikify(output, place);
	}
};

config.macros.paletteView.isColor = function(s) {
	var colors = ["Black", "Green", "Silver", "Lime", "Gray", "Olive", "White", "Yellow",
		"Maroon", "Navy", "Red", "Blue", "Purple", "Teal", "Fuchsia", "Aqua", "Orange"];
	var match = s.match(/^ ?#[0-9A-F]{3} ?$|^ ?#[0-9A-F]{6} ?$|^ ?RGB\([\d,\s]{5,}\) ?$/i);
	if(match) return true;
	if(colors.contains(s)) return true;
	return false;
};
//}}}
/*{{{*/
Name: MpGreen
Background: #cec
Foreground: #000
PrimaryPale: #9b9
PrimaryLight: #385
PrimaryMid: #031
PrimaryDark: #020
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
/*}}}*/
/***
|''Name''|TiddlySpaceFollowingWizard|
|''Version''|0.7.0|
|''Description''|Provides a following wizard macro and deleteButton view type|
|''Author''|Jon Robson|
|''Requires''|TiddlySpaceConfig TiddlySpaceFollowingPlugin TiddlySpaceTiddlerIconsPlugin|
|''License''|[[BSD|http://www.opensource.org/licenses/bsd-license.php]]|
!Usage
{{{ <<followWizard>> }}}
!StyleSheet
.followWizard ul,
.followWizard li .siteIcon,
.followWizard li {
	list-style: none;
	display: inline-block;
}

.followWizard li {
	margin-right: 8px;
	background-color: #eee;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	padding: 4px;
}
!Code
***/
//{{{
(function($) {

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

var shadows = config.shadowTiddlers;
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>> <<view title deleteButton>>";

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

var wizard = config.macros.followWizard = {
	locale: {
		mission: "Which user or space would you like to follow?",
		badpermissions: "Only members of the space can maintain followers.",
		follow: "follow"
	},
	handler: function(place, macroName, params, wikifier, paramString, tiddler) {
		var locale = wizard.locale;
		var container = $("<div />").addClass("followWizard").appendTo(place)[0];
		if(!readOnly) {
			var form = $("<form />").addClass("followForm").appendTo(container)[0];
			$("<span />").text(locale.mission).appendTo(form);
			var input = $("<input />").attr("name", "space").attr("type", "text").appendTo(form);
			$("<input />").attr("type", "submit").val(locale.follow).appendTo(form).click(function(ev) {
				wizard.addFollowing(ev, input.val());
				ev.preventDefault();
			});
		} else {
			$(container).addClass("annotation").text(locale.badpermissions);
		}
	},
	addFollowing: function(ev, space) {
		var name = tiddlyspace.resolveSpaceName(space);
		if(!name) {
			alert("That doesn't appear to be a valid space name. Please check and try again.");
			return;
		}
		var title = "@" + name;
		var tiddler = store.getTiddler(title);
		if(tiddler) {
			tiddler.tags.push("follow");
		} else {
			tiddler = new Tiddler(title);
			tiddler.tags.push("follow");
			merge(tiddler.fields, config.defaultCustomFields);
		}
		store.saveTiddler(tiddler);
		autoSaveChanges();
	}
};

config.macros.view.views.deleteButton = function(value,place,params,wikifier,paramString,tiddler) {
	var tid = store.getTiddler(value)
	if(tid && config.commands.deleteTiddler.isEnabled(tid)) {
		var handler = function(ev) {
			config.commands.deleteTiddler.handler(ev,ev.target,value);
		};
		createTiddlyButton(place, "X", "delete this tiddler", handler);
	}
};

})(jQuery);
//}}}
!Followers
<<followers>>
!Activity
[[Replies and Notifications]]

<<activity>>
!Following
All spaces tagged follow
<<list filter [tag[follow]][sort[title]]>>

<<followSuggestions>>
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
Active user name: <<option txtUserName>>
These options for customising [[TiddlyWiki]] are saved in your browser

select theme: <<selectTheme>>
select palette: <<selectPalette>>

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

----
Also see [[AdvancedOptions]]
More horror movies should be about {{hooky2{overpopulation}}}. To make them actually scary.


{{groupbox{
{{center{@@color:crimson;''The Population ~No-Brainer (starring you)''@@}}}
*Your partner (opposite sex) and you wash up on a small deserted island. It is one of those islands you cannot leave - currents and all. Let us say it is the year 1600 so chances are you won't be found in your lifetime. Now, the island is 'deserted' by humans, but it is full of life, all harmless to you. Abundant water, sunshine, beautiful surroundings... it is (some people's) paradise. You find a 'goodluck' tree with a delicious and nutricious fruit that grows prodigeously. One tree will allow one person to survive healthily and gourmet-ful throughout the year.
*The island ecosystem supports 20 goodluck trees. Plant more, and they die from a density-dependent fungal disease.
*Some part of the goodluck tree also makes a great contraceptive. That's free and full birth control for you.
*Your partner and you have always dreamt of starting a family!

{{center{''Question: //How big do you want your family to get?//''
}}}
Would any __sane__ person answer "oh, something in the range of 100-200, perhaps"? That number of folks on the island well outstrips the goodluck supply. That means hacking up the island's other resources. Not much arguing is needed here: if you have a paradise for 20-odd people and you proceed to fill it with 100, you are malicious, dumb, or something along those lines.

Easy enough when it is just the two of you, the maths are simple, and you are in a paradise (there are abundant resources). @@color:#060;Moreover, you //care// about all these potential members of your family.@@ You do not want to put another one into the world if it makes everyone less well-off.
}}}

''What's the point?'' I hope to add more about overpopulation in the future. Why (or whether?) we have it in the real world, locally and/or globally, is a matter as complicated as it is important. It involves technological and cultural progress, politics, societal divisions. The point of the parable however is to ... //point// at the exceedingly simple moral choice which is at the core of any overpopulation issue. Note that it is not just a matter of carrying capacity etc. Watch the line in green: increasing population size tends to fracture sympathies. From that point on, groups of folks will tend to make their own calculations, and the no-brainer will become a lofty ideal, perhaps "//unfortunately so (but seriously, these guys took more land than they should have...)//". The no-brainer may even become invisible in the turmoil. But dammit - it's a no-brainer!

----

//ve minra//'s recommendations:
*Take a global perspective. Life on Earth is not all about //you//.
*Ask yourself why there should be people. //Then// what would be a good number of them?
*Ask yourself why there are people living all over the world, even in really inhospitable places. How odd is that, if far fewer of us could live only in the paradisical places, and just take holidays to the rest of the planet?
*This is not quite as much about how the history of mankind has unfolded as it is about where we want its future to go.
*Birth control should be as obvious an option as stopping with eating when you have had enough of a good meal.


“''If you want to go fast go alone,
if you want to go far go together.''”

... seems mostly quoted as an "African proverb" (//Where// in Africa? Have I got it from the 2010 football World Cup?); though [[these guys|http://cmcn.org/]] 'inventively' attribute it to Ephesians 4:16 in the Bible, which really goes:

<<<
14 Then we will no longer be infants, tossed back and forth by the waves, and blown here and there by every wind of teaching and by the cunning and craftiness of people in their deceitful scheming. 15 Instead, speaking the truth in love, we will grow to become in every respect the mature body of him who is the head, that is, Christ. __16 From him the whole body, joined and held together by every supporting ligament, grows and builds itself up in love, as each part does its work.__
<<<

or in the ponderous words of ole' King James (& his [[47 Church of England scholars|https://secure.wikimedia.org/wikipedia/en/wiki/King_james_bible]]):

<<<
14 That we henceforth be no more children, tossed to and fro, and carried about with every wind of doctrine, by the sleight of men, and cunning craftiness, whereby they lie in wait to deceive; 15 But speaking the truth in love, may grow up into him in all things, which is the head, even Christ: 16 From whom the whole body fitly joined together and compacted by {{hooky2{that which every joint supplieth}}}, according to the effectual working in the measure of every part, maketh increase of the body unto the edifying of itself in love.
<<<

Yep, “Christ, Marx, Wood and Wei led us to [[this perfect day|https://secure.wikimedia.org/wikipedia/en/wiki/This_Perfect_Day]]”. Substitute Adam Smith for Bob Wood; and we'll see about Wei...


Edit the following value if you have more than one website tracked by the same Piwik installation. In your Piwik configuration, go to //Settings > Websites// and find the Id associated with the current space.
{{{
piwikID: 2
}}}


Set the following value to 'yes' (without quotes) if you want Piwik to track the activity of members of the space when they are logged in.
*Note 1: this may considerably skew the statistics.
*Note 2: you will still be tracked on your own space when you are __not__ logged in, since you are then indistinguishable from a guest. To prevent this, try in your Piwik configuration: //Settings > User Settings > Exclude your visits using a cookie//. If you want no cookies, there are alternatives such as using [[Ghostery|http://www.ghostery.com]] though that is not site-specific. 
{{{
trackLoggedInMembers: no
}}}
/*{{{*/
#sidebar .wizard table {
	margin: 0px;
}

#sidebarSearch {
	margin: 0.2em 1em 0;
	position: relative;
}

#sidebarSearch .txtOptionInput {
	width: 100%;
	margin-top: 5px;
}

#sidebarSearch .searchButton {
	padding: 0.2em;  
	color: [[ColorPalette::Background]];
}

/* the borders look wrong with the body background */
#sidebar .button {
	border-style: none;
}

/*-- new vor FreeStyle --*/
.tabContents {
	overflow: auto;
}

#sidebarTabs .tabContents{
	width: auto;
}

#sidebarTabs .sliderpanel a{
	display: inline;
} 

#sidebarTabs a.button,
#sidebarTools a.button {
	margin:0 0.2em; 
	padding:0.2em 0.3em; 
	display:block;
}

.sidebarBox {			/*-- new for FreeStyle --*/
	padding-top: 0.3em;
}

/***
This fixes a problem with the tabs slider
***/
#sidebarTabs .button {
	margin:0em 0.2em;
	padding:0.2em 0.3em;
	display:block;
}

#sidebarTools .sliderpanel,
#sidebarOptions .sliderpanel {
	margin: 0 0.5em; 
} 

/* remove fixed size from inputs eg: search and password in sidebar */
.txtOptionInput, .pasOptionInput {
	width: 90%;
}

/* adjust spacing for the above */
#sidebarOptions .input {
	margin: 0.4em 5%; 
}


/*}}}*/
/*{{{*/
#tiddlersBar .button {border:0}
#tiddlersBar .tab {white-space:nowrap}
#tiddlersBar {padding : 0.5em 0.5em 2px 0.5em}
.tabUnselected .tabButton, .tabSelected .tabButton {padding : 0 2px 0 2px; margin: 0 0 0 4px;}
.tiddler, .tabContents {
	border:1px [[ColorPalette::TertiaryPale]] solid;
}
/*}}}*/
The activity feed is best for sharing opinions on something. To make best use of it create a tiddler and tag it with a username you would like to share thought with on this subject.

For instance I might create a tiddler called [[Animal I'd least like to be stuck in a cage with]]. I might say 
<<<
I would least like to be stuck in a cage with a lion as it could tear me apart amongst other reasons.
<<<
I then tag it @matias to get @matias's attention to see what he think. This flags it in @matias's activity feed and tells him that I am interested in his thoughts. Of course @matias can ignore it, and if he is not using the activity feed feature he may not even know about the message. If he wants to respond all @matias then has to do is create his own tiddler [[Animal I'd least like to be stuck in a cage with]]. Matias might say
<<<
A lion would be not as bad as a great white shark... not only would you be stuck in a cage with it but you would  be underwater with a likelihood of drowning to increase suffering.
<<<
It's not over yet.. now I can refine my original post with the thoughts of Matias. I might think mm, @matias has got a point there with the water, but I think a crocodile would more likely eat me then a great white shark and I fancy my chances with the great white.

I then update my tiddler to say 
<<<
I would least like to be stuck in a cage with a crocodile as it could tear me apart amongst other reasons. A lion would also be scary however I'm not a good swimmer so would be less likely to be able to make an escape. A crocodile is worse than a shark as shark attacks on humans are rare, so I'd fancy my chances.
<<<

We continue replying this way revising our tiddlers till the process finishes and I have a tiddler which clearly explains the [[Animal I'd least like to be stuck in a cage with]] with very detailed reasoning.
<<tiddler {{
	if (tiddler.tags.containsAny(['UC','Under construction']))
		{ "stateIcons##UC" }
	else if (tiddler.isTagged('GState: Solid'))
		{"stateIcons##Solid" }
	else if (tiddler.isTagged('GState: Liquid'))
		{"stateIcons##Liquid" }
	else if (tiddler.isTagged('GState: Gas'))
		{"stateIcons##Gas" }
	else if (tiddler.isTagged('GState: Plasma'))
		{"stateIcons##Plasma" }
	else {"stateIcons##dummy"}
}}>>
{{groupbox{{{center{@@color: crimson;Seeing the forest AND the trees...@@}}}}}}

In 1975 [[Joël de Rosnay|http://www.cite-sciences.fr/derosnay/english/index.html]] published a [[book|http://pespmc1.vub.ac.be/macroscope/index.htm#INTRODUCTION]] called "Le {{hooky2{Macroscope}}}" about a mental device of that name:

<<<
{{hooky2{“}}}The macroscope is unlike other tools. It is a symbolic instrument made of a number of methods and techniques borrowed from very different disciplines. It would be useless to search for it in laboratories and research centers, yet countless people use it today in the most varied fields. The macroscope can be considered the symbol of a new way of seeing, understanding, and acting.{{hooky2{”}}}

{{center{
<html><img title="Telescope for the infinitely great (e.g. stars); microscope for the infinitely small (e.g. cells); macroscope for the infinitely complex (e.g. society, nature)" src="http://kosmaton.bplaced.net/veminra/content/MACROSCFIG1.GIF" style="border: 3px ridge palegoldenrod;"/></html>+++{{footnotebutton{[†|source]}}}[[http://pespmc1.vub.ac.be/macroscope/index.htm#INTRODUCTION|http://pespmc1.vub.ac.be/macroscope/index.htm#INTRODUCTION]]===}}}
<<<

More accurately, __tele__scopes are for things that are //far// (not necessarily infinitely so...) but __macro__scopes are for things that are //big// in an [[information-theoretic|Information theory]] sense. Things that need a lot of information to be fully described. An inert cube of pure water one kilometre across requires no macroscope. It is the same everywhere: you can describe it concisely. Compare with a decimetre cubed of water from a brook,  harbouring a complete algal and bacterial ecosystem. That //does// require a macroscope.

Consider a perhaps familiar sight like this:

{{center{
<html><img title="Photo of pub counter with bottles &c." src="http://kosmaton.bplaced.net/veminra/content/Kingston%2C_The_Dolphin_-_geograph.org.uk_-_599030.jpg" style="border: 3px ridge palegoldenrod;" /></html>+++{{footnotebutton{[†|source]}}}[[https://secure.wikimedia.org/wikipedia/commons/wiki/File:Kingston,_The_Dolphin_-_geograph.org.uk_-_599030.jpg|https://secure.wikimedia.org/wikipedia/commons/wiki/File:Kingston,_The_Dolphin_-_geograph.org.uk_-_599030.jpg]]===
}}}

Even without any patrons present, there is an awful lot "going on" here. Furniture, fire, plates, notes, letters on notes, chalk particles in letters, bottles, labels on bottles, letters on labels on bottles, ink particles in letters on labels on bottles, colours of all kind... wood and stone and whatever is in them... Never mind the girl and everything that makes her.

Our usual 'scoping', in this kind of establishment as elsewhere, works like the focus of a camera. You can focus on a bottle, on a label, or on a particular letter. But you cannot quite focus on all of them at once. Still, in my opinion, @@color: crimson;that is the challenge of using a macroscope@@. With a macroscopic view, you try to see, and show, each of these things __at once__, as well as the //arrangements// that build up the bigger things out of the smaller (see [[emergence|Emergence]]). This can get really big:
*Some things may keep their level of emergence within the time frame of your sitting in the pub, but others are far more dynamic (the girl; foam forming and fading on a poured beer).
*It is one thing to scope the objects (wood fibres, glass, a human nose), but we will often want some //origins// story, too. This involves objects not even present in the scene, such as the trees the beams are made of, or the cinema where the girl's parents first met.
We are limited in our macroscopic capacity by both the amount of information required, and aspects of our brain functioning that seem to work against it. But we have crutches (see a pre-digital example [[here|Skinner 1987 A Thinking Aid]]). There are many forms of external memory banks and perhaps increasingly, digital tools that guide our structuring of information, particularly [[network|Network]]-based ones. Compared with the linear media of the past, such tools allow for discourse that in its own structure better preserves the complexity of its subject matter.

I think TiddlyWiki can be part of a macroscope.

It is my business to explore quantifiable aspects of macroscoping.


<html><div style="width:610px; margin-left: auto; margin-right: auto;">[img[http://kosmaton.bplaced.net/veminra/content/Mountains/St._Koloman_Tannheimer.cropped.jpg]]+++{{footnotebutton{[†|source]}}}{{normal{Pilgimage Church St. Coloman near Schwangau (Bavaria, Germany). View from the north with the Tannheim mountains. (Cropped from [[photo source|https://secure.wikimedia.org/wikipedia/commons/wiki/File:St._Koloman_Tannheimer.jpg]].)}}}===</div></html>
Back in 2003 Chris Dent wrote down some reflections on passages from a mountain book by one Robert Macfarlane. [[Read them!|http://cdent-meaning.tiddlyspace.com/#Mountains]]

The {{hooky2{mountains}}} call - at least to some of us. The profundity of that call is extraordinary - as if you picked up your phone expecting another human-sized human of flesh and bones, juggling work and family, but found yourself talking to many cubic kilometres of sheer rock directly rooted in the planet itself. It is by no means obvious to explain that gut feeling. There seem to be many aspects to it. Both Mr. Macfarlane and Chris put things well, and I partly disagree on just one point, as detailed below.

I grew up with little in the way of mountains. But I remember distinctly a sight from the car on a holiday in Bavaria: a northern rim of the Alps rising abruptly out of a pleasant but flat plain. It must have been a sunny and exceptionally crisp day, because the distance across the plain was great; and yet the mountains still looked huge and three-dimensional. For my young brain that vision was mind-boggling yet somehow also welcoming and familiar. Chris describes that same combination of the alien and the comforting, well expressed in the phrase:
<<<
The mountains tell no lies, they are alien without excuses.
<<<
It is that lack of excuses which gives comfort, the clarity and peace coming from being able to say, eyes wide open, "This is it then", no matter what it is.

This is the case even when a mountain 'traps' you with sudden mist or gales. It never promised not to.

There is clear 'spirit link' here with the ambitions of [[modernism|Modernism rocks]], though I am a bit at a loss as to how to put it. Modernism is a recent development of human culture and high ambition for human future; while mountains are eons-old rock that doesn't give any damn at all, with a skin of life which doesn't give a damn about humans, and maybe a crown of ice (which...). And yet, there is a link.

Chris also writes:
<<<
The mountains are pornography. They are illicit sex.
<<<
This I would disagree with. I can see how both sides of the equation are 'forbidden goods'. But I would say mountains are like really, really good sex - frank yet subtle, plain to see yet unfathomable. Pornography and illicit sex are more signs of a society frustrated with its own nature, seeking ways out; more like the slot machine than the mountain side. Perhaps that society cannot make the distinction and calls 'perversion!' on the mountaineer; though I do not think this is a common evaluation of, say, Edmund Hillary and Tenzing Norgay. Which brings me to another point, though.

Much of the respect for mountaineers comes from their //achievements//. First to climb this, quickest to scale that. First to climb route A with nothing but a bowie knife and a can of beans. Reached the top despite the worst weather possible. Beat the team from country X to the top by 37 minutes, at the expense of one fatal shrieker down a crevasse. "He was a brave man and we remember him fondly." Or any other permutation of idiotic human [[self-flagellation|Sin]] or [[inter-human competition|Competition]]! I have not become a mountaineer by most standards: I have never climbed a mountain requiring specialised equipment. But many times I have followed a way up to where my hands and feet and food would take me - and a few times beyond, from which one learns. Simply put: it is about exploration and [[groove|Groove]]; if it does not groove why give a rat's ass about 'getting to the //top//', never mind first or fast. And while I am no technophobe, it is usually easier to groove with just a light backpack and a change of socks. The mountains do call; I want to listen and converse, not scream over their song. But maybe that is where the gossip starts: if you do not have a 'proper' excuse (setting a world record, suffering, or walking a 'simple-minded' dog), what are you doing up the ledges?

A curious observation in this respect: it seems typical (though not exclusive) of [[Anglo-Saxon culture]] to go for these competitive things (as opposed to, say, [[bathing|Bathing should be no luxury]]). So you get these situations where an Englishman will travel to some inaccessible place just to climb a peak and be able to cross it off the "Things I Must Achieve" list ([[Munro|https://secure.wikimedia.org/wikipedia/en/wiki/Munro]]-style), while the locals look on wondering why on Earth anyone would bother going there. The former lacks peace; the latter lack ambition; neither [[groove|Groove]].

Finally - do we hear the mountains' call so strongly only because they tend to be //wild//? Can hills or a plain call just as deeply, and is it just their [[higher incidence of human habitation|Overpopulation]] and parcellation which takes away that fresh edge? I would guess that is the case to a large extent. Yet mountains may have just a little more: their sheer bulk, their layeredness which takes you into different worlds; the changing perspective and the chance of an overview that come with //altitude//.

It is by climbing the 'mountain' of the atmosphere that satellites and men have first seen our planet as the mottled blue globe that it is.



Here is a 2-page paper/note by famous/notorious psychologist [[B.F. Skinner]] from 1987. It talks about a card system he used in older age to structure his writings. Quote:
<<<
In this way I keep the paper, not "in mind," but in front of me as a complex object on which I am at work.
<<<
That is also the point of building //ve minra// on the TiddlyWiki platform. Indeed Skinner mentions computers, but dismisses them because they're unwieldy in a comfy chair - that has changed by now (2011), especially when using a [[tablet|Tablet computer]]. Also the intensity of information bombardment has changed, such that even young age may look for a thought-ordering crutch.

<html><iframe src="http://kosmaton.bplaced.net/veminra/content/Skinner%201987%20A%20Thinking%20Aid/Skinner%201987%20A%20Thinking%20Aid.pdf" frameborder="15" width=95% height="400"><p>It appears you don't have a PDF plugin for this browser. <a href="http://kosmaton.bplaced.net/veminra/content/Skinner%201987%20A%20Thinking%20Aid/Skinner%201987%20A%20Thinking%20Aid.pdf">Click here to download the PDF file.</a></p></iframe></html>


//{{{
config.shadowTiddlers["StyleSheetSvgIcons"]="/*{{{*/\n"+
	"/*replace FG with BG if you want to toggle the BackGround insted of the ForeGround */\n"+
	".showFG {\n"+
	"	opacity: 0;\n"+
	"}\n\n"+
	"svg:hover .showFG {\n"+
	"	opacity: 1;\n"+
	"}\n"+
	"/*}}}*/";
store.addNotification("StyleSheetSvgIcons",refreshStyles);
//}}}


@@Please do not modify this tiddler; it was created automatically upon space creation.@@
<<slider chkSliderOptionsPanel OptionsPanel "Options »" "display the options panel">>
{{indent{[[Groovs|Groov]] that are {{hooky2{under construction}}} do not yet belong to any of the [[ve minra states]] because they are not finished.

While //ve minra// is a constant work-in-progress and no groov is immutable, //under construction// groovs __do not make a proper point yet__. They are thus less coherent than even 'plasma' grooves. They are working notes, are not quite part of the 'official' site content, but provide a hunch/part of what is to come.

Groovs under construction:
<<list filter "[tag[UC]]">>}}}


/***
|''Name:''|TiddlySpaceIntraSpaceInclusion|
|''Description:''|Provides support for {{{<<tiddler Foo@bar>>}}} and {{{<<tiddler [[Foo]]@bar>>}}}|
|''Author:''|Jon Robson|
|''Source:''|https://github.com/jdlrobson/TiddlyWikiPlugins/raw/master/plugins/TiddlySpaceIntraSpaceInclusion/TiddlySpaceIntraSpaceInclusion.js|
|''Version:''|0.3.8a|
|''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|
***/
//{{{
(function() {
	var _tidtext = TiddlyWiki.prototype.getTiddlerText;
	var cache = {};

	// allmost the same regExp as in TiddlySpaceLinkPlugin but .. no "mg" parameter, because it didn't work for this usecase.
	config.textPrimitives.spacenameLinkRegExp = new RegExp(config.textPrimitives.unWikiLink + 
													 "?(" + config.textPrimitives.bareTiddlerLetter + "*)@(" + config.textPrimitives.spaceName + ")", "");
	config.textPrimitives.tiddlyLinkSpacenameLinkRegExp = new RegExp("\\[\\[(.*?)(?:\\|(.*?))?\\]\\]@(" + config.textPrimitives.spaceName + ")", "");
	
	TiddlyWiki.prototype.getTiddlerText = function(title, defaultText) {
		var ct = config.textPrimitives;
		var match = ct.spacenameLinkRegExp.exec(title);	// foo@bar
		var match2 = ct.tiddlyLinkSpacenameLinkRegExp.exec(title); 	// [[foo]]@bar
		
		if(match || match2) {
		//	console.log('inner: ', 'spacename: ', match, 'tiddlyLink: ', match2, 'place: ');
			var tidtitle, space;
			if(match[1] && match.length === 3) {
				tidtitle = match[1];
				space = match[2];
			} else if(match2 && match2.length === 4) {
				tidtitle = match2[1];
				space = match2[3];
			}
			var newtitle = tidtitle + "@" + space;
			if(tidtitle && space) {
				title = newtitle;
			}
			if(tidtitle && space && !store.getTiddler(newtitle)) {
				var tiddler = new Tiddler(title);
				// get the tiddler, where the macro is rendered. //XXX will need more testing
				var el = story.findContainingTiddler(place);
				var refreshTitle = (el) ? el.getAttribute('tiddler') : null;

				tiddler.text = "//retrieving from server//";
				tiddler.fields.doNotSave = "true";
				tiddler.tags = ["excludeLists", "excludeSearch", "excludeMissing"];
				merge(tiddler.fields, config.defaultCustomFields);
				tiddler.fields["server.bag"] = space + "_public";
				tiddler = store.addTiddler(tiddler);
				ajaxReq({ url: "/bags/" + space + "_public/tiddlers/" + tidtitle,
					dataType: "json",
					success: function(tid) {
						var tiddler = store.getTiddler(title);
						tiddler.text = tid.text;
						store.addTiddler(tiddler);
						// store.notify(title,true);
						story.refreshTiddler(refreshTitle,null,true);
						// story.refreshAllTiddlers(); // hacky but above link doesn't always seem to work!
					},
					error: function() {
						var tiddler = store.getTiddler(title);
						tiddler.text = "//error retrieving tiddler {{{" + title + "}}} from space @" + space + "//";
						store.addTiddler(tiddler);
						// store.notify(title,true);
						story.refreshTiddler(refreshTitle,null,true);
						// story.refreshAllTiddlers(); // hacky but above link doesn't always seem to work!
					}
				});
			}
		}
		return _tidtext.apply(this, [title, defaultText]);
	}
})();
//}}}
Search
<<gotoTiddler search inputstyle:"width:90%" liststyle:"z-index: 5;">>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="29pt" viewBox="13 43 29 29" width="29pt" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" onclick="if(jQuery) jQuery(document).trigger('cPermaview', {elem:this, comp:{menue:1}})" onmousedown="if(jQuery) jQuery(document).trigger('cSmaller', {elem:this, comp:{animations:1}})" onmouseup="if(jQuery) jQuery(document).trigger('cResize', {elem:this, comp:{animations:1}})" title="Link to an URL, that retrieves all the currently displayed tiddlers">
 <metadata id="metadata14">
  <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:rights>
     <cc:Agent>
      <dc:title>http://creativecommons.org/licenses/by-nc-sa/3.0/at/</dc:title>
     </cc:Agent>
    </dc:rights>
    <dc:source>http://iconbuilder.tiddlyspace.com</dc:source>
    <dc:creator>
     <cc:Agent>
      <dc:title>Mario Pietsch</dc:title>
     </cc:Agent>
    </dc:creator>
   </cc:Work>
  </rdf:RDF>
 </metadata>
 <defs id="defs_bBgTrans">
 <linearGradient id="linearGradient001" y2="27.646" gradientUnits="userSpaceOnUse" x2="-45.8" y1="27.646" x1="-57.66">
   <stop id="stop1" stop-color="#CC9900" offset="0"/>
   <stop id="stop2" stop-color="#E8D18B" offset="0.66462"/>
   <stop id="stop3" stop-color="#CC9900" offset="1"/>
  </linearGradient></defs>
<g id="icon">
 <rect id="iconBG" stroke="#696969" ry="4.1663" transform="matrix(0,-1,1,0,0,0)" height="25" width="25" y="15.167" x="-70.116" stroke-width="1.2" fill="none" class="showBG"/>
 <rect id="iconFG" stroke-width="0" fill-rule="evenodd" ry="2.3755" transform="matrix(0,-1,1,0,0,0)" width="22" y="16.646" x="-68.6" height="22" fill="url(#linearGradient001)" class="showFG"/>
<g id="iconSymbol" stroke-linejoin="miter" transform="matrix(0.7571541,-0.1025239,0.1025239,0.7571541,-1.1616967,17.71349)" stroke="#4d4d4d" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="1.96827316" fill="none" class="showSY">
  <rect id="rect10" ry="3.1727" transform="matrix(0.8660254,-0.5,0.5,0.8660254,0,0)" height="10.086" width="12.486" y="59.54" x="-16.234"/>
  <rect id="rect3046" ry="3.1727" transform="matrix(0.8660254,-0.5,0.5,0.8660254,0,0)" height="10.086" width="12.486" y="59.183" x="-0.94148"/>
  <path id="path3089" d="m25.161,59.553,9.4272-5.2982" stroke-linecap="round"/>
 </g>
 <rect id="overlay" stroke="#696969" opacity="0" ry="4.1663" transform="matrix(0,-1,1,0,0,0)" height="25" width="25" y="15.167" x="-70.116" stroke-width="1.2" class="showOV"/>
</g>
</svg>
/***
|''Name:''|XListPlugin|
|''Description:''|Provides a {{{<<xList>>}}} macro, that prepares the list for drag and drop sorting|
|''Author:''|Mario Pietsch|
|''Version:''|0.2.0|
|''Date:''|2010.08.03|
|''Status:''|''beta''|
|''Source:''|http://apm-plugins.tiddlyspot.com/#XListPlugin|
|''License''|[[MIT License]]|
|''CoreVersion:''|2.5.0|
|''Requires:''|XCaseListPlugin |
|''Documentation:''|this file|
|''Keywords:''|list extended sort filter|
!!!Description
<<<
This macro is only needed if you want to use StylingPackage!
If you call {{{ <<xList>> }}} without any parameter you will get a non sortet list of all tiddlers.

!!!!UseCase
{{{
<<xList xCase [prefix] [regExp] [tag]>>
}}}
>*prefix .. can be any string. Default is "sort."
>*regExp .. can be any valid regExp, that runs against the tiddler title. Default is "." (any char except linebreaks)
>*tag .. "[tag[myTag]]" ''If you have spaces inside the tag, it has to be covered inside double quotes !!''
{{{
eg:
<<xList xCase "sort." "." "[tag[with spaces]]">>
}}}
>The above configuration will produce a custom field named {{{sort.with.spaces}}}. Because custom fields have to be lower case and spaces are not allowed. Since the tag name is used for the custom field, one tiddler can be part of different sorted lists. 
<<<

!!!ToDo
<<<
*Test together with MatchTagsPlugin
<<<

!!!History
<<<
*V 0.2.0 - 2010.08.03
**initial release
<<<

***/
/*{{{*/
config.macros.xList = {};
config.macros.xList.xCase = config.macros.list.xCase;

config.macros.xList.handler = function(place,macroName,params)
{
	var type = params[0] || "xCase";
	var sortField = params[1]  || "sort.";
	var tag = params[2] || ".";
	var tag = params[3] || "";

	tag = tag.toLowerCase();
	sortField = sortField.toLowerCase();

	var match = tag.match(/tag *\[(.+) *\] *\]/im);		// get the tag text
	if (match != null) tag = match[1];

	var res = tag.replace(/^\s+|\s+$/g, ""); 		// remove whitespace start and end
	if (res != null) tag = res;

	res = tag.replace(/ +/g, ".");				// replace spaces with a dot 
	if (res != null) tag = res;

	params[1] = sortField+tag;

	var list = document.createElement("ul");

	list.setAttribute('class', 'xList');
	list.setAttribute('tag', tag);
	list.setAttribute('sortfield', sortField);
	place.appendChild(list);
	if(this[type].prompt) {
		createTiddlyElement(list,"li",null,"listTitle",this[type].prompt);
	}
	var results;
	if(this[type].handler) {
// console.log('params: ', params)
		results = this[type].handler(params);
	}
	var li;
	for(var t = 0; t < results.length; t++) {
		li = document.createElement("li");
		li.setAttribute('id', typeof results[t] == "string" ? results[t] : results[t].title);
		list.appendChild(li);
		createTiddlyLink(li,typeof results[t] == "string" ? results[t] : results[t].title,true);
	}
};
/*}}}*/
<script type="text/javascript">
	config.macros.tiddlersBar.fitTiddlerDisplay();
</script>
/*
 * jQuery UI CSS Framework 1.8.9
 *
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI/Theming/API
 */

/* MODIFIED/ABRIDGED by KOSMATON february 2011 */

/* Icons
----------------------------------*/

/* states and images */
.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }

.ui-icon { width: 16px; height: 16px; background-image: url([[ui-icons_222222_256x240.png##data]]); }

.ui-icon-triangle-1-n { background-position: 0 -16px; }
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
.ui-icon-triangle-1-e { background-position: -32px -16px; }
/* some changes here */
/* .ui-icon-triangle-1-se { background-position: -48px -16px; } */
.ui-icon-triangle-1-se { background-position: -53px -22px; }
.ui-icon-triangle-1-s { background-position: -64px -16px; }
/* .ui-icon-triangle-1-sw { background-position: -80px -16px; } */
.ui-icon-triangle-1-sw { background-position: -81px -22px; }
.ui-icon-triangle-1-w { background-position: -96px -16px; }
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }

.ui-resizable { position: relative;}
.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 1000; display: block;}
.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
.ui-resizable-n { cursor: n-resize; height: 10px; width: 100%; top: 0px; left: 0; }
.ui-resizable-s { cursor: s-resize; height: 10px; width: 100%; bottom: -5px; left: 0; }
.ui-resizable-e { cursor: e-resize; width: 10px; right: -5px; top: 0; height: 100%; }
.ui-resizable-w { cursor: w-resize; width: 10px; left: -5px; top: 0; height: 100%; }
.ui-resizable-se { cursor: se-resize; width: 10px; height: 10px; right: -5px; bottom: -5px; }
.ui-resizable-sw { cursor: sw-resize; width: 10px; height: 10px; left: -4px; bottom: -5px; }
.ui-resizable-nw { cursor: nw-resize; width: 10px; height: 10px; left: 0px; top: 0px; }
.ui-resizable-ne { cursor: ne-resize; width: 10px; height: 10px; right: 0px; top: 0px;}
<<activity show:reply show:notify>>
<<tiddler ToggleLeftSidebarEm##show with: {{config.options.chkShowLeftSidebar?'◄':'►'}}{{config.options.chkShowRightSidebar?'hide':'show'}}>><<tiddler ToggleRightSidebarEm##show with: {{config.options.chkShowRightSidebar?'►':'◄'}}{{config.options.chkShowRightSidebar?'hide':'show'}}>><<slider chkSliderOptionsPanel OptionsPanel "»" "display the options panel">>
|''Name:''|[[NeUIemTheme02]]|
|''Description:''|Changes the right sidebar|
|''Generator:''|[[TW FreeStyle|http://FreeStyle.tiddlyspot.com]]|
|''Gen.Description:''|Handcrafted by @pmario|
|''PageTemplate:''|NeUIemTheme##PageTemplate|
|''ViewTemplate:''|NeUIemTheme##ViewTemplate|
|''EditTemplate:''|NeUIemTheme##EditTemplate|
|''RevisionTemplate:''|NeUIemTheme##RevisionTemplate|
|''StyleSheet:''|##StyleSheet|

!StyleSheet
/*{{{*/

[[NeUIemTheme##StyleSheet]]

#sidebarTabs .tabset{
	float: left;
	width: 1em;
	padding: 0;
}

#sidebarTabs .tabset:hover{
	width: auto;
	position:absolute;
	right: 86%;
	padding-right: 8%;
	z-index: 10;
}

#sidebarTabs .tabset .tab{
	overflow: hidden;
	display: block;
}
/*}}}*/
|''Name:''|[[NeUIemTheme01]]|
|''Description:''|Changes the right sidebar|
|''Generator:''|[[TW FreeStyle|http://FreeStyle.tiddlyspot.com]]|
|''Gen.Description:''|Handcrafted by @pmario|
|''PageTemplate:''|NeUIemTheme##PageTemplate|
|''ViewTemplate:''|NeUIemTheme##ViewTemplate|
|''EditTemplate:''|NeUIemTheme##EditTemplate|
|''RevisionTemplate:''|NeUIemTheme##RevisionTemplate|
|''StyleSheet:''|##StyleSheet|

!StyleSheet
/*{{{*/

[[NeUIemTheme##StyleSheet]]

#sidebarTabs .tabset{
	float: left;
	width: 1em;
	padding: 0;
}

#sidebarTabs .tabset:hover{
	width: auto;
}

#sidebarTabs .tabset .tab{
	overflow: hidden;
	display: block;
}
/*}}}*/
<<tiddler SidebarTools>><<slider DashboardCookie Dashboard "DB" "Dashboard">>/%
If you prefere a Tools slider, use the line below
<<slider chkSliderToolsPanel  SidebarTools  "Tools »" "new, save, ...">>
%/
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
/***
|Name|StyleSheetShortcuts|
|Source|http://www.TiddlyTools.com/#StyleSheetShortcuts|
|Version||
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|CSS|
|Description|'convenience' classes for common formatting, alignment, boxes, tables, etc.|

These 'style tweaks' can be easily included in other stylesheet tiddler so they can share a baseline look-and-feel that can then be customized to create a wide variety of 'flavors'.
***/
/*{{{*/

/* custom */
.hooky
	{ font-family: "AllHookedUpRegular", Georgia, serif; }
.hooky2
	{ font-family: "AllHookedUpRegular", Georgia, serif;
	  font-size: 120%;
	  font-weight: bold;
	}
.rightpicbox
	{ float: right;
          margin: 12px;
          display: span;
	}
.realbig
	{ font-size: 160%; }
.groupbox_footed
	{ display:block; padding:1em; -moz-border-radius:1em;-webkit-border-radius:1em; -khtml-border-radius: 1em; border-radius: 1em; border:1px solid; background:#ffe; color:#000; margin-bottom: 10px; }
.groupbox_bricks
	{ display:block; padding:1em; -moz-border-radius:1em;-webkit-border-radius:1em; -khtml-border-radius: 1em; border-radius: 1em; border:1px solid; background:#ffe; color:#000; background-image: url('bricks_light.jpg'); }
.groupbox_tight
	{ display:block; padding:1em; -moz-border-radius:1em;-webkit-border-radius:1em; -khtml-border-radius: 1em; border-radius: 1em; border:1px solid; background:#ffe; color:#000; margin-left: auto; margin-right: auto; }


/* text alignments */
.left
	{ display:block;text-align:left; }
.center
	{ display:block;text-align:center; }
.center table
	{ margin:auto !important; }
.right	
	{ display:block;text-align:right; }
.justify
	{ display:block;text-align:justify; }
.indent
	{ display:block;margin:0;padding:0;border:0;margin-left:2em; }
.floatleft
	{ float:left; }
.floatright
	{ float:right; }
.valignTop, .valignTop table, .valignTop tbody, .valignTop th, .valignTop tr, .valignTop td
	{ vertical-align:top; }
.valignBottom, .valignBottom table, .valignBottom tbody, .valignBottom th, .valignBottom tr, .valignBottom td
	{ vertical-align:bottom; }
.clear
	{ clear:both; }
.wrap
	{ white-space:normal; }
.nowrap
	{ white-space:nowrap; }
.hidden
	{ display:none; }
.show
	{ display:inline !important; }
.span
	{ display:span; }
.block
	{ display:block; }
.relative
	{ position:relative; }
.absolute
	{ position:absolute; }

/* font sizes */
.big
	{ font-size:14pt;line-height:120% }
.medium
	{ font-size:12pt;line-height:120% }
.normal
	{ font-size:9pt;line-height:120% }
.small
	{ font-size:8pt;line-height:120% }
.fine
	{ font-size:7pt;line-height:120% }
.tiny
	{ font-size:6pt;line-height:120% }
.larger
	{ font-size:120%; }
.smaller
	{ font-size:80%; }

/* font styles */
.bold
	{ font-weight:bold; }
.italic
	{ font-style:italic; }
.underline
	{ text-decoration:underline; }

/* plain list items (no bullets or indent) */
.nobullets li { list-style-type: none; margin-left:-2em; }

/* vertical tabsets - courtesy of Tobias Beer */
.vTabs .tabset {float:left;display:block;padding:0px;margin-top:.5em;min-width:20%;}
.vTabs .tabset .tab {display:block;text-align:right;padding:2px 3px 2px 7px; margin:0 1px 1px 0;}
.vTabs .tabContents {margin-left:20%;max-width:80%;padding:5px;}
.vTabs .tabContents .tabContents {border:none; background:transparent;}

/* multi-column tiddler content (not supported in Internet Explorer) */
.twocolumns { display:block;
	-moz-column-count:2; -moz-column-gap:1em; -moz-column-width:50%; /* FireFox */
	-webkit-column-count:2; -webkit-column-gap:1em; -webkit-column-width:50%; /* Safari */
	column-count:2; column-gap:1em; column-width:50%; /* Opera */
}
.threecolumns { display:block;
	-moz-column-count:3; -moz-column-gap:1em; -moz-column-width:33%; /* FireFox */
	-webkit-column-count:3; -webkit-column-gap:1em; -webkit-column-width:33%; /* Safari */
	column-count:3; column-gap:1em; column-width:33%; /* Opera */
}
.fourcolumns { display:block;
	-moz-column-count:4; -moz-column-gap:1em; -moz-column-width:25%; /* FireFox */
	-webkit-column-count:4; -webkit-column-gap:1em; -webkit-column-width:25%; /* Safari */
	column-count:4; column-gap:1em; column-width:25%; /* Opera */
}

/* page breaks */
.breakbefore { page-break-before:always; }
.breakafter { page-break-before:always; } 

/* show/hide browser-specific content for InternetExplorer vs. non-IE ("moz") browsers */
*[class="ieOnly"]
	{ display:none; } /* hide in moz (uses CSS selector) */
* html .mozOnly, *:first-child+html .mozOnly
	{ display: none; } /* hide in IE (uses IE6/IE7 CSS hacks) */

/* borderless tables */
.borderless, .borderless table, .borderless td, .borderless tr, .borderless th, .borderless tbody
	{ border:0 !important; margin:0 !important; padding:0 !important; }
.widetable, .widetable table
	{ width:100%; }

/* thumbnail images (fixed-sized scaled images) */
.thumbnail img { height:5em !important; }

/* stretchable images (auto-size to fit tiddler) */
.stretch img { width:95%; }

/* grouped content */
.outline
	{ display:block; padding:1em; -moz-border-radius:1em;-webkit-border-radius:1em; -khtml-border-radius: 1em; border-radius: 1em; border:1px solid; }
.menubox
	{ display:block; padding:1em; -moz-border-radius:1em;-webkit-border-radius:1em; -khtml-border-radius: 1em; border-radius: 1em; border:1px solid; background:#fff; color:#000; }
.menubox .button, .menubox .tiddlyLinkExisting, .menubox .tiddlyLinkNonExisting
	{ color:#009 !important; }
.groupbox
	{ display:block; padding:1em; -moz-border-radius:1em;-webkit-border-radius:1em; -khtml-border-radius: 1em; border-radius: 1em; border:1px solid; background:#ffe; color:#000; }
/*.groupbox a, .groupbox .button, .groupbox .tiddlyLinkExisting, .groupbox .tiddlyLinkNonExisting
	{ color:#009 !important; }
.groupbox code
	{ color:#333 !important; }*/
.borderleft
	{ margin:0;padding:0;border:0;margin-left:1em; border-left:1px dotted; padding-left:.5em; }
.borderright
	{ margin:0;padding:0;border:0;margin-right:1em; border-right:1px dotted; padding-right:.5em; }
.borderbottom
	{ margin:0;padding:1px 0;border:0;border-bottom:1px dotted; margin-bottom:1px; padding-bottom:1px; }
.bordertop
	{ margin:0;padding:0;border:0;border-top:1px dotted; margin-top:1px; padding-top:1px; }

/* scrolled content */
.scrollbars { overflow:auto; }
.height10em { height:10em; }
.height15em { height:15em; }
.height20em { height:20em; }
.height25em { height:25em; }
.height30em { height:30em; }
.height35em { height:35em; }
.height40em { height:40em; }

/* compact form */
.smallform
	{ white-space:nowrap; }
.smallform input, .smallform textarea, .smallform button, .smallform checkbox, .smallform radio, .smallform select
	{ font-size:8pt; }

/* stretchable edit fields and textareas (auto-size to fit tiddler) */
.stretch input { width:99%; }
.stretch textarea { width:99%; }

/* compact input fields (limited to a few characters for entering percentages and other small values) */
.onechar input   { width:1em; }
.twochar input   { width:2em; }
.threechar input { width:3em; }
.fourchar input  { width:4em; }
.fivechar input  { width:5em; }

/* text colors */
.white { color:#fff !important }
.gray  { color:#999 !important }
.black { color:#000 !important }
.red   { color:#f66 !important }
.green { color:#0c0 !important }
.blue  { color:#99f !important }

/* rollover highlighting */
.mouseover 
	{color:[[ColorPalette::TertiaryLight]] !important;}
.mouseover a
	{color:[[ColorPalette::TertiaryLight]] !important;}
.selected .mouseover
	{color:[[ColorPalette::Foreground]] !important;}
.selected .mouseover .button, .selected .mouseover a
	{color:[[ColorPalette::PrimaryDark]] !important;}

/* rollover zoom text */
.zoomover
	{ font-size:80% !important; }
.selected .zoomover
	{ font-size:100% !important; }

/* [[ColorPalette]] text colors */
.Background	{ color:[[ColorPalette::Background]];	 }
.Foreground	{ color:[[ColorPalette::Foreground]];	 }
.PrimaryPale	{ color:[[ColorPalette::PrimaryPale]];	 }
.PrimaryLight	{ color:[[ColorPalette::PrimaryLight]];	 }
.PrimaryMid	{ color:[[ColorPalette::PrimaryMid]];	 }
.PrimaryDark	{ color:[[ColorPalette::PrimaryDark]];	 }
.SecondaryPale	{ color:[[ColorPalette::SecondaryPale]]; }
.SecondaryLight	{ color:[[ColorPalette::SecondaryLight]];}
.SecondaryMid	{ color:[[ColorPalette::SecondaryMid]];	 }
.SecondaryDark	{ color:[[ColorPalette::SecondaryDark]]; }
.TertiaryPale	{ color:[[ColorPalette::TertiaryPale]];	 }
.TertiaryLight	{ color:[[ColorPalette::TertiaryLight]]; }
.TertiaryMid	{ color:[[ColorPalette::TertiaryMid]];	 }
.TertiaryDark	{ color:[[ColorPalette::TertiaryDark]];	 }
.Error		{ color:[[ColorPalette::Error]];	 }

/* [[ColorPalette]] background colors */
.BGBackground	  { background-color:[[ColorPalette::Background]];	}
.BGForeground	  { background-color:[[ColorPalette::Foreground]];	}
.BGPrimaryPale	  { background-color:[[ColorPalette::PrimaryPale]];	}
.BGPrimaryLight	  { background-color:[[ColorPalette::PrimaryLight]];	}
.BGPrimaryMid	  { background-color:[[ColorPalette::PrimaryMid]];	}
.BGPrimaryDark	  { background-color:[[ColorPalette::PrimaryDark]];	}
.BGSecondaryPale  { background-color:[[ColorPalette::SecondaryPale]]; 	}
.BGSecondaryLight { background-color:[[ColorPalette::SecondaryLight]];	}
.BGSecondaryMid	  { background-color:[[ColorPalette::SecondaryMid]];	}
.BGSecondaryDark  { background-color:[[ColorPalette::SecondaryDark]]; 	}
.BGTertiaryPale	  { background-color:[[ColorPalette::TertiaryPale]];	}
.BGTertiaryLight  { background-color:[[ColorPalette::TertiaryLight]]; 	}
.BGTertiaryMid	  { background-color:[[ColorPalette::TertiaryMid]];	}
.BGTertiaryDark	  { background-color:[[ColorPalette::TertiaryDark]];	}
.BGError	  { background-color:[[ColorPalette::Error]];	 	}
/*}}}*/
/*{{{*/
/* new nui */
.concertina {
	overflow: hidden;
	display: none;
	height: 0;
	background-color: white;
}

.concertina br {
	display: none;
}


.concertinaOn .concertina {
	display: auto;
	height: auto;
	border-bottom: 1px solid [[ColorPalette: :PrimaryDark]];
	overflow: auto;
}

.concertina .publishButton {
	border-radius: 1em;
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	background-color: white;
	border: 1px solid black;
	display: block;
	padding: 0.3em;
	text-align: center;
	width: 12em;
}

.privateNotPublic .concertina,
.private .concertina {
	background: -webkit-gradient(linear,left bottom,left top,color-stop(0.05,#DE85B3),color-stop(0.5,#eee),color-stop(1, #fff));
	background: -moz-linear-gradient(top center , #fff 5%, #eee 20%, #DE85B3 100%);
	/* For Internet Explorer 5.5 - 7 */
	filter: "progid: DXImageTransform.Microsoft.gradient(startColorstr=#ffffffff, endColorstr=#ffDE85B3)";
	/* For Internet Explorer 8 */
	-ms-filter: "progid: DXImageTransform.Microsoft.gradient(startColorstr=#ffffffff, endColorstr=#ffDE85B3)";
}

.public .concertina,
.privateAndPublic .concertina {
	background: -webkit-gradient(linear,left bottom,left top,color-stop(0.05, #BBE7FD),color-stop(0.5,#eee),color-stop(1, #fff));
	background: -moz-linear-gradient(top center , #fff 5%, #eee 20%, #BBE7FD 100%);
	/* For Internet Explorer 5.5 - 7 */
	filter: "progid: DXImageTransform.Microsoft.gradient(startColorstr=#ffffffff, endColorstr=#ffBBE7FD)";
	/* For Internet Explorer 8 */
	-ms-filter: "progid: DXImageTransform.Microsoft.gradient(startColorstr=#ffffffff, endColorstr=#ffBBE7FD)";
}

.external .concertina {
	background-color: white;
	background: -webkit-gradient(linear,left bottom,left top,color-stop(0.05, #8BD69E),color-stop(0.5,#eee),color-stop(1, #fff));
	background: -moz-linear-gradient(top center , #fff 5%, #eee 20%, #8BD69E 100%);
	/* For Internet Explorer 5.5 - 7 */
	filter: "progid: DXImageTransform.Microsoft.gradient(startColorstr=#ffffffff, endColorstr=#ff8BD69E)";
	/* For Internet Explorer 8 */
	-ms-filter: "progid: DXImageTransform.Microsoft.gradient(startColorstr=#ffffffff, endColorstr=#ff8BD69E)";
}

/* fix grayout from original tw. */
.selected .tagging,
.selected .tagged,
.selected .tagging:hover,
.selected .tagged:hover {
	background: none;
	border: none;
}

.tagging, .tagged {
	background: none;
	border: none;
	padding: 0.5em 0 0 0.5em;
}

.tagging {
	float: none;
}

/** nächste zeile wirkt nicht ??? */
.tagging ul {
	margin: 0.25em 0 0 0.3em;
}

.tagging li {
	display: inline;
	float: left;
}

.tagging .tiddlyLink {
	-webkit-border-radius: 5px 5px 5px 5px;
	-moz-border-radius: 5px 5px 5px 5px;
	background-color: white;
	display: block;
	margin: 0 0.2em 0.2em;
        padding: 0.8em;
}

/* nui */
.tagged {
	float: none;
	margin-top: 1em;
}

.tagged .quickopentag {
	-webkit-border-radius: 0px 15px 15px 0px;
	-moz-border-radius: 0px 15px 15px 0px;
	background-color: white;
	border: 2px 2px 2px 0 solid #ccc;
	display: block;
	margin: 0 0.2em 0.2em -1.1em;
	padding: 0 0.4em;
	font-size: 0.9em;
}

.tagged a.button,
.tagged a.tiddlyLink {
	border: none;
	display: inline;
	font-size: 0.9em;
	word-wrap: break-word;
}

.tagged a:hover {
	font-weight: bold;
	background: white;
	color: [[ColorPalette::PrimaryDark]]; 
}

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

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

.confirmationPopup, .followList {
	font-size: 0.7em;
	padding: 1em;
	border: solid 1px #000;
}

.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::PrimaryMid]];
	background: none;
}

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

.heading {
	left: 0;
	margin-bottom: 3em;
	position: relative;
	top: 3em;
	position: relative;
}

.followButton a:hover {
	background: none;
	color: black;
}

.followPlaceHolder {
	position: absolute;
	left: 0.5em;
	top: 0.5em;
}

.followButton {
	cursor: pointer;
	-webkit-border-radius: 0.3em;
	-moz-border-radius: 0.3em;
	background: none repeat scroll 0 0 #CCCCCC;
	color: red;
	min-width: 2em;
	height: 1em;
	text-align: center;
	padding: 0.4em;
	float: left;
}

.replyLink {
	margin-left: 1em;
	font-size: 80%;
	opacity: 0.3;
}

.selected .replyLink {
	opacity: 1;
}


.calendar {
	margin-top: 1em;
	cursor: pointer;

/* 	if calendar is to wide, enable next line */
/*	margin: 1em 1.5em;  */	
}

.calendar:hover {
	opacity: 0.8;
}

.calendar .month {
	color: [[ColorPalette::PrimaryPale]];
	font-size: 1.2em;
	border-left: solid 1px black;
	border-right: solid 1px black;
	border-top: solid 1px black;
	text-align: center;
	padding: 2px;
}

.calendar .date {
	color: [[ColorPalette::PrimaryDark]];
	font-size: 1.2em;
	font-weight: bold;
	text-align: center;
	border: solid 1px black;
}

.calendar .time {
	font-size: 0.7em;
	border-left: solid 1px black;
	border-right: solid 1px black;
	border-bottom: solid 1px black;
	text-align: center;
}

.toolbar svg {
	height: 20pt;
	width: 20pt;
}

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

.toolbar a:hover .glyph{
	fill: #111;
}

.toolbar .command_savePublicTiddler .glyph {
	fill: #C0E5FC;
}

.originButton,
.modifierIcon .label {
	color: [[ColorPalette::TertiaryDark]];
	font-size: 0.8em;
	text-align: center;
	display: block;
}

.modifierIcon {
	background: [[ColorPalette::PrimaryLight]];
	margin-right: 1em;
}

.tiddler {
	overflow: hidden;	/* clear floats */
}

.tiddler .viewer {
	margin: 0;
	line-height: normal;
	padding-top: 0;
}

.tiddler .title {
	font-size: 1.7em;
	display: block;
	margin-bottom: 0.4em;
	border-bottom: 0.05em solid [[ColorPalette: :PrimaryDark]];
	padding-top: 0;
	word-wrap: break-word;
}

.spaceIcon img {
	height: 30px;
}

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

.siteIcon {
	text-align: center;
}

.siteIcon img {
	height: 30px;
	width: 30px;
}

.tiddler .spaceSiteIcon {
	margin: 0;
	cursor: pointer;
}

.followButton a {
	color: red;
}

.tiddler {
	position: relative;
	-moz-box-shadow: 2px 2px 8px black;
	-webkit-box-shadow: 2px 2px 8px black;
	filter: progid: DXImageTransform.Microsoft.Shadow(color='#000000', Direction=135, Strength=3);
	box-shadow: 2px 2px 8px black;
	background-color: [[ColorPalette::PrimaryLight]];
	margin-bottom: 2em;
	padding: 0;
}


.tiddler .subtitle {
	font-size: 0.8em;
	margin-top: 0.2em;
}

.external .spaceSiteIcon a:hover {
	background-color: #8BD69E;
}

.privateNotPublic .spaceSiteIcon a:hover,
.private .spaceSiteIcon a:hover {
	background-color: #DE85B3;
}

.privateAndPublic .spaceSiteIcon a:hover,
.public .spaceSiteIcon a:hover {
	background-color: #BBE7FD;
}

.tiddler .toolbar .button {
	border: none;
	display: inline-block;
}

/*-- reset the button effect --*/
.tiddler .toolbar a:hover {
	background: none;
	border: none;
}

/**
.tiddler .button.command_closeTiddler {
	float: right;
}
**/

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

.revButton {
	float: right;
}

/*}}}*/
|''Name:''|[[NeUIemTheme04]]|
|''Description:''|Play with the toolbar visibility|
|''Generator:''|[[TW FreeStyle|http://FreeStyle.tiddlyspot.com]]|
|''Gen.Description:''|Handcrafted by @pmario|
|''PageTemplate:''|NeUIemTheme##PageTemplate|
|''ViewTemplate:''|NeUIemTheme##ViewTemplate|
|''EditTemplate:''|NeUIemTheme##EditTemplate|
|''RevisionTemplate:''|NeUIemTheme##RevisionTemplate|
|''StyleSheet:''|##StyleSheet|

!StyleSheet
/*{{{*/
[[NeUIemTheme03##StyleSheet]]

/* Play with the toolbar visibility */
.toolbar {
	visibility: hidden; 
/*	opacity: 0.2; */
}

.selected .toolbar {
	visibility: visible; 
/*	opacity: 1; */
}

/*}}}*/
/***
|''Name:''|FollowTiddlersButtonPlugin|
|''Description:''|Wraps followTiddlers macro into a button, which needs to be clicked to activate it.|
|''Author:''|Mario Pietsch|
|''Source:''||
|''Version:''|0.1.0|
|''Status:''|beta|
|''Date:''|2010.12.06|
|''Requires:''|TiddlySpaceFollowingPlugin|
|''License:''|BSD|
|''~CoreVersion:''||
Click the [?] button, to get {{{<<followTiddlers>>}}} macro activated.
!!!!Use
<<<
{{{
<<followTiddlersButton>> instead of <<followTiddlers>>
}}}
<<<
!!!!ViewTemplate 
<<<
{{{
	<div class='followPlaceHolder' macro='followTiddlersButton'>
		<span macro="view title replyLink"></span>
	</div>
}}}
<<<

***/
/*{{{*/
version.extensions.TiddlySpaceHacks = {major: 0, minor: 1, revision: 0, date: new Date(2010,12,06)};

(function ($) {

var ftb;		
config.macros.followTiddlersButton = ftb = {

	// should be done for easy localisation
	locale: {
		lblButton: '?',
		txtButton: 'Find other spaces, that contain a tiddler with the same title',
	},

	handler: function(place, macroName, params, wikifier, paramString, tiddler){
		if (!config.macros.followTiddlers) return false;
		var btn = null;

		// createTiddlyButton(parent, text, tooltip, action, className, id, accessKey, attribs)			
		btn = createTiddlyButton(place, ftb.locale.lblButton, ftb.locale.txtButton, ftb.onClick, 'followButton');

		// passing all arguments to the function
		$(btn).data('data', arguments);
	},

	onClick: function() {
		var a = $(this).data("data");

		if (a) {
			config.macros.followTiddlers.handler.apply(config.macros.followTiddlers, a);
			$(this).remove();
		}
		return false;
	}

}; // end of hello world

}) (jQuery);
/*}}}*/
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
/***
|Name|SearchOptionsPlugin|
|Source|http://www.TiddlyTools.com/#SearchOptionsPlugin|
|Documentation|http://www.TiddlyTools.com/#SearchOptionsPluginInfo|
|Version|3.0.10 modified addClass removeClass hasClass removeChildren|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|extend core search function with additional user-configurable options|
Adds extra options to core search function including selecting which data items to search, enabling/disabling incremental key-by-key searches, and generating a ''list of matching tiddlers'' instead of immediately displaying all matches.  This plugin also adds syntax for rendering 'search links' within tiddler content to embed one-click searches using pre-defined 'hard-coded' search terms.
!!!!!Documentation
>see [[SearchOptionsPluginInfo]]
!!!!!Configuration
<<<
<<tiddler SearchOptions>>
<<option chkSearchResultsOptions>> Include {{{options...}}} slider in "search again" form
<<<
!!!!!Revisions
<<<
2011.04.08 3.0.10 fixed typo in CSS in formatSearchResults_buttons().  Restore missing options in Configuration section.
|please see [[SearchOptionsPluginInfo]] for additional revision details|
2005.10.18 1.0.0 Initial Release
<<<
!!!!!Code
***/
//{{{
version.extensions.SearchOptionsPlugin= {major: 3, minor: 0, revision: 10, date: new Date(2011,3,18)};
//}}}
//{{{
var defaults={
	chkSearchTitles:	true,
	chkSearchText:		true,
	chkSearchTags:		true,
	chkSearchFields:	true,
	chkSearchTitlesFirst:	true,
	chkSearchList:		true,
	chkSearchHighlight:	true,
	chkSearchListTiddler:	false,
	chkSearchByDate:	false,
	chkIncrementalSearch:	true,
	chkSearchShadows:	true,
	chkSearchOpenTiddlers:	false,
	chkSearchResultsOptions:true,
	chkSearchExcludeTags:	true,
	txtSearchExcludeTags:	'excludeSearch',
	txtIncrementalSearchDelay:	500,
	txtIncrementalSearchMin:	3
}; for (var id in defaults) if (config.options[id]===undefined)
	config.options[id]=defaults[id];
if (config.macros.search.reportTitle==undefined)
	config.macros.search.reportTitle="SearchResults"; // note: not a cookie!
config.macros.search.label+="\xa0"; // a little bit of space just because it looks better
//}}}
// // searchLink: {{{[search[text to find]] OR [search[text to display|text to find]]}}}
//{{{
config.formatters.push( {
	name: "searchLink",
	match: "\\[search\\[",
	lookaheadRegExp: /\[search\[(.*?)(?:\|(.*?))?\]\]/mg,
	prompt: "search for: '%0'",
	handler: function(w)
	{
		this.lookaheadRegExp.lastIndex = w.matchStart;
		var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
		if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
			var label=lookaheadMatch[1];
			var text=lookaheadMatch[2]||label;
			var prompt=this.prompt.format([text]);
			var btn=createTiddlyButton(w.output,label,prompt,
				function(){story.search(this.getAttribute("searchText"))},"searchLink");
			btn.setAttribute("searchText",text);
			w.nextMatch = this.lookaheadRegExp.lastIndex;
		}
	}
});
//}}}
// // incremental search uses option settings instead of hard-coded delay and minimum input values
//{{{
var fn=config.macros.search.onKeyPress;
fn=fn.toString().replace(/500/g, "config.options.txtIncrementalSearchDelay||500");
fn=fn.toString().replace(/> 2/g, ">=(config.options.txtIncrementalSearchMin||3)");
eval("config.macros.search.onKeyPress="+fn);
//}}}
// // REPLACE story.search() for option to "show search results in a list"
//{{{
Story.prototype.search = function(text,useCaseSensitive,useRegExp)
{
	var co=config.options; // abbrev
	var re=new RegExp(useRegExp ? text : text.escapeRegExp(),useCaseSensitive ? "mg" : "img");
	if (config.options.chkSearchHighlight) highlightHack=re;
	var matches = store.search(re,co.chkSearchByDate?"modified":"title","");
	if (co.chkSearchByDate) matches=matches.reverse(); // most recent first
	var q = useRegExp ? "/" : "'";
	clearMessage();
	if (!matches.length) {
		if (co.chkSearchListTiddler) discardSearchResults();
		displayMessage(config.macros.search.failureMsg.format([q+text+q]));
	} else {
		if (co.chkSearchList||co.chkSearchListTiddler) 
			reportSearchResults(text,matches);
		else {
			var titles = []; for(var t=0; t<matches.length; t++) titles.push(matches[t].title);
			this.closeAllTiddlers(); story.displayTiddlers(null,titles);
			displayMessage(config.macros.search.successMsg.format([matches.length, q+text+q]));
		}
	}
	highlightHack = null;
}
//}}}
// // REPLACE store.search() for enhanced searching/sorting options
//{{{
TiddlyWiki.prototype.search = function(searchRegExp,sortField,excludeTag,match)
{
	var co=config.options; // abbrev
	var tids = this.reverseLookup("tags",excludeTag,!!match,sortField);
	var opened=[]; story.forEachTiddler(function(tid,elem){opened.push(tid);});

	// eliminate tiddlers tagged with excluded tags
	if (co.chkSearchExcludeTags&&co.txtSearchExcludeTags.length) {
		var ex=co.txtSearchExcludeTags.readBracketedList();
		var temp=[]; for(var t=tids.length-1; t>=0; t--)
			if (!tids[t].tags.containsAny(ex)) temp.push(tids[t]);
		tids=temp;
	}

	// scan for matching titles first...
	var results = [];
	if (co.chkSearchTitles) {
		for(var t=0; t<tids.length; t++) {
			if (co.chkSearchOpenTiddlers && !opened.contains(tids[t].title)) continue; 
			if(tids[t].title.search(searchRegExp)!=-1) results.push(tids[t]);
		}
		if (co.chkSearchShadows)
			for (var t in config.shadowTiddlers) {
				if (co.chkSearchOpenTiddlers && !opened.contains(t)) continue; 
				if ((t.search(searchRegExp)!=-1) && !store.tiddlerExists(t))
					results.push((new Tiddler()).assign(t,config.shadowTiddlers[t]));
			}
	}
	// then scan for matching text, tags, or field data
	for(var t=0; t<tids.length; t++) {
		if (co.chkSearchOpenTiddlers && !opened.contains(tids[t].title)) continue; 
		if (co.chkSearchText && tids[t].text.search(searchRegExp)!=-1)
			results.pushUnique(tids[t]);
		if (co.chkSearchTags && tids[t].tags.join(" ").search(searchRegExp)!=-1)
			results.pushUnique(tids[t]);
		if (co.chkSearchFields && store.forEachField!=undefined)
			store.forEachField(tids[t],
				function(tid,field,val) {
					if (val.search(searchRegExp)!=-1) results.pushUnique(tids[t]);
				},
				true); // extended fields only
	}
	// then check for matching text in shadows
	if (co.chkSearchShadows)
		for (var t in config.shadowTiddlers) {
			if (co.chkSearchOpenTiddlers && !opened.contains(t)) continue; 
			if ((config.shadowTiddlers[t].search(searchRegExp)!=-1) && !store.tiddlerExists(t))
				results.pushUnique((new Tiddler()).assign(t,config.shadowTiddlers[t]));
		}

	// if not 'titles first', or sorting by modification date,
	// re-sort results to so titles, text, tag and field matches are mixed together
	if(!sortField) sortField = "title";
	var bySortField=function(a,b){
		if(a[sortField]==b[sortField])return(0);else return(a[sortField]<b[sortField])?-1:+1;
	}
	if (!co.chkSearchTitlesFirst || co.chkSearchByDate) results.sort(bySortField);

	return results;
}
//}}}
// // HIJACK core {{{<<search>>}}} macro to add "report" and "simple inline" output
//{{{
config.macros.search.SOP_handler=config.macros.search.handler;
config.macros.search.handler = function(place,macroName,params)
{
	// if "report", use SearchOptionsPlugin report generator for inline output
	if (params[1]&&params[1].substr(0,6)=="report") {
		var keyword=params[0];
		var options=params[1].split("=")[1]; // split "report=option+option+..."
		var heading=params[2]?params[2].unescapeLineBreaks():"";
		var matches=store.search(new RegExp(keyword.escapeRegExp(),"img"),"title","excludeSearch");
		if (matches.length) wikify(heading+window.formatSearchResults(keyword,matches,options),place);
	} else if (params[1]) {
		var keyword=params[0];
		var heading=params[1]?params[1].unescapeLineBreaks():"";
		var seperator=params[2]?params[2].unescapeLineBreaks():", ";
		var matches=store.search(new RegExp(keyword.escapeRegExp(),"img"),"title","excludeSearch");
		if (matches.length) {
			var out=[];
			for (var m=0; m<matches.length; m++) out.push("[["+matches[m].title+"]]");
			wikify(heading+out.join(seperator),place);
		}
	} else
		config.macros.search.SOP_handler.apply(this,arguments);
};
//}}}
// // SearchResults panel handling
//{{{
setStylesheet(".searchResults { padding:1em 1em 0 1em; }","searchResults"); // matches std tiddler padding

config.macros.search.createPanel=function(text,matches,body) {

	function getByClass(e,c) { var d=e.getElementsByTagName("div");
		for (var i=0;i<d.length;i++) if (jQuery(d[i]).hasClass(c)) return d[i]; }
	var panel=createTiddlyElement(null,"div","searchPanel","searchPanel");
	this.renderPanel(panel,text,matches,body);
	var oldpanel=document.getElementById("searchPanel");
	if (!oldpanel) { // insert new panel just above tiddlers
		var da=document.getElementById("displayArea");
		da.insertBefore(panel,da.firstChild);
	} else { // if panel exists
		var oldwrap=getByClass(oldpanel,"searchResults");
		var newwrap=getByClass(panel,"searchResults");
		// if no prior content, just insert new content
		if (!oldwrap) oldpanel.insertBefore(newwrap,null);
		else {	// swap search results content but leave containing panel intact
			oldwrap.style.display='block'; // unfold wrapper if needed
			var i=oldwrap.getElementsByTagName("input")[0]; // get input field
			if (i) { var pos=this.getCursorPos(i); i.onblur=null; } // get cursor pos, ignore blur
			oldpanel.replaceChild(newwrap,oldwrap);
			panel=oldpanel; // use existing panel
		} 
	}
	this.showPanel(true,pos);
	return panel;
}

config.macros.search.renderPanel=function(panel,text,matches,body) {

	var wrap=createTiddlyElement(panel,"div",null,"searchResults");
	wrap.onmouseover = function(e){ jQuery(this).addClass("selected"); }
	wrap.onmouseout = function(e){ jQuery(this).removeClass("selected"); }
	// create toolbar: "open all", "fold/unfold", "close"
	var tb=createTiddlyElement(wrap,"div",null,"toolbar");
	var b=createTiddlyButton(tb, "open all", "open all matching tiddlers", function() {
		story.displayTiddlers(null,this.getAttribute("list").readBracketedList()); return false; },"button");
	var list=""; for(var t=0;t<matches.length;t++) list+='[['+matches[t].title+']] ';
	b.setAttribute("list",list);
	var b=createTiddlyButton(tb, "fold", "toggle display of search results", function() {
		config.macros.search.foldPanel(this); return false; },"button");
	var b=createTiddlyButton(tb, "close", "dismiss search results",	function() {
		config.macros.search.showPanel(false); return false; },"button");
	createTiddlyText(createTiddlyElement(wrap,"div",null,"title"),"Search for: "+text); // title
	wikify(body,createTiddlyElement(wrap,"div",null,"viewer")); // report
	return panel;
}

config.macros.search.showPanel=function(show,pos) {
	var panel=document.getElementById("searchPanel");
	var i=panel.getElementsByTagName("input")[0];
	i.onfocus=show?function(){config.macros.search.stayFocused(true);}:null;
	i.onblur=show?function(){config.macros.search.stayFocused(false);}:null;
	if (show && panel.style.display=="block") { // if shown, grab focus, restore cursor
		if (i&&this.stayFocused()) { i.focus(); this.setCursorPos(i,pos); }
		return;
	}
	if(!config.options.chkAnimate) {
		panel.style.display=show?"block":"none";
		if (!show) { jQuery(panel).empty(); config.macros.search.stayFocused(false); }
	} else {
		var s=new Slider(panel,show,false,show?"none":"children");
		s.callback=function(e,p){e.style.overflow="visible";}
		anim.startAnimating(s);
	}
	return panel;
}

config.macros.search.foldPanel=function(button) {
	var d=document.getElementById("searchPanel").getElementsByTagName("div");
	for (var i=0;i<d.length;i++) if (jQuery(d[i]).hasClass("viewer")) var v=d[i]; if (!v) return;
	var show=v.style.display=="none";
	if(!config.options.chkAnimate)
		v.style.display=show?"block":"none";
	else {
		var s=new Slider(v,show,false,"none");
		s.callback=function(e,p){e.style.overflow="visible";}
		anim.startAnimating(s);
	}
	button.innerHTML=show?"fold":"unfold";
	return false;
}

config.macros.search.stayFocused=function(keep) { // TRUE/FALSE=set value, no args=get value
	if (keep===undefined) return this.keepReportInFocus;
	this.keepReportInFocus=keep;
	return keep
}	

config.macros.search.getCursorPos=function(i) {
	var s=0; var e=0; if (!i) return { start:s, end:e };
	try {
		if (i.setSelectionRange) // FF
			{ s=i.selectionStart; e=i.selectionEnd; }
		if (document.selection && document.selection.createRange) { // IE
			var r=document.selection.createRange().duplicate();
			var len=r.text.length; s=0-r.moveStart('character',-100000); e=s+len;
		}
	}catch(e){};
	return { start:s, end:e };
}
config.macros.search.setCursorPos=function(i,pos) {
	if (!i||!pos) return; var s=pos.start; var e=pos.end;
	if (i.setSelectionRange) //FF
		i.setSelectionRange(s,e);
	if (i.createTextRange) // IE
		{ var r=i.createTextRange(); r.collapse(true); r.moveStart("character",s); r.select(); }
}
//}}}
// // SearchResults report generation
// note: these functions are defined globally, so they can be more easily redefined to customize report formats//
//{{{
if (!window.reportSearchResults) window.reportSearchResults=function(text,matches)
{
	var cms=config.macros.search; // abbrev
	var body=window.formatSearchResults(text,matches);
	if (!config.options.chkSearchListTiddler) // show #searchResults panel
		window.scrollTo(0,ensureVisible(cms.createPanel(text,matches,body)));
	else { // write [[SearchResults]] tiddler
		var title=cms.reportTitle;
		var who=config.options.txtUserName;
		var when=new Date();
		var tags="excludeLists excludeSearch temporary";
		var tid=store.getTiddler(title); if (!tid) tid=new Tiddler();
		tid.set(title,body,who,when,tags);
		store.addTiddler(tid);
		story.closeTiddler(title);
		story.displayTiddler(null,title);
	}
}

if (!window.formatSearchResults) window.formatSearchResults=function(text,matches,opt)
{
	var body='';
	var title=config.macros.search.reportTitle
	var q = config.options.chkRegExpSearch ? "/" : "'";
	if (!opt) var opt="all";
	var parts=opt.split("+");
	for (var i=0; i<parts.length; i++) { var p=parts[i].toLowerCase();
		if (p=="again"||p=="all")   body+=window.formatSearchResults_again(text,matches);
		if (p=="summary"||p=="all") body+=window.formatSearchResults_summary(text,matches);
		if (p=="list"||p=="all")    body+=window.formatSearchResults_list(text,matches);
		if (p=="buttons"||p=="all") body+=window.formatSearchResults_buttons(text,matches);
	}
	return body;
}

if (!window.formatSearchResults_again) window.formatSearchResults_again=function(text,matches)
{
	var title=config.macros.search.reportTitle
	var body='';
	// search again
	body+='{{span{<<search "'+text.replace(/"/g,'&#x22;')+'">> /%\n';
	body+='%/<html><input type="button" value="search again"';
	body+=' onclick="var t=this.parentNode.parentNode.getElementsByTagName(\'input\')[0];';
	body+=' config.macros.search.doSearch(t); return false;">';
	if (!config.options.chkSearchResultsOptions) // omit "options..."
		body+='</html>';
	else {
		body+=' <a href="javascript:;" onclick="';
		body+=' var e=this.parentNode.nextSibling;';
		body+=' var show=e.style.display!=\'block\';';
		body+=' if(!config.options.chkAnimate) e.style.display=show?\'block\':\'none\';';
		body+=' else anim.startAnimating(new Slider(e,show,false,\'none\'));';
		body+=' return false;">options...</a>';
		body+='</html>@@display:none;border-left:1px dotted;margin-left:1em;padding:0;padding-left:.5em;font-size:90%;/%\n';
		body+='	%/<<tiddler SearchOptions>>@@';
	};
	body+='}}}\n\n';
	return body;
}

if (!window.formatSearchResults_summary) window.formatSearchResults_summary=function(text,matches)
{
	// summary: nn tiddlers found matching '...', options used
	var body='';
	var co=config.options; // abbrev
	var title=config.macros.search.reportTitle
	var q = co.chkRegExpSearch ? "/" : "'";
	body+="''"+config.macros.search.successMsg.format([matches.length,q+"{{{"+text+"}}}"+q])+"''\n";
	var opts=[];
	if (co.chkSearchTitles) opts.push("titles");
	if (co.chkSearchText) opts.push("text");
	if (co.chkSearchTags) opts.push("tags");
	if (co.chkSearchFields) opts.push("fields");
	if (co.chkSearchShadows) opts.push("shadows");
	if (co.chkSearchOpenTiddlers) body+="^^//search limited to displayed tiddlers only//^^\n";
	body+="~~&nbsp; searched in "+opts.join(" + ")+"~~\n";
	body+=(co.chkCaseSensitiveSearch||co.chkRegExpSearch?"^^&nbsp; using ":"")
		+(co.chkCaseSensitiveSearch?"case-sensitive ":"")
		+(co.chkRegExpSearch?"pattern ":"")
		+(co.chkCaseSensitiveSearch||co.chkRegExpSearch?"matching^^\n":"");
	return body;
}

if (!window.formatSearchResults_list) window.formatSearchResults_list=function(text,matches)
{
	// bullet list of links to matching tiddlers
	var body='';
	var co=config.options; // abbrev
	var pattern=co.chkRegExpSearch?text:text.escapeRegExp();
	var sensitive=co.chkCaseSensitiveSearch?"mg":"img";
	var link='{{tiddlyLinkExisting{<html><nowiki><a href="javascript:;" onclick="'
		+'if(config.options.chkSearchHighlight)'
		+'	highlightHack=new RegExp(\x27'+pattern+'\x27.escapeRegExp(),\x27'+sensitive+'\x27);'
		+'story.displayTiddler(null,\x27%0\x27);'
		+'highlightHack = null; return false;'
		+'" title="%2">%1</a></html>}}}';
	for(var t=0;t<matches.length;t++) {
		body+="* ";
		if (co.chkSearchByDate)
			body+=matches[t].modified.formatString('YYYY.0MM.0DD 0hh:0mm')+" ";
		var title=matches[t].title;
		var fixup=title.replace(/'/g,"\\x27").replace(/"/g,"\\x22");
		var tid=store.getTiddler(title);
		var tip=tid?tid.getSubtitle():''; tip=tip.replace(/"/g,"&quot;");
		body+=link.format([fixup,title,tip])+'\n';
	}
	return body;
}

if (!window.formatSearchResults_buttons) window.formatSearchResults_buttons=function(text,matches)
{
	// embed buttons only if writing SearchResults to tiddler
	if (!config.options.chkSearchListTiddler) return "";
	// "open all" button
	var title=config.macros.search.reportTitle;
	var body="";
	body+="@@display:block;<html><input type=\"button\" href=\"javascript:;\" "
		+"onclick=\"story.displayTiddlers(null,[";
	for(var t=0;t<matches.length;t++)
		body+="'"+matches[t].title.replace(/\'/mg,"\\'")+"'"+((t<matches.length-1)?", ":"");
	body+="],1);\" accesskey=\"O\" value=\"open all matching tiddlers\"></html> ";
	// "discard SearchResults" button
	body+="<html><input type=\"button\" href=\"javascript:;\" "
		+"onclick=\"discardSearchResults()\" value=\"discard "+title+"\"></html>";
	body+="@@\n";
	return body;
}

if (!window.discardSearchResults) window.discardSearchResults=function()
{
	// remove the tiddler
	story.closeTiddler(config.macros.search.reportTitle);
	store.deleteTiddler(config.macros.search.reportTitle);
	store.notify(config.macros.search.reportTitle,true);
}
//}}}
// // DELIVER [[SearchOptions]] shadow payload
//{{{
config.shadowTiddlers.SearchOptions = store.getTiddlerText('SearchOptionsPlugin##panel','');
config.annotations.SearchOptions    = 'created by SearchOptionsPlugin';
//}}}
/***
//{{{
!panel
search in:
  {{nowrap{<<option chkSearchTitles>>titles <<option chkSearchText>>text <<option chkSearchTags>>tags}}} /%
%/{{nowrap{<<option chkSearchFields>>fields <<option chkSearchShadows>>shadows}}}
----
  {{nowrap{<<option chkCaseSensitiveSearch>>case-sensitive}}} /%
%/{{nowrap{<<option chkRegExpSearch>>match text patterns}}}
  {{nowrap{<<option chkIncrementalSearch>>key-by-key search:}}} /%
	%/{{threechar smallform nowrap{<<option txtIncrementalSearchMin>> or more characters}}} /%
	%/{{threechar smallform nowrap{<<option txtIncrementalSearchDelay>> msec delay}}}<hr>
  {{nowrap{<<option chkSearchList>>show results in a list &nbsp; &nbsp;}}} /%
%/{{nowrap{<<option chkSearchListTiddler>>save list in ''[[SearchResults]]''}}}
  {{nowrap{<<option chkSearchTitlesFirst>>show title matches first}}} /%
%/{{nowrap{<<option chkSearchByDate>>sort results by date}}} /%
%/{{nowrap{<<option chkSearchHighlight>>highlight matching text}}}
----
{{nowrap{<<option chkSearchOpenTiddlers>>search open tiddlers only}}}
{{nowrap{<<option chkSearchExcludeTags>>exclude tiddlers tagged with:}}}
{{editor{<<option txtSearchExcludeTags>>}}}
!end
//}}}
***/
 
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
tags tiddlers under construction
//{{{

merge(config.messages,{
	undefinedTiddlerToolTip: "The groov '%0' doesn't yet exist",
	shadowedTiddlerToolTip: "The groov '%0' doesn't yet exist, but has a pre-defined shadow value"
});

merge(config.views.wikified.tag,{
	tooltip: "Show groovs tagged with '%0'",
	openAllTooltip: "Open all of these groovs",
	popupNone: "No other groovs tagged with '%0'"
});


merge(config.commands.closeTiddler,{
	text: "close",
	tooltip: "Close this groov"});

merge(config.commands.closeOthers,{
	text: "close others",
	tooltip: "Close all other groovs"});

merge(config.commands.editTiddler,{
	text: "edit",
	tooltip: "Edit this groov",
	readOnlyText: "view",
	readOnlyTooltip: "View the source of this groov"});

merge(config.commands.saveTiddler,{
	text: "done",
	tooltip: "Save changes to this groov"});

merge(config.commands.cancelTiddler,{
	text: "cancel",
	tooltip: "Undo changes to this groov",
	warning: "Are you sure you want to abandon your changes to '%0'?",
	readOnlyText: "done",
	readOnlyTooltip: "View this groov normally"});

merge(config.commands.deleteTiddler,{
	text: "delete",
	tooltip: "Delete this groov",
	warning: "Are you sure you want to delete '%0'?"});

merge(config.commands.permalink,{
	text: "permalink",
	tooltip: "Permalink for this groov"});

merge(config.commands.references,{
	text: "references",
	tooltip: "Show groovs that link to this one",
	popupNone: "No references"});

merge(config.commands.jump,{
	text: "jump",
	tooltip: "Jump to another open groov"});

//}}}
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="29pt" viewBox="13 43 29 29" width="29pt" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" onmousedown="if(jQuery) jQuery(document).trigger('cSmaller', {elem:this, comp:{animations:1}})" onmouseup="if(jQuery) jQuery(document).trigger('cResize', {elem:this, comp:{animations:1}})">
 <defs id="defs6">
 <linearGradient id="linearGradient001" y2="27.646" gradientUnits="userSpaceOnUse" x2="-45.8" y1="27.646" x1="-57.66">
   <stop id="stop1" stop-color="#B9B9FF" offset="0"/>
   <stop id="stop2" stop-color="#E8E8FF" offset="0.66462"/>
   <stop id="stop3" stop-color="#B9B9FF" offset="1"/>
  </linearGradient></defs>
<g id="icon" stroke-linecap="round" stroke-miterlimit="4">
 <rect id="iconBG" style="stroke-dasharray:none;" fill-rule="evenodd" ry="4.1663" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#696969" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="none"/>
 <rect id="iconFG" stroke-width="0" fill-rule="evenodd" ry="2.3755" transform="matrix(0, -1, 1, 0, 0, 0)" width="22" stroke-miterlimit="4" y="16.646" x="-68.6" height="22" fill="url(#linearGradient001)" class="showOnHover" opacity="0"/>
 <g id="iconSymbol" stroke-linejoin="miter" stroke="#4d4d4d">
  <path id="path3288" style="stroke-dasharray:none;" d="m31.328,58.508a1.2868,1.2868,0,1,1,-1.1862,1.1643" transform="matrix(4.67791, 0, 0, 4.67791, -119.332, -222.038)" stroke-linecap="round" stroke-miterlimit="4" stroke-width="0.342033" fill="none"/>
  <path id="path4348" d="m20.433,50.322,4.3207,0-1.3291,1.3291,6.1802,6.4735-1.687,1.687-6.3268-6.3268-1.158,1.158,0-4.3207z" stroke-linecap="butt" stroke-width="0.80000001px" fill="#4d4d4d"/>
 </g>
 <rect id="overlay" opacity="0.01" ry="4.1663" style="stroke-dasharray:none;" fill-rule="evenodd" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#e6e6e6" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="#e6e6e6" onmouseover="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})" onmouseout="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})"/>
</g>
</svg>
/***
|Name|GotoPlugin|
|Source|http://www.TiddlyTools.com/#GotoPlugin|
|Documentation|http://www.TiddlyTools.com/#GotoPluginInfo|
|Version|1.9.2|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|view any tiddler by entering it's title - displays list of possible matches|
''View a tiddler by typing its title and pressing //enter//.''  As you type, a list of possible matches is displayed.  You can scroll-and-click (or use arrows+enter) to select/view a tiddler, or press escape to close the listbox to resume typing.  When the listbox is not displayed, pressing //escape// clears the current input.
!!!Documentation
>see [[GotoPluginInfo]]
!!!Configuration
<<<
*Match titles only after {{twochar{<<option txtIncrementalSearchMin>>}}} or more characters are entered.<br>Use down-arrow to start matching with shorter input.  //Note: This option value is also set/used by [[SearchOptionsPlugin]]//.
*To set the maximum height of the listbox, you can create a tiddler tagged with <<tag systemConfig>>, containing:
//{{{
config.macros.gotoTiddler.listMaxSize=10;  // change this number
//}}}
<<<
!!!Revisions
<<<
2009.05.22 [1.9.2] use reverseLookup() for IncludePlugin
|please see [[GotoPluginInfo]] for additional revision details|
2006.05.05 [0.0.0] started
<<<
!!!Code
***/
//{{{
version.extensions.GotoPlugin= {major: 1, minor: 9, revision: 2, date: new Date(2009,5,22)};

// automatically tweak shadow SideBarOptions to add <<gotoTiddler>> macro above <<search>>
config.shadowTiddlers.SideBarOptions=config.shadowTiddlers.SideBarOptions.replace(/<<search>>/,"{{button{goto}}}\n<<gotoTiddler>><<search>>");

if (config.options.txtIncrementalSearchMin===undefined) config.options.txtIncrementalSearchMin=3;

config.macros.gotoTiddler= { 
	listMaxSize: 10,
	listHeading: 'Found %0 matching title%1...',
	searchItem: "Search for '%0'...",
	handler:
	function(place,macroName,params,wikifier,paramString,tiddler) {
		var quiet	=params.contains("quiet");
		var showlist	=params.contains("showlist");
		var search	=params.contains("search");
		params = paramString.parseParams("anon",null,true,false,false);
		var instyle	=getParam(params,"inputstyle","");
		var liststyle	=getParam(params,"liststyle","");
		var filter	=getParam(params,"filter","");
		var html=this.html;
		var keyevent=window.event?"onkeydown":"onkeypress"; // IE event fixup for ESC handling
		html=html.replace(/%keyevent%/g,keyevent);
		html=html.replace(/%search%/g,search);
		html=html.replace(/%quiet%/g,quiet);
		html=html.replace(/%showlist%/g,showlist);
		html=html.replace(/%display%/g,showlist?'block':'none');
		html=html.replace(/%position%/g,showlist?'static':'absolute');
		html=html.replace(/%instyle%/g,instyle);
		html=html.replace(/%liststyle%/g,liststyle);
		html=html.replace(/%filter%/g,filter);
		if (config.browser.isIE) html=this.IEtableFixup.format([html]);
		var span=createTiddlyElement(place,'span');
		span.innerHTML=html; var form=span.getElementsByTagName("form")[0];
		if (showlist) this.fillList(form.list,'',filter,search,0);
	},
	html:
	'<form onsubmit="return false" style="display:inline;margin:0;padding:0">\
		<input name=gotoTiddler type=text autocomplete="off" accesskey="G" style="%instyle%"\
			title="Enter title text... ENTER=goto, SHIFT-ENTER=search for text, DOWN=select from list"\
			onfocus="this.select(); this.setAttribute(\'accesskey\',\'G\');"\
			%keyevent%="return config.macros.gotoTiddler.inputEscKeyHandler(event,this,this.form.list,%search%,%showlist%);"\
			onkeyup="return config.macros.gotoTiddler.inputKeyHandler(event,this,%quiet%,%search%,%showlist%);">\
		<select name=list style="display:%display%;position:%position%;%liststyle%"\
			onchange="if (!this.selectedIndex) this.selectedIndex=1;"\
			onblur="this.style.display=%showlist%?\'block\':\'none\';"\
			%keyevent%="return config.macros.gotoTiddler.selectKeyHandler(event,this,this.form.gotoTiddler,%showlist%);"\
			onclick="return config.macros.gotoTiddler.processItem(this.value,this.form.gotoTiddler,this,%showlist%);">\
		</select><input name="filter" type="hidden" value="%filter%">\
	</form>',
	IEtableFixup:
	"<table style='width:100%;display:inline;padding:0;margin:0;border:0;'>\
		<tr style='padding:0;margin:0;border:0;'><td style='padding:0;margin:0;border:0;'>\
		%0</td></tr></table>",
	getItems:
	function(list,val,filter) {
		if (!list.cache || !list.cache.length || val.length<=config.options.txtIncrementalSearchMin) {
			// starting new search, fetch and cache list of tiddlers/shadows/tags
			list.cache=new Array();
			if (filter.length) {
				var fn=store.getMatchingTiddlers||store.getTaggedTiddlers;
				var tiddlers=store.sortTiddlers(fn.apply(store,[filter]),'title');
			} else 
				var tiddlers=store.reverseLookup('tags','excludeLists');
			for(var t=0; t<tiddlers.length; t++) list.cache.push(tiddlers[t].title);
			if (!filter.length) {
				for (var t in config.shadowTiddlers) list.cache.pushUnique(t);
				var tags=store.getTags();
				for(var t=0; t<tags.length; t++) list.cache.pushUnique(tags[t][0]);
			}
		}
		var found = [];
		var match=val.toLowerCase();
		for(var i=0; i<list.cache.length; i++)
			if (list.cache[i].toLowerCase().indexOf(match)!=-1) found.push(list.cache[i]);
		return found;
	},
	getItemSuffix:
	function(t) {
		if (store.tiddlerExists(t)) return "";  // tiddler
		if (store.isShadowTiddler(t)) return " (shadow)"; // shadow
		return " (tag)"; // tag 
	},
	fillList:
	function(list,val,filter,search,key) {
		if (list.style.display=="none") return; // not visible... do nothing!
		var indent='\xa0\xa0\xa0';
		var found = this.getItems(list,val,filter); // find matching items...
		found.sort(); // alpha by title
		while (list.length > 0) list.options[0]=null; // clear list
		var hdr=this.listHeading.format([found.length,found.length==1?"":"s"]);
		list.options[0]=new Option(hdr,"",false,false);
		for (var t=0; t<found.length; t++) list.options[list.length]=
			new Option(indent+found[t]+this.getItemSuffix(found[t]),found[t],false,false);
		if (search)
			list.options[list.length]=new Option(this.searchItem.format([val]),"*",false,false);
		list.size=(list.length<this.listMaxSize?list.length:this.listMaxSize); // resize list...
		list.selectedIndex=key==38?list.length-1:key==40?1:0;
	},
	keyProcessed:
	function(ev) { // utility function
		ev.cancelBubble=true; // IE4+
		try{event.keyCode=0;}catch(e){}; // IE5
		if (window.event) ev.returnValue=false; // IE6
		if (ev.preventDefault) ev.preventDefault(); // moz/opera/konqueror
		if (ev.stopPropagation) ev.stopPropagation(); // all
		return false;
	},
	inputEscKeyHandler:
	function(event,here,list,search,showlist) {
		if (event.keyCode==27) {
			if (showlist) { // clear input, reset list
				here.value=here.defaultValue;
				this.fillList(list,'',here.form.filter.value,search,0);
			}
			else if (list.style.display=="none") // clear input
				here.value=here.defaultValue;
			else list.style.display="none"; // hide list
			return this.keyProcessed(event);
		}
		return true; // key bubbles up
	},
	inputKeyHandler:
	function(event,here,quiet,search,showlist) {
		var key=event.keyCode;
		var list=here.form.list;
		var filter=here.form.filter;
		// non-printing chars bubble up, except for a few:
		if (key<48) switch(key) {
			// backspace=8, enter=13, space=32, up=38, down=40, delete=46
			case 8: case 13: case 32: case 38: case 40: case 46: break; default: return true;
		}
		// blank input... if down/enter... fall through (list all)... else, and hide or reset list
		if (!here.value.length && !(key==40 || key==13)) {
			if (showlist) this.fillList(here.form.list,'',here.form.filter.value,search,0);
			else list.style.display="none";
			return this.keyProcessed(event);
		}
		// hide list if quiet, or below input minimum (and not showlist)
		list.style.display=(!showlist&&(quiet||here.value.length<config.options.txtIncrementalSearchMin))?'none':'block';
		// non-blank input... enter=show/create tiddler, SHIFT-enter=search for text
		if (key==13 && here.value.length) return this.processItem(event.shiftKey?'*':here.value,here,list,showlist);
		// up or down key, or enter with blank input... shows and moves to list...
		if (key==38 || key==40 || key==13) { list.style.display="block"; list.focus(); }
		this.fillList(list,here.value,filter.value,search,key);
		return true; // key bubbles up
	},
	selectKeyHandler:
	function(event,list,editfield,showlist) {
		if (event.keyCode==27) // escape... hide list, move to edit field
			{ editfield.focus(); list.style.display=showlist?'block':'none'; return this.keyProcessed(event); }
		if (event.keyCode==13 && list.value.length) // enter... view selected item
			{ this.processItem(list.value,editfield,list,showlist); return this.keyProcessed(event); }
		return true; // key bubbles up
	},
	processItem:
	function(title,here,list,showlist) {
		if (!title.length) return;
		list.style.display=showlist?'block':'none';
		if (title=="*")	{ story.search(here.value); return false; } // do full-text search
		if (!showlist) here.value=title;
		story.displayTiddler(null,title); // show selected tiddler
		return false;
	}
}
//}}}
/*{{{*/
// Start with one of the following themes:
// "NeUIemTheme", "NeUIemTheme01", "NeUIemTheme02", "NeUIemTheme03", "NeUIemTheme04", 
// "TWDefaultTheme" 
config.options.txtTheme = "TriptychTheme"

// A temporary hack, to activate transclusions again
config.evaluateMacroParameters = "full";

// remove leading // at the lines below to aktivate left or right sidebar
// config.options.chkShowRightSidebar = false;		// false or true
// config.options.chkShowLeftSidebar  = false;		// false or true
/*}}}*/
<!--{{{-->
<div macro='slideRevision'></div>
[[NeUIemTheme##ViewTemplate]]
<!--}}}-->

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="29pt" viewBox="13 43 29 29" width="29pt" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" onclick="if(jQuery) jQuery(document).trigger('cSaveChanges', {elem:this, comp:{menue:1}})" onmousedown="if(jQuery) jQuery(document).trigger('cSmaller', {elem:this, comp:{animations:1}})" onmouseup="if(jQuery) jQuery(document).trigger('cResize', {elem:this, comp:{animations:1}})" title="Save all tiddlers to the web">
 <metadata id="metadata14">
  <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:rights>
     <cc:Agent>
      <dc:title>http://creativecommons.org/licenses/by-nc-sa/3.0/at/</dc:title>
     </cc:Agent>
    </dc:rights>
    <dc:source>http://iconbuilder.tiddlyspace.com</dc:source>
    <dc:creator>
     <cc:Agent>
      <dc:title>Mario Pietsch</dc:title>
     </cc:Agent>
    </dc:creator>
   </cc:Work>
  </rdf:RDF>
 </metadata>
 <defs id="defs_bBgTrans">
 <linearGradient id="linearGradient001" y2="27.646" gradientUnits="userSpaceOnUse" x2="-45.8" y1="27.646" x1="-57.66">
   <stop id="stop1" stop-color="#6BB546" offset="0"/>
   <stop id="stop2" stop-color="#B5DAA2" offset="0.66462"/>
   <stop id="stop3" stop-color="#6BB546" offset="1"/>
  </linearGradient></defs>
<g id="icon">
 <rect id="iconBG" stroke="#696969" ry="4.1663" transform="matrix(0,-1,1,0,0,0)" height="25" width="25" y="15.167" x="-70.116" stroke-width="1.2" fill="none" class="showBG"/>
 <rect id="iconFG" stroke-width="0" fill-rule="evenodd" ry="2.3755" transform="matrix(0,-1,1,0,0,0)" width="22" y="16.646" x="-68.6" height="22" fill="url(#linearGradient001)" class="showFG"/>
<g id="iconSymbol" stroke-linejoin="round" stroke="#4d4d4d" stroke-linecap="round" stroke-miterlimit="4" fill="none" class="showSY">
  <path d="m27.73,61.043,3.2374,1.8989-1.9264,0,0,3.2808-2.8131,0,0-3.2808-1.7352,0,3.2374-1.8989z" stroke-width="1.3"/>
  <g transform="matrix(1.0777574,0.08745459,-0.09502165,0.99192987,39.787119,-3.5323126)" fill="none">
   <path d="m-8.7109,55.478,8.1326-1.4778,0.13409,8.5172" stroke-width="1.3"/>
   <path d="m-8.623,55.846-1.7958,9.5134" stroke-width="1.5"/>
   <path d="M-30.522,13.653-13.966,26.834" transform="matrix(0.8,0,0,0.8,13,43)" stroke-width="2"/>
   <path d="m-32.798,31.699,17.733-19.616" transform="matrix(0.8,0,0,0.8,13,43)" stroke-width="2"/>
  </g>
 </g>
 <rect id="overlay" stroke="#696969" opacity="0" ry="4.1663" transform="matrix(0,-1,1,0,0,0)" height="25" width="25" y="15.167" x="-70.116" stroke-width="1.2" class="showOV"/>
</g>
</svg>
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
A few years ago I celebrated my birthday with a handful of friends, and proposed the following ''recipe''. Everyone brings a number of musical tunes in digital format (mp3 or similar). Each should bring roughly the same total length of music, say twenty minutes. If five people participate that gives an hour and forty minutes of music. Everyone sits down, or stands, or lies, or hovers in a circle of sorts, as furniture allows. It should be easy to observe one another - faces in particular. Then all the tunes are played in random order (on hopefully decent speakers). Pretty much everything is allowed from then on, including walking off to the loo, or to the Moon; but nobody is to say a word. No talking at all, until all the music is done.

{{center{<html><img title="République terrestre logo" src="http://kosmaton.bplaced.net/veminra/content/The%20Shut-Up%20%E2%99%AB/320px-Listen.resized.jpg" style="border: 3px ridge palegoldenrod;" /></html>+++{{footnotebutton{[†|source]}}}{{normal{U.S. World War II notice, from [[here|https://secure.wikimedia.org/wikipedia/commons/wiki/File:%22Listen%5E_The_enemy_may_be_talking._Don%27t_talk%5E_The_enemy_may_be_listening.%22_-_NARA_-_514901.jpg]] plus [[this|https://secure.wikimedia.org/wikipedia/commons/wiki/File:Loudspeaker.arp.500pix.jpg]]}}}===}}}
The ''aims'' of such a {{hooky2{shut-up}}}: to share music, to [[listen|“The most beautiful thing in life is to see”]] more attentively than usual (especially in a group), and to 'listen' to each other in a different way than usual.

The ''results'' after a very few trials (that I know of): a mixed bag.
*On the whole it is a fun thing to do, worth trying.
*Even if people listen more than usual, they find it hard to shut up fully. (It is not clear how much alcohol helps or hurts in this regard.) Perhaps a more dictatorial incentive would be required, as in the above poster. But that clashes with [[freedom|No free will, so grant us freedom]], so I do not favour it.
*There is a risk of micropolitics trumping listening. The shut-up is not intended as a //game// of who's-tune-is-that. Nor as a posing ground to show off one's musical taste. The above note on potential Diktat applies again.
*Generally speaking, the shut-up is not necessarily meant to be fun. Sharing does not mean feeling //good//.

''Note @@color:teal;if you want to make money@@ @@color:firebrick;or indeed, much better, boost [[groove|Groove]]@@''. The specificities of an improvised shut-up setting can be interesting. However, one might also get a good deal of groove when using a professional surround sound system and a space-age room with comfortable resting pods arranged in a star, each tilted so that the participants see face to face. A dark room, but with the faces lit. It would not be very easy, it would not be very cheap, but go and do it, preferably in Tokyo, perhaps.


<<timeline "modified" "17" "YYYY-0MM-0DD">>
[[::complete timeline|Timeline]]
<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>
{{someBullets{<<xList xCase "sort." "." "[tag[mainMenu]]">>}}}/%
see the descriptions about the above at: http://apm-plugins.tiddlyspot.com/#StylingPackage.
have fun!
-m
%/
/***
!EmasticPercent
***/
/*{{{*/
.dp5, .dp10,.dp15,.dp20,.dp25,.dp30,.dp33,.dp35,.dp40,.dp45,.dp50,
.dp55,.dp60,.dp65,.dp67,.dp70,.dp75,.dp80,.dp85,.dp90,.dp95,.dp100
{float:left; display: inline; }
	
.dp5{width:5%;}
.dp10{width:10%;*width:9.9%;}  .dp15{width:15%;*width:14.9%;}    .dp20 {width:20%;*width:19.9%;}
.dp25{width:25%;*width:24.9%;} .dp30{width:30%;*width:29.9%;}    .dp33 {width:33.33%;*width:33.3%;}
.dp35{width:35%;*width:34.9%;} .dp40{width:40%;*width:39.9%;}    .dp45 {width:45%;*width:44.9%;}
.dp50{width:50%;*width:49.9%;} .dp55{width:55%;*width:54.9%;}    .dp60 {width:60%;*width:59.9%;}
.dp65{width:65%;*width:64.9%;} .dp67{width:66.67%;*width:66.6%;} .dp70 {width:70%;*width:69.9%;}
.dp75{width:75%;*width:74.9%;} .dp80{width:80%;*width:79.9%;}    .dp85 {width:85%;*width:84.9%;}
.dp90{width:90%;*width:89.9%;} .dp95{width:95%;*width:94.9%;}    .dp100{width:100%;*width:99.9%;}
/*}}}*/
/***
!EmasticGrid
***/
/*{{{*/
.main { width:70em;margin:0 auto;text-align:left;  }
.clear {clear:both;}

.dl1,.dl2,.dl5,.dl10,.dl15,.dl20,.dl25,.dl30,.dl35,.dl40,.dl45,.dl50,.dl55,.dl60,.dl65,.dl70,.dl75
{float:left; display: inline; }

.dr1,.dr2,.dr5,.dr10,.dr15,.dr20,.dr25,.dr30,.dr35,.dr40,.dr45,.dr50,.dr55,.dr60,.dr65,.dr70,.dr75
{float:right; display: inline; }

.dl1,  .dr1 {width:1em;}  .dl2,  .dr2 {width:2em;}  .dl5,  .dr5 {width:5em;}
.dl10, .dr10{width:10em;} .dl15, .dr15{width:15em;} .dl20, .dr20{width:20em;}
.dl25, .dr25{width:25em;} .dl30, .dr30{width:30em;} .dl35, .dr35{width:35em;}
.dl40, .dr40{width:40em;} .dl45, .dr45{width:45em;} .dl50, .dr50{width:50em;}
.dl55, .dr55{width:55em;} .dl60, .dr60{width:60em;} .dl65, .dr65{width:65em;}
.dl70, .dr70{width:70em;} .dl75, .dr75{width:75em;}

.ml1 {margin-left:1em;}  .ml2 {margin-left:2em;}  .ml3 {margin-left:3em;}  .ml4 {margin-left:4em;}    
.ml5 {margin-left:5em;}  .ml10{margin-left:10em;} .ml15{margin-left:15em;}
.ml20{margin-left:20em;} .ml25{margin-left:25em;} .ml30{margin-left:30em;}
.ml35{margin-left:35em;} .ml40{margin-left:40em;} .ml45{margin-left:45em;}
.ml50{margin-left:50em;} .ml55{margin-left:55em;} .ml60{margin-left:60em;}
.ml65{margin-left:65em;} .ml70{margin-left:70em;} .ml75{margin-left:75em;}

.mr5 {margin-right:5em;}  .mr10{margin-right:10em;} .mr15{margin-right:15em;} 
.mr20{margin-right:20em;} .mr25{margin-right:25em;} .mr30{margin-right:30em;}
.mr35{margin-right:35em;} .mr40{margin-right:40em;} .mr45{margin-right:45em;}
.mr50{margin-right:50em;} .mr55{margin-right:55em;} .mr60{margin-right:60em;}
.mr65{margin-right:65em;} .mr70{margin-right:70em;} .mr75{margin-right:75em;}

.mt1{margin-top:1em;}   .mt2{margin-top:2em;}   .mt3{margin-top:3em;}   .mt4{margin-top:4em;}
.mt5{margin-top:5em;}   .mt10{margin-top:10em;}
.mt20{margin-top:20em;} .mt30{margin-top:30em;} .mt40{margin-top:40em;}
.mt50{margin-top:50em;}

.fluid {width:auto; float:none;}

.hp{width:100%;  float:left; }

.clearfix, .main{ display:block;} 

.clearfix:after, .main:after {
     visibility: hidden;
     display: block;
     font-size: 0;
     content: " ";
     clear: both;
     height: 0;
	 
     }

/* IE5/MAC hack \*/
* html .clearfix{ display: inline;  height: 1px;}
/* close */ 
/*}}}*/
/***
!EmasticAbsolut
***/
/*{{{*/
.main{position:relative;}
.lf0,.lf5,.lf10,.lf15,.lf20,.lf25,.lf30,.lf35,.lf40,.lf45,.lf50,.lf55,.lf60,.lf65,.lf70,.lf75,.lf80,.lf85,.lfn5,.lfn10,.lfn15,.lfn20,.lfn25,.lfn30,
.tp0,.tp5,.tp10,.tp15,.tp20,.tp25,.tp30,.tp35,.tp40,.tp45,.tp50,
.bt0,.bt5,.bt10,.bt15,.bt20,.bt25,.bt30,.bt35,.bt40,.bt45,.bt50,
.rtn5,.rtn10,.rtn20,.rtn30{position:absolute;}
.lf0{left:0em;}   .lf5{left:5em;}   .lf10{left:10em;} .lf15{left:15em;} .lf20{left:20em;}
.lf25{left:25em;} .lf30{left:30em;} .lf35{left:35em;} .lf40{left:40em;} .lf45{left:45em;}
.lf50{left:50em;} .lf55{left:55em;} .lf60{left:60em;} .lf65{left:65em;} .lf70{left:70em;}
.lf75{left:75em;} .lf80{left:80em;} .lf85{left:85em;} .lfn5{left:-5em;} .lfn10{left:-10em;}

.lfn15{left:-15em;} .lfn20{left:-20em;} .lfn25{left:-25em;} .lfn30{left:-30em;}

.rtn5 {right:-5em;}  .rtn10{right:-10em;} .rtn15{right:-15em;} .rtn20{right:-20em;}
.rtn25{right:-25em;} .rtn30{right:-30em;}

.tp0 {top:0em;}  .tp5{top:5em;}   .tp10{top:10em;} .tp15{top:15em;} .tp20{top:20em;} .tp25{top:25em;}
.tp30{top:30em;} .tp35{top:35em;} .tp40{top:40em;} .tp45{top:45em;} .tp50{top:50em;} 

.bt0{bottom:0em;}   .bt5{bottom:0em;} .bt10{bottom:10em;} .bt15{bottom:15em;} .bt20{bottom:20em;}
.bt25{bottom:25em;} .bt30{bottom:30em;} .bt35{bottom:35em;} .bt40{bottom:40em;} .bt45{bottom:45em;}
.bt50{bottom:50em;}

.zi1{ z-index:1;} .zi2{ z-index:2;} .zi3{ z-index:3;} .zi4{ z-index:4;} .zi5{ z-index:5;}
/*}}}*/
/***
!EmasticGadgets
***/
/*{{{*/
/* CSS Document */
.rc {-moz-border-radius: 10px;  -webkit-border-radius: 10px;  border:1px solid #fff; }
.fr {border:1px solid #ccc; padding:0.25em;}

.byline {
font-family: "Lucida Grande", Tahoma;
	font-size: 0.865em;
	font-weight: lighter;
	font-variant: normal;
	text-transform: uppercase;
	color: #666666;
	letter-spacing: 0.4em;
	display: block;
	margin-bottom: 1.734em;
	padding:0em 0em 0em 1em;
	}
	
.and {font-family: Baskerville, "Goudy Old Style", "Palatino", "Book Antiqua", serif;
	font-style: italic;
	color: #777;
	}

.tc {text-align:center;}
.tr {text-align:right;}
.tl {text-align:left;}
.b  {font-weight:bold;}
.pl1{padding-left:1em;}
.pl2{padding-left:2em;}
.pl3{padding-left:3em;}

.ppl2{padding-left:1.8%;}
.ppl3{padding-left:3.13%;}
.ppl5{padding-left:4.8%;}

.water{color:#5582d1;}
.earth{color:#4e3e2c;}
.air{color:#f1fff7;}
.fire{ color:#ff8a19;}
 /* drinks food */
 .wine{color:#4a040a;}
 .beer{color:#F0C030;}
 .caffe{color:#473523;}
 .caffe-cream{color:#b68d3d;}
 .espresso{color:#2c1901;}
 .caramel{color:#ab671f;}
 .chocolate{color:#290200;}
 .black-pepper{color:#444334;}
 .pepper-lite{color:#8d8a72;}
 
 .lipstick{color:#c20c0c;}
 .oldbook{font-family:"Book Antiqua","Warnock Pro","Goudy Old Style","Palatino",Georgia,serif;}
.note{font-family:Georgia, "Times New Roman", Times, serif; font-style:italic; font-size:0.9em; margin:0.1em; color:#333;} 
.mono{font-family:"Courier New", Courier, monospace;}
/*}}}*/
/***
!EmasticFreeStyle
***/
/*{{{*/
.dpfr{float:right;}
/*}}}*/
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="29pt" viewBox="13 43 29 29" width="29pt" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" onmousedown="if(jQuery) jQuery(document).trigger('cSmaller', {elem:this, comp:{animations:1}})" onmouseup="if(jQuery) jQuery(document).trigger('cResize', {elem:this, comp:{animations:1}})">
 <defs id="defs6">
 <linearGradient id="linearGradient001" y2="27.646" gradientUnits="userSpaceOnUse" x2="-45.8" y1="27.646" x1="-57.66">
   <stop id="stop1" stop-color="#CC9900" offset="0"/>
   <stop id="stop2" stop-color="#E8D18B" offset="0.66462"/>
   <stop id="stop3" stop-color="#CC9900" offset="1"/>
  </linearGradient></defs>
<g id="icon" stroke-linecap="round" stroke-miterlimit="4">
 <rect id="iconBG" style="stroke-dasharray:none;" fill-rule="evenodd" ry="4.1663" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#696969" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="none"/>
 <rect id="iconFG" stroke-width="0" fill-rule="evenodd" ry="2.3755" transform="matrix(0, -1, 1, 0, 0, 0)" width="22" stroke-miterlimit="4" y="16.646" x="-68.6" height="22" fill="url(#linearGradient001)" class="showOnHover" opacity="0"/>
 <g id="iconSymbol">
 <rect id="rect3644" stroke-linejoin="round" style="stroke-dasharray:none;" height="3.8621" width="9.0721" stroke="#4d4d4d" stroke-linecap="round" stroke-miterlimit="4" y="60.465" x="20.233" stroke-width="2" fill="none"/>
 <rect id="rect3646" stroke-linejoin="round" style="stroke-dasharray:none;" height="3.8621" width="9.0721" stroke="#4d4d4d" stroke-linecap="round" stroke-miterlimit="4" y="61.407" x="26.134" stroke-width="2" fill="none"/>
 <path id="path4348" stroke-linejoin="miter" style="stroke-dasharray:none;" d="m20.733,53.2,2.6732-2.9894,0,1.7789,10.673,0.000001,0,2.5977-10.673,0,0,1.6024-2.6732-2.9894z" stroke="#4d4d4d" stroke-linecap="butt" stroke-miterlimit="4" stroke-width="1.48043621" fill="none"/>
</g>
 <rect id="overlay" opacity="0.01" ry="4.1663" style="stroke-dasharray:none;" fill-rule="evenodd" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#e6e6e6" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="#e6e6e6" onmouseover="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})" onmouseout="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})"/>
</g>
</svg>
The 'mainMenu' tag.

It has excludeLists so it won't show up in the tag list of a tiddler that has it.
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
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="29pt" viewBox="13 43 29 29" width="29pt" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" onmousedown="if(jQuery) jQuery(document).trigger('cSmaller', {elem:this, comp:{animations:1}})" onmouseup="if(jQuery) jQuery(document).trigger('cResize', {elem:this, comp:{animations:1}})">
 <defs id="defs6">
 <linearGradient id="linearGradient001" y2="27.646" gradientUnits="userSpaceOnUse" x2="-45.8" y1="27.646" x1="-57.66">
   <stop id="stop1" stop-color="#6BB546" offset="0"/>
   <stop id="stop2" stop-color="#B5DAA2" offset="0.66462"/>
   <stop id="stop3" stop-color="#6BB546" offset="1"/>
  </linearGradient></defs>
<g id="icon" stroke-linecap="round" stroke-miterlimit="4">
 <rect id="iconBG" style="stroke-dasharray:none;" fill-rule="evenodd" ry="4.1663" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#696969" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="none"/>
 <rect id="iconFG" stroke-width="0" fill-rule="evenodd" ry="2.3755" transform="matrix(0, -1, 1, 0, 0, 0)" width="22" stroke-miterlimit="4" y="16.646" x="-68.6" height="22" fill="url(#linearGradient001)" class="showOnHover" opacity="0"/>
 <g id="iconSymbol" stroke="#4d4d4d" stroke-miterlimit="4" fill="none">
  <path id="path3640" stroke-linejoin="round" style="stroke-dasharray:none;" d="m33.165,50.126-10.258,9.3293-2.0113,4.3956,4.2474-2.1224,9.8299-9.5985-1.8075-2.004z" stroke-linecap="butt" stroke-width="1.60000002"/>
  <path id="path3642" stroke-linejoin="miter" style="stroke-dasharray:none;" d="m13.981,27.04,12.705,0" transform="matrix(0.8, 0, 0, 0.8, 13, 43)" stroke-linecap="round" stroke-width="2"/>
 </g>
 <rect id="overlay" opacity="0.01" ry="4.1663" style="stroke-dasharray:none;" fill-rule="evenodd" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#e6e6e6" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="#e6e6e6" onmouseover="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})" onmouseout="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})"/>
</g>
</svg>
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
/***
|''Name''|LoadMissingExternalTiddler|
|''Version''|0.1.0|
|''Author''|Jon Robson|
***/
//{{{
var _loadMissing = Story.prototype.loadMissingTiddler;
Story.prototype.loadMissingTiddler = function(title,fields,callback) {
	var matches = title.match(/([^\*]*) \*\(@([^\)]*)\)\*/);
	if(matches && matches.length > 0) {
		var sTitle = matches[1];
		var space = matches[2];		config.extensions.tiddlyspace.displayServerTiddler(story.getTiddler(title),
			sTitle, "bags/%0_public".format(space));
	} else {
	_loadMissing.apply(this, arguments)
	}
};
//}}}
/***
https://github.com/tiddlyweb/chrjs/raw/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));
//}}}
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
2 groovs match your query:
*[[Horse noocracy]]
*[[That which every joint supplieth]]


/*{{{*/
Background: #e3eaf2
Foreground: #0c141b
PrimaryPale: #ffffff
PrimaryLight: #adc3d9
PrimaryMid: #5b87b3
PrimaryDark: #0a0f15
SecondaryPale: #ffffff
SecondaryLight: #bed9ad
SecondaryMid: #7eb35b
SecondaryDark: #0e150a
TertiaryPale: #ffffff
TertiaryLight: #d9adc7
TertiaryMid: #b35b90
TertiaryDark: #150a11
Error: #f88
ColorPaletteParameters: HSL([210|66], [0.36509835156374804],[0.06232365550379004|1])
/*}}}*/
AAABAAEAEBAAAAEACABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtMjAALjMyAC00MQAuNDIALjQzAC80MwAwNTMAMjY0ADI4NQAzODYANTo4ADQ7OAA1PDkANjw6ADY9OgA4PTsAOD45ADc+OwA5PjwAOz88ADk/PQA6Pz0AOkA9ADtAPgA8QD4AO0FAADtCPwA9QkAAPENAAD5DQQA7RD8APUNCAD5DQgA+REIAPkRDAENEQwBARUMAP0ZBAD9GQwBBRkQAQUZFAEBHRABAR0UAQkdFAEFHRgBBR0cAQUhFAENIRgBCSEcARUhGAEJJRgBCSUgARElIAERKSQBFSkkARUtJAEVLSgBFTEkAQ0xKAEJMSwBHTEoARkxLAEZNSwBITUsAR01MAEhOSQBGTksAR05LAElOSwBHTkwASE5NAElOTwBIT0wASU9NAEdPTgBJT04AR09PAERRSgBKT1AASVBNAEtQTgBKUE8AS1FNAElRTgBKUU4ASlFPAElRUABMUU8AS1FQAEtSTwBLUlAAS1NNAEpTTgBMUlEASVJTAExTUABIUlcASlNTAE1TUgBNVE8ATVRRAE5UUQBLVVIAT1RVAE5VUgBOVVMATVVVAE1WUgBMVlMAT1ZTAFBWUwBOVlYATldUAFBXVABVVlYAT1dXAFBXVwBRWFUATllUAFBYWABSWVYAUllXAFFYWwBRWVgAVFlXAFJZWABRWlYAVFpWAFVbVQBRW1kAVVtaAFZbWwBVXFgAVVxZAFRcWgBWXFsAVl1aAFNdXQBXXlsAVl5dAFRfWwBWX1wAVV9dAFhfXgBXYF4AWmFcAFphXgBVYWIAV2JeAFhhYwBbYl8AWGNhAFxjYABdZWYAW2ZkAFxlaABbZmYAYGdiAF5nZABfZ2UAYGdmAGJoZABjamUAYmpoAFtragBjbGcAXGxqAGVrcgBhbmwAYG1wAGhuawBnb2sAZnBwAGxybgBpc24AbHJxAHBycgBudHIAaHN5AG52dQBwdnUAa3R+AGd4dgBveHQAcHmBAHGAfQBziYwAb4qPAIKQlACFk5AAeZeYAHuZmwCHnZ0AhJ6nAH+gowCHpKQAnqWvAJCwsQCasbEAjrG3AKrFxQCdzNAAtt7kAMLr6wDC8PQA3vP2ANT39wDt9/8A8Pz9APf7/wDx//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADw8kVE9/kaKunl0vASg2NBsAEkmIn4+vtKCNim1ROEsKEiSFkj6jsaqhpVmWXUAwDxc/bkWAt725lKsyN0ZLYh0vPC6Yraa+wrqTVUMsRjgxJBsWiLDDy87Ju6S1YHZwGCsbQ0iQxtDRzMe8z7hmLScSJFc8msDN0srBqcSnfU4UAx0VUFO2xci/sox0d35aORokUHxbcqyzqINwXIaXjl9PZUQTHiM7bE1SOmuBm5UpY51BEBwmKkMuQxxpi2qcKYSdJSAMCw4LEQ0HSIJzcy54dXmHISkpLgIIBgVAR0xkinF7mTMsIhkfBAkaNWFvaHh4VnpnPUBLWCwpQkpeiQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
{{groupbox{@@color:crimson;//Short version//@@: Postmodernism is bad in that it has no courage in sorting out better and worse given a complex, relativistic view of the world. The West currently often works in a modernist fashion yet its culture is heavily post-modernist. It would be groovy if that rather decadent attitude were dropped and an updated version of modernism more explicitly embraced.

{{right{(If you go surfing you want a //good// wave.)}}}}}}
<<<
{{hooky{{{big{“@@color:#930;Since he knew that nothing could quench this burning within@@, @@color:#C30;the possible had multiplied a thousandfold@@; @@color:#F30;but precisely therefore he wanted the impossible@@.”}}}}}}
<<<

<html><div style="width:235px; float: right; margin:20px;">[img[http://kosmaton.bplaced.net/veminra/content/Modernism/Wandering_jew.resized.jpg]]+++{{footnotebutton{[†|source]}}}{{normal{The Wandering Jew by Gustave Doré. [[Photo source|https://secure.wikimedia.org/wikipedia/commons/wiki/File:Wandering_jew.jpg]].}}}===</div></html>The above quote is about Ahasverus, the Wandering Jew, from a 1906 adaptation of that legend by Belgian author August Vermeylen. At the start of the story, Ahasverus is smouldering in his little Jerusalem cobbler shop. Society lacks something which he craves, a certain ambition lost in the multitude of mundane concerns and joys. His encounters with Jesus render the fire unquenchable. In the Vermeylen version this is not about religious belief. It is about explicitating motivations for human existence. And hence - but not in the first place - it is about societal reform. Ahasverus fails to support Jesus in the latter's ultimate showdown with the established order. Then, more distressed than ever, he sets a-roamin' and the story really starts.

What of this 'possible' and 'impossible'? Ahasverus is alienated from society; because society itself is alienated from its place in the Universe+++*{{footnoteButton{[†|note]}}}{{normal{I am taking this 'alienated society' from a 1995 [[pamphlet|http://zinelibrary.info/animal-liberation-and-social-revolution]] on 'veganarchism' by Brian A. Dominick. (I have strong mixed feelings about that essay - see [[Vegetarianism]].)}}}===. Ahasverus's alienation causes the burning - because of fear, perhaps: he has no home to hide in. It also causes the explosion of possibles. Without a home, anywhere and anything is in principle up for consideration. Yet this puts the imagination in overdrive. If the terraced house no longer has an obvious priority in homeliness over the igloo, the luxury castle, or a savanna hillock; if one does not feel unquestionably beholden to a particular political party A, B or C; then there seems no a priori reason to stick to any of these given choices. So the eye travels over the landscape of the possible all the way to its horizon and imaginatively, yearningly, beyond.

I think this Ahasverus makes a good mascot for {{hooky2{Modernism}}}. (Do give your child a Tramp plush toy, to offset Saccharine Bear.) Another symbol is the __spaceship__ - in its most general sense, not the military machine of American science fiction. @@color:#006;Modernism is about being at ease with not having a home, as long as one is traveling hopefully, sincerely and at heart rationally (while acknowledging irrationality).@@ The horizon of the possible is unlikely to be near, and instinct wants the //im//possible anyway. Modernism is suspicious of the suggestion that one is at home while immobile. @@color:#006;It is also about according more importance to the [[world|Altruism]] than to the self.@@ Ahasverus does not seek his own good, his own home, but something more inclusive. (At one point he wishes to 'lose his soul' and 'just' be part of that world whatever its game.) All this is unfortunately schizophrenic. You must try to enjoy where you are travelling here and now, while striving to move on. And humans, while wanting the impossible, also crave comfort, found only in the possible and most easily in the unambitious and egocentric. This is messy: one can expect, and must tolerate, internal conflicts. Due to [[natural selection|Evolution]] and a less-than-ideal world, instinct sets incompatible drives. We just have to deal with that.

When I speak of travel, I mean that in the widest sense of exploration of ideas and ways to live life. This does however include the common sense of travel, as reflected in the argument for neo-nomadism offered by [[horse noocracy|Horse noocracy]].

Time for a quick history of the Western 20th century. Steeped in the echoes of Renaissance and Enlightenment, and through human greed, the industrious 19th century threw open the realm of material possibilities, by exponentially extracting resources and making them easily accessible for human use. This is the difference between ore in the earth; a metal bar ready for the forge or the market place; and a metal mine machine speeding up the extraction of more ore. This accumulation of wealth, and associated problems, allowed for greater ambition regarding societal organisation. Modernism, as a 1910-1930'ish trend, had this ambition. The various artistic pseudopods of this beast - in architecture and design, literature, the visual and musical arts etc. - vibed well with the various experiments of modern socialism, if not explicitly then implicitly through their rejection of tradition. Mind, the focus was less on dour rejection than on jubilant progress: a better world seemed possible. Unhappily, this spirit was largely assimilated, twisted and left maimed by the fascist turn of the 1930s in Germany, Italy and Russia -- all countries where Modernism had soared. (The USA perhaps escaped this fate; various other countries never really did the modernist dance.) Fascism shared the belief in progress; but egocentrically and brutally assumed it knew where to steer the spaceship, how to stop the wandering. Modernism à la [[Bauhaus|http://bauhaus.de/]], ambitious and progressive but with respect for the human scale, was replaced by fasco-modernism which was quick to return to traditionalist forms as e.g. evidenced by modern/constructivist versus stalinist architecture:

{{center{[img[http://kosmaton.bplaced.net/veminra/content/Modernism/Constructivism_vs_Stalinism.jpg]]+++{{footnotebutton{[†|source]}}}{{normal{//Left//: first 1934 concept by the Vesnin brothers for the "People's Commissariat of Construction of Heavy Industry" contest (nothing was built; see [[here|https://secure.wikimedia.org/wikipedia/en/wiki/Narkomtiazhprom]]). //Right//: 1939 central pavilion of the ~All-Russia Exhibition Centre, Moscow (replaced in the 1950s; see [[here|https://secure.wikimedia.org/wikipedia/ru/wiki/Главный_павильон_ВДНХ]]).}}}===}}}
The bullies had gotten hold of the ball; then, in the Second World War they got their butts kicked by the pestered 'free world'. This traumatic experience for the West (while further firing on the economy) had thrown the realm of the possible and imaginable open ever more widely. Yet is had also tainted the idea of progress. The widening allowed emancipation of all kinds in the 1960s and continuing to-day; the tainting led to cultural relativism.

If one supports [[egalitarianism]] then __emancipation__ must be applauded.

Excessive __relativism__ is another matter. The core point is sound: if there are different observers, then things //are// relative. If one says 'good' it must be specified relative to what or whom. (But one should not deny consensus(es) among observers either, and the causes thereof.) But just as physicists would have been crazy to give up all hope of knowledge after relativity theory highlighted a different view of things, postmodernism goes overboard when it jumps from 'good relative to something' to 'anything goes'. A relativistic view simply compels modernist Ahasverus to think and work harder, to express more [[complex|Macroscope]] ideas from more different viewpoints, more [[compassionately|Compassion]]. In contrast, the ~Post-Ahasverus has given up travelling in a "hopeful and sincere direction", and instead typically sets up 'home' in an inconsistent mix of artfulness, obligate multi-culti political correctness, indulgence in instincts (often self-hidden by a denial of biological-material [[reality|Materialism]]), and ever-present irony as a trump card to ward off criticism. I think postmodernism made a good fundamental point (relativism) but its ~Post-Ahasverus exponents act cowardly. They say 'there is no home' yet meekly make //that// their home. Forget it! On we must travel! We [[will|Free will]] make the mistakes as they come.

And indeed excessive postmodernism is one such mistake. So all is forgiven; let us move on. It is time, after a century, to give modernism a second breath, with the benefit of hindsight. The West has perhaps never been as emancipated as it is to-day -- though this is still largely based, in a 'do we have fuel for this torch of freedom?' sense, on international exploitation. So the full macroscopic view may not be quite as rosy. Still, we have the first US president with direct African biological heritage and associated culture bits. Religion seems to be losing more of its footing in much of Europe. We have institutionalisation of sexual liberties in various countries, systematic persecution of war criminals, emerging empowerment of the elderly after we sort of gladly forgot about them. Yet at the same time there seems to be a tiredness, a decadence hanging over the West, mixed with a mounting panic about the rising, seemingly not always enlightened powers in the rest of the world. (The West's enlightenment can hardly be questioned in its aims, which are spelled out clearly; but certainly in its imperialistic means. There is room for improvement and one might hope, cautiously!, that the previously oppressed will strike back with complementary wisdom rather than revenge.)

Our political and economic institutions that do the day-to-day work are modernist. They tend to work technocratically; they do the heavy cost/benefit calculations of Ahasverus-in-multidimensional-space. But curiously, and tragically, they seem soulless, and the culture of the human cogs in these machines is often postmodern. Mr X may work for an institution accomplishing lofty modernist aims, yet privately overindulge in "so bad they're good movies" which exploit a vacuous sense of accomplishment in the Ironic Arts, and which cost resources that could be used for "so good it's good" stuff.

I could go on after 'bad movies', about 'shallow music' and 'pretentious music', 'boring junk food' and 'pretentious foodism', etc. This seems/is a rather elitist stance, but that is how it goes, perhaps, cyclically: high culture is made, elitist problems are found with it, mass culture is elevated, this gets a new high culture counter-reaction. Still, all this is very annoying. Economic and class differences should ideally not preclude an individual's ability and wish to separate the chaff from the wheat. Postmodernism's split-tongue praise of the average and lowly is more disrespectful in this sense than a little egalitarian elitism. I may also seem to be taking side with the conservative and humourless, as we share a stress on sincerity. But modernism is clearly progressive: there can be innovation without pretentiousness, and humour without obligate silliness or cynicism.

I must stress: to each their own (within the limits of [[mutual freedom|No free will, so grant us freedom]]). If you like "so bad it's good", I want no neo-fascist to beat you out of it. I //will// sound a more ambitious trumpet, though. The current disharmonious mixture of the modern and postmodern seems logically inconsistent and untenable. Sure, in large systems, goals at one level can be ostensibly incompatible with, but actually supportive of, goals at another level. This may endure indefinitely in e.g. a non-human ecosystem. But humans are reflexive and tend to be bothered by inconsistency and by being cannon fodder in higher-level mechanisms, so there is a drive for amendment.

Modernist Ahasverus must strike a balance between ambition and mercifully pushing enough human-scale buttons. One can let this balance be struck at the level of society itself, with strong ambition:

{{center{[img[http://kosmaton.bplaced.net/veminra/content/Modernism/800px-Ministere-des-Finances-Berc.resized.jpg]]+++{{footnotebutton{[†|source]}}}{{normal{French ministry of finances, Paris. [[Photo source|https://secure.wikimedia.org/wikipedia/commons/wiki/File:Ministere-des-Finances-Berc.jpg]] and [[more info|http://www.paris-architecture.info/PA-076.htm]].)}}}===


... counterbalanced by homeliness:

[img[http://kosmaton.bplaced.net/veminra/content/Modernism/English_Street%2C_Longtown_-_geograph.org.uk_-_166996.resized.jpg]]+++{{footnotebutton{[†|source]}}}{{normal{Terraced houses in Longtown, Cumbria, UK. [[Photo source|https://secure.wikimedia.org/wikipedia/commons/wiki/File:English_Street,_Longtown_-_geograph.org.uk_-_166996.jpg]].}}}===


... with only a slight sprinkling, to keep one on one's toes, of 'ironic crap':

[img[http://kosmaton.bplaced.net/veminra/content/Modernism/642px-M2_Building.resized.jpg]]+++{{footnotebutton{[†|source]}}}{{normal{Building of the now defunct Mazda concern and car manufacturer M2, Tokyo, Japan. [[Photo source|https://secure.wikimedia.org/wikipedia/fr/wiki/Fichier:M2_Building.jpg]].}}}===
}}}
Or one can attempt to sagely skip that 'young blind fools' fitness struggle, and integrate space-groove and homeliness right away:

{{center{[img[http://kosmaton.bplaced.net/veminra/content/Modernism/800px-First_SwimmingPool_in_Japan%28Nisshinkan%29.resized.jpg]]+++{{footnotebutton{[†|source]}}}{{normal{Restored 19th century [[swimming pool|Baths]] at Nisshinkan school, Tsuruga castle, Japan. [[Photo source|https://secure.wikimedia.org/wikipedia/commons/wiki/File:First_SwimmingPool_in_Japan%28Nisshinkan%29.jpg]].}}}===}}}
While I am no enemy of variety, I think the latter option causes less superfluous fuss. It is no wonder that this sort of harmonious setting is currently enjoyed mostly by the wealthy in an exclusive fashion - with subsequent partial corruption of its beauty. It may simply be unaffordable at a societal level. However, something like Bauhaus tried to make it affordable, which is a first step; and if current cheap consumer products are part of their legacy, they succeeded to some extent, though surely part of their ambition became lost+++*{{footnoteButton{[†|note]}}}{{normal{Incidentally, with the unfair advantage of hindsight, I would say they may have tended a bit too much towards abstraction and simplification - see [[Detail in design]].}}}===.

Harmony also carries a risk of complacency. But a wise Ahasverus minds the Second Law of Thermodynamics: he enjoys and seeks, while expecting decay and disaster, all the time.



/***
|''Name''|BinaryUploadPlugin|
|''Version''|0.3.15|
|''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" /></div>').
			submit(function(ev) {
				this.target = iframeName;
				options.target = iframeName;
				macro.uploadFile(place, baseURL, workspace, options);
			});
		$('<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);
//}}}
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="29pt" viewBox="13 43 29 29" width="29pt" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" onmousedown="if(jQuery) jQuery(document).trigger('cSmaller', {elem:this, comp:{animations:1}})" onmouseup="if(jQuery) jQuery(document).trigger('cResize', {elem:this, comp:{animations:1}})">
 <defs id="defs6">
 <linearGradient id="linearGradient001" y2="27.646" gradientUnits="userSpaceOnUse" x2="-45.8" y1="27.646" x1="-57.66">
   <stop id="stop1" stop-color="#CC9900" offset="0"/>
   <stop id="stop2" stop-color="#E8D18B" offset="0.66462"/>
   <stop id="stop3" stop-color="#CC9900" offset="1"/>
  </linearGradient></defs>
<g id="icon" stroke-linecap="round" stroke-miterlimit="4">
 <rect id="iconBG" style="stroke-dasharray:none;" fill-rule="evenodd" ry="4.1663" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#696969" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="none"/>
 <rect id="iconFG" stroke-width="0" fill-rule="evenodd" ry="2.3755" transform="matrix(0, -1, 1, 0, 0, 0)" width="22" stroke-miterlimit="4" y="16.646" x="-68.6" height="22" fill="url(#linearGradient001)" class="showOnHover" opacity="0"/>
 <g id="iconSymbol" stroke="#4d4d4d" stroke-linecap="round" stroke-miterlimit="4">
  <path id="path2868" stroke-linejoin="miter" style="stroke-dasharray:none;" d="m54.317,7.6768a1.9973,1.9973,0,1,1,-3.9947,0,1.9973,1.9973,0,1,1,3.9947,0z" transform="matrix(0.8, 0, 0, 0.8, -13.3206, 45.4412)" stroke-width="2" fill="none"/>
  <path id="path2870" stroke-linejoin="miter" style="stroke-dasharray:none;" d="m28.659,61.002,1.5965,3.6122,3.918-0.52745,0.36073,2.2515m-14.924-6.2337,0.69646,2.1742,4.0617-1.7571,3.9354,0.03647" stroke-width="2.4" fill="none"/>
  <path id="path2872" stroke-linejoin="round" style="stroke-dasharray:none;" d="m30.528,55.591,3.4621,1.1984-1.7754,2.7075" stroke-width="2.4" fill="none"/>
  <path id="path2874" stroke-linejoin="round" style="stroke-dasharray:none;" d="m26.399,55.461-3.7651,0.63128-1.5048-3.1324" stroke-width="2.4" fill="none"/>
 </g>
 <rect id="overlay" opacity="0.01" ry="4.1663" style="stroke-dasharray:none;" fill-rule="evenodd" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#e6e6e6" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="#e6e6e6" onmouseover="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})" onmouseout="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})"/>
</g>
</svg>
|linkTable|k
|width:400px; !by modified date |width:400px; !by date created |
|vertical-align:top;padding-left:20px;<<timeline "modified">>|vertical-align:top;padding-left:20px;<<timeline "created">>|
<html>
<form name="searchForm" style="width: 92%; height: 17px;" onsubmit="return false;" style="overflow: hidden;">
	<input type="text" class="text" id="searchTerm" name="searchTerm" alt="Search box" title="Search box" style="width: 95%; max-width: 500px; height: 15px; margin-bottom: 0px; padding-top: 3px; background: ivory url(magniglass.png) left no-repeat; padding-left: 23px;" />
	<div style="overflow: hidden; white-space: nowrap;"><input type="checkbox" id="wholeWords" name="wholeWords" value="no" /><label for="wholeWords" style="white-space: nowrap; font-size: small;">Whole words only</label></div>
</form>
</html>

<script>
jQuery("#searchTerm").keyup(function(event){

	if(event.keyCode == 13){

		var wholeOnly = document.searchForm.wholeWords.checked;
		if (!wholeOnly)
			var text = document.getElementById('searchTerm').value;
		else
			var text = '\\b'+document.getElementById('searchTerm').value+'\\b';

        	highlightHack = new RegExp(text,'img');
        	var matches = store.search(highlightHack,'tags','content',true);
        	highlightHack = null;

        	if (matches.length > 0) {

			story.closeTiddler('Search results');

			var newtext;
			if (matches.length == 1)
				newtext = '\n\n1 [[groov|Groov]] matches your query:\n';
			else
				newtext = '\n\n' + matches.length.toString() + ' [[groovs|Groov]] match your query:\n';
			var titles = new Array();
			jQuery(matches).each(function(i) {
				titles[i] = this.title;
			});
			titles.sort();
			jQuery(titles).each(function() {
				newtext = newtext + '*[[' + this + ']]\n';
			});
			newtext = newtext + '\n\n';
			var SRtiddler = store.getTiddler('Search results');
			SRtiddler.text = newtext;
			story.displayTiddler('top', 'Search results');
	
        	}

		else displayMessage("Sorry, nothing found.");

		return false;

	}
});
</script>
<!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="write"><a href="/takenote">
								<img src="/bags/common/tiddlers/pencil_blue.png" alt="Icon for Takenote" class="app-img" />
								WRITE
								</a>
							</li>
							<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="links">
								<a href="/links">
									<img src="/bags/common/tiddlers/share_blue.png" alt="Icon for the Links App" class="app-img" />
									SHARE
								</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="writedesc"><p>write your notes on the web.  Link them, tag them, share them.  Your notes are available everywhere, on and offline.</p></li>
							<li class="htmlserialisationdesc"><p>an easy to understand HTML representation of your content.</p></li>
							<li class="linksdesc"><p>share direct links to your content. The share app provides you with quick and easy access to the key links within your TiddlySpace.</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>
<!--{{{-->
<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>
<!--}}}-->
*[[https://secure.wikimedia.org/wikipedia/commons/wiki/File:J._Bosch_Adoration_of_the_Magi_Triptych_%28central_panel%29.jpg|https://secure.wikimedia.org/wikipedia/commons/wiki/File:J._Bosch_Adoration_of_the_Magi_Triptych_%28central_panel%29.jpg]]
*[[https://secure.wikimedia.org/wikipedia/commons/wiki/File:Gekko_Emperor_Godaigo.jpg|https://secure.wikimedia.org/wikipedia/commons/wiki/File:Gekko_Emperor_Godaigo.jpg]]
*[[https://secure.wikimedia.org/wikipedia/commons/wiki/File:The_Claire_Triptych_DCP_1477.JPG|https://secure.wikimedia.org/wikipedia/commons/wiki/File:The_Claire_Triptych_DCP_1477.JPG]]
{{hooky2{s&c}}} stands for '[[solve et coagula|Solve et coagula]]'.


/***
|Name|InlineJavascriptPlugin|
|Source|http://www.TiddlyTools.com/#InlineJavascriptPlugin|
|Documentation|http://www.TiddlyTools.com/#InlineJavascriptPluginInfo|
|Version|1.9.6|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|Insert Javascript executable code directly into your tiddler content.|
''Call directly into TW core utility routines, define new functions, calculate values, add dynamically-generated TiddlyWiki-formatted output'' into tiddler content, or perform any other programmatic actions each time the tiddler is rendered.
!!!!!Documentation
>see [[InlineJavascriptPluginInfo]]
!!!!!Revisions
<<<
2010.12.15 1.9.6 allow (but ignore) type="..." syntax
|please see [[InlineJavascriptPluginInfo]] for additional revision details|
2005.11.08 1.0.0 initial release
<<<
!!!!!Code
***/
//{{{
version.extensions.InlineJavascriptPlugin= {major: 1, minor: 9, revision: 6, date: new Date(2010,12,15)};

config.formatters.push( {
	name: "inlineJavascript",
	match: "\\<script",
	lookahead: "\\<script(?: type=\\\"[^\\\"]*\\\")?(?: src=\\\"([^\\\"]*)\\\")?(?: label=\\\"([^\\\"]*)\\\")?(?: title=\\\"([^\\\"]*)\\\")?(?: key=\\\"([^\\\"]*)\\\")?( show)?\\>((?:.|\\n)*?)\\</script\\>",
	handler: function(w) {
		var lookaheadRegExp = new RegExp(this.lookahead,"mg");
		lookaheadRegExp.lastIndex = w.matchStart;
		var lookaheadMatch = lookaheadRegExp.exec(w.source)
		if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
			var src=lookaheadMatch[1];
			var label=lookaheadMatch[2];
			var tip=lookaheadMatch[3];
			var key=lookaheadMatch[4];
			var show=lookaheadMatch[5];
			var code=lookaheadMatch[6];
			if (src) { // external script library
				var script = document.createElement("script"); script.src = src;
				document.body.appendChild(script); document.body.removeChild(script);
			}
			if (code) { // inline code
				if (show) // display source in tiddler
					wikify("{{{\n"+lookaheadMatch[0]+"\n}}}\n",w.output);
				if (label) { // create 'onclick' command link
					var link=createTiddlyElement(w.output,"a",null,"tiddlyLinkExisting",wikifyPlainText(label));
					var fixup=code.replace(/document.write\s*\(/gi,'place.bufferedHTML+=(');
					link.code="function _out(place,tiddler){"+fixup+"\n};_out(this,this.tiddler);"
					link.tiddler=w.tiddler;
					link.onclick=function(){
						this.bufferedHTML="";
						try{ var r=eval(this.code);
							if(this.bufferedHTML.length || (typeof(r)==="string")&&r.length)
								var s=this.parentNode.insertBefore(document.createElement("span"),this.nextSibling);
							if(this.bufferedHTML.length)
								s.innerHTML=this.bufferedHTML;
							if((typeof(r)==="string")&&r.length) {
								wikify(r,s,null,this.tiddler);
								return false;
							} else return r!==undefined?r:false;
						} catch(e){alert(e.description||e.toString());return false;}
					};
					link.setAttribute("title",tip||"");
					var URIcode='javascript:void(eval(decodeURIComponent(%22(function(){try{';
					URIcode+=encodeURIComponent(encodeURIComponent(code.replace(/\n/g,' ')));
					URIcode+='}catch(e){alert(e.description||e.toString())}})()%22)))';
					link.setAttribute("href",URIcode);
					link.style.cursor="pointer";
					if (key) link.accessKey=key.substr(0,1); // single character only
				}
				else { // run script immediately
					var fixup=code.replace(/document.write\s*\(/gi,'place.innerHTML+=(');
					var c="function _out(place,tiddler){"+fixup+"\n};_out(w.output,w.tiddler);";
					try	 { var out=eval(c); }
					catch(e) { out=e.description?e.description:e.toString(); }
					if (out && out.length) wikify(out,w.output,w.highlightRegExp,w.tiddler);
				}
			}
			w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
		}
	}
} )
//}}}

// // Backward-compatibility for TW2.1.x and earlier
//{{{
if (typeof(wikifyPlainText)=="undefined") window.wikifyPlainText=function(text,limit,tiddler) {
	if(limit > 0) text = text.substr(0,limit);
	var wikifier = new Wikifier(text,formatter,null,tiddler);
	return wikifier.wikifyPlain();
}
//}}}

// // GLOBAL FUNCTION: $(...) -- 'shorthand' convenience syntax for document.getElementById()
//{{{
if (typeof($)=='undefined') { function $(id) { return document.getElementById(id.replace(/^#/,'')); } }
//}}}
/***
|''Name''|TiddlySpaceInitialization|
|''Version''|0.7.2|
|''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 rel="shortcut icon" href="/recipes/%0_public/tiddlers/favicon.ico" />
<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);
	},
	setupMarkupPreHead: function() {
		var pubWorkspace = tiddlyspace.getCurrentWorkspace("public");
		var existing = store.getTiddler("MarkupPreHead");
		if(!existing || existing.fields["server.workspace"] != pubWorkspace) {
			tweb.getStatus(function(status) {
				var tid = new Tiddler("MarkupPreHead");
				tid.text = markupPreHead.format(currentSpace.name, tiddlyspace.getHost(status.server_host,
					currentSpace.name));
				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]);
			});
		}
	}
};

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

})(jQuery);
//}}}
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
/***
|''Name''|FormScript|
|''Description''|To be called in ViewTemplate after the form html, to individualise and assign tasks to various form elements|
|''Author''|Kosmaton|

Note: not a 'public' plugin in that it's not yet finetuned for general use

***/

//{{{
config.macros.FormScript = {
   handler: function (place, macroName, params, wikifier, paramString, tiddler)
   {
	var tiddlerTitle = tiddler.title;
	var tiddlerHash = store.getValue(tiddlerTitle,'_hash');

	// rename the form's various IDs to make them tiddler-specific
	var IDsArray = new Array("tabletLink1", "contactform", "form", "theSubject", "captcha", "newButton", "submitbutton", "responseDiv", "chkbx", "chkbxLabel", "othersSay");
	for (i=0; i < IDsArray.length; i++){
	    jQuery('#'+IDsArray[i]).attr('id',tiddlerHash+'-'+IDsArray[i]);
	}

	// change attributes to refer to the new IDs

	jQuery('#'+tiddlerHash+'-chkbxLabel').attr('for', tiddlerHash+'-chkbx');

	if (tiddlerTitle != "Kosmaton") jQuery('#'+tiddlerHash+'-theSubject').attr('value', tiddlerTitle);

	// Set on-newButton-click: get a new captcha
	jQuery('#'+tiddlerHash+'-newButton').click( function() {
 		document.getElementById(tiddlerHash+"-captcha").src = "http://kosmaton.bplaced.net/veminra/securimage/securimage_show.php?" + Math.random();
		return false;
	} );

	// Set on-submitbutton-click: submit the form
	jQuery('#'+tiddlerHash+'-submitbutton').click( function() {
		var query_url = "http://kosmaton.bplaced.net/veminra/contact/veminra_contact.php";
		var thedata = jQuery("#"+tiddlerHash+"-form").serialize() + "&tiddler=" + tiddlerHash;
		var options = {
			type: 'GET',
			url: query_url,
			dataType: 'jsonp',
			data: thedata
		};
		jQuery.ajax(options);
		jQuery("#"+tiddlerHash+"-responseDiv").slideDown('slow');
		// update all captcha images
		jQuery(".captchaImage").attr('src', "http://kosmaton.bplaced.net/veminra/securimage/securimage_show.php?" + Math.random() );
	} );

	// Refresh all captcha images
	jQuery('.captchaImage').attr( 'src', "http://kosmaton.bplaced.net/veminra/securimage/securimage_show.php?" + Math.random() );

   }
};

//}}}
{{center{{{thumbnail{[img[data:image/jpg;base64,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]]}}}}}}
{{center{from+++*{{footnoteButton_red{[†|note]}}}{{normal{{{blue{Adapted from [[etymonline.com|http://www.etymonline.com]].}}}}}}=== +++!!!!*@[automaton] {{groupbox_footed{{{normal{1610s, from L. //automaton// (Suetonius), from Gk. //automaton//, neut. of //automatos// "self-acting," from //autos// "@@color:crimson;''self''@@" + //matos// "@@color:crimson;''thinking''@@, animated, willing," from PIE *//mn-to-//, from base *//men-// "to think".}}}}}}=== with less //auto// and more +++!!!!*@[kosmo]
{{groupbox_footed{{{normal{c.1200 (but not popular until 1848, as a translation of Humboldt's //Kosmos//), from Gk. //kosmos// "order, good order, orderly arrangement," a word with several main senses rooted in those notions: The verb //kosmein// meant generally "to dispose, prepare," but especially "to order and arrange (troops for battle), to set (an army) in array;" also "to establish (a government or regime);" "to deck, adorn, equip, dress" (especially of women). Thus //kosmos// had an important secondary sense of "ornaments of a woman's dress, decoration" (cf. //kosmokomes// "dressing the hair") as well as "the universe, the world." Pythagoras is said to have been the first to apply this word to "the universe," perhaps originally meaning "the starry firmament," but later it was extended to @@color:crimson;''the whole physical world''@@, including the earth.}}}}}}===
([[here's why|Free will]])

<html><!-- ***** BEGIN CONTACT FORM ***** -->

<div style="width: 350px; height: auto; margin-left: auto; margin-right: auto; font-style: italic; padding-bottom: 10px; overflow: auto;">
   <div style="width: 220px; margin-left: auto; margin-right: auto;">
	<div style="float: left; padding-top: 10px; padding-left: 3px; margin-right: 10px; color: mediumaquamarine;">Get in touch ⇨</div>
	<img id="tabletLink1" class="tabletLink"  src="claytablet_small.png" style="float: left; padding-top: 5px;" onclick="jQuery('#'+this.id.slice(0,-12)+'-contactform').slideToggle('slow');"></img>
   </div>
</div>
			
<div id="contactform" class="contactform" style="display: none;">

<!-- Form target/method handled by jQuery's .post (see below) -->
<form id="form" class="form">

<label class="name">Name<br /><input class="text" name="name" type="text" /><br /></label>

<label class="email">E-mail address<br /><input class="text" name="email" type="text" /><br /></label>

<label class="subject">Subject<br /><input class="text" name="subject" type="text" id="theSubject" /><br /></label>

<label class="msg">Message<br /><textarea class="text" name="msg" style="height: 115px;"></textarea><br /></label>

<input type="hidden" name="browser_check" value="false" />

<div style="width: 300px; height: 80px; position: relative;">

	<img id="captcha" class="captchaImage" src="http://kosmaton.bplaced.net/veminra/securimage/securimage_show.php" alt="CAPTCHA Image" style="position: absolute; left: 15px; top: 10px; border: 3px double gainsboro;" />

	<object alt="Listen to captcha code" title="Listen to captcha code" width="32" height="32" style="position: absolute; left: 210px; top: 10px;" type="application/x-shockwave-flash" data="http://dl.dropbox.com/u/8334322/securimage_play.swf?audio=http://kosmaton.bplaced.net/veminra/securimage/securimage_play.php&amp;bgColor1=#ddd&amp;bgColor2=#fff&amp;iconColor=#f55&amp;borderWidth=1&amp;borderColor=#f00">
		<param name="movie" value="http://dl.dropbox.com/u/8334322/securimage_play.swf?audio=/securimage/securimage_play.php&amp;bgColor1=#ddd&amp;bgColor2=#fff&amp;iconColor=#f55&amp;borderWidth=1&amp;borderColor=#f00" />
	</object>

	<div style="position: absolute; left: 251px; top: 10px; width: 30px; height: 30px; background-color: white; color: darkgreen; border: 1px solid black; text-align: center;">
		<a id="newButton" href="javascript:;" title="Get a new code" style="font-size: x-large; font-style:normal; line-height: 30px;">♻</a>
	</div>
	<input class="text" type="text" name="captcha_code" maxlength="6" style="width: 80px; text-align: center;  position: absolute; left: 202px; top: 48px;" />

</div>
<div style='font-size: 77%; margin-bottom: 6px; margin-left:20px; color: DarkSlateGray'>Requires browser cookies enabled (temporarily)</div>
<input id="chkbx" type="checkbox" name="selfcopy" checked="checked" value="yes" style="margin-left:15px;" /><label id="chkbxLabel" style="color: black;">Send a copy to yourself? </label>
<a id="submitbutton" class="submitbutton">Submit</a>

</form>
<div id='responseDiv' class='responseDiv' style='width: 300px; height: 30px; display: none; background-color: rgba(239, 234, 150, 0.7); margin: 17px 15px 0 0; padding: 6px; -moz-border-radius:15px; -webkit-border-radius:15px; border-radius:15px;'></div>

</div>

<!-- ***** END CONTACT FORM ***** --></html>
<<FormScript>>

<html><div style="width: 125; margin: auto;"><a href="http://www.guardian.co.uk/commentisfree/andrewbrown/2010/may/14/facebook-not-your-friend" target="_blank"><img src="notf'd_black.png" alt="Not f'd. You won't find me on Facebook" width="125"></a></div></html>

}}}
emastic a CSS framework: http://code.google.com/p/emastic/
/***
|''Name''|NrOfTwinsPlugin|
|''Description''|...|
|''Author''|Kosmaton|

Note: not a 'public' plugin in that its output is styled specifically for //ve minra//...

***/

//{{{

config.macros.NrOfTwins = {
	handler: function (place, macroName, params, wikifier, paramString, tiddler)
	{
		var theTitle = tiddler.title;
		var theHash = store.getValue(theTitle,'_hash');

		var query_url = "/search.json?q=title:\""+theTitle+"\"";

		jQuery.getJSON(query_url, function(result){

			var NrOTwins = result.length - 1;

			var textStyle = "style=\"float: left; padding-top: 10px; padding-left: 3px; margin-right: 10px;\"";

			if (NrOTwins < 1) {
				var buttonHTML = "<img id=\""+theHash+"-tabletLink2\" src=\"claytablet_multi_grey.png\" style=\"padding-top: 5px; float: left;\"></img>";
				var output = "<div "+textStyle+">No other spaces have a groov called “" + theTitle +"”.</div>" + buttonHTML;
			}
			else {
				var buttonHTML = "<img id=\""+theHash+"-tabletLink2\" class=\"tabletLink\"  src=\"claytablet_multi.png\" style=\"padding-top: 5px; float: left; cursor: pointer;\" onclick=\"jQuery('#'+this.id.slice(0,-12)+'-othersSay').slideToggle('slow');\"></img>";
				if (NrOTwins == 1) var output = "<div "+textStyle+">1 other space has a groov called “" + theTitle +"”:</div>" + buttonHTML;
				else var output = "<div "+textStyle+">"+ NrOTwins + " other spaces have a groov called “" + theTitle +"”:</div>" + buttonHTML;	
			}

			jQuery(output).appendTo(place);

		});
	}
};

//}}}
/*{{{*/

/* SPECIFIC TIDDLERS */

#tiddlerKosmaton .content {
	background-image: url('space_92.jpg');
	color: wheat;
}


/* GState tiddlers alchemy */
.tiddler[id="tiddlerGState:_Solid"] .content {
	background-image: url('http://kosmaton.bplaced.net/veminra/content/GStates/alche_earth_small.png');
	background-repeat: repeat-y;
	background-position: -20px 0px;
}
.tiddler[id="tiddlerGState:_Liquid"] .content {
	background-image: url('http://kosmaton.bplaced.net/veminra/content/GStates/alche_water_small.png');
	background-repeat: repeat-y;
	background-position: -20px 0px;
}
.tiddler[id="tiddlerGState:_Gas"] .content {
	background-image: url('http://kosmaton.bplaced.net/veminra/content/GStates/alche_air_small.png');
	background-repeat: repeat-y;
	background-position: -20px 0px;
}
.tiddler[id="tiddlerGState:_Plasma"] .content {
	background-image: url('http://kosmaton.bplaced.net/veminra/content/GStates/alche_fire_small.png');
	background-repeat: repeat-y;
	background-position: -20px 0px;
}

.tiddler[id="tiddlerGState:_Under_construction"] .content {
	background-image: url('UCOrange.png');
	background-repeat: repeat-y;
	background-position: -20px 0px;
}

.tiddler[id="tiddlerSolve_et_coagula"] .content {
	background-image: url('http://kosmaton.bplaced.net/veminra/content/Solve%20et%20coagula/eloge.png');
	background-repeat: no-repeat;
	background-position: center top;
}

.tiddler[id="tiddlerSearch_results"] .content {
	background-image: url('magglass_transp.png');
	background-repeat: no-repeat;
	background-position: left top;
}

/*}}}*/
/*{{{*/
#menuBar {
	position: relative;
	background-color: [[ColorPalette::PrimaryMid]];
	min-height: 1em;
	overflow: hidden;
	font-size: 1.1em;

/* if you have a light bar border would be fine */
/*
	border-top: 1px solid [[ColorPalette::PrimaryDark]];
	border-bottom: 1px solid [[ColorPalette::PrimaryDark]];
*/
	width: 100%; /* for ie 6 */
}

/* horizontal main menu stuff */
.topMenu, .topMenu a{
	padding-top: 0.2em;
	padding-bottom: 0.2em;
}

.topMenu ul,
.topMenu ol {
	list-style:none;
	padding:0;
	margin: 0;
}

.topMenu li {
	float: left;
}

#mainMenu {
	width:auto;		/*-- new in emastic --*/
	position:relative; 	/*-- new in emastic --*/
	text-align:right; 
	color: Crimson;
	font-size:1.1em;
	padding: 0.5em 0.5em 0;  /* same as box */
}

#mainMenu a {
	padding: 0.2em 0.2em; 
}

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

#sidebarOptions {
	color: [[ColorPalette::PrimaryDark]];
}

#sidebarOptions {
	min-height: 1em;
}

#sidebarOptions .button, #sidebarOptions .tiddlyLink, #sidebarOptions a, 
.topMenu .button, .topMenu .tiddlyLink, .topMenu a {
	margin-left: 0.5em;
	margin-right: 0.5em;
	padding-left: 3px;
	padding-right: 3px;
	color: [[ColorPalette::PrimaryPale]];
	border: none;
	display: inline;
}

#sidebarOptions .button:hover, #sidebarOptions .tiddlyLink:hover,
.topMenu .button:hover, .topMenu .tiddlyLink:hover {
	color: [[ColorPalette::PrimaryDark]];
	background: [[ColorPalette::PrimaryPale]];
}

/*}}}*/
/***
|''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));
//}}}
@@Please do not modify this tiddler; it was created automatically upon space creation.@@
Learn more at: http://freestyle.tiddlyspace.com/
[>img[Bosch_triptych.gif]]Ave!

This theme is a variation by @kosmaton on the [[NeUI-em|http://neui-em.tiddlyspace.com]] theme by @pmario.

It features a clickable central image map, and left and right sidebars that can be either __unlocked__ (in which case they pop up when you hover over their 'trigger box' on the side of the screen), or __locked__ (which makes them resizable). More ''details'' below, as well as instructions for ''customisation''.

The theme is a //template//, offering more functionality than upholstery. For an example of how it can be customised, visit the [[ve minra|http://veminra.tiddlyspace.com]] space.

''To use this theme for your space'', include it from the 'includes' tab in the backstage area of your space. The ~NeUI-em theme and its dependencies will be included automagically if you did not have them already.

!!!Features
*[>img[Godaigo_triptych.gif]] Centred clickable image map
* Tabbed story display, with added buttons:
** ⇵ Roll the story (current set of open tiddlers) up/down to reveal/hide the image map
** ♻ Permaview (store current story in the browser's location bar)
** ✗ Close all tiddlers
* Funky sidebars:
** collapsed to the L/R sides of the screen by default
** hover the images to open, hover off to re-collapse
** while sidebar is open, click ♾ to fix it in place (♾ toggles back from fixed to collapsible too)
*** fixed sidebars are resizable
*** the tiddler area adjusts to sidebar and browser window/viewport widths
** sidebars stay in place vertically so you can access them while you have scrolled down a long tiddler
* Modified ~ViewTemplate and ~EditTemplate compared to ~NeUIem, omitting titles (as these can be seen in the tabs) and making use of the freed up space.

''Designed for scalability:''
* Minimal initial interface, potentially using the image as the site's entrance point (if you have //no// tiddlers tagged 'default' so none are opened when first loading the page).
* Useful when working on a mobile device / small screen.

!!!Customisation

[>img[Jackie_triptych.gif]]As with most things ~TiddlyWiki, Triptych is highly customisable. Pick from the following what you need. Editing the image map may seem a bit daunting at first and you will need to edit TriptychTheme directly, but it's not that hard.

!!!!The image map 
*If you do not want a central image map at all, delete everything between {{{3. BACKGROUND IMAGE MAP}}} and {{{END OF BACKGROUND IMAGE MAP CODE}}} in TriptychTheme.
*Otherwise you will want to change the default images and map. You need to BinaryUpload the following images (jpg, gif, png...):
**a main background image; call it "fond.gif" (or change "fond.gif" in TriptychTheme to the name of your image)
**a completely transparent image of the same dimensions; call it "transp.gif"
**as many images as you will have clickable hotspots in the image, each of which will show when hovering over a particular hotspot. //These need to be again of the same dimensions as fond.gif -- if the image is actually smaller, you must first place it in the correct position in an otherwise transparent image, using an image editor.// In the default template there are two such images, region2.gif and region4.gif. Add as many copies of the {{{<img ... />}}} line in TriptychTheme as you need, and change the {{{src="..."}}} and {{{class="...-pic"}}} bits to match the names of your images. @@color:crimson;Leave the {{{-pic}}} part as it is.@@
*Change the default {{{width: 410px; height: 320px;}}} values in TriptychTheme to match the dimensions of your main image.
*Finally, define the hotspots:
**Add as many copies of the <area ... /> line as you need.
**Edit the {{{id="..."}}} bits so that for every {{{img}}} with {{{class="someName-pic"}}} you have an {{{area}}} with {{{id="someName"}}}.
**Open MapMaker and follow its instructions to set the area coordinates.
**Change the link destination of every hotspot:
***for an external link, look at the region2 example, and change the {{{href="..."}}}
***for a link to a tiddler, look at the region4 example, and change to {{{onclick="story.displayTiddler(null,'myTiddlerName');}}}

!!!!Various
* If you don't like the color scheme click <<RandomColorPaletteButton>> to generate a new random color scheme...
* ...or have a look at the actual ~ColorPalette with ViewColorPalette.
* Change fonts in FontPalette.
* Upload a SiteIcon. A SiteIcon gives your space an identity to make it recognisable to others. A good site icon will be square and at least 48*48 pixels size. <<binaryUploadPublic title:SiteIcon>>

*Change (or remove) the ''page header'' by directly editing the TriptychTheme tiddler. Look for the {{{1. HEADER}}} bit early in the tiddler, and follow the instructions there.
*To have the backstage bar show by default, set {{{config.options["chkBackstage"]}}} to {{{true}}} in HideBackstageMiniPlugin.

* Tag the tiddlers that you want to appear when the ~TiddlySpace is opened with '__default__'. Tag those that you want to be listed in the left sidebar with '__mainMenu__' (note the lower/uppercase).

* To fit an image into the sidebar triggerboxes
**upload the image using BinaryUpload
**@@display:span;open StyleSheetTriptych and add something like
{{{
#leftBarTriggerbox {
	background-image: url("myImage.png");
}
}}}
@@
**This will stretch the image to fit the box. To disable that, remove the {{{scaledBackground}}} class in TriptychTheme.
* @@display:span;If you want semitransparent sidebars, add lines like
{{{
background: rgba(239, 234, 150, 0.7);
}}}
to {{{.fixedSidebarWrapper{...}}}} and {{{.fluidSidebarWrapper{...}}}} in StyleSheetTriptych.@@

* @@display:span;You can set the following:
|Tiddler area width (percentage)|<html><div class="smallInputBox" macro="option txtUserTiddlerWidth"></div></html>|
|Maximum sidebar height (percentage)|<html><div class="smallInputBox" macro="option txtUserMaxSidebarHeight"></div></html>|
Note that these settings will be stored in a cookie, meaning
**they will only apply to your browser, not the browser of a visitor
**you must have cookies enabled, at least for your site
**you may need to reload the page to see the effect
For public sites,
**if you want your visitors to be able to change these values, put this code in a conspicious tiddler, so the above table will show there:
{{{
|Tiddler area width (percentage)|<<option txtUserTiddlerWidth>>|
|Maximum sidebar height (percentage)|<<option txtUserMaxSidebarHeight>>|
}}}
**if you want different default values, manually edit the 0.94 in TiddlersBarPluginMPKos, and the 0.85 in all three of SidebarLockButtonPlugin, OnWindowResizePlugin and FXSidebarHoverPlugin (and let me know how to code this better ;-)
@@

@@font-size:x-small;<<slider chkSomeCookie [[Image credits]] "Image credits">>@@
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
//ve minra// includes the @piwik space to analyse website traffic using [[Piwik|http://www.piwik.org]].

@@color:crimson;//ve minra// does not register your IP address or Internet provider, keeps no list of visitors, and shares or links no traffic data with anyone or anything.@@

We do see:
*which [[groovs|Groov]] have been looked at, how often and how long; but not by whom.
*aggregate statistics of visitor __country__ and __browser type__. {{normal{This may change at some point (notice will be given): while these are 'kinda fun and harmless' stats, a //groovy// garden manager does not demand to know visitors' nationality nor their means of transport, not even in aggregate form. To be pondered some more.}}}

If you do not want //ve minra// to notice you //at all//, feel free to use [[Ghostery|http://www.ghostery.com]] to block trackers in general, or use this:
{{center{<html><iframe style="font-size:small;" frameborder="no" width="300px" height="150px" src="http://kosmaton.bplaced.com/piwik/index.php?module=CoreAdminHome&action=optOut"></iframe></html>}}}

So please, stroll around in peace here.

!!!Some more details

//ve minra// loves [[privacy|Privacy]]. We are interested in how the website is used, but do not want to know who the users are, unless they themselves decide to tell us.

{{groupbox{If you managed a @@color:green;public garden@@, you would like to know roughly how popular it is. Or whether the new bamboo grove is a hit. But as long as they behave, @@color:green;you do not ask visitors to ID themselves in any way@@, let alone go 'google them' to know more about them. Hopefully. Perhaps unfortunately, a lot of the Web does not work that way these days (as using [[Ghostery|http://www.ghostery.com]] will show you).}}}

Piwik:
*is open source and non-proprietary.
*does not share //ve minra//'s statistics with anyone: they are only accessible to [[Kosmaton]]. No link is made with anything else on or off the Web.
*allows customisation of the level of privacy offered to visitors+++*{{footnoteButton{[†|note]}}}{{normal{Currently, //ve minra// has the //~AnonymizeIP// plugin enabled, and the //Provider// and //Live// plugins disabled.}}}===. 


<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="29pt" viewBox="13 43 29 29" width="29pt" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" onmousedown="if(jQuery) jQuery(document).trigger('cSmaller', {elem:this, comp:{animations:1}})" onmouseup="if(jQuery) jQuery(document).trigger('cResize', {elem:this, comp:{animations:1}})">
 <defs id="defs6">
 <linearGradient id="linearGradient001" y2="27.646" gradientUnits="userSpaceOnUse" x2="-45.8" y1="27.646" x1="-57.66">
   <stop id="stop1" stop-color="#6BB546" offset="0"/>
   <stop id="stop2" stop-color="#B5DAA2" offset="0.66462"/>
   <stop id="stop3" stop-color="#6BB546" offset="1"/>
  </linearGradient></defs>
<g id="icon" stroke-linecap="round" stroke-miterlimit="4">
 <rect id="iconBG" style="stroke-dasharray:none;" fill-rule="evenodd" ry="4.1663" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#696969" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="none"/>
 <rect id="iconFG" stroke-width="0" fill-rule="evenodd" ry="2.3755" transform="matrix(0, -1, 1, 0, 0, 0)" width="22" stroke-miterlimit="4" y="16.646" x="-68.6" height="22" fill="url(#linearGradient001)" class="showOnHover" opacity="0"/>
 <g id="iconSymbol" stroke-linejoin="miter" stroke="#4d4d4d">
  <path id="path3288" style="stroke-dasharray:none;" d="m32.71,59.791a1.2868,1.2868,0,1,1,-2.5736,0,1.2868,1.2868,0,1,1,2.5736,0z" fill-rule="evenodd" transform="matrix(0.472928, 0, 0, 0.472928, 12.3536, 34.6064)" stroke-linecap="round" stroke-miterlimit="4" stroke-width="4" fill="#CCC"/>
  <path id="path3637" style="stroke-dasharray:none;" d="m-5.7134,10.839a1.5781,1.5781,0,1,1,0.00225,-0.03585" transform="matrix(4.22706, 0, 0, 2.02533, 58.118, 41.1739)" stroke-linecap="round" stroke-miterlimit="4" stroke-width="0.68353766" fill="none"/>
  <path id="path4348" d="m27.559,49.224,4.9188,2.0603-3.569,0,0.15291,6.0339-3.1302,0,0-6.0339-3.514,0,5.1416-2.0603z" stroke-linecap="butt" stroke-width="0.70393437px" fill="#4d4d4d"/>
 </g>
 <rect id="overlay" opacity="0.01" ry="4.1663" style="stroke-dasharray:none;" fill-rule="evenodd" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#e6e6e6" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="#e6e6e6" onmouseover="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})" onmouseout="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})"/>
</g>
</svg>
|~ViewToolbar|+editTiddler cloneTiddler saveDraft closeTiddler > fields publishTiddlerRevision pubRev revisions syncing permalink references jump closeOthers closeTiddler <|
|~EditToolbar|+saveTiddler saveDraft savePublicTiddler -cancelTiddler deleteTiddler|
|~RevisionToolbar|fields revert >|
{{tagSearch{<<tagsearch label:'·· tag-it' source:tagTypes##Tags more:tagTypes##More>>}}}
/***
|Name|BetterTimelineMacro|
|Created by|SaqImtiaz|
|Slight mod by|Kosmaton|
|Location|http://tw.lewcid.org/#BetterTimelineMacro|
|Version|0.5 beta|
|Requires|~TW2.x|
!!!Description:
A replacement for the core timeline macro that offers more features:
*list tiddlers with only specfic tag
*exclude tiddlers with a particular tag
*limit entries to any number of days, for example one week
*specify a start date for the timeline, only tiddlers after that date will be listed.

!!!Installation:
Copy the contents of this tiddler to your TW, tag with systemConfig, save and reload your TW.
Edit the ViewTemplate to add the fullscreen command to the toolbar.

!!!Syntax:
{{{<<timeline better:true>>}}}
''the param better:true enables the advanced features, without it you will get the old timeline behaviour.''

additonal params:
(use only the ones you want)
{{{<<timeline better:true  onlyTag:Tag1 excludeTag:Tag2 sortBy:modified/created firstDay:YYYYMMDD maxDays:7 maxEntries:30>>}}}

''explanation of syntax:''
onlyTag: only tiddlers with this tag will be listed. Default is to list all tiddlers.
excludeTag: tiddlers with this tag will not be listed.
sortBy: sort tiddlers by date modified or date created. Possible values are modified or created.
firstDay: useful for starting timeline from a specific date. Example: 20060701 for 1st of July, 2006
maxDays: limits timeline to include only tiddlers from the specified number of days. If you use a value of 7 for example, only tiddlers from the last 7 days will be listed.
maxEntries: limit the total number of entries in the timeline.


!!!History:
*28-07-06: ver 0.5 beta, first release

!!!Code
***/
//{{{
// Return the tiddlers as a sorted array
TiddlyWiki.prototype.getTiddlers = function(field,excludeTag,includeTag)
{
          var results = [];
          this.forEachTiddler(function(title,tiddler)
          {
		/*** mod: replaced deprecated find with isTagged method ***/
          if(excludeTag == undefined || tiddler.isTagged(excludeTag) == false)
                        if(includeTag == undefined || tiddler.isTagged(includeTag) == true)
                                      results.push(tiddler);
          });
          if(field)
                   results.sort(function (a,b) {if(a[field] == b[field]) return(0); else return (a[field] < b[field]) ? -1 : +1; });
          return results;
}



//this function by Udo
function getParam(params, name, defaultValue)
{
          if (!params)
          return defaultValue;
          var p = params[0][name];
          return p ? p[0] : defaultValue;
}

window.old_timeline_handler= config.macros.timeline.handler;
config.macros.timeline.handler = function(place,macroName,params,wikifier,paramString,tiddler)
{
          var args = paramString.parseParams("list",null,true);
          var betterMode = getParam(args, "better", "false");
          if (betterMode == 'true')
          {
          var sortBy = getParam(args,"sortBy","modified");
          var excludeTag = getParam(args,"excludeTag",undefined);
          var includeTag = getParam(args,"onlyTag",undefined);
          var tiddlers = store.getTiddlers(sortBy,excludeTag,includeTag);
          var firstDayParam = getParam(args,"firstDay",undefined);
          var firstDay = (firstDayParam!=undefined)? firstDayParam: "00010101";
          var lastDay = "";
          var field= sortBy;
          var maxDaysParam = getParam(args,"maxDays",undefined);
          var maxDays = (maxDaysParam!=undefined)? maxDaysParam*24*60*60*1000: (new Date()).getTime() ;
          var maxEntries = getParam(args,"maxEntries",undefined);
          var last = (maxEntries!=undefined) ? tiddlers.length-Math.min(tiddlers.length,parseInt(maxEntries)) : 0;
          for(var t=tiddlers.length-1; t>=last; t--)
                  {
                  var tiddler = tiddlers[t];
                  var theDay = tiddler[field].convertToLocalYYYYMMDDHHMM().substr(0,8);
                  if ((theDay>=firstDay)&& (tiddler[field].getTime()> (new Date()).getTime() - maxDays))
                     {
                     if(theDay != lastDay)
                               {
                               var theDateList = document.createElement("ul");
                               place.appendChild(theDateList);
                               createTiddlyElement(theDateList,"li",null,"listTitle",tiddler[field].formatString(this.dateFormat));
                               lastDay = theDay;
                               }
                  var theDateListItem = createTiddlyElement(theDateList,"li",null,"listLink",null);
                  theDateListItem.appendChild(createTiddlyLink(place,tiddler.title,true));
                  }
                  }
          }

          else
              {
              window.old_timeline_handler.apply(this,arguments);
              }
}
//}}}
R0lGODlhmgFAAeeSAP7aX84kKv/WA8vMzZW83tj6/unp6e/v74uuehNtt8LCw/yxEKeoq+fn57u8veJeYv/KBf/mAcjX7EKa1bO0tUR6KLfl+6/L5t/f31CFNveXGespKla05TWYNf3zy/T7/vGWW+Hh4tvm1PNtIk6jO6nBmziIye61ttEWKMzc8NnZ2tjq4dXV1trn9rXLqfRxDur0+/BVI/fS0uzUsesJEuQcJd3p90ul3OXu+ZHP7/7PN+L0/e76/u7KkNHR0t/f4fzliNLi9f7wrP7447+/wGOuOu+LkF6NRmbE7/SDIfNSEXms1mquic/h88sNF+v06glcrvH2++Dr987R0s7O0Pvl5tfl9f7DEjmX1B55wC2Cxfr9/tvb3eft4tHu/QhoKs3dx8br/Z25jaytr/C4e+/v8e/x8bUxLL/Uuefp6dLh8/A3Gv787y5xtnW3bra2uG224r75//r7/dvx/XK1QpfLbNPT1Mq4w5NMMdbX2evr6/7z8ufn6UqiTNGPlo/Ejff59uX+/+Pj5f37+8bGx8zt+/P38f39+V6azsHn+9Xj9ePl5s/f89vd3uNDJNfZ2v7rNh6INv////m3Kv7WGuJARsDO59PV1vHv8cjJyep6fMnj9NLMytWytdnX2XPBOrCxsu+hpLm5up3Lpt7w6cLfsf37/evt7fv9+j+QzomaN7rd8dji8dPP0EJ9u/Dn2tXq9vP19eXj5fn3+O3r7VeddN3b3uja3evx4unn6ezq6WXDPwFKo9bm8t74+FqqXuLo9DGQ0P39/Q4ODvv7+/f39/n5+fX19fPz8/Hx8fHz83afYv3//2qVVPPz9fn7+/Px8/39//Hx8/X19/j5+////P/9/f3//fn7+f/9//X3+Pv5+/Xz9fv7+ff19+vt6/z4+Pf39fX39dXT1fbz8vDz8NfZ1/f19fT18/Pz8e3t7eHo4OXl5tvb27e3u+Pj4/ru7s1zesnJy7HYl9fX193d3p+go+f786Ojpu368W6VOu1jH7Cws9PV08+dq+OolCH+EUNyZWF0ZWQgd2l0aCBHSU1QACH5BAEAAP8ALAAAAACaAUABAAj+AP8JHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaOKJKKao4oostujiizDGKOOMNNZo44045qjjjjz26OOPQAYp5JBEFmnkkUgmqeSSTDbp5JNQRinllFRWaeWVWGap5ZZcdunll2CGKeaYZJZp5plopqnmmmy26eabcMYp55x01mnnnXjmqeeefPbp55+ABirooIQWauihiCaq6KKMNuroo5BGKumklFZq6aWYZqrpppx26umnoIYq6qiklmrqqaimquqqrLbq6qtnsMYq66y01mrrrbjmquuuvPbq66/ABivssMQWa+yxyCar7LLMNuvss9BGK+201FZr7bXYZqvtttx26+234IYr7rjklmvuueimq+667Lbr7rvwxivvvPTWa++9+Oar77789uvvv4AGBAA7
/***
|Name|SectionLinksPlugin|
|Source|http://www.TiddlyTools.com/#SectionLinksPlugin|
|Documentation|http://www.TiddlyTools.com/#SectionLinksPlugin|
|Version|1.4.1|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|allow tiddler sections in TiddlyLinks to be used as anchor points|
This plugin enhances the processing of section references so they can be used in links to auto-scroll to the indicated heading within a tiddler (i.e., similar to the 'anchor' behavior provided in HTML by {{{<a name="foo">}}} and {{{<a href="#foo">...</a>}}})
!!!Usage
<<<
!!!!~TiddlyLink syntax
>The standard link syntax has been extended so that a section name can included in a tiddler link (e.g., {{{[[SomeTiddler##SomeSection]]}}}).  When clicked, the tiddler is displayed and the specified section heading will be automatically scrolled into view. If the tiddler title is omitted or the 'here' keyword is used (e.g., {{{[[##SomeSection]]}}} or {{{[[here##SomeSection]]>>}}}), then the current containing tiddler is implied by default.
>
>//Note: the enhanced "section"" link syntax can also be used with ''anchor'' elements defined by HTML syntax://
>>{{{<html><a name="sectionname" /></html>}}}
>//This provides an alternative syntax can automatically scroll to content without requiring use of the standard TW section ''heading'' syntax.//
!!!!{{{<<tiddler>>}}} macro 
>The {{{<<tiddler SomeTiddler##SomeSection>>}}} syntax has been extended so that when the tiddler title is omitted or the 'here' keyword is used (e.g., {{{<<tiddler ##SomeSection>>}}} or {{{<<tiddler here##SomeSection>>}}}), then the current containing tiddler is implied by default.
!!!!"""<<sectionTOC>>""" macro
>This macro generates a 'Table of Contents'-style numbered-bullet list with links to all sections within the current tiddler.  Simply place the following macro at the //end of the tiddler content// (i.e., following all section headings):
{{{
<<sectionTOC>> or <<sectionTOC className>>
}}}
>Note: The macro must occur at the end of the tiddler in order to locate the rendered section headings that precede it. In addition, to position the macro's //output// within the tiddler, you must create a special 'target element' that uses a specified classname (default='sectionTOC'), like this:
{{{
{{sectionTOC{}}}
}}}
>When the {{{<<sectionTOC>>}}} macro is rendered, it will find the matching 'sectionTOC'-classed element and writes it's output there.  You can also add the macro and/or target elements directly to the [[ViewTemplate]] definition, so that every tiddler can automatically display the table of contents:
{{{
<span class='sectionTOC'></span> <!-- target element -->
...
<span macro='sectionTOC'></span> <!-- must be at end of tiddler -->
}}}
<<<
!!!Examples
<<<
links to sections defined by ''TW heading syntax'' (e.g, {{{!!!sectionname}}}):{{indent{
[[SectionLinksPlugin##onClickTiddlerLink]]
[[##onClickTiddlerLink]] //(current tiddler implied)//}}}
links to anchors defined by ''HTML syntax'' (e.g., {{{<html><a href="anchorname"></html>}}}):{{indent{
[[SectionLinksPlugin##sampleanchorlink]]
[[##sampleanchorlink]] //(current tiddler implied)//}}}
<<<
!!!Revisions
<<<
2011.02.08 1.4.1 in isExternalLink() hijack, strip section references before testing for external link
2010.08.09 1.4.0 in scrollToSection(), added support for using HTML <a name="..."> anchor elements
2009.08.21 1.3.4 added handling to ignore leading/trailing whitespace in section references
2009.08.21 1.3.3 in createTiddlyLink(), add tiddlyLinkNonExistingSection class if matching section is not found
2009.08.14 1.3.2 in createTiddlyLink(), don't override core value for ~TiddlyLink attribute
2009.08.02 1.3.1 in sectionTOC.handler(), trim leading/trailing whitespace from generated section links
2009.08.01 1.3.0 in scrollToSection(), apply 3-tier section matching (exact, startsWith, contains)
2009.07.06 1.2.2 fixed displayTiddler() hijack
2009.07.03 1.2.1 in {{{<<sectionTOC>>}}}, suppress output if target is not found
2009.06.02 1.2.0 added support for 'here' keyword in {{{[[here##section]]}}} links and {{{<<tiddler here##section>>}}} macro
2009.04.09 1.1.1 in sectionTOC macro, make target visible when TOC is rendered.
2009.01.18 1.1.0 added {{{<<sectionTOC>>}}} macro to generate numbered-bullet links to sections of current tiddler
2009.01.06 1.0.0 converted to stand-alone plugin
2008.10.14 0.0.0 initial release (as [[CoreTweaks]] #784 - http://trac.tiddlywiki.org/ticket/784)
<<<
!!!Code
***/
//{{{
version.extensions.SectionLinksPlugin= {major: 1, minor: 4, revision: 1, date: new Date(2011,2,8)};

Story.prototype.scrollToSection = function(title,section) {
	if (!title||!section) return; var t=this.getTiddler(title); if (!t) return null;
	var elems=t.getElementsByTagName('*');
	var heads=[]; var anchors=[];
	for (var i=0; i<elems.length; i++)
		if (['H1','H2','H3','H4','H5'].contains(elems[i].nodeName)) heads.push(elems[i]);
	for (var i=0; i<elems.length; i++)
		if (elems[i].nodeName=='A' && (elems[i].getAttribute('name')||'').length) anchors.push(elems[i]);
	var found=null;
	for (var i=0; i<heads.length; i++)
		if (getPlainText(heads[i]).trim()==section) { found=heads[i]; break; }
	if (!found) for (var i=0; i<heads.length; i++)
		if (getPlainText(heads[i]).trim().startsWith(section)) { found=heads[i]; break; }
	if (!found) for (var i=0; i<heads.length; i++)
		if (getPlainText(heads[i]).trim().indexOf(section)!=-1) { found=heads[i]; break; }
	if (!found) for (var i=0; i<anchors.length; i++)
		if (anchors[i].getAttribute('name')==section) { found=anchors[i]; break; }
	if (!found) for (var i=0; i<anchors.length; i++)
		if (anchors[i].getAttribute('name').startsWith(section)) { found=anchors[i]; break; }
	if (!found) for (var i=0; i<anchors.length; i++)
		if (anchors[i].getAttribute('name').indexOf(section)!=-1) { found=anchors[i]; break; }
	if (found) {
		// if section heading is collapsed, click to expand it - see [[FoldHeadingsPlugin]]
		if (hasClass(found,'foldable') && found.nextSibling.style.display=='none') found.onclick();
		// scroll *after* tiddler animation
		var delay=config.options.chkAnimate?config.animDuration+100:0;
		setTimeout('window.scrollTo('+findPosX(found)+','+findPosY(found)+')',delay);
		return found;
	}
}
//}}}
/***
!!!!core hijacks
***/
/***
!!!!!createTiddlyLink
***/
//{{{
// [[tiddlername##section]] and [[##section]]
if (!window.createTiddlyLink_section)
	window.createTiddlyLink_section=window.createTiddlyLink;
window.createTiddlyLink=function(place,title) {
	var t=story.findContainingTiddler(place); var tid=t?t.getAttribute('tiddler'):'';
	var parts=title.split(config.textPrimitives.sectionSeparator);
	var title=parts[0]; var section=parts[1]; if (section) section=section.trim();
	if (!title.length || title.toLowerCase()=='here') title=tid;  // default=current tiddler
	arguments[1]=title;
	var btn=createTiddlyLink_section.apply(this,arguments);
	if (section) {
		btn.setAttribute('section',section);
		if (store.getTiddlerText(title+config.textPrimitives.sectionSeparator+section)===null)
			addClass(btn,'tiddlyLinkNonExistingSection');
	}
	return btn;
}
//}}}
/***
!!!!!onClickTiddlerLink
***/
//{{{
if (!window.onClickTiddlerLink_section)
	window.onClickTiddlerLink_section=window.onClickTiddlerLink;
window.onClickTiddlerLink=function(ev) {
	var e=ev||window.event;	var target=resolveTarget(e); var title=null;
	while (target!=null && title==null) {
		title=target.getAttribute('tiddlyLink');
		section=target.getAttribute('section');
		target=target.parentNode;
	} 
	var t=story.findContainingTiddler(target); var tid=t?t.getAttribute('tiddler'):'';
	if (title!=tid||!section) // avoid excess scrolling for intra-tiddler links
		onClickTiddlerLink_section.apply(this,arguments);
	story.scrollToSection(title,section);
	return false;
}
//}}}
/***
!!!!! displayTiddler
***/
//{{{
if (!Story.prototype.displayTiddler_section)
	Story.prototype.displayTiddler_section=Story.prototype.displayTiddler;
Story.prototype.displayTiddler = function(srcElement,tiddler)
{
	var title=(tiddler instanceof Tiddler)?tiddler.title:tiddler;
	var parts=title.split(config.textPrimitives.sectionSeparator);
	var title=parts[0]; var section=parts[1]; if (section) section=section.trim();
	if (!title.length || title.toLowerCase()=='here') {
		var t=story.findContainingTiddler(place);
		title=t?t.getAttribute('tiddler'):'';
	}
	arguments[1]=title;  // default=current tiddler
	this.displayTiddler_section.apply(this,arguments);
	story.scrollToSection(title,section);
}
//}}}
/***
<html><a name="sampleanchorlink" /></html>This is a sample ''anchor link'': {{{<html><a name="sampleanchorlink" /></html>}}}
!!!!!isExternalLink
***/
//{{{
if (!config.formatterHelpers.isExternalLink_section)
	config.formatterHelpers.isExternalLink_section=config.formatterHelpers.isExternalLink;
config.formatterHelpers.isExternalLink=function(link) {  // remove section references before testing
	var l=link.split(config.textPrimitives.sectionSeparator)[0];
	return config.formatterHelpers.isExternalLink_section(l);
}
//}}}
/***
!!!!!tiddler.handler
***/
//{{{
if (!config.macros.tiddler.handler_section)
	config.macros.tiddler.handler_section=config.macros.tiddler.handler;
config.macros.tiddler.handler=function(place,macroName,params,wikifier,paramString,tiddler)
{
	if (!params[0]) return;
	var sep=config.textPrimitives.sectionSeparator;
	var parts=params[0].split(sep); var tid=parts[0]; var sec=parts[1]; if (sec) sec=sec.trim();
	if ((tid.toLowerCase()=='here'||!tid.length) && sec) { // fixup for 'here##section' and '##section'
		var here=story.findContainingTiddler(place)
		var tid=here?here.getAttribute('tiddler'):tiddler?tiddler.title:'';
		arguments[2][0]=tid+sep+sec;
		arguments[4]=paramString.replace(new RegExp('(here)?'+sep+sec),tid+sep+sec);
	}
	config.macros.tiddler.handler_section.apply(this,arguments);
}
//}}}
/***
!!!!sectionTOC macro
***/
//{{{
config.macros.sectionTOC = {
	targetClass: 'sectionTOC',
	handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		var out=[];
		var targetClass=params[0]||this.targetClass;
		var t=story.findContainingTiddler(place); if (!t) return;
		var elems=t.getElementsByTagName('*');
		var level=5; // topmost heading level
		for (var i=0; i<elems.length; i++) {
			var txt=getPlainText(elems[i]).trim();
			var link='[['+txt+'|##'+txt+']]';
			switch(elems[i].nodeName) {
				case 'H1': out.push('#'+link);		level=1; break;
				case 'H2': out.push('##'+link);		level=level<2?level:2; break;
				case 'H3': out.push('###'+link);	level=level<3?level:3; break;
				case 'H4': out.push('####'+link);	level=level<4?level:4; break;
				case 'H5': out.push('#####'+link);	level=level<5?level:5; break;
				default: if (hasClass(elems[i],targetClass)) var target=elems[i];
			}
		}
		// trim excess bullet levels
		if (level>1) for (var i=0; i<out.length; i++) out[i]=out[i].substr(level-1);
		// show numbered list
		if (out.length && target) {
			if (target.style.display=='none') target.style.display='block';
			wikify(out.join('\n'),target);
		}
	}
}
//}}}
/***
!!!Invoke macro
{{{
<<sectionTOC>>
}}}
***/
// //<<sectionTOC>>
/***
|''Name''|SidebarLockButtonPlugin|
|''Description''|Toggles locking & resizability of the sidebars of the "triptych" theme|
|''Uses''|[[jQuery UI|http://jqueryui.com]], see [[jquery-ui-1.8.9.custom.css]] and [[jquery-ui-1.8.9.custom.min.js]]|
|''Author''|Kosmaton|
|''Version''|0.1|
|''Date''|february 2011|
***/
/*{{{*/

(function ($) {

var me;		// used as a shortcut for config.macros.sidebarLock
		// most of the times this could be used instead.

config.macros.sidebarLock = me = {

	// should be done for easy localisation
	locale: {
		btnTooltip: "lock/unlock sidebar",
		btnText: "♾",
	},

	handler: function(place, macroName, params, wikifier, paramString, tiddler){
		var btn = createTiddlyButton(place, me.locale.btnText, me.locale.btnTooltip, me.onClick,'lockButton',place.parentNode.id+"lockButton");
	},

	onClick: function() {

		var maxHeight;
		if (config.options["txtUserMaxSidebarHeight"] == undefined
			|| config.options["txtUserMaxSidebarHeight"] > 100
			|| config.options["txtUserMaxSidebarHeight"] < 0)
			maxHeight = 0.85;
		else maxHeight = config.options["txtUserMaxSidebarHeight"]/100;

		var theSidebar = this.parentNode.parentNode;
		var theWrapper = theSidebar.parentNode;
		if ($(theWrapper).attr('data-savedWidth')=='0px') {    // 1st time
			var newWrapperWidth = $(theWrapper).css('width');
		} else {    // otherwise
			var newWrapperWidth = $(theWrapper).attr('data-savedWidth');
		};
		if ($(theWrapper).attr('data-savedHeight')=='0px') {    // 1st time
			var newWrapperHeight = $(theWrapper).css('height');
		} else {    // otherwise
			var newWrapperHeight = $(theWrapper).attr('data-savedHeight');
		};
		
		// Swap from fluid to fixed or vice versa
		$(theWrapper).toggleClass("fluidSidebarWrapper fixedSidebarWrapper");

		// *** if now FIXED: ***
		if ($(theWrapper).hasClass("fixedSidebarWrapper")) {
			$(theWrapper).css("max-height",maxHeight*$(window).height()+"px");
			$(theWrapper).css('height', newWrapperHeight);
			$(theWrapper).css('width', newWrapperWidth);
			// Make it resizable
			if ($(theWrapper).attr('data-side')=='right') {
				$(theWrapper).addClass('fixedSidebarWrapper-R');
				$(theWrapper).resizable({
					handles: 'w, sw, s',
					stop: function(event, ui) {
					 config.macros.tiddlersBar.fitTiddlerDisplay()
					 // resizing sets 'left' CSS property which
					 // for the right bar messes stuff up. Fix it:
					 $(theWrapper).css({'left' : ''});
					},
					ghost: 'true'
				});
			} else {
				$(theWrapper).addClass('fixedSidebarWrapper-L');
				$(theWrapper).resizable({
					handles: 'e, se, s',
					stop: function(event, ui) {
					config.macros.tiddlersBar.fitTiddlerDisplay();
					},
					ghost: 'true'
				});
			}
			
			// stay put; resizable() makes it relative by default
			$(theWrapper).css('position','fixed');

			// fit displayArea now
			config.macros.tiddlersBar.fitTiddlerDisplay();
		}

		// *** if now FLUID: ***
		else if ($(theWrapper).hasClass("fluidSidebarWrapper")) {

			$(theWrapper).removeClass('fixedSidebarWrapper-R fixedSidebarWrapper-L');

			// store current width & height
			$(theWrapper).attr('data-savedWidth', $(theWrapper).css('width'));
			$(theWrapper).attr('data-savedHeight', $(theWrapper).css('height'));

			// fit displayArea now
			$(theWrapper).css('width', '0px');  // briefly necessary
			config.macros.tiddlersBar.fitTiddlerDisplay();
			// back to auto
			$(theWrapper).css('height', 'auto');
			$(theWrapper).css('width', 'auto');
			$(theSidebar).css("max-height",maxHeight*$(window).height()+"px");

			// remove resizability
			$(theWrapper).resizable("destroy");
		}
	}

};

}) (jQuery);


/*}}}*/
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
<<image tfgNewTiddler.svg>><<image tfgNewJournal.svg>><<image tfgSaveToWeb.svg>><<image tfgPermaview.svg>><<image tfgCloseAll.svg>>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="29pt" viewBox="13 43 29 29" width="29pt" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" onmousedown="if(jQuery) jQuery(document).trigger('cSmaller', {elem:this, comp:{animations:1}})" onmouseup="if(jQuery) jQuery(document).trigger('cResize', {elem:this, comp:{animations:1}})">
 <defs id="defs6">
 <linearGradient id="linearGradient001" y2="27.646" gradientUnits="userSpaceOnUse" x2="-45.8" y1="27.646" x1="-57.66">
   <stop id="stop1" stop-color="#FF4646" offset="0"/>
   <stop id="stop2" stop-color="#ffcccc" offset="0.66462"/>
   <stop id="stop3" stop-color="#FF4646" offset="1"/>
  </linearGradient></defs>
<g id="icon" stroke-linecap="round" stroke-miterlimit="4">
 <rect id="iconBG" style="stroke-dasharray:none;" fill-rule="evenodd" ry="4.1663" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#696969" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="none"/>
 <rect id="iconFG" stroke-width="0" fill-rule="evenodd" ry="2.3755" transform="matrix(0, -1, 1, 0, 0, 0)" width="22" stroke-miterlimit="4" y="16.646" x="-68.6" height="22" fill="url(#linearGradient001)" class="showOnHover" opacity="0"/>
 <g id="iconSymbol" stroke-linejoin="miter" fill-rule="evenodd" stroke="#4d4d4d" stroke-linecap="round" stroke-miterlimit="4">
  <g id="g3238" style="stroke-dasharray:none;" transform="matrix(0.302967, -0.302967, 0.302967, 0.302967, 7.05964, 37.1409)" stroke-width="3.19999981" fill="#e6e6e6">
   <path id="path3240" style="stroke-dasharray:none;" d="m-7.3399,53.9,16.353,0"/>
   <path id="path3242" style="stroke-dasharray:none;" d="m0.8368,62.077,0-16.353"/>
  </g>
  <g id="g3250" style="stroke-dasharray:none;" transform="matrix(0.302967, -0.302967, 0.302967, 0.302967, 7.05964, 45.7405)" stroke-width="3.19999981" fill="#e6e6e6">
   <path id="path3252" style="stroke-dasharray:none;" d="m-7.3399,53.9,16.353,0"/>
   <path id="path3254" style="stroke-dasharray:none;" d="m0.8368,62.077,0-16.353"/>
  </g>
  <g id="g3282" style="stroke-dasharray:none;" transform="matrix(0.302967, -0.302967, 0.302967, 0.302967, 15.4081, 37.1409)" stroke-width="3.19999981" fill="#e6e6e6">
   <path id="path3284" style="stroke-dasharray:none;" d="m-7.3399,53.9,16.353,0"/>
   <path id="path3286" style="stroke-dasharray:none;" d="m0.8368,62.077,0-16.353"/>
  </g>
  <path id="path3288" style="stroke-dasharray:none;" d="m32.71,59.791c0,0.71068-0.57612,1.2868-1.2868,1.2868s-1.2868-0.57612-1.2868-1.2868,0.57612-1.2868,1.2868-1.2868,1.2868,0.57612,1.2868,1.2868z" transform="translate(0.690476, 2.00866)" stroke-width="4" fill="#CCC"/>
 </g>
 <rect id="overlay" opacity="0.01" ry="4.1663" style="stroke-dasharray:none;" fill-rule="evenodd" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#e6e6e6" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="#e6e6e6" onmouseover="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})" onmouseout="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})"/>
</g>
</svg>
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
a TiddlySpace
/***
|''Name:''|FE2|
|''Description:''|create, edit, view and delete commands in toolbar <<toolbar fields>>|
|''Version:''|1.0.2|
|''Date:''|Oct. 21,2009|
|''Source:''|http://tbGTD.tiddlyspot.com|
|''Author:''|Tobias Beer|
|''License:''|[[BSD open source license|License]]|
|''~CoreVersion:''|2.5.3|
|''Browser:''|Firefox 2.0; InternetExplorer 6.0, others|
!Note
This is a refactored version of [[FieldsEditorPlugin|http://visualtw.ouvaton.org/VisualTW.html#FieldsEditorPlugin]] by Pascal Collin
!Installation:
*import this tiddler, keep tagged as systemConfig, save and reload
!Code
***/
//{{{
//language settings for header, also see language options for macro.FE2 below!
config.commands.fields.lang={field:"field",actions:"actions",value:"value"};
config.commands.fields.handlePopup=function(popup,title){
	addClass(popup,'FE2');
	var tid=store.fetchTiddler(title);
	if(!tid)return;
	var t='[['+title+']]';
	var fields={};
	store.forEachField(tid,function(tid,field,v){fields[field]=v;},true);
	var list=[];
	for(var f in fields){
		var e='[['+f+']]';
		list.push({
			field:f,
			value:fields[f],
			actions:"<<FE2 "+t+" rename "+e+">> <<FE2 "+t+" delete "+e+">> <<FE2 "+t+" edit "+e+">>"
		});
	}
	list.sort(function(a,b){return a.field<b.field?-1:(a.field==b.field?0:+1);});
	list.push({field:'',value:"",actions:"<<FE2 "+t+" create>>"});
	var table=ListView.create(popup,list,{
		columns:[
			{name:'Field',field:'field',title:this.lang.field,type:'String'},
			{name: 'Actions',field:'actions',title:this.lang.actions,type: 'WikiText'},
			{name:'Value',field:'value',title:this.lang.value,type:'WikiText'}
		],
		rowClasses:[
				{field:'actions'}
		],
		buttons:[	//can't use button for selected then delete, because click on checkbox will hide the popup
		]
	});
}
config.macros.FE2={
	//language options
	lang:{
		'delete':'delete', //string since keyword!
		rename:'<rename',
		create:'Create a new field...',
		edit:'edit>',
		lineBreaks:"The field value contains linebreaks.\nEditing here will convert it to a single line!\nProceed?",
		enterName:"Enter new field name...",
		enterNewName:"Enter new name for '%1'...",
		enterVal:"Enter field value for '%1'...", 
		enterNewVal:"Enter new value for '%1'..",
		doDelete:"Delete field '%1' from tiddler '%2' ?",
		existing:"This field already exists! "
	},
	handler:function(place,macroName,params,wikifier,paramString,tiddler){
		if(!readOnly){
			var tid=params[0];
			var mode=params[1];
			var field=params[2];
			var btn=createTiddlyButton(place,this.lang[mode],this.lang[mode]+" "+field,this.clicked);
			btn.setAttribute("tiddler",tid);
			btn.setAttribute("field",field);
			btn.setAttribute("mode",mode);
		}
	},
	clicked:function(){
		var lng=config.macros.FE2.lang;
		var title=this.getAttribute("tiddler");
		var field=this.getAttribute("field");
		var mode=this.getAttribute("mode");
		var tid=store.getTiddler(title);
		if(!tid)return;
		switch(mode){
			case'create':
				var first="";
				do{
					field=prompt(first+ lng.enterName,"");
					first=lng.existing;
				}while(store.getValue(tid,field));
				if(field){
					var v=prompt(lng.enterVal.replace(/%1/,field),"");
					if(v)tid.fields[field]=v;else return;
				}else return;
				break;
			case'delete':
				if(confirm(lng.doDelete.replace(/%1/,field).replace(/%2/,title))){
					delete tid.fields[field];
				}else return;
				break;
			case'edit':
				var v=tid.fields[field]||'';
				if(!v.match(/\n/mg)||confirm(lng.lineBreaks)){
					var v=prompt(lng.enterNewVal.replace(/%1/,field),v);
					if(v||v=='')tid.fields[field]=v;else return;
				}else return;
				break;
			case'rename':
				var name=prompt(lng.enterNewName.replace(/%1/,field),field);
				if(name){
					tid.fields[name]=tid.fields[field];
					delete tid.fields[field];
				}else return;
				break;
			default:return;
		}
		store.saveTiddler(tid.title,tid.title,tid.text,tid.modifier,tid.modified,tid.tags,tid.fields);
		story.refreshTiddler(title,null,true);
		return false;
	}
}
config.shadowTiddlers.StyleSheetFE2=
	".FE2 td br{display:block;}\n"+
	".FE2 td {font-size:12px;padding:1px 3px}\n"+
	".FE2 .button {border:0;padding:0 0.2em;color:#999;}\n"+
	".FE2 .button:hover {background:transparent;color:#BBB;}\n"+
	".FE2 .twtable,.FE2 .twtable thead, .FE2 .twtable tr{border:0}\n"+
	".FE2 .twtable tr:hover{background:"+store.getTiddlerSlice('ColorPalette','TertiaryDark')+"}\n"+
	".FE2 .twtable thead{font-size:13px;}";
store.addNotification("StyleSheetFE2",refreshStyles);
//}}}
/***
|''Name''|SvgEvent_Info|
|''Description''|connects .svg mouse events with global TW jQuery custom events.|
|''Author''|Mario Pietsch|
|''Version''|0.2.0|
|''Source''|http://fxplugins.tiddlyspace.com|
|''License''|[[BSD|http://www.opensource.org/licenses/bsd-license.php]]|
|''CoreVersion''|2.6|
|''Keywords''|svg, events, animation, commands|
!Idea
http://softwareas.com/automagic-event-registration
!The plugin structure
# [[SvgEvent_Animations]] .. animation componets
# [[SvgEvent_Menue]] .. menue / toolbar command components
!Needed inside an .svg tiddler
*eg: [[tfgNewTiddler.svg]]
*onclick(): {{{onclick="jQuery(document).trigger('cmd3', {elem:this, comp:{menue:1}})"}}}
**Click the icon, will trigger cmd3 in SvgEvent_Menue
*onmousedown: {{{onmousedown="jQuery(document).trigger('cmd4', {elem:this, comp:{animations:1}})"}}}
*onmouseup: {{{onmouseup="jQuery(document).trigger('cmd3', {elem:this, comp:{animations:1}})"}}}
**onmousedown, onmouseup are activating the corresponding commands in SvgEvent_Animations
!Known issues
!Elements tagged {{{fxPlugins}}}
<<list filter [tag[fxPlugins]]>>
/***
|''Name:''|StoryGlueMacro|
|''Description:''|Makes SelectStoryMacro and NavigationMacro work together|
|''Author:''|Mario Pietsch|
|''Source:''|http://a-pm.tiddlyspot.com|
|''Version:''|0.5.2|
|''Status:''|beta|
|''Date:''|2010.02.06|
|''Requires:''|SelectStoryMacro, NavigationMacro|
|''License:''|[[Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]]|
|''~CoreVersion:''|2.2.2|
!!!!!Usage:
<<<
Add the macro to the ViewTemplate, specifying the tag eg:"story" and a cookie: eg:"ACTIVESTORY" to navigate between the possible stories.
Find the line: 
{{{
<div class='viewer' macro='view text wikified'></div>
}}}
''and add the following line below:'' 
{{{
<div class='viewer' macro='storyGlue story ACTIVESTORY</div>
}}}
If you are allready using "navigation" macro. Replace "navigation" macro because it is called by StoryGlueMacro to handle navigation.
Don't delete it comment it !!
<<<
!!!!!Parameter
<<<
General Format: 
{{{
<div class='viewer' macro='storyGlue storyTag COOKIENAME</div>
}}}
storyTag: The macro searches all tiddlers tagged: "storyTag"
>If the tiddler is found in one or more stories. "selectStory" macro is activated instead of "navigation" macro to switch to a new story if you want.
>If it doesn't find a matching story nothing is displayed.

COOKIENAME is last part of an txtSelectStory option cookie, that storyGlue will look at. 
>The cookie is used, to store the name of the actual story, that will be used for navigating.
>The cookie can be manipulated also by SelectStoryMacro if the same name is used. 
>Bee carefull if you use a different name. Look at my examples!
>If you don't use SelectStoryMacro you will need a little program somewhere in your init functions.
>{{{config.options.txtSelectStoryCOOKIENAME  = "yourTiddlerThatContainsAStoryAndIsTaggedWithXXXX";}}}
>Better have a look at [[zzMptwUserConfigPlugin]] 

The option: {{{<<option txtSelectStoryACTIVESTORY>>}}}: ''<<varDisplay {{config.options.txtSelectStoryACTIVESTORY}}>>''
contains the active story, that is used in [[a-pm presentation manager|http://a-pm.tiddlyspot.com]].

If you click a tiddler, which is not part of the active story, but of any tiddler tagged: "story", storyGlue will activate the SelectStoryMarcro. SelectStoryMacro will display all stories found in a different color (default: blue). If you click on of the small sqares, it will activate this story, which can be used for navigatin now. 

The SelectStoryMacro can also work stand alone. See [[SelectStoryMacro]] for more details.
<<<
!!!!!Attention
<<<
There is no limit using different cookie names. ''But be warned: If you get confused. It is not my fault :)''
If your cookie name is eg: MYSTORY the option which contains the active story will be: {{{<<option txtSelectStoryMYSTORY>>}}}
It is always: txtSelectStory + yourCookieName.
In viewTemplate call it with: 
{{{
<div class='viewer' macro='storyGlue story MYSTORY</div>
}}}
<<<
!!!!!Example:
<<<
[[Demo|Story1]]
<<<
!!!!!Revision History
<<<
*Version: 0.5.1 - 2010.01.30
**commented the displayMessage if an empty story is selected from SelectStoryMacro
<<<
***/
/*{{{*/
// 
//!BEGIN-PLUGIN-CODE
if(!version.extensions.StoryGluePlugin) { //# ensure that the plugin is only installed once
version.extensions.StoryGluePlugin = { installed: true };

if(!config.extensions) { config.extensions = {}; } //# obsolete from v2.4.2

config.macros.storyGlue= {
	defineStoryMsg: "~StoryGlue: option name is not defined!\n"+
			"Read the Documentation!\n" +
			"Check your ~ViewTemplate!\n" +
			"Check: config.options.",
	
	handler: function(place, macroName, params, wikifier, paramString, tiddler){

		if (!config.macros.navigation) 
			return false;
		if (!config.macros.selectStory) 
			return false;
		if (config.options.chkDisableStoryGlue== undefined)
			config.options.chkDisableStoryGlue= false;

		var sets = store.getTaggedTiddlers(params[0]); // get tiddlers tagged eg:'story'
		var optId = config.macros.selectStory.optPreTxt + params[1]; // get the last part of the cookie name
		var txtArray = [];
		for (var i = 0; i < sets.length; i++) {
			txtArray.push(sets[i].title);
		}
		var navIndex = txtArray.indexOf(config.options[optId]);
		if (navIndex == -1) {
			// console.log(this.defineStoryMsg+optId);
			return false; // can only be if option is undefined or different pc / cookie
		}
		var tiddlers = store.getTiddlerText(sets[navIndex].title).readBracketedList(); // read tiddlers in active story
		var tidIndex = tiddlers.indexOf(tiddler.title);
		
		// storyline ok .. use navigation macro 
		if (tidIndex != -1) {
			var p = "tiddlers:{{store.getTiddlerText('" + sets[navIndex].title + "').readBracketedList()}}";
			invokeMacro(place, 'navigation', p, wikifier, tiddler);
			return false;
		}
		if (config.options.chkDisableStoryGlue) 
			return false;

		if (this.debug) console.log('not disabled:', tiddlers);

		if (tidIndex == -1) {
			// search other stories for this tiddler.
			var text = params[1]+' '+'tiddlers: [[';
			var found = false;
			for (var i=0; i<txtArray.length; i++) {   //!!!!!!! better search needed !
				tiddlers = store.getTiddlerText(txtArray[i]).readBracketedList(); // read tiddlers in active story
				tidIndex = tiddlers.indexOf(tiddler.title);
				if (tidIndex != -1) {
					found = true;
					text = text + '"' + txtArray[i] + '" '; 
				} // if tidIndex ..	
			} // for i < txtArray.len ..
			text = text+']]';
//	 console.log( 'text: ' + text);
//	 console.log( 'found: ' + found);
//			var text = params[1]+" "+ "tiddlers: {{ var array = store.filterTiddlers('[tag[" + params[0] + 
//				"]]');var text = ''; for (var i=0; i<array.length; i++)"+
//				"{text = text + '[[' + array[i].title + ']]';};}}";		// be carefull evaluated string !!!

			if (found) invokeMacro(place, 'selectStory', text, wikifier, tiddler);
		} // handler
	} // config macro
}
} //# end of "install only once"
/*}}}*/
preso2package
takenotepackage
AttachFilePackage
IconPackage
ThemePackage
app
attachment
[[set.ToggleFgJs]]
[[@chris-dent]]
[[@cdent]]
nodate
tag1
tag2
theme
topMenu
definition
docs
CSS
[[GState: Gas]]
[[GState: Liquid]]
[[GState: Plasma]]
[[GState: Solid]]
GState
UC
Topic
Priority
QuickEditPackage
package
story
settings
addon
plugins
set.tagSearch
bookmark
content
excludeLists
excludeMissing
excludePublisher
excludeSearch
follow
font
fxPlugins
hide
icon
iconFx
lewcidExtension
ListPackage
mainMenu
PresentationPackage
set.ToggleFg
set.Toolbar
StylingPackage
systemConfig
systemConfig_
systemPalette
systemTheme
tips
TopMenu
transclusion
EmasticSystem
FreeStyle
/***
|''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);
//}}}
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
This is a tool to visually specify the coordinates of the image map you want to obtain (courtesy of [[TiddlyTools|http://www.tiddlytools.com/#ImageMapPlugin]]).

If necessary, edit this tiddler to replace "fond.gif" with the name of the tiddler containing your background image.

Then repeat for every clickable area you want:
1. Click on the image to specify coordinate points.
2. Copy the resulting sequence (two numbers per point) from the text box to the
> <area id="someID" shape="poly" coords="''sequence goes here''" alt="someAlt" href="somewhere" />
where you need it.

[img[fond.gif]]<<mapMaker FondMap>>
//ve minra// is not a blog, much less a diary. Updates and additions are likely to come at irregular and sometimes long intervals. The best way to follow is to subscribe to the ATOM feed ([[info|http://www.google.com/support/feedburner/bin/answer.py?answer=79408]]) by clicking this: <html><a href="http://veminra.tiddlyspace.com/bags/veminra_public/tiddlers.atom?select=tag:content&sort=-modified&title=ve%20minra&desc=ve%20minra%20ATOM%20feed&limit=25" title="ATOM feed" alt="ATOM feed"><img src="pick_feed_icon_small.png"></a></html>.

The fruit will fall into your lap whenever it is ripe.

Thanks!

|~ViewToolbar|references closeOthers closeTiddler|
[[StyleSheetFonts]]
[[StyleSheetShortcuts]]
[[StyleSheetMailform]]
[[StyleSheetCalendar]]
[[StyleSheetSpecificTiddlers]]

/*{{{*/
body {
	background: url(wood127.jpg) repeat fixed;
}

#tiddlerDisplay {
	padding-top: 0.1em;
}

.tiddler {
	background: url(PaleTiles.jpg) repeat;
}
.modifierIcon {
	background: 0;
}

.content {
	font-family: Georgia, serif;
	background-color: #FCFCE8;  /* pale yellow */
	padding-left: 2em;
	padding-right: 1em;
	padding-top: 1.5em;
}
.tiddler .viewer {
	line-height: 145%;
}

.lockButton {
	color: wheat;
	background-color: rgba(20, 80, 20, 0.1);
}

.someBullets ul {
	margin: 0em;
	padding: 0.7em;
	text-align: left;
}

.footnoteButton {
	margin: 0;
	padding: 0;
}

.footnoteButton_red {
	margin: 0;
	padding: 0;
	color: red;
}

#tagcloud {
	width: auto;
	max-width: 220px;
	margin: 5px;
	border: 1px dotted grey;
	text-align: center;
}


.fluidSidebarWrapper {
	border: 1px solid #605753;
	background-color: rgba(239, 234, 150, 0.7);
}

.fixedSidebarWrapper {
	border-bottom: 3px ridge [[ColorPalette::PrimaryMid]];
	border-top: 1px ridge [[ColorPalette::PrimaryMid]];
	background-color: rgba(256, 256, 256, 0.35);
}


.sidebarTriggerbox {
	height: 127px;
	overflow: hidden;
	position: fixed;
	width: 26px;
	z-index: 1;
	background-color: rgba(1,1,1,0);
}


#sidebarTabs .tabset .tab {
	font-size: large;
}


.feed {
	background: url("feed-icon-14x14.png") no-repeat scroll 2px 50% transparent;
	margin-left: 2px;
	padding: 2px 2px 1px 18px;
}


/*---THIS SIDEBAR LIST BULLET BUSINESS NOT QUITE OK YET---*/
.tabContents ul, .tabContents ol {
	list-style-type: disc;
	color: Crimson;
	margin-left: 0.5em;
	padding-left: 0.2em;
}
.listTitle {
	color: black;
	font-style: italic;
	font-size: small;
	list-style-type: none;
}
.listLink {
	margin-left: 0.4em;	
}
.txtMainTab .tabContents li {
	list-style: disc outside none;
}
/*--------------------------------------------------------*/



.viewer table.borderless,
.viewer table.borderless * {
	border: 0;
}

/* Make links darker than PrimaryMid */
a {
	color: #9E684D;
}

/* Add colour to search result box */
.searchResults {
	background: rgb(100, 200, 140);
 	background: rgba(100, 200, 140, 0.9);
}

/* original is not CSS3- and Opera-ready */
.tagged .quickopentag {
	-webkit-border-top-right-radius: 15px;
	-webkit-border-bottom-right-radius: 15px;
	-moz-border-radius-topright: 15px;
	-moz-border-radius-bottomright: 15px;
	border-top-right-radius: 15px;
	border-bottom-right-radius: 15px;
}




/* Extra markup shortcuts */
.groupboxRed {
	display:block;
	padding:1em;
	-moz-border-radius:1em;
	-webkit-border-radius:1em;
	border:1px solid crimson;
}

.divish {
	display: inline-block;
}


/*}}}*/
tags tiddlers for which no modification date is to be shown
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
<!DOCTYPE html>
<html manifest="/bags/common/tiddlers/takenote_manifest.appcache">
	<head>
		<title>takenote</title>
		<link type="text/css" rel="stylesheet" href="/bags/common/tiddlers/notabene.css" />
		<link type="text/css" rel="stylesheet" href="/bags/common/tiddlers/jquery-ui.custom.css">
		<link rel="apple-touch-icon" href="/bags/common/tiddlers/touchicon_takenote.png"/>
		<link rel="apple-touch-icon-precomposed" href="/bags/common/tiddlers/touchicon_takenote.png"/>
		<meta name="apple-mobile-web-app-capable" content="yes" />
		<meta name="viewport" content="width=device-width,minimum-scale=1,maximum-scale=1,user-scalable=0,initial-scale=1.0">
	</head>
	<body>
		<ul id="backstage">
			<!-- no not add a newline between li elements or you will get a margin with inline blocks -->
			<li><a href="/dashboard">dashboard</a></li><li><a href="/takenote">takenote</a></li>
			<li><a class='connectionStatus'></a></li>
		</ul>
		<div class="takenotedashboard">
		  <div class='messageArea' style="display: none;"></div>
			<div class="header">
				<div class='siteicon'></div>
			</div>
			<div class="toolpanel viewer">
				<div class='section searchSection requiresConnection'>
					<h2>All Notes</h2>
					<input class="findnote" type="search" placeholder="type search term" />
					<ul>
						<li>Access all notes in this space from <a href="/tiddlers?select=tag:!excludeLists">/tiddlers</a></li>
					</ul>
				</div>
				<div class="section incompleteSection">
					<h2>New Notes</h2>
					<ul id="createNotes"></ul>
					<h2>Recently Started Notes</h2>
					<ul id="incomplete"></ul>
					<a class='syncButton' title="save all notes in the list to the web">sync these notes</a>
				</div>
				<div class="section recentSection">
					<h2>Recently Created Notes</h2>
					<ul id="recentnotes"></ul>
				</div>
			</div>
			<div class='footer'>
				<span class='version'>v. 0.7.5</span>
			</div>
		</div>
		<noscript>
			Takenote requires javascript to work correctly. Sorry!
		</noscript>
		<script src="/bags/common/tiddlers/backstage.js" type="text/javascript" charset="utf-8"></script>
		<script src="/bags/common/tiddlers/bookmark_bubble.js" type="text/javascript" charset="utf-8"></script>
		<script src="/bags/common/tiddlers/jquery.js" type="text/javascript" charset="utf-8"></script>
		<script src="/bags/common/tiddlers/jquery-ui.custom.js" type="text/javascript" charset="utf-8"></script>
		<script src="/bags/tiddlyspace/tiddlers/chrjs" type="text/javascript" charset="utf-8"></script>
		<script src="/bags/common/tiddlers/chrjs-store.js" type="text/javascript" charset="utf-8"></script>
		<script src="/bags/common/tiddlers/jquery-json.js" type="text/javascript" charset="utf-8"></script>
		<script src="/bags/common/tiddlers/notabene.js" type="text/javascript" charset="utf-8"></script>
		<script type="text/javascript">
			dashboard($(".takenotedashboard")[0], {
				host: "/"
			});
		</script>
	</body>
</html>
//{{{
config.shadowTiddlers["StyleSheetNeuiEm"]="/*{{{*/\n"+
	".image .showFG {\n"+
	"	opacity: 0;\n"+
	"}\n"+
	"\n"+
	".image:hover .showFG {\n"+
	"	opacity: 1;\n"+
	"}\n"+
	"/*}}}*/";
store.addNotification("StyleSheetNeuiEm",refreshStyles);
//}}}
<<binaryUpload edit:title>>
Learn more at: BinaryUploadPlugin
/***
|''Name:''|TagSearchPlugin|
|''Description:''|Provides a drop down listing current tags and others to be set. Based on [[x-tagger|http://tbgtd.tiddlyspot.com/#x-tagger]] which in turn was once based on [[TaggerPlugin|http://tw.lewcid.org/#TaggerPlugin]].|
|''Author:''|[[Tobias Beer]]|
|''Version:''|1.2.0 (2010-10-10)|
|''Documentation:''|http://tagsearch.tiddlyspot.com|
|''Source:''|http://tagsearch.tiddlyspot.com/#TagSearchPlugin|
|''~TiddlyWiki:''|Version 2.5 or better|
/%***/
(function(e){config.macros.tagsearch={cfg:{defaultSource:"",defaultMore:"",defaultMode:1,keepModified:false,sidebarOffset:20,newAtSingle:30,newAt:18,excludeTagged:"",toolbar:"",label:"tags",options:"Options",more:"More...",tooltip:"Manage tiddler tags",notags:"no tags set...",aretags:"Current tags",addTag:"Add tag...",addTags:"Set tag...",txtEdit:"~ edit categories...",txtEditTip:"edit tiddler with GTD tag categories used by x-tagger",txtNew:"~ add another tag",txtRemove:"remove tag %0",txtAdd:"set tag %0",txtFor:"To be tagged... ",txtCtrl:" (hold SHIFT to just add it or CTRL to replace in category)",promptNew:"Enter new tag:",modeAsk:"Do you want to remove existing tags from category '%0'?\nCancel simply adds tag '%1'."},handler:function(k,g,i,l,h,n){var m=this.cfg,j=story.findContainingTiddler(k),f=h.parseParams("tagman",null,true);e(createTiddlyButton(k,getParam(f,"label",m.label),getParam(f,"tooltip",m.tooltip),this.click,"button")).attr({id:this.newId("btntgs"),tid:(j?j.getAttribute("tiddler"):"")}).data({pa:i,p:f})},click:function(O){var k,G,S,R,K=[],w=true,W,V,U,M,A,Y,T,D,N,L,J=[],C,f,H,aa=O||window.event,X=e(this),F=X.attr("popup"),B=window.event?"keydown":"keypress",I=config.macros.tagsearch,ab=I.cfg,u=X.data("pa"),Q=X.data("p"),h=u.contains("toolbar"),v=getParam(Q,"source",ab.defaultSource),q=getParam(Q,"more",ab.defaultMore),Z=!u.contains("nosearch"),z=!u.contains("notags"),E=!u.contains("nomore"),n=getParam(Q,"goto",""),o=parseInt(getParam(Q,"mode")),g=getParam(Q,"tiddler",""),r=g?g:X.attr("tid"),ac=(getParam(Q,"exclude","")+" "+ab.excludeTagged).readBracketedList(),y=nu=v?ab.newAt:ab.newAtSingle,P=store.getTiddler(r);if(!r){return}o=isNaN(o)?ab.defaultMode:o;ac.map(function(i){K.pushUnique(i)});for(W=0;W<ac.length;W++){store.getTaggedTiddlers(ac[W]).map(function(i){K.pushUnique(i.title)})}if(v&&!store.getTiddlerText(v)){return false}if(F){D=e("#"+F)[0];e(D).empty()}if(!D){M=true;F=I.newId("tgspop");D=Popup.create(this);e(D).addClass("tgs").attr({id:F}).data({btn:X,tiddler:r,source:v,mode:o}).click(I.noBubble);X.attr("popup",F)}if(v){C=store.getTiddlerText(v).readBracketedList();for(L=0;L<C.length;L++){if(!K.contains(C[L])){H=store.getTaggedTiddlers(C[L]);J.push("TAG:"+C[L]);for(N=0;N<H.length;N++){if(!K.contains(H[N].title)){J.push(H[N].title)}}}}}else{J=store.getTags()}G=P?P.tags.sort():[];Y=function(j,i){return createTiddlyElement(createTiddlyElement(j,"li",null,null),"ol",null,i?i:null)};A=function(j,x,i,p){var m,l;m=createTiddlyElement(createTiddlyElement(j,"li"),"span",null,null);l=e(createTiddlyButton(m,x,p.format(["'"+i+"'"]),I.setTag,"button toggleButton",null));l.data({tiddler:r,tag:i,source:v,mode:o});insertSpacer(m);createTagButton(m,i)};S=Y(D,"tgside");if(config.macros.gotoTiddler&&Z){R=Y(S);if(g){U=createTiddlyElement(R,"li",null,"addto","");wikify("{{title{"+ab.txtFor+"}}}<<tag [["+r+"]]>>",U);R=Y(S)}createTiddlyElement(R,"li",null,"title",ab.addTag);wikify("<<gotoTiddler "+n+" >>",R);e("input",D).bind(B,I.noBubble).data("notify",config.macros.tagsearch.notify).focus()}R=Y(S);createTiddlyElement(R,"li",null,"title",ab.aretags);if(G.length==0){wikify("{{notags{"+ab.notags+"}}}",R)}else{for(L=0;L<G.length;L++){A(R,"[X]",G[L],ab.txtRemove)}}if(z){for(W=0;W<J.length;W++){nu++;f=v?J[W]:J[W][0];if(f.indexOf("TAG:")==0){f=f.substr(4);if(nu>y){nu=0;S=Y(D)}R=Y(S);nu++;createTiddlyLink(createTiddlyElement(R,"li",null,null),f,f,"title")}else{if(!G.contains(f)&&!K.contains(f)){if(!v&&nu>y||v&&nu>ab.newAtSingle){nu=0;S=Y(D);R=Y(S);if(w){createTiddlyElement(createTiddlyElement(R,"li",null,null),"li",null,"title",ab.addTags);w=false}}A(R,"["+String.fromCharCode(160,160,160)+"]",f,ab.txtAdd+(v?ab.txtCtrl:""))}}}}if(E){S=Y(D,"tgside");R=Y(S);createTiddlyElement(R,"li",null,"title",ab.options,null);createTiddlyButton(createTiddlyElement(R,"li"),ab.txtNew,null,I.setTag,"tsopt",null,null,{tiddler:r});if(v){createTiddlyButton(createTiddlyElement(R,"li"),ab.txtEdit,ab.txtEditTip,onClickTiddlerLink,"tsopt",null,null,{tiddlyLink:v.split("##")[0]})}w=true;if(q){T=store.getTiddlerText(q).readBracketedList();if(T.length>0){for(W=0;W<T.length;W++){f=T[W];if(f.indexOf("TAG:")==0){f=f.substr(4,f.length-4);R=Y(S);createTiddlyLink(createTiddlyElement(R,"li",null,null),f,f,"title");k=store.getTaggedTiddlers(f);for(V=0;V<k.length;V++){f=k[V].title;if(!G.contains(f)&&!K.contains(f)){A(R,"["+String.fromCharCode(160,160)+"]",f,ab.txtAdd)}}}else{if(w){R=Y(S);createTiddlyElement(R,"li",null,"title",ab.more);w=false}if(!G.contains(f)&&!K.contains(f)){A(R,"["+String.fromCharCode(160,160)+"]",f,ab.txtAdd)}}}}}}if(M){Popup.show(D,false);if(h){N=document.getElementById("sidebar");D.style.left="";D.style.right=(ab.sidebarOffset+(N?N.offsetWidth:0))+"px"}}return I.noBubble(aa)},setTag:function(w){var q,j,z,l=true,n,u,s,g,v=w||window.event,k=config.macros.tagsearch,y=k.cfg,f=e(this),o=f.closest(".tgs"),i=o.data("btn"),A=f.data("tag"),B=o.data("tiddler"),h=o.data("source"),r=parseInt(o.data("mode"));if(!A){z=prompt(y.promptNew,"");if(!z){return false}else{A=z}}tid=k.exists(B,A);if(tid){u=tid.tags;if(!u.contains(A)){if(h&&r<2&&!v.shiftKey){j=store.getTiddlerText(h).readBracketedList();findTagged:for(q=0;q<j.length;q++){g=j[q];s=store.getTaggedTiddlers(g).map(function(m){return m.title});if(s.contains(A)){s.splice(s.indexOf(A),1);if(!v.ctrlKey&&r==1&&u.containsAny(s)){l=confirm(y.modeAsk.format([g,A]))}if(l){for(n=0;n<s.length;n++){g=s[n];if(u.contains(g)){store.setTiddlerTag(B,false,g)}}}break findTagged}}}store.setTiddlerTag(B,true,A)}else{if(!z){store.setTiddlerTag(B,false,A)}}n=store.getTiddler(B);store.saveTiddler(B,B,n.text,y.keepModified?n.modifier:config.options.txtUserName,y.keepModified?n.modified:new Date(),n.tags,n.fields)}if(config.options.chkAutoSave){autoSaveChanges()}i.click();o.find("input").focus();return k.noBubble(v)},newId:function(f){return f+Math.random().toString().substr(3)},notify:function(f,h){var j=e(h).closest(".tgs"),g=e("form input",j)[0];t=config.macros.tagsearch.exists(j.data("tiddler"),f);if(t&&!t.tags.contains(f)){store.setTiddlerTag(t.title,t,f)}j.data("btn").click();g.select()},exists:function(i,g){if(!store.getTiddler(i)){var h=merge({},config.defaultCustomFields);store.saveTiddler(i,i,"",config.options.txtUserName,new Date(),g,h);return false}return store.getTiddler(i)},noBubble:function(g){var h=g||window.event,f=resolveTarget(h);if(h.keyCode==27){Popup.remove(0)}else{if(h.type!="click"&&f.nodeName.toUpperCase()=="INPUT"){return true}}if(e(f).hasClass("tiddlyLink")){return true}Popup.remove(1);h.cancelBubble=true;try{event.keyCode=0}catch(h){}if(window.event){h.returnValue=false}if(h.preventDefault){h.preventDefault()}if(h.stopPropagation){h.stopPropagation()}return false}};config.commands.tagSearch={};var d=config.macros.toolbar;d.createCommandTAGS=d.createCommand;d.createCommand=function(f,h,g,i){if(h=="tagSearch"){wikify("<<tagsearch toolbar "+config.macros.tagsearch.cfg.toolbar+">>",f);e(f.lastChild).attr({commandName:"tagSearch",tiddler:g.title})}else{d.createCommandTAGS.apply(this,arguments)}};var b=config.macros.gotoTiddler;if(b){b.processItem=function(i,g,h,f){if(!i.length){return}h.style.display=f?"block":"none";if(i=="*"){story.search(g.value);return false}if(!f){g.value=i}var j=e(g).data("notify");if(j){j.call(this,i,g)}else{story.displayTiddler(null,i)}return false};b.IEtableFixup="%0"}var c=store.getTiddlerText("ColorPalette::TertiaryMid"),a=store.getTiddlerText("ColorPalette::TertiaryDark");config.shadowTiddlers.StyleSheetTagSearch="/*{{{*/\n.tgs {padding:7px !important;-moz-border-radius:5px; -webkit-border-radius:5px;border-radius:5px;}\n.tgs li a, .tgs .quickopentag .tiddlyLink {display:inline;padding:2px;clear:none;}\n.tgs li a.toggleButton {display:inline;margin-left:5px;}\n.tgs .title {margin:3px 0 0 5px;font-weight:bold;font-size:150%;color:"+c+";padding:0;}\n.tgs form{display:block;float:left;clear:both;padding-left:5px !important;}\n.tgs .addto .quickopentag{display:block;clear:both;padding:5px;font-size:120%;}\n.tgs .notags, .tsopt{display:block;clear:both;margin:5px;}\n.tgs .highlight{background:"+a+";}\n.tgs ol{margin:0;padding:0 0 5px 0;}\n.tgs li{display:block;float:left;padding-bottom:10px !important;}\n.tgs li span{line-height:1em;}\n.tgs li ol li{clear:both;min-width:120px;display:inline;border:1px solid transparent;}\n.tgs li ol li:hover{border:1px solid "+c+";}\n.tgs li ol li ol li{padding:0 !important;}\n.tgs li ol li ol li:hover{border:1px solid transparent;}\n.tgside li ol li {min-width:150px;}.tgs .quickopentag {display:inline;}\n.tgs .quickopentag .tiddlyLink:hover {text-decoration:underline;}\n.tgs .quickopentag .button {border:0;padding:2px;font-size:1.5em;}\n/*}}}*/";store.addNotification("StyleSheetTagSearch",refreshStyles)})(jQuery);
//%/
/***
|''Name''|tsScanCountPlugin|
|''Description''|Provides ability to count tiddlers at a given tiddlyspace url and display a button that when clicked lists them. Also upgrades tsScan to replace any options containing with $1 with the current space|
|''Version''|0.2.0|
***/
//{{{
(function($) {

var tsScan = config.macros.tsScan;
var tiddlyspace = config.extensions.tiddlyspace;

var macro = config.macros.tsScanCount = {
	cache: true,
	countCache: {},
	handler: function(place, macroName, params, w, paramString, tiddler) {
		var container = $("<a href='#' class='button' />").attr("refresh", "macro").attr("macroName", macroName).appendTo(place)[0];
		$(container).data("params", paramString);
		macro.refresh(container);
	},
	refresh: function(container) {
		var paramString = $(container).data("params");
		var options = tsScan.getOptions(paramString, tiddler);
		var url = options.url;
		options.cache = macro.cache;
		options.callback = function(tiddlers) {
				options.cache = true;
				macro.cache = true;
				var count = tiddlers[0] ? tiddlers[0].fields['server.page.revision'] : 0;
				var lastCount = macro.countCache[url] || 0;
				if(lastCount != count) {
					var interval, step = 0;
					interval = window.setInterval(function() {
						var last = step;
						step += 1;
						$(container).removeClass("step" + last);
						if(step > 10) {
							macro.countCache[url] = count;
							window.clearInterval(interval);
						} else {
							$(container).addClass("step" + step);
						}
					}, 500)
				}
				$(container).empty().addClass("enabled").text(tiddlers.length).click(function(ev) {
				$(ev.target).addClass("active");
				var target = options.popupSelector ? $(options.popupSelector)[0] : ev.target;
				var p = Popup.create(target, "div");
				var container;
				if(options.heading) {
					container = $("<div />").addClass("heading").appendTo(p)[0];
					wikify(store.getTiddlerText(options.heading) || "", container);
				}
				container = $("<div />").addClass("followTiddlersList").appendTo(p)[0];
				tsScan.scan(container, options);
				Popup.show();
				ev.stopPropagation();
				return false;
			});
		};
		tsScan.scan(container, options);
	}
}

var _getOptions = tsScan.getOptions;
config.macros.tsScan.getOptions = function(paramString, tiddler) {
	var options = _getOptions.apply(this, arguments);
	var optionsClone = {};
	for(var i in options) {
		if(typeof(options[i]) == "string") {
			optionsClone[i] = options[i].format(tiddlyspace.currentSpace.name);
		} else {
			optionsClone[i] = options[i];
		}
	}
	return optionsClone;
}

// every 5 minutes make tsScan update.
window.setInterval(function() {
	macro.cache = false;
	$("[macroName=tsScanCount]").each(function(i, el) {
		macro.refresh(el);
	});
}, 1000 * 60 * 5);
})(jQuery);
//}}}
<<list filter  "[tag[content]]">>
Comments [[here|https://groups.google.com/group/tiddlyweb/browse_thread/thread/cb09dc3579213cb5]] and [[there|TiddlySpace social discourse now and later: some thoughts]]@cdent make me puzzle over the exact usage I want for this 'notebook', and its public face. ''It is not a blog. It should be a @@color:#C00;notebook+@@. So what is that?''
!!!Usage
*I want it as much as possible to be a @@color:teal;hierarchical@@ collection based on __'atomic statements'__. The tiddler title says what the statement is about; the content makes the statement.
*This is not very much how we think, or usually read or write. The tendency is to write little essays per tiddler, that make many statements. While [[stream-of-consciousness|Stream-of-consciousness]] can have aesthetic //and// meaning-creating merit, I often prefer to make a point rather than present ramblings, if it can be helped. Maybe if I work it out, I have no point. All this takes effort. (The same goes for you!) B.F. Skinner says it well [[here|Skinner 1987 A Thinking Aid]].
*This is part of the [[Vendetta against sloppy thinking]] and the War on [[Waffle|Waffle (speech)]].
*Atomic statements alone do not make stories. So there could be 'story tiddlers' or 'essay tiddlers' that (perhaps via [[transclusion|http://tiddlywiki.org/wiki/Transclusion]]) integrate atomic tiddlers.
*This is similar, I think, to Chris Dent's [[Manifestopheles|http://manifestopheles.com]]. ["I really like dogs!" But define 'dog'. Maybe you don't mean all dogs, just your dog. ([[Lojban]] seems to have similar concerns.)]
*So words form statements form essays: from atomic to ever larger bits of meaning. Links form implicit higher-level meaning, which may be made explicit by hand. Once more, [[solve & coagula|Solve et coagula]].
*As the thing grows, it will become harder to keep track, presumably. There may be a lot of changing back and forth. Oh well. Endless rambling is no better.
*''The goal'' (form-wise) is a hypertext document where people can quickly find what //ve minra// has to say about certain things, with little redundancy and much clarity. There may still be ambiguity (preferably made explicit), and certainly change.
!!!Public face
*__Fora__ and __comment threads__ are cool. And important.
*But they have a high risk of ramble.
*And a risk of spam.
*There are other [[reasons|Social side of TiddlySpace: old thoughts]]@kosmaton (also on the [[newsgroup|http://groups.google.com/group/tiddlyweb/browse_thread/thread/cb09dc3579213cb5]]) why it is hard to add a comments thread to each tiddler (for now).
*As sketched in that last link, I hope ~TiddlySpace's social design will grow to allow higher-lever meaning tiddlers that incorporate tiddlers from multiple spaces and users. E.g. if I think ~OtherUser's tiddler on "Lemons rock with fish" is great, I might use it to make its points for me in a wider tiddler on lemons. This would not be a typical conversation but it would have aspects of it, especially with a good notification system. (//The previous tiddler was confused on this.// Perhaps tiddlers are not a great way to actually //talk// - not in their current incarnation at least.)
*{{span{''In the meantime'' I believe I will try with a button at the end of each tiddler saying @@color:#09C;'Comments?' that takes you to a good old e-mail form@@. Very old-Web, but perhaps more in line with the slower pace I have in mind here. So we may ([[fingers crossed|Superstition]]) get things with classical gravitas:
<<<
Regarding [[Conciseness and comments @veminra]], Mrs. bluepixie85 of Yahoo writes that "your dismissal of ramblings [//partial, I must add!//] is a sure sign of a malfunctioning gallbladder", whereas Reverend Polx of East Gmail prescribes more lemons, prayer and sherry. I shall consult with my physician.
<<<
This would be added to the tiddler referred to, or put in a new one (or two), depending.}}}


ve minra
! Layout
!! The Basics
* [[SiteTitle]] & [[SiteSubtitle]]: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* [[WindowTitle]]: By default, it contains {{{SiteTitle - SiteSubtitle}}}
* [[MainMenu]]: The menu (usually on the left)
* [[DefaultTiddlers]]: Contains the names of the tiddlers that you want to appear when the TiddlySpace is opened
* Many features of TiddlySpace are accessed via the backstage bar located at the top of the page. You can toggle it on or off using the button in the top right corner of the screen.

!! The ~SiteIcon
* Upload a SiteIcon. A SiteIcon gives your space an identity to make it recognisable to others. A good site icon will be square and at least 48*48 pixels size.
** Hint: This picture should be small in file size, since it may slow down your browser.
<<binaryUploadPublic title:SiteIcon>>

!! The Layout
The layout tiddlers mentioned below, will contain some hidden text covered by {{{/% ... %/}}}. It contains informations, that you may find usefull, tweaking this theme. You may delete the stuff, or you may keep it as some hints. 

|WindowTitle|>|>||
|>|>| SiteTitle| [[sidebarSearch]] |
|>|>| SiteSubtitle||
|>|>|TopMenu edit: "new tiddler  new journal ◄ ►" ... SideBarOptions  »  OptionsPanel||
|MainMenu| DefaultTiddlers| (hidden content) CSidebarTools||
|~| ToolbarCommands| CSideBarTabs||
|~|| SideBarTabs||
|||||
|ColorPalette | FontPalette|||

* The actual theme is set in [[zzConfig]] tiddler
* If you want to know how the MainMenu works have a look at http://apm-plugins.tiddlyspot.com/#StylingPackage.
** If you don't need this mechanism at the moment, overwrite it.
** You will remember it, when automatic TopMenu and MainMenu with drag and drop sorting would be nice ;)

* Have a look at the actual ~ColorPalette with ViewColorPalette

* If you don't like the color scheme click <<RandomColorPaletteButton>> to generate a new random color scheme.
|''Name:''|[[NeUIemTheme]]|
|''Description:''|Your description here!|
|''Generator:''|[[TW FreeStyle|http://FreeStyle.tiddlyspace.com]]|
|''Gen.Description:''|Automatically generated from: tsNeUIemProject|
|''PageTemplate:''|##PageTemplate|
|''ViewTemplate:''|##ViewTemplate|
|''EditTemplate:''|##EditTemplate|
|''RevisionTemplate:''|NeUIemTheme##RevisionTemplate|
|''StyleSheet:''|##StyleSheet|
|''UsedClones:''|StyleSheetHeaderMp StyleSheetMenuBarMp StyleSheetSideBarMp StyleSheetTiddlerMp StyleSheetTiddlySpaceMp StyleSheet_neui-em EmasticSystem NeuiemZzConfig:zzConfig TerminateStyleSheet:StyleSheet CSideBarTabs CSidebarOptions CSidebarTools NeuiemSidebarTools:SidebarTools TopMenu SideBarOptions OptionsPanel [[sidebarSearch]] FontPalette ToolbarCommands GettingStarted NeUIemTheme01 NeUIemTheme02 NeUIemTheme03 NeUIemTheme04 |

!Important
If any of the obove clones is missing, the theme may not work.

!PageTemplate
<!--{{{-->


<!-- tsRowTitle -->
<div class='dp100 header clearfix'>
	<!-- tsColTitle -->
	<div class='dp80'>
		<!-- BoxTsHeader -->		
		<div class='box headerForeground'>
			<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
			<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
		</div>
	</div>

	<!-- tsColSearch -->
	<div class='dp20'>
		<!-- tsBoxGoto -->		
		<div id='sidebarSearch' class='box searchForeground'>
			<div refresh='content' tiddler='sidebarSearch'></div>
		</div>
	</div>
</div>	<!-- row -->


<!-- tsRowMenuBar -->
<div id='menuBar' class='dp100 clearfix'>
	<!-- tsColTopMenue -->
	<div class='dp60'>
		<!-- tsBoxTopMenue -->		
		<!-- horizontal TopMenu -->
		<div class='box topMenu clearfix' refresh='content' tiddler='TopMenu'></div>
	</div>

	<!-- tsColThemeSwitcher -->
	<div class='dp40'>
		<!-- tsBoxThemeSwitcher -->		
		<div id='sidebarOptions' class='dpfr' refresh='content' tiddler='SideBarOptions'></div>
	</div>
</div>	<!-- row -->


<!-- tsRowBody -->
<div class='dp100 clearfix row'>
	<!-- tsColSidebar -->
	<div id='sidebar' class='dp15 dpfr' style='width:15%; position:relative;'>
		<!-- tsBoxSidebarTools -->		
		<div id='sidebarTools' class='box' refresh='content' force='true' tiddler='CSidebarTools'></div>

		<!-- tsBoxSidebarTabs -->		
		<div id='sidebarTabs' class='box' refresh='content' force='true' tiddler='CSideBarTabs'></div>
	</div>

	<!-- tsColMainMenu -->
	<div class='dp15'>
		<!-- tsBoxMainMenu -->		
		<!-- original MainMenu menu -->
		<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
	</div>

	<!-- tsColDisplayArea -->
	<div id='displayArea' class='dp70'>
		<!-- tsBoxMessageArea -->		
		<div id='messageArea' class='box'></div>

		<!-- tsBoxBreadCrumbs -->		
		<div id='breadCrumbs' class='breadCrumbs box'></div>

		<!-- tsBoxTiddlersBar -->		
		<div id='tiddlersBar' refresh='none' ondblclick='config.macros.tiddlersBar.onTiddlersBarAction(event)'></div>

		<!-- tsBoxTiddlerDisplay -->		
		<div id='tiddlerDisplay' class='box'></div>
	</div>
</div>	<!-- row -->

<!--}}}-->
!ViewTemplate
<!--{{{-->


<!-- tsVT_NEUIem -->
<div class='dp100 clearfix'>
	<!-- tsVT_toolbar -->
	<div class='dp100'>
		<!-- tsBoxVT_FollowPlaceHolder -->		
		<div class='followPlaceHolder' macro='linkedTiddlers'>
			<span macro="view title replyLink"></span>
		</div>

		<!-- tsBoxVT_Toolbar -->		
		<div class='box toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]] icons:yes'></div>
	</div>

	<!-- tsVT_leftCol -->
	<div class='dp10'>
		<!-- tsBoxVT_SiteIcon -->		
		<div class='box spaceSiteIcon' macro='tiddlerOrigin label:yes height:48 width:48'></div>

		<!-- BoxVT_Calender -->		
		<div class='box calendar' macro='viewRevisions page:5'>
			<div class='month' macro='view modified date mmm'></div>
			<div class='date' macro='view modified date 0DD'></div>
			<!-- div class='time' macro='view modified date 0hh:0mm'></div  -->
		</div>

		<!-- BoxVTts_tagged -->		
		<div class='box tagged' macro='tags'></div>
		<div class='box' macro='tiddler CTagBox'></div>
	</div>

	<!-- tsViewTemplate -->
	<div class='dp90'>
		<!-- tsBox_ModifierIcon -->		
		<div class='box modifierIcon dpfr'
			macro='view modifier SiteIcon label:yes height:30 width:30 labelPrefix:"modified by "'>
		</div>

		<!-- tsBoxVT_Title -->		
		<div class='titleContainer'>
			<div class='box title' macro='view title'></div>
		</div>

		<!-- tsBox_concertina -->		
		<div class='box concertina clear'></div>

		<!-- tsBoxVT_Body -->		
		<div class='box content'>
			<div class='viewer' macro='view text wikified'></div>
		</div>

		<!-- tsBoxVT_TagglyTaggingFooter -->		
		<div class="box tagglyTagging" macro="tagglyTagging"></div>

		<!-- tsBox_StoryGlue -->		
		<div class='box storyGlue' macro='storyGlue fsStory ACTIVESTORY'></div>
	</div>
</div>	<!-- row -->

<!--}}}-->
!EditTemplate
<!--{{{-->


<!-- tsET_NEUIem -->
<div class='dp100 clearfix'>
	<!-- tsEditTemplate -->
	<div class='dp100'>
		<!-- BoxET_tsEditToolbar -->		
		<div class='box dpfr toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]] icons:yes'></div>

		<!-- BoxET_tsSetPrivate -->		
		<div class="box dpfr privacyEdit" macro='setPrivacy label:no interactive:yes'></div>
		<div class='box dpfr editSpaceSiteIcon'	macro='tiddlerOrigin height:25 width:25 label:no interactive:no'></div>

		<!-- BoxET_tsTitle -->		
		<div class='box title' macro='view title'></div>

		<!-- BoxET_tsEditTitle -->		
		<div class='box editor' macro='edit title'></div>
		<div macro='annotations'></div>

		<!-- BoxET_tsEditBody -->		
		<div class='box editor' macro='edit text'></div>

		<!-- BoxET_tsTagging -->		
		<div class='box save editor' macro='edit tags'></div>

		<!-- BoxET_tsEditFooter -->		
		<div class='box editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser excludeLists'></span></div>
	</div>
</div>	<!-- row -->

<!--}}}-->
!RevisionTemplate
<!--{{{-->


<!-- tsRT_NEUIem -->
<div macro='slideRevision'></div>
<div class='dp100 clearfix'>
	<!-- tsRT_toolbar -->
	<div class='dp100'>
		<!-- tsBoxVT_FollowPlaceHolder -->		
		<div class='followPlaceHolder' macro='followTiddlers'>
			<span macro="view title replyLink"></span>
		</div>

		<!-- tsBoxRT_Toolbar -->		
		<div class='box toolbar' macro='toolbar [[ToolbarCommands::RevisionToolbar]] icons:yes'></div>
	</div>

	<!-- tsVT_leftCol -->
	<div class='dp10'>
		<!-- tsBoxVT_SiteIcon -->		
		<div class='box spaceSiteIcon' macro='tiddlerOrigin label:yes height:48 width:48'></div>

		<!-- BoxVT_Calender -->		
		<div class='box calendar' macro='viewRevisions page:5'>
			<div class='month' macro='view modified date mmm'></div>
			<div class='date' macro='view modified date 0DD'></div>
			<!-- div class='time' macro='view modified date 0hh:0mm'></div  -->
		</div>

		<!-- BoxVTts_tagged -->		
		<div class='box tagged' macro='tags'></div>
		<div class='box' macro='tiddler CTagBox'></div>
	</div>

	<!-- tsViewTemplate -->
	<div class='dp90'>
		<!-- tsBox_ModifierIcon -->		
		<div class='box modifierIcon dpfr'
			macro='view modifier SiteIcon label:yes height:30 width:30 labelPrefix:"modified by "'>
		</div>

		<!-- tsBoxVT_Title -->		
		<div class='titleContainer'>
			<div class='box title' macro='view title'></div>
		</div>

		<!-- tsBox_concertina -->		
		<div class='box concertina clear'></div>

		<!-- tsBoxVT_Body -->		
		<div class='box content'>
			<div class='viewer' macro='view text wikified'></div>
		</div>

		<!-- tsBoxVT_TagglyTaggingFooter -->		
		<div class="box tagglyTagging" macro="tagglyTagging"></div>

		<!-- tsBox_StoryGlue -->		
		<div class='box storyGlue' macro='storyGlue fsStory ACTIVESTORY'></div>
	</div>
</div>	<!-- row -->

<!--}}}-->
!StyleSheet
/*{{{*/
Version: 1.0 - 2010.08.12

/*****************************************************/
/*-- some simple rules to change the global layout --*/
/*-- margin should not be uses for row, col, box   --*/
/*-- margin is used to adjust special elements     --*/
/*-- The layout doesn't allow padding-left/right or margin-left/right ! for rows and cols --*/
.row {
	margin: 0;
	padding: 0;
	margin-top: 0.5em;
}

/*-- The layout doesn't allow padding-left/right or margin-left/right ! for rows and cols --*/
/*-- col is not assigned to layout yet --*/
.col {
	margin: 0;
	padding: 0;
}

/*-- if you want more space between 2 columns use box 2nd and 4th parameter. --*/
/*-- boxes must have padding-bottom: 0; !! --*/
.box {
	margin: 0;
	padding: 0.5em 0.5em 0 0.5em;
}

/* general stuff */
.noBullets ul {
	list-style:none;
}

.noNumbers ol {
	list-style:none;
}

.noBr br {
	display: none;
}

/* prefer monospace for editing */
.editor textarea, .editor input {
	font-size: 90%; 
	font-family: [[FontPalette::twEditor]], 'Courier New', monospace; 
	background-color:[[ColorPalette::TertiaryPale]];
}

/*-- emastic System --*/
[[EmasticSystem]]

/*-- theme specific stuff --*/
[[StyleSheet_neui-em]]

/* 2012.01.04 inserted */
.notLoaded {
	background-image: URL('loading.gif');
	background-repeat:no-repeat;
	background-position:center; 
}

/*-- call the standard StyleSheet --*/
[[StyleSheet]]

/*}}}*/
<!doctype html>
<html>
	<head>
		<title>TiddlyApp Share</title>

		<link rel="stylesheet" href="/bags/common/tiddlers/profile.css" type="text/css"/>
		<script src="/bags/common/tiddlers/jquery.js" type="text/javascript"></script>
		<script src="/bags/tiddlyspace/tiddlers/chrjs" type="text/javascript"></script>
		<script src="/bags/common/tiddlers/chrjs-store.js" type="text/javascript"></script>
		<script src="/bags/common/tiddlers/chrjs.users" type="text/javascript"></script>
		<script type="text/javascript" src="/bags/common/tiddlers/backstage.js"></script>
		<script>
			// The templates of the links to display on the page
			var links = [
				{
					title: "Tiddlers",
					info: "Show a list of all the tiddlers in this space that a visitor currently has access to.",
					href: "{host}/tiddlers"
				}, {
					title: "Public Tiddlers",
					info: "Show a list of all the public tiddlers in this space in alphabetical order.",
					href: "{host}/bags/{subdomain}_public/tiddlers?select=tag:!excludeLists;sort=title"
				}, {
					title: "Atom Feed",
					info: "Get the Atom feed of the most recently changed tiddlers.",
					href: "{host}/tiddlers.atom?select=tag:!excludeLists;sort=-modified;limit=20"
				}, {
					title: "Specific Tiddler",
					info: "Show a specific tiddler in your space (GettingStarted in this example) as HTML, JSON or just plain text.",
					href: ["{host}/GettingStarted", "{host}/GettingStarted.json", "{host}/GettingStarted.txt"],
					more: "http://tiddlyweb.peermore.com/wiki/"
				}, {
					title: "Search for text",
					info: "Search tiddlers for some text contained inside a tiddler.",
					href: "{host}/search?q={subdomain}"
				}, {
					title: "List tiddlers with a tag",
					info: "Display all the tiddlers that have the tag specified (here the tag is systemConfig).",
					href: "{host}/tiddlers?select=tag:systemConfig"
				}
			];

			$(function() {

				var subdomain = document.location.host.split(".")[0];

				// Filter curly braces to display information
				for (var i in links) {
					var href = links[i].href;

					if (typeof href === "string")
						href = [href];

					for (var j in href) {

						href[j] =  href[j].replace("{host}", (document.protocol || "http:") + "//" + document.location.host);
						href[j] =  href[j].replace("{subdomain}", subdomain);
					}

					links[i].href = href;
				}

				// Display links to user
				var insertInto = $('#share_links');

				for (var i in links) {

					var linkBody = $('<div class="share_link"></div>');

					var linkDisplay = $('<div class="link_display"></div>');

					for (var j in links[i].href) {

						var a = $('<a class="link_href" target="_blank"/>');
						a.html(links[i].href[j]);
						a.attr('href', links[i].href[j]);

						linkDisplay.append(a);
						linkDisplay.append("<br/>");
					}
					
					var linkTitle = $('<b class="link_title"/>');
					linkTitle.html(links[i].title);

					var linkInfo = $('<div class="link_info"/>');
					linkInfo.html(links[i].info);

					linkBody.append(linkTitle);
					linkBody.append('<br/>');
					linkBody.append(linkInfo);
					linkBody.append(linkDisplay);

					if (links[i].more) {
						var linkMore = $('<a class="link_more">Learn more</a>');
						linkMore.attr('href', links[i].more);
						linkBody.append(linkMore);
					}

					insertInto.append(linkBody);
				}
			});
		</script>
		<style type="text/css">
			.link_display {
				display: block;
				background: #f2f2f2;
				border: 1px solid #aaa;
				padding: 10px;
				margin-top: 4px;
				word-wrap: break-word;
			}
			.link_more {
				display: block;
				text-align: right;
			}
			.share_link {
				margin-bottom: 10px;
			}
		</style>
	</head>
	<body>
		<div id="container">
			<div id="header">
				<h1>Share Space</h1>
			</div>
			<div class="main section">
				<p>Here are a number of methods that you can use to share this Space and its content in different ways.</p>
				<span id="share_links"></span>
			</div>
		</div>
	</body>
</html>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="29pt" viewBox="13 43 29 29" width="29pt" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" onmousedown="if(jQuery) jQuery(document).trigger('cSmaller', {elem:this, comp:{animations:1}})" onmouseup="if(jQuery) jQuery(document).trigger('cResize', {elem:this, comp:{animations:1}})">
 <defs id="defs6">
 <linearGradient id="linearGradient001" y2="27.646" gradientUnits="userSpaceOnUse" x2="-45.8" y1="27.646" x1="-57.66">
   <stop id="stop1" stop-color="#CC9900" offset="0"/>
   <stop id="stop2" stop-color="#E8D18B" offset="0.66462"/>
   <stop id="stop3" stop-color="#CC9900" offset="1"/>
  </linearGradient></defs>
<g id="icon" stroke-linecap="round" stroke-miterlimit="4">
 <rect id="iconBG" style="stroke-dasharray:none;" fill-rule="evenodd" ry="4.1663" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#696969" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="none"/>
 <rect id="iconFG" stroke-width="0" fill-rule="evenodd" ry="2.3755" transform="matrix(0, -1, 1, 0, 0, 0)" width="22" stroke-miterlimit="4" y="16.646" x="-68.6" height="22" fill="url(#linearGradient001)" class="showOnHover" opacity="0"/>
 <g id="iconSymbol" stroke-linejoin="miter" transform="matrix(0.979566, -0.500632, 0.735105, 0.667118, -41.7482, 33.1452)" stroke="#4d4d4d" stroke-linecap="butt" stroke-width="0.80000001px" fill="none">
   <path id="path3696" d="m37.954,54.163-4.5532,5.7819-0.03139-4.2335-7.7522,0,0-2.605,7.7522,0,0-3.4444,4.5846,4.501z"/>
   <path id="path3719" d="m17.41,60.825,4.4254-5.6117,0.03139,4.2335,7.7522,0,0,2.605-7.7522,0,0,3.4444-4.4568-4.6712z"/>
  </g>
 <rect id="overlay" opacity="0.01" ry="4.1663" style="stroke-dasharray:none;" fill-rule="evenodd" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#e6e6e6" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="#e6e6e6" onmouseover="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})" onmouseout="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})"/>
</g>
</svg>
/***
|''Name''|TiddlySpaceFollowingSuggestions|
|''Version''|0.2.5dev|
|''Description''|Provides a following macro|
|''Author''|Jon Robson|
|''Requires''|TiddlySpaceFollowingPlugin|
|''License''|[[BSD|http://www.opensource.org/licenses/bsd-license.php]]|
!Usage

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

var tweb = config.extensions.tiddlyweb;
var tiddlyspace = config.extensions.tiddlyspace;
var followMacro = config.macros.followTiddlers;

var followSuggestions = config.macros.followSuggestions = {
	cache: {},
	handler: function(place, macroName, params) {
		// to do - limit results
		place = $('<div class="suggestions" />').appendTo(place)[0];
		var currentSpace = tiddlyspace.currentSpace.name;
		var user = params[0] || currentSpace;
		var pleaseWait = $("<div class='loading' />").text("please wait..").appendTo(place);
		tweb.getUserInfo(function(activeUser) {
			if(activeUser.name != tiddlyspace.currentSpace.name) {
				pleaseWait.hide();
				return;
			}
			followMacro.getFollowers(function(users) {
				// suggestions are followers of people that you follow that you don't follow
				var bags = followMacro._getFollowerBags(users);
				var _bags = [];
				for(var i = 0; i < bags.length; i++) {
					_bags.push("bag:%0".format([bags[i]]));
				}
				var bagString = _bags.join(" OR ");
				ajaxReq({
					beforeSend: followMacro.beforeSend,
					url: "/search?q=(%0)&select=title:!%1&select=title:!@%1".format([bagString, activeUser.name]),
					dataType: "json",
					success: function(tiddlers) {
						pleaseWait.hide();
						var suggestions = [];
						for(var i = 0; i < tiddlers.length; i++) {
							var tiddler = tiddlers[i];
							if(tiddler.tags.contains("follow")) {
								var title = tiddler.title;
								if(title.indexOf("@") === 0) {
									title = title.substr(1);
								}
								if(!users.contains(title)) {
									suggestions.pushUnique(title);
								}
							}
						}
						$(place).append("<div>suggestions:</div>");
						var suggestionArea = $("<div class='suggestionArea' />").appendTo(place)[0];
						var id = "more_%0".format([Math.random()]);
						var more = $("<div class='moreButton' />").text("more...").appendTo(place).attr("id", id);
						followSuggestions.cache[id] = suggestions;
						var limit = suggestions.length;
						more.click(function(ev) {
							var suggestions = config.macros.followSuggestions.cache[id];
							var newSuggestions = followSuggestions.suggest(place, suggestions, limit);
							config.macros.followSuggestions.cache[id] = newSuggestions;
						});
						followSuggestions.suggest(place, suggestions, limit);
					
					}
				});
			
			}, user);
		});
	},
	randomize: function(a, b) {
		if(Math.random() < Math.random()) {
			return -1;
		} else {
			return 1;
		}
	},
	suggest: function(place, suggestions, limit) {
		var currentSpace = tiddlyspace.currentSpace.name;
		suggestions = suggestions.sort(followSuggestions.randomize);
		var suggestionsArea = $(".suggestionArea", place)[0];
		if(suggestions.length === 0) {
			$("<span />").text("no suggestions..").appendTo(suggestionsArea);
			return;
		}
		limit = limit < suggestions.length ? limit : suggestions.length;
		for(var j = 0; j < limit; j++) {
			var link = $("<span />").appendTo(suggestionsArea)[0];
			var title = suggestions[j];
			var newTiddler = '@%0 <<newTiddler title:"@%0" fields:"server.workspace:bags/%1_public" tag:follow label:"follow">>\n'.format([title, currentSpace]);
			wikify(newTiddler, link);
		}
		var newSuggestions = suggestions.slice(limit, suggestions.length);
		var more = $(".moreButton", place);
		if(newSuggestions.length == 0) {
			more.remove();
		}
		return newSuggestions;
	}
};
})(jQuery);
//}}}
{{indent{These [[groovs|Groov]] have content so {{hooky2{solid}}} (one of the [[ve minra states]]) you can build bridges with them:

<<list filter "[tag[GState: Solid]]">>}}}

{{center{[img[solid_icon.png]]
{{small{The moon looks solid - water (ice) included.
But part of its inner mantel is liquid.}}}}}}

/*{{{*/
/* make it print a little cleaner */
/* FireFox only prints one page. Google Chrome works. */

@media print {
	/* basic setting */
	#displayArea {	
		font:11px/120% Arial, serif;
		background-color: white !important;
		background-image: none !important;
		color:black;

		width: 95%;	
	}

	#sidebarSearch,
	.clear,
	.topMenu,
	.quickopentag a.button, 
	.miniTag,
	.noPrint,
	.tagglyTagging {
		display: none ! important;
	}

	/* not sure if we need all the importants */
	.tiddler {
		-moz-box-shadow: none;
		-web-box-shadow: none;
		boder:none ! important;
		border-style: none ! important;
		margin:0px ! important;
		padding:0px ! important;
		padding-bottom:2em ! important;
		display:inline;
	}

	.headerShadow {
		visibility: hidden ! important;
	}

	.tagglyTagged .quickopentag, .tagged .quickopentag {
	/*	border-style: none ! important; */
	}

	.siteIcon,
	.spaceSiteIcon {
		display: none ! important; 
	}
}
/*}}}*/
/%
!info
|Name|ToggleLeftSidebarEm|
|Source|http://hoster.peermore.com/recipes/TeamWork/tiddlers.wiki#ToggleLeftSidebarEm|
|Version|0.1.0|
|Author|Mario Pietsch|
|Derived from:|http://www.tiddlytools.com/#ToggleLeftSidebar|
|License|http://creativecommons.org/licenses/by-nc-sa/3.0/at/|
|~CoreVersion|2.6|
|Type|transclusion|
|Description|show/hide left sidebar (MainMenu) for FreeStyle Themes. Works only with EmasticSystem|
Usage
<<<
{{{
<<tiddler ToggleLeftSidebarEm>>
<<tiddler ToggleLeftSidebarEm with: label tooltip>>
<<tiddler ToggleLeftSidebarEm with: {{config.options.chkShowLeftSidebar?'◄':'►'}}>>
}}}
Try it: <<tiddler ToggleLeftSidebarEm##show
	with: {{config.options.chkShowLeftSidebar?'◄':'►'}}>>
<<<
Configuration:
<<<
{{{
config.options.chkShowLeftSidebar (true)
config.options.txtToggleLeftSideBarLabelShow (►)
config.options.txtToggleLeftSideBarLabelHide (◄)
}}}
<<<
!end
!show
<<tiddler {{
	var co=config.options;
	if (co.chkShowLeftSidebar===undefined) co.chkShowLeftSidebar=true;

	getDP = function(name) {
		var width = undefined;
		var myregexp = /dp([\d]{1,3})/;
		var elem = jQuery(name);
		var text = elem.attr('class');

		var match = myregexp.exec(text);
		if (match != null) {
			width = match[1];
		} else {
			elem = jQuery(name).parent();
			text = elem.attr('class');
			match = myregexp.exec(text);
			if (match != null) {
				width = match[1]
			}
			else elem = undefined;
		}
		return {'width': width, 'elem': elem};
	}; // end function

	setDP = function(cmd, elem, target) {
		if (!elem || !target) return alert('elem or target undefined!');
		var newWidth = 0;
		if (cmd === 'hide' && (elem.elem.css('display') != 'none')) {
			newWidth = parseInt(target.width) + parseInt(elem.width);
			jQuery(elem.elem).hide();
			jQuery(target.elem).removeClass('dp'+target.width);
			jQuery(target.elem).addClass('dp'+newWidth);
		}
	}; // end function

	var mm = getDP('#mainMenu');
	var da = getDP('#displayArea');
	var sb = getDP('#sidebar');

	var cmd = co.chkShowLeftSidebar?'show':'hide';
	setDP(cmd, mm, da);

'';}}>><html><nowiki><a href='javascript:;' title="$2"
onmouseover="
	this.href='javascript:void(eval(decodeURIComponent(%22(function(){try{('
	+encodeURIComponent(encodeURIComponent(this.onclick))
	+')()}catch(e){alert(e.description?e.description:e.toString())}})()%22)))';"
onclick="
	var co=config.options;
	var opt='chkShowLeftSidebar';
	var show=co[opt]=!co[opt];

	getDP = function(name) {
		var width = undefined;
		var myregexp = /dp([\d]{1,3})/;
		var elem = jQuery(name);
		var text = elem.attr('class');

		var match = myregexp.exec(text);
		if (match != null) {
			width = match[1];
		} else {
			elem = jQuery(name).parent();
			text = elem.attr('class');
			match = myregexp.exec(text);
			if (match != null) {
				width = match[1]
			}
			else elem = undefined;
		}
		return {'width': width, 'elem': elem};
	}; // end function

	setDP = function(cmd, elem, target) {
		if (!elem || !target) return alert('elem or target undefined!');
		var newWidth = 0;
		if (cmd === 'hide') {
			newWidth = parseInt(target.width) + parseInt(elem.width);
			jQuery(elem.elem).hide();
			jQuery(target.elem).removeClass('dp'+target.width);
			jQuery(target.elem).addClass('dp'+newWidth);
		}
		else if (cmd === 'show') {
			newWidth = parseInt(target.width) - parseInt(elem.width);
			jQuery(elem.elem).show();
			jQuery(target.elem).removeClass('dp'+target.width);
			jQuery(target.elem).addClass('dp'+newWidth);			
		}
	}; // end function

	var mm = getDP('#mainMenu');
	var da = getDP('#displayArea');
	var sb = getDP('#sidebar');

	var cmd = co.chkShowLeftSidebar?'show':'hide';
	setDP(cmd, mm, da);

	saveOptionCookie(opt);
	var labelShow=co.txtToggleLeftSideBarLabelShow||'&#x25BA;';
	var labelHide=co.txtToggleLeftSideBarLabelHide||'&#x25C4;';
	if (this.innerHTML==labelShow||this.innerHTML==labelHide) 
		this.innerHTML=show?labelHide:labelShow;
	this.title=(show?'hide':'show')+' left sidebar';
	var sm=document.getElementById('storyMenu');
	if (sm) config.refreshers.content(sm);
	return false;
">$1</a></html>
!end
%/<<tiddler {{
	var src='ToggleLeftSidebarEm';
	src+(tiddler&&tiddler.title==src?'##info':'##show');
}} with: {{
	var co=config.options;
	var labelShow=co.txtToggleLeftSideBarLabelShow||'&#x25BA;';
	var labelHide=co.txtToggleLeftSideBarLabelHide||'&#x25C4;';
	'$1'!='$'+'1'?'$1':(co.chkShowLeftSidebar?labelHide:labelShow);
}} {{
	var tip=(config.options.chkShowLeftSidebar?'hide':'show')+' left sidebar';
	'$2'!='$'+'2'?'$2':tip;
}}>>
//{{{
config.shadowTiddlers["StyleSheetTagSearchNeuiEm"]="/*{{{*/\n"+
	".tagSearch .button {\n"+
	"	-webkit-border-radius: 0px 15px 15px 0px;\n"+
	"	-moz-border-radius: 0px 15px 15px 0px;\n"+
	"	background-color: white;\n"+
	"	border: 2px 2px 2px 0 solid #ccc;\n"+
	"	display: block;\n"+
	"	margin: 0 0.2em 0.2em -0.9em;\n"+
	"	padding: 0 0.4em;\n"+
	"	font-size: 0.9em;\n"+
	"}\n"+
	"/*}}}*/";
store.addNotification("StyleSheetTagSearchNeuiEm",refreshStyles);
//}}}
/***
|''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);
//}}}
/9j/4AAQSkZJRgABAgEAHAAcAAD/7RSCUGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAAvwcAgAAAgACHAJpABlOaWdodCBTa3kgYnkgVmlqYSBDZWxtaW5zHAJuABqpIEdlb2ZmcmV5IENsZW1lbnRzL0NPUkJJUxwCcwASQ2xlbWVudHM7IEdlb2ZmcmV5HAIFAAhJRTAwMTU5MxwCGQANTW9ub2Nocm9tYXRpYxwCGQAFQ29sb3IcAhkACVN0YXJsaWdodBwCGQALQ2xlYXIgc2tpZXMcAhkABVNraWVzHAIZAAhibHVlIHNreRwCGQAJY2xlYXIgc2t5HAIZAAtPdXRlciBzcGFjZRwCGQAFU3RhcnMcAhkACm91dGVyc3BhY2UcAhkACHVuaXZlcnNlHAIZABFDZWxlc3RpYWwgb2JqZWN0cxwCGQAFTmlnaHQcAhkACW5pZ2h0dGltZRwCGQAGQmVhdXR5HAIZAAlDdXJpb3NpdHkcAhkACEluZmluaXR5HAIZAAdNeXN0ZXJ5HAIZABFQb3NpdGl2ZSBjb25jZXB0cxwCGQAGZW5pZ21hHAIZAAllbmlnbWF0aWMcAhkACm15c3RlcmlvdXMcAhkAFFJlcHJlc2VudGF0aW9uYWwgYXJ0HAIZAA1vYmplY3RpdmUgYXJ0HAIZABBDZWxlc3RpYWwgYm9kaWVzHAIZAAtFeHBsb3JhdGlvbhwCGQAIRmluZSBhcnQcAhkAClNreSBzY2VuZXMcAhkAC1Zpc3VhbCBhcnRzHAIZAB9MYXR2aWFuIChvcmlnaW4gcGVyaW9kIG9yIHN0eWxlHAIZAB9BbWVyaWNhbiAob3JpZ2luIHBlcmlvZCBvciBzdHlsHAIZAB5Ob3J0aCBBbWVyaWNhbiByZWdpb25hbCBzdHlsZXMcAhkAH05vcnRoIEFtZXJpY2FuIChvcmlnaW4gcGVyaW9kIG8cAhkACVBhaW50aW5ncxwCGQAZTmlnaHQgU2t5IGJ5IFZpamEgQ2VsbWlucxwCGQAJTmlnaHQgU2t5HAJ0ABepIENvcHlyaWdodCAyMDAxIENvcmJpczhCSU0D6QAAAAAAeAADAAAASABIAAAAAALYAij/4f/iAvkCRgNHBSgD/AACAAAASABIAAAAAALYAigAAQAAAGQAAAABAAMDAwAAAAEnDwABAAEAAAAAAAAAAAAAAABgCAAZAZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhCSU0D7QAAAAAAEAAcWJMAAQABABxYkwABAAE4QklNBA0AAAAAAAQAAAB4OEJJTQPzAAAAAAAIAAAAAAAAAAA4QklNBAoAAAAAAAEBADhCSU0ECwAAAAAAFWh0dHA6Ly93d3cuY29yYmlzLmNvbQA4QklNJxAAAAAAAAoAAQAAAAAAAAACOEJJTQP1AAAAAABIAC9mZgABAGxmZgAGAAAAAAABAC9mZgABAKGZmgAGAAAAAAABADIAAAABAFoAAAAGAAAAAAABADUAAAABAC0AAAAGAAAAAAABOEJJTQP4AAAAAABwAAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAADhCSU0ECAAAAAAAEAAAAAEAAAJAAAACQAAAAAA4QklNBBEAAAAAAAEBADhCSU0EFAAAAAAABAAAAAE4QklNBAwAAAAADzUAAAABAAAAaAAAAHAAAAE4AACIgAAADxkAGAAB/9j/4AAQSkZJRgABAgEASABIAAD//gAmRmlsZSB3cml0dGVuIGJ5IEFkb2JlIFBob3Rvc2hvcKggNS4y/+4ADkFkb2JlAGSAAAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAcABoAwEiAAIRAQMRAf/dAAQAB//EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUDDDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1RkRcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm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
To [[believe|Belief]] in {{hooky2{free will}}} is, roughly, to believe that humans have control over themselves 'over and above' the physical, material processes occurring in and around them. This is [[nonsense|Waffle (speech)]]. 

Here's why:{{groupboxRed{
*It is not clear
**given the results of science and a material understanding of [[emergence|Emergence]], that we need __non-material causation__ to explain anything, including human thinking, emotion, and '[[mind]]'. So per [[Occam's razor]], shut up about it.
**what non-material causation even might //mean//. So per [[Wovon...|Wovon man nicht sprechen kann, darüber muss man schweigen]], shut up about it.
*Free will requires non-material causation, which we just dismissed.
*So 'shut up about', i.e. do not believe in, free will.
}}}

Note that this does not necessarily make human //freedom// unimportant or undesirable. ([[Quite the contrary|No free will, so grant us freedom]].)

At //ve minra// we feel that @@color:crimson;the erroneous belief in free will should be the next big illusion-regarding-the-human-condition to bite the dust@@. This after geocentricism and the belief in gods. (Geocentricism has been //disproved//. Gods and free will //seem unnecessary and perfectly unlikely//, which is a weaker argument, but still a strong one.)

The pragmatic reasons __why this is important__:
*A false attribution of responsibility of action hinders a honest and correct discussion on [[responsibility|Responsibility]] and [[compassion|Compassion]].
*Belief in free will makes humanity seem to stand apart from the rest of the natural world more than it really does. This leads to various bad assessments of our potentials, weaknesses and potential purposes.


!!!!Note: So who's acting then?
You do not disappear as a person just because you do not have free will. Chris Dent [[writes|Free will]]@chris-dent:
<<<
Myself, I tend to think of these things in terms of utility. It is useful for me to a) grant a perception of free will on others b) expect such a perception from them; otherwise life is just too damn depressing. Not because of lack of meaning but because putting free will into the picture provides a locus for problem solving, discovery and learning: Change and knowledge starts at the individual. No doubt the individual is part of larger system and no doubt they are subject to the whimsy of their molecules but each individual exists as a focused place to push.
<<<
"Each individual exists as a focused place to push" - yes. Though the amount of focusing varies. Sometimes what a person does seems to be entirely coherent with that person's overall goals, and independent of outside influences. That's a strong focus. Sometimes outside influences are strong, or the influences are strong of parts of the person not entirely in line with their overall goals (hormones anyone?) This is a matter of where you draw [[entity|Entity]] boundaries in a [[macroscopic|Macroscope]] view. Jack may 'struggle against' his testosterone at times, or all the time. Jill may 'be nothing without' her best friend at times, or all the time. Jo may be a 100% together individual, fundamentally independent of others and with no inner conflicts. Yet none of them have free will.

So, putting free will in [[Fable Museum]] does not mean there is no longer a focus for problem solving. Indeed, it should help find the right foci. Nothing more //depressing// than seeing Jack and Jill having their higher brain functions pushed and pushed, when really the cause of things is with his testicles or her friend's mental allergy to holidays+++*{{footnoteButton{[†|note]}}}{{normal{I may very well be taking this thought from Huxley's //[[Island|Island (book)]]// - I don't have it on hand.}}}===. In Jo's case the neocortex may be the thing to talk to - and indeed it may talk to itself (which in Jo's case is pretty much Jo talking to Jo).

If you look at how people deal with each other, there is in fact a lot of disbelief in free will. People will have sympathies (maybe with themselves) and call in 'other causes'. But the same people may still uphold the free will ideal. [[Politics]] will matter. It's schizophrenic. Society should really come clean on this at some point.


/***
|''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);
//}}}
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
A {{hooky2{groov}}} at //ve minra// is a small bit of content. For instance, what you are reading now is a groov called 'Groov'.

Such a building block of a [[TiddlyWiki|http://www.tiddlywiki.com]] is called a "__tiddler__" in general ~TiddlyWiki terms. (Originally and in British English, that is a small fish, as a stickleback or minnow).

Here it is called a "groov" because that fits better with //ve minra//'s aims, which are about [[groove|Groove]]. The -e is dropped to avoid confusion.


R0lGODlhDQLLAMQAAP////7+/vz8/P39/fr6+vn5+fv7+/j4+Pf39/38/O/u7vDv7/Hw8Pb19fLx8fTz8/Py8vX09PHv7/Du7vf29vj39/n4+O/t7fv6+vz7+/r5+fX19fLw8Pb29vPx8fT09CH5BAAAAAAALAAAAAANAssAAAX/4CWKSmmeaKqubOu+cCzPdG3feK7vfO//wKDQNhq9JsikcslsOp/QqHRKrVqv2Kx2y+16v+CweEwuJ18Xk3LBbrvf8Lh8Tq/b7/i8fs/v+/+AgYKDhIWGh4iJeUpqE3ESkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytmXFIbhIMtLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DRxRJvs7YcDtna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19uQct9S12NoeEAADChxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsWNCD9vy8cv2L+CDkyhT/6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodShSmQJAO8mUzefJDhKdQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdyxbrB5QBtQE8CXVDg7t48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTBnwBqgnATqAQDcCXgqgQSMYTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/ASYcGjfdpZrp2O1BAUKH5gefQo0ufTr269evYs2vfzr279+/gw4sfT768+fPo06tfz5568woIKHRocBml5wbLKxywYKGA//8ABijggAQWaOCBCCao4P+CDDbo4IMQRijhhBRWaOGFGGao4YYF8ncAfBTcFcEDEdhFQXP9FaABASy26OKLMMYo44w01mjjjTjmqOOOPPbo449ABinkkEQWaeSRSCY5owb+WdBciJd5duJ+KrKIgQFYZqnlllx26eWXYIYp5phklmnmmWimqeaabLbp5ptwxinnnHTW2SUGLDJpwYchetYBc/1ZiWUGAhRq6KGIJqrooow26uijkEYq6aSUVmrppZhmqummnHbq6aeghioqohlgiScBBTiJwHz4VRAoAVgemsCstNZq66245qrrrrz26uuvwAYr7LDEFmvsscgmq+yyzDbr7LPQ0nooliymWkH/iA0gcECVBhAqwADghivuuOSWa+656Kar7rrstuvuu/DGK++89NZr77345qvvvvz2e26hpRLA5AEItBrolYWGG8DCDDfs8MMQRyzxxBRXbPHFGGes8cYcd+zxxyCHLPLIJJds8skoOxxuoQbgaS1orq5oQMIDpGzzzTjnrPPOPPfs889AB00xuCwL7CTMBRCAMLhCN+3001BHLfXUVFddMdEto3otBdvCSijTCwMg9thkl2322WinrfbabLft9ttwxy333HTXbffdeOet99589+3332UzTHTABRwAWtczf8sw4Iw37vjjkEcu+eSUV2755WkLXnThyyEuQAI1h435/+ikl2766ainrvrqZwuegAAGoEqwtknPDPrirOeu++689+777427Drvso3l+u+jAJ6/88sw377zkwsdeePG1fx56AM9nr/323HfffPTE0w6r9bh7b/756Kevvt/gTy++7devL//89Ncvf/uzGx+//fz37///usMf9cZ3POwB8IAITKACASfA95EPeQuMoAQnSMHALWwAr5Ne/qpXwAp68IMg7F8D9Ve+EJrwhCh83gg5uL8UuvCFMGTdCgnYwhja8IY4jNwM4VfCHPrwh0Cs2w4faMAgGvGISGzdBTMYPhJCMIlQjGIOh9hBKVrxii+kYg2xyMUuTlCLPfSiGMfoP/8wPpGMaEyj+sxYRDW68Y3cYyMc50jH7y1xeO5zYhvryMc+yvCOGhwgD8/ox0Ia8nJyPKQiFzm5RDLykZBkHyCbyMIwRvKSmIybIzPJyU6ubZOeDKUoAQDKUZoSk6U8pSoZmcpVurKQrXylLOkYy1naUo21vKUuxZjLXfryir38pTCTGMxhGhOIxTymMm+YzGU604XNfKY0QxjNaVqTgtW8pjYVmM1tevN/3fymOOsXznGac42TzGMlCXnOdoIznRukoSXdSU/7lbOe+LRjADCIx3gOco/5DCg698lEdcqTnQJNaBzhKUgiKvSh57snRCeKOolS9KKjsyhGN0o5jXL/9KOP8yhIR/o3kZL0pHozKUpXKkSGOrCKLI0pIl2qR5natHIqvalO0ZbTnfp0bD39qU+DKlSdErWoNj0qUmOq1KWutKlOPSlUozrSqVL1o1a96kazqtWLcrWrE/0qWB8q1rEmtKxmDSha04rPtbKVnm59azvjKldz0rWu4rwrXr2p171qs69+tSZgAyvNwRLWmYY9rDITq1hjMraxwnwsZH0p2cnqsrKWtSVmMyvLzXLWlZ79rCpDK1pTkra0ojwtaj2p2tVysrWuRSVN1wnQ2FZ1tgetrW2xitt/7vapvXXob6UaXJgOF6SwPa4ik6tcQzK3uX58LnT5KN3p0rK4/1u0LkSrq903cre7uMTuPMGbz++Sl4zmPS8vxYtQ9bozve7lInzjC0z26pa+55wvfqOo3/0S077+bSuAAwzXARN4rgY+sF0TrOC8MrjBfH0whP8q4QkLtsIWLiyGM4zYDXN4sR7+sGNDLOLIkrjElD0xii+r4hVrtsUu7iyMYwzaGdN4tDa+sWlzrOPU8rjHrP0xkF8r5CHLlqD9bKhxjcxiJAfypdll8iz7K+UIUrnK3Cwylhd55S0fsMtefqeTKZnbME9Zy2aOLprTTN01s/m6Yzaob9+M4zj7U7h03rGdlRzlPBN5z1Aer58vCeZBD5SfT66poUNZ6EVH1M2OHmNjoyPdvUlTenuWvnT2Mq1p53G608z7NKiVJ+pRA6/UpvYdqlPNu1WzOoCQfjUSBci16imuvbL27gU3Z7hae+1bfc61GwU3AAEQrtcVSNrSrme1Zjv72dCOtrSnnTOsuexaIQAAOw==
/***
|Name:|SelectThemePluginMP|
|Description:|Lets you easily switch theme and palette|
|Version:|1.0.1 ($Rev: 3646 $) MP 02|
|Date:|$Date: 2008-02-27 02:34:38 +1000 (Wed, 27 Feb 2008) $|
|OriginalSource:|http://mptw.tiddlyspot.com/#SelectThemePlugin|
|OriginalAuthor:|Simon Baird <simon.baird@gmail.com>|
|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
|Author:|Mario Pietsch|

!Notes
* Borrows largely from ThemeSwitcherPlugin by Martin Budden http://www.martinswiki.com/#ThemeSwitcherPlugin
* Theme is cookie based. But set a default by setting config.options.txtTheme in MptwConfigPlugin (for example)
* Palette is not cookie based. It actually overwrites your ColorPalette tiddler when you select a palette, so beware. 

*MP Added the label to applyTheme macro.
*Made selectPalette tiddlySpace ready. 

!Usage
* {{{<<selectTheme>>}}} makes a dropdown selector
* {{{<<selectPalette>>}}} makes a dropdown selector
* {{{<<applyTheme>>}}} applies the current tiddler as a theme
* {{{<<applyPalette>>}}} applies the current tiddler as a palette
* {{{<<applyTheme TiddlerName>>}}} applies TiddlerName as a theme
* {{{<<applyPalette TiddlerName>>}}} applies TiddlerName as a palette

* {{{<<applyTheme TiddlerName label>>}}} applies TiddlerName as a theme and uses costumized button label
* {{{<<applyTheme {{tiddler.title}} label>>}}} applies actual tiddler as a theme and uses costumized button label
***/
//{{{

config.macros.selectTheme = {
	label: {
      		selectTheme:"select theme",
      		selectPalette:"select palette"
	},
	prompt: {
		selectTheme:"Select the current theme",
		selectPalette:"Select the current palette"
	},
	tags: {
		selectTheme:'systemTheme',
		selectPalette:'systemPalette'
	}
};

config.macros.selectTheme.handler = function(place,macroName)
{
	var btn = createTiddlyButton(place,this.label[macroName],this.prompt[macroName],this.onClick);
	// want to handle palettes and themes with same code. use mode attribute to distinguish
	btn.setAttribute('mode',macroName);
};

config.macros.selectTheme.onClick = function(ev)
{
	var e = ev ? ev : window.event;
	var popup = Popup.create(this);
	var mode = this.getAttribute('mode');
	var tiddlers = store.getTaggedTiddlers(config.macros.selectTheme.tags[mode]);
	// for default
	if (mode == "selectPalette") {
		var btn = createTiddlyButton(createTiddlyElement(popup,'li'),"(default)","default color palette",config.macros.selectTheme.onClickTheme);
		btn.setAttribute('theme',"(default)");
		btn.setAttribute('mode',mode);
	}
	for(var i=0; i<tiddlers.length; i++) {
		var t = tiddlers[i].title;
		var name = store.getTiddlerSlice(t,'Name');
		var desc = store.getTiddlerSlice(t,'Description');
		var btn = createTiddlyButton(createTiddlyElement(popup,'li'), name?name:t, desc?desc:config.macros.selectTheme.label['mode'], config.macros.selectTheme.onClickTheme);
		btn.setAttribute('theme',t);
		btn.setAttribute('mode',mode);
	}
	Popup.show();
	return stopEvent(e);
};

config.macros.selectTheme.onClickTheme = function(ev)
{
	var mode = this.getAttribute('mode');
	var theme = this.getAttribute('theme');
	if (mode == 'selectTheme')
		story.switchTheme(theme);
	else // selectPalette
		config.macros.selectTheme.updatePalette(theme);
	return false;
};

config.macros.selectTheme.updatePalette = function(title)
{
	var tiddlyspace = config.extensions.tiddlyspace;

	if (title != "") {
		if (title != "(default)") {
			var tiddler = store.getTiddler('ColorPalette');

			tiddler.fields["server.workspace"] = "bags/%0_private".format([tiddlyspace.currentSpace.name]);
			tiddler.fields["server.page.revision"] = "false";

		//	tiddler.fields["server.permissions"] = "read, write, create"; // no delete
			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");
			}
			store.saveTiddler("ColorPalette","ColorPalette", store.getTiddlerText(title),
				config.options.txtUserName,undefined,tiddler.tags, tiddler.fields);
		}
		refreshAll();
		if(config.options.chkAutoSave)
			saveChanges(true);
	}
};

config.macros.applyTheme = {
	label: "apply",
	prompt: "apply this theme or palette: " // i'm lazy
};

config.macros.applyTheme.handler = function(place,macroName,params,wikifier,paramString,tiddler) {
	var label = params[1] ? params[1] : this.label;
	var useTiddler = params[0] ? params[0] : tiddler.title;
	var btn = createTiddlyButton(place,label,this.prompt+useTiddler,config.macros.selectTheme.onClickTheme);
	btn.setAttribute('theme',useTiddler);
	btn.setAttribute('mode',macroName=="applyTheme"?"selectTheme":"selectPalette"); // a bit untidy here
}

config.macros.selectPalette = config.macros.selectTheme;
config.macros.applyPalette = config.macros.applyTheme;

config.macros.refreshAll = { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
	createTiddlyButton(place,"refresh","refresh layout and styles",function() { refreshAll(); });
}};

//}}}
[[jquery-ui-1.8.9.custom.css]]

/*{{{*/
#tiddlerDisplay {
	padding-top: 0.1em;
}

.tiddler {
	margin-bottom: 0.2em; // override from 2em
}

.lockButton {
	font-size: 120%;
	font-style: bold;
	color: black;
	border-width: 0px;
}

.someBullets ul {
	margin: 0em;
	padding: 0.7em;
	text-align: left;
}

.sidebar {
	/* width, height, max-height via FXSidebarHoverHeightPlugin */
	overflow: auto;
}

.fluidSidebarWrapper {
	position: fixed;
	z-index: 20;
	border: 0px;
	background: [[ColorPalette::PrimaryPale]];
}

.fixedSidebarWrapper {
	position: fixed;
	z-index: 20;
	border-bottom: 3px ridge [[ColorPalette::PrimaryMid]];
	border-top: 1px solid [[ColorPalette::PrimaryMid]];
	background: [[ColorPalette::PrimaryPale]];
}
.fixedSidebarWrapper-L {
	border-right: 3px ridge [[ColorPalette::PrimaryMid]];
}
.fixedSidebarWrapper-R {
	border-left: 3px ridge [[ColorPalette::PrimaryMid]];
}

.sidebarTriggerbox {
	background: [[ColorPalette::PrimaryPale]];
	height: 7em;
	overflow: hidden;
	position: fixed;
	width: 1.1em;
	z-index: 1;
}

.scaledBackground {
	/* Gecko 1.9.2 (Firefox 3.6) */
	-moz-background-size: 100% 100%;
	/* Opera 9.5, with issues */
	-o-background-size: 100% 100%;
	/* Safari 3.0 */
	-webkit-background-size: 100% 100%;
	/* Gecko 2.0 (FF 4 & other CSS3-compliant browsers) */
	background-size: 100% 100%;
}

.siteIcon .label {
	float: left;
	padding-top: 3px;
	padding-right: 5px;
}

.tabSelected {
	font-weight: bold;
}

.tiddler a.externalLink{
	text-decoration: none;
        color:#002bb8;
        padding-right: 0.85em;
        background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAMAAAC67D+PAAAAFVBMVEVmmcwzmcyZzP8AZswAZv////////9E6giVAAAAB3RSTlP///////8AGksDRgAAADhJREFUGFcly0ESAEAEA0Ei6/9P3sEcVB8kmrwFyni0bOeyyDpy9JTLEaOhQq7Ongf5FeMhHS/4AVnsAZubxDVmAAAAAElFTkSuQmCC") no-repeat scroll 100% 45% transparent; 
}

a.externalLink:hover{
	text-decoration: underline;
} 

/* Trim the backstage button so it doesn't interfere with tiddlers --- moved to MarkupPostBody */

/* Used in About Triptych */
.smallInputBox {
	width: 3em;
	text-align: center;
}

/* Copied from the original NeUIemTheme3 tiddler */
#sidebarTabs .tabset{
	float: right;
	width: 1em;
	padding: 0;
}
#sidebarTabs .tabset:hover{
	width: auto;
}
#sidebarTabs .tabset .tab{
	overflow: hidden;
	display: block;
}


/*}}}*/
{{{
!scanComment
<<image http://$1.tiddlyspace.com/bags/$1_public/tiddlers/SiteIcon 24 24>> ''@$1 says''
<<<
<<view text wikified>>
<<<
!end
}}}
|''Name:''|[[NeUIemTheme03]]|
|''Description:''|Changes the right sidebar|
|''Generator:''|[[TW FreeStyle|http://FreeStyle.tiddlyspot.com]]|
|''Gen.Description:''|Handcrafted by @pmario|
|''PageTemplate:''|NeUIemTheme##PageTemplate|
|''ViewTemplate:''|NeUIemTheme##ViewTemplate|
|''EditTemplate:''|NeUIemTheme##EditTemplate|
|''RevisionTemplate:''|NeUIemTheme##RevisionTemplate|
|''StyleSheet:''|##StyleSheet|

!StyleSheet
/*{{{*/

[[NeUIemTheme##StyleSheet]]

#sidebarTabs .tabset{
	float: right;
	width: 1em;
	padding: 0;
}

#sidebarTabs .tabset:hover{
	width: auto;
}

#sidebarTabs .tabset .tab{
	overflow: hidden;
	display: block;
}
/*}}}*/
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="29pt" viewBox="13 43 29 29" width="29pt" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" onmousedown="if(jQuery) jQuery(document).trigger('cSmaller', {elem:this, comp:{animations:1}})" onmouseup="if(jQuery) jQuery(document).trigger('cResize', {elem:this, comp:{animations:1}})">
 <defs id="defs6">
 <linearGradient id="linearGradient001" y2="27.646" gradientUnits="userSpaceOnUse" x2="-45.8" y1="27.646" x1="-57.66">
   <stop id="stop1" stop-color="#6BB546" offset="0"/>
   <stop id="stop2" stop-color="#B5DAA2" offset="0.66462"/>
   <stop id="stop3" stop-color="#6BB546" offset="1"/>
  </linearGradient></defs>
<g id="icon" stroke-linecap="round" stroke-miterlimit="4">
 <rect id="iconBG" style="stroke-dasharray:none;" fill-rule="evenodd" ry="4.1663" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#696969" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="none"/>
 <rect id="iconFG" stroke-width="0" fill-rule="evenodd" ry="2.3755" transform="matrix(0, -1, 1, 0, 0, 0)" width="22" stroke-miterlimit="4" y="16.646" x="-68.6" height="22" fill="url(#linearGradient001)" class="showOnHover" opacity="0"/>
 <g id="iconSymbol" stroke-linejoin="miter" style="stroke-dasharray:none;" stroke="#4d4d4d" stroke-linecap="round" stroke-miterlimit="4" fill="none">
  <path id="path2855" style="stroke-dasharray:none;" d="m-21.958,17.211a9.5984,2.6909,0,1,1,-0.0051,0.0064" transform="matrix(0.780457, 0, 0, 1.24977, 37.521, 38.2999)" stroke-width="2.0250746"/>
  <path id="path3642" style="stroke-dasharray:none;" d="m-32.658,7.2382a0.85997,0.85997,0,1,1,-0.00046,0.00205" transform="matrix(0.8, 0, 0, 0.8, 53.2133, 54.7178)" stroke-width="2.5"/>
  <path id="path3646" style="stroke-dasharray:none;" d="m19.258,53.669,1.0653,2.6187" stroke-width="2"/>
  <path id="path3648" style="stroke-dasharray:none;" d="m36.573,53.936-1.6958,2.262" stroke-width="2"/>
  <path id="path3650" style="stroke-dasharray:none;" d="m32.711,51.8-1.1627,3.0268" stroke-width="2"/>
  <path id="path3654" style="stroke-dasharray:none;" d="m27.789,51.268,0.16048,3.2032" stroke-width="2"/>
  <path id="path3658" style="stroke-dasharray:none;" d="m23.014,51.839,0.83281,3.1279" stroke-width="2"/>
 </g>
 <rect id="overlay" opacity="0.01" ry="4.1663" style="stroke-dasharray:none;" fill-rule="evenodd" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#e6e6e6" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="#e6e6e6" onmouseover="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})" onmouseout="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})"/>
</g>
</svg>
/*{{{*/
/* new nui */
.concertina {
	overflow: hidden;
	display: none;
	height: 0;
	background-color: white;
}

.concertina br {
	display: none;
}


.concertinaOn .concertina {
	display: auto;
	height: auto;
	border-bottom: 1px solid [[ColorPalette: :PrimaryDark]];
	overflow: auto;
}

.concertina .publishButton {
	border-radius: 1em;
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	background-color: white;
	border: 1px solid black;
	display: block;
	padding: 0.3em;
	text-align: center;
	width: 12em;
}

.privateNotPublic .concertina,
.private .concertina {
	background: -webkit-gradient(linear,left bottom,left top,color-stop(0.05,#DE85B3),color-stop(0.5,#eee),color-stop(1, #fff));
	background: -moz-linear-gradient(top center , #fff 5%, #eee 20%, #DE85B3 100%);
	/* For Internet Explorer 5.5 - 7 */
	filter: "progid: DXImageTransform.Microsoft.gradient(startColorstr=#ffffffff, endColorstr=#ffDE85B3)";
	/* For Internet Explorer 8 */
	-ms-filter: "progid: DXImageTransform.Microsoft.gradient(startColorstr=#ffffffff, endColorstr=#ffDE85B3)";
}

.public .concertina,
.privateAndPublic .concertina {
	background: -webkit-gradient(linear,left bottom,left top,color-stop(0.05, #BBE7FD),color-stop(0.5,#eee),color-stop(1, #fff));
	background: -moz-linear-gradient(top center , #fff 5%, #eee 20%, #BBE7FD 100%);
	/* For Internet Explorer 5.5 - 7 */
	filter: "progid: DXImageTransform.Microsoft.gradient(startColorstr=#ffffffff, endColorstr=#ffBBE7FD)";
	/* For Internet Explorer 8 */
	-ms-filter: "progid: DXImageTransform.Microsoft.gradient(startColorstr=#ffffffff, endColorstr=#ffBBE7FD)";
}

.external .concertina {
	background-color: white;
	background: -webkit-gradient(linear,left bottom,left top,color-stop(0.05, #8BD69E),color-stop(0.5,#eee),color-stop(1, #fff));
	background: -moz-linear-gradient(top center , #fff 5%, #eee 20%, #8BD69E 100%);
	/* For Internet Explorer 5.5 - 7 */
	filter: "progid: DXImageTransform.Microsoft.gradient(startColorstr=#ffffffff, endColorstr=#ff8BD69E)";
	/* For Internet Explorer 8 */
	-ms-filter: "progid: DXImageTransform.Microsoft.gradient(startColorstr=#ffffffff, endColorstr=#ff8BD69E)";
}

/* fix grayout from original tw. */
.selected .tagging,
.selected .tagged,
.selected .tagging:hover,
.selected .tagged:hover {
	background: none;
	border: none;
}

.tagging, .tagged {
	background: none;
	border: none;
	padding: 0.5em 0 0 0.5em;
}

.tagging {
	float: none;
}

/** nächste zeile wirkt nicht ??? */
.tagging ul {
	margin: 0.25em 0 0 0.3em;
}

.tagging li {
	display: inline;
	float: left;
}

.tagging .tiddlyLink {
	-webkit-border-radius: 5px 5px 5px 5px;
	-moz-border-radius: 5px 5px 5px 5px;
	background-color: white;
	display: block;
	margin: 0 0.2em 0.2em;
        padding: 0.8em;
}

/* nui */
.tagged {
	float: none;
	margin-top: 1em;
}

.tagged .quickopentag {
	-webkit-border-radius: 0px 15px 15px 0px;
	-moz-border-radius: 0px 15px 15px 0px;
	background-color: white;
	border: 2px 2px 2px 0 solid #ccc;
	display: block;
	margin: 0 0.2em 0.2em -1.1em;
	padding: 0 0.4em;
	font-size: 0.9em;
}

#tagsearchDrop {
	-webkit-border-radius: 0px 15px 15px 0px;
	-moz-border-radius: 0px 15px 15px 0px;
	background-color: white;
	border: 2px 2px 2px 0 solid #ccc;
	display: block;
	margin: 0 0.2em 0.2em -0.9em;
	padding: 0 0.4em;
	font-size: 0.9em;
}


.tagged a.button,
.tagged a.tiddlyLink {
	border: none;
	display: inline;
	font-size: 0.9em;
	word-wrap: break-word;
}

.tagged a:hover {
	font-weight: bold;
	background: white;
	color: [[ColorPalette::PrimaryDark]]; 
}

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

.content {
}

.content .left {
	position: relative;
}

.heading {
	left: 0;
	margin-bottom: 3em;
	position: relative;
	top: 3em;
	position: relative;
}

.followButton a:hover {
	background: none;
	color: black;
}

.followPlaceHolder {
	position: absolute;
	left: 0.5em;
	top: 0.5em;
}

.followButton {
	cursor: pointer;
	-webkit-border-radius: 0.3em;
	-moz-border-radius: 0.3em;
	background: none repeat scroll 0 0 #CCCCCC;
	color: red;
	min-width: 2em;
	height: 1em;
	text-align: center;
	padding: 0.4em;
}

.followButton:before {
	content: "\00a0";
	display: block; /* reduce the damage in FF3.0 */
	position: absolute;
	bottom: -0.2em;
	left: 0.1em;
	width: 0;
	height: 0;
	border-width: 0.5em 0.2em 0 0.6em;
	border-style: solid;
	border-color: #ccc transparent;
}

.calendar {
	margin-top: 1em;
	cursor: pointer;

/* 	if calendar is to wide, enable next line */
/*	margin: 1em 1.5em;  */	
}

.calendar:hover {
	opacity: 0.8;
}

.calendar .month {
	color: [[ColorPalette::PrimaryPale]];
	font-size: 1.2em;
	border-left: solid 1px black;
	border-right: solid 1px black;
	border-top: solid 1px black;
	text-align: center;
	padding: 2px;
}

.calendar .date {
	color: [[ColorPalette::PrimaryDark]];
	font-size: 1.2em;
	font-weight: bold;
	text-align: center;
	border: solid 1px black;
}

.calendar .time {
	font-size: 0.7em;
	border-left: solid 1px black;
	border-right: solid 1px black;
	border-bottom: solid 1px black;
	text-align: center;
}

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

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

.toolbar a:hover .glyph{
	fill: #111;
}

.toolbar .command_savePublicTiddler .glyph {
	fill: #C0E5FC;
}

/* next 3 needed to use ViewTemplate also as  RevisionsTemplate */
.invisible {
	display: none;
}

.viewRevision .toolbar {
	display: none;
}

.viewRevision .invisible {
	display: block;
}

.originButton,
.modifierIcon .label {
	color: [[ColorPalette::TertiaryDark]];
	font-size: 0.8em;
	text-align: center;
	display: block;
}

.modifierIcon {
	background: [[ColorPalette::PrimaryLight]];
	margin-right: 1em;
}

.tiddler {
	overflow: auto;	/* clear floats */
}

.tiddler .viewer {
	margin: 0;
	line-height: normal;
	padding-top: 0;
}

.tiddler .title {
	font-size: 1.7em;
	display: block;
	margin-bottom: 0.4em;
	border-bottom: 0.05em solid [[ColorPalette: :PrimaryDark]];
	padding-top: 0;
	word-wrap: break-word;
}

.spaceIcon img {
	height: 30px;
}

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

.siteIcon {
	text-align: center;
}

.siteIcon img {
	height: 30px;
	width: 30px;
}

.tiddler .spaceSiteIcon {
	margin: 0;
	cursor: pointer;
}

.followButton a {
	color: red;
}

.tiddler {
	position: relative;
	-moz-box-shadow: 2px 2px 8px black;
	-webkit-box-shadow: 2px 2px 8px black;
	filter: progid: DXImageTransform.Microsoft.Shadow(color='#000000', Direction=135, Strength=3);
	box-shadow: 2px 2px 8px black;
	background-color: [[ColorPalette::PrimaryLight]];
	margin-bottom: 2em;
	padding: 0;
}


.tiddler .subtitle {
	font-size: 0.8em;
	margin-top: 0.2em;
}

.external .spaceSiteIcon a:hover {
	background-color: #8BD69E;
}

.privateNotPublic .spaceSiteIcon a:hover,
.private .spaceSiteIcon a:hover {
	background-color: #DE85B3;
}

.privateAndPublic .spaceSiteIcon a:hover,
.public .spaceSiteIcon a:hover {
	background-color: #BBE7FD;
}

.tiddler .toolbar .button {
	border: none;
	display: inline-block;
}

/*-- reset the button effect --*/
.tiddler .toolbar a:hover {
	background: none;
	border: none;
}

/**
.tiddler .button.command_closeTiddler {
	float: right;
}
**/

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

.revButton {
	float: right;
}

/*}}}*/
{{groupbox{@@color:crimson;//Short version//@@: It is good to explicitly appreciate bathing not just as a hygienic measure, nor decadently, but for [[groove|Groove]]. Cultures which do this as a matter of course, rather than by exception, are doing something right. (Examples: Ancient Rome, Budapest, Finland.)}}}

First, what '{{hooky2{bathing}}}' am I talking about? It is a little hard to define. Waves can 'bathe' the shoreline, but I am thinking of humans (or other creatures) submerging their bodies into ... something... for... something.

Submerge into what? Water is the obvious answer, but they say various queens had a predilection for milk baths. Many animals (including humans) bathe in mud. In a sauna one bathes mostly in hot air and in a steam bath in steam. When sunbathing you are not even submerging in any [[state of matter|Solve et coagula]] but in an extra strong barrage of electromagnetic radiation. If you pump up the volume, your whole body, rather than just your eardrums, can bathe in perceptible sound (air) waves.

'Submersion' may be partial, or shower-style. Elephants cast sand over their back with their trunk.

I will stick to humans; why do we do these things? Various reasons, but perhaps two main ones. One: to get clean. Two: to feel better - even if our skins are already dirt-free and our health good.

Current Western culture is doing fairly well on the 'clean' motivation. It is doing far worse, on the whole, on the 'feel good' bit. This is hardly surprising given its half-admitted lauding of competition and struggle - stemming from [[protestant predestination fear or otherwise|https://secure.wikimedia.org/wikipedia/en/wiki/The_Protestant_Ethic_and_the_Spirit_of_Capitalism#Criticisms]]. Doing something //really// pleasurable (as opposed to, say, desperate binge drinking) is regarded as a just reward for painful work at best, or a decadent thing for the rich, or something weak (hence [[egoistic|Egoism]] "indulge yourself, get pampered" coaxing in spa ads). If you go to a public swimming pool, there may be a steam bath, but it is liable to be a luxury extra. You do not see many parents teaching their children how to appreciate a steam bath in a noble sort of way. Folks just swim their lanes in the dull pool, offsetting the benefit of pleasant athletic exercise with a good dose of drudgery and perhaps a cleaner weight-loss conscience.

In places where Victorian or other //prudery// maintains a legacy, bathing is not helped either. An immature, look-away attitude to the nature of the human body will make bathing more difficult in practice. It will even forestall explicit thoughts about what might be achieved with such a body, or done about it. All this is an insult to [[groove|Groove]].

Even people who otherwise engage in forms of 'high culture' à la Bach recitals for pleasure (or status?) may be uncomfortable with the idea that every office should have a whirlpool.


To be sure, [[groove|Groove]] is different for each person. It may well be that bathing does not groove for you - if you are hard-wired aquaphobic, to take one extreme. But I contend that bathing could groove for many more people than is currently the case. And this is mainly based on the observation that there //are// cultures which take bathing in their stride. There may be many I do not know of in any detail - Turkish hamam, Japanese hot springs, who knows? But let me mention the cases of Ancient Rome, Budapest and Finland.

{{center{~}}}
{{divish{<html><div style="width:330px; float: right; margin:10px;">[img[http://kosmaton.bplaced.net/veminra/content/Bathing%20should%20be%20no%20luxury/Roman_Bath_House_-_geograph.org.uk_-_1553792.resized.jpg]]+++{{footnotebutton{[†|source]}}}{{normal{Bearsden bath house ruins. [[Photo source|https://secure.wikimedia.org/wikipedia/commons/wiki/File:Roman_Bath_House_-_geograph.org.uk_-_1553792.jpg]].}}}===</div></html>The @@color:orange;Roman thermae@@ or public baths are famous enough. While getting clean and exercising was part of their goal, feeling good seems to have been quite at the core of things. This shows in the typical sequence of baths of varying temperatures followed by an oil massage/cleaning session. Socialising formed a large part of this feeling good, as did activities such as library visits in the bigger bathing complexes. Some observations:
* Remains of bathing facilities have been found all over the former empire. Clearly the Romans found this a priority. Even in Bearsden near Glasgow, Scotland, at the very edge of the Roman world, soldiers built facilities in their camp, hypocaust included. It is hard to imagine a dainty pampering mentality there. It smacks more of a "life is tough as it is, so pleasure makes sense - let me have a bath" attitude. Which sounds sane.
* On the whole, bathing was publicly accessible and bathing was cheap. [[It is reported|http://www.ancientcoins.biz/pages/economy/]] that in the first century CE one bath session cost about half a cup of wine or less - this in a culture where wine was ubiquitous. This [[may be|http://www.waterhistory.org/histories/rome/]] related to technological limitations in bringing water to private homes. We also know that this public accessibility and scale had [[downsides|http://www.pompeiana.org/Resources/Ancient/Seneca%20Letter%2056.1-2.htm]] (Seneca's perspective). And as ever with Rome, one should not forget that a lot of what was possible was so by the 'grace' of slavery (contra [[egalitarianism|Egalitarianism]]). Still, the result was bathing as a normal activity for the masses.
}}}

{{center{~}}}
{{divish{<html><span style="width:410px; float: right; margin:10px;">[img[http://kosmaton.bplaced.net/veminra/content/Bathing%20should%20be%20no%20luxury/800px-Budapest-Sz%C3%A9chenyi.resized.jpg]]+++{{footnotebutton{[†|source]}}}{{normal{Széchenyi bath. [[Photo source|https://secure.wikimedia.org/wikipedia/commons/wiki/File:Budapest-Sz%C3%A9chenyi.jpg]].}}}===</span></html>The city of @@color:orange;Budapest@@, Hungary is blessed with a great deal of natural springs. Here too the Romans built baths, and a whole city named [[Aquincum|https://secure.wikimedia.org/wikipedia/en/wiki/Aquincum]] after the waters ([[perhaps|http://asciatopo.xoom.it/pannonia.html]] already by earlier Celtic or Pannonian inhabitants). Today still, or again, the locals make good use of the H~~2~~O and associated minerals with a series of publicly accessible bath houses. While these are perhaps not quite as public and part-of-life as the Roman thermae, they are so to a fair extent. The [[Széchenyi bath|http://www.spasbudapest.com/furdo.php?idx=14]] for instance comes close in evoking the grand //thermae// with its many baths (with or without sulfur etc.), statues, pool chess boards, and various saunas included in the price - which at 3750 forint (~€14; 2011 price) may not match the Roman 1/4 as, but still attracts a crowd rather than the happy few.}}}

{{center{~}}}
{{divish{<html><div style="width:410px; float: right; margin:10px;">[img[http://kosmaton.bplaced.net/veminra/content/Bathing%20should%20be%20no%20luxury/800px-Smoke_sauna.resized.JPG]]+++{{footnotebutton{[†|source]}}}{{normal{Smoke sauna, Enonkoski, Finland. [[Photo source|https://secure.wikimedia.org/wikipedia/commons/wiki/File:Smoke_sauna.JPG]].}}}===</div></html>Born out of practical utility and even necessity, __saunas__ are perhaps @@color:orange;Finland@@'s most internationally famous product (pre-Nokia at any rate). Here the bathing is in hot air first, and then in for instance a cold lake, stream or snow, or simply in the cold air with plausibly a cold beer or two. While the sauna of Finland (and neighbouring regions) is typically a private or among-friends rather than a public affair, it is still similar to the Ancient Roman or Budapest situation in that most everyone has regular access to it. Saunas are not for the rich or the decadent: 'everyone' has a sauna much like 'everyone' has electricity (and maybe even the former but not the latter). Depending on one's inclination to privacy, this can be a perfection of the Roman system: everyone can take part, but without bothering Seneca. While Finland may not be particularly famous in the area of philosophy, this is unfair: sauna is a most remarkable achievement in practical life philosophy. The incorporation of saunas in luxury hotels and spas in the West seems to some extent a regression: more blah-blah, less autonomy, more exclusivity.}}}

{{center{~+~}}}

It is curious that such at first blush very different systems as Finland and Ancient Rome should share a strong //culture of bathing//; especially since more similar systems (say, Norway respectively Ancient Greece) display it far less. But there you have it!

Széchenyi is the closest I have gotten to a living evocation of the baths of Caracalla. I can contrast that and Finnish sauna with what one might learn in school: "swim lanes for effort, then shower to be clean, period." It bears no more arguing on which side the [[groove|Groove]] lies.



<!--{{{-->
<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>
<!--}}}-->
/***
|''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);
//}}}
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="29pt" viewBox="13 43 29 29" width="29pt" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" onmousedown="if(jQuery) jQuery(document).trigger('cSmaller', {elem:this, comp:{animations:1}})" onmouseup="if(jQuery) jQuery(document).trigger('cResize', {elem:this, comp:{animations:1}})">
 <defs id="defs6">
 <linearGradient id="linearGradient001" y2="27.646" gradientUnits="userSpaceOnUse" x2="-45.8" y1="27.646" x1="-57.66">
   <stop id="stop1" stop-color="#FF4646" offset="0"/>
   <stop id="stop2" stop-color="#ffcccc" offset="0.66462"/>
   <stop id="stop3" stop-color="#FF4646" offset="1"/>
  </linearGradient></defs>
<g id="icon" stroke-linecap="round" stroke-miterlimit="4">
 <rect id="iconBG" style="stroke-dasharray:none;" fill-rule="evenodd" ry="4.1663" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#696969" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="none"/>
 <rect id="iconFG" stroke-width="0" fill-rule="evenodd" ry="2.3755" transform="matrix(0, -1, 1, 0, 0, 0)" width="22" stroke-miterlimit="4" y="16.646" x="-68.6" height="22" fill="url(#linearGradient001)" class="showOnHover" opacity="0"/>
 <g id="iconSymbol" stroke-linejoin="miter" style="stroke-dasharray:none;" transform="translate(0.0627706, -0.0627706)" stroke="#4d4d4d" stroke-linecap="butt" stroke-miterlimit="4" stroke-width="1.60000002" fill="none">
   <path id="path2874" style="stroke-dasharray:none;" d="m21.748,51.452,1.7934,14.247,7.9706,0,2.4908-15.144-12.255,0.89669z"/>
   <path id="path2880" style="stroke-dasharray:none;" d="m25.435,51.452,0.84687,14.048"/>
   <path id="path2882" style="stroke-dasharray:none;" d="M30.068,51.104,28.573,65.351"/>
  </g>
 <rect id="overlay" opacity="0.01" ry="4.1663" style="stroke-dasharray:none;" fill-rule="evenodd" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#e6e6e6" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="#e6e6e6" onmouseover="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})" onmouseout="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})"/>
</g>
</svg>
<<timeline better:true onlyTag:content sortBy:modified>>
/***
|''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);
//}}}
Waffle, bullshit, nonsense, you name it.

Different from that other kind of [[waffle|Waffle (food)]].


<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="29pt" viewBox="13 43 29 29" width="29pt" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" onmousedown="if(jQuery) jQuery(document).trigger('cSmaller', {elem:this, comp:{animations:1}})" onmouseup="if(jQuery) jQuery(document).trigger('cResize', {elem:this, comp:{animations:1}})">
 <defs id="defs6">
 <linearGradient id="linearGradient001" y2="27.646" gradientUnits="userSpaceOnUse" x2="-45.8" y1="27.646" x1="-57.66">
   <stop id="stop1" stop-color="#FF4646" offset="0"/>
   <stop id="stop2" stop-color="#ffcccc" offset="0.66462"/>
   <stop id="stop3" stop-color="#FF4646" offset="1"/>
  </linearGradient></defs>
<g id="icon" stroke-linecap="round" stroke-miterlimit="4">
 <rect id="iconBG" style="stroke-dasharray:none;" fill-rule="evenodd" ry="4.1663" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#696969" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="none"/>
 <rect id="iconFG" stroke-width="0" fill-rule="evenodd" ry="2.3755" transform="matrix(0, -1, 1, 0, 0, 0)" width="22" stroke-miterlimit="4" y="16.646" x="-68.6" height="22" fill="url(#linearGradient001)" class="showOnHover" opacity="0"/>
 <g id="iconSymbol" stroke-linejoin="miter" style="stroke-dasharray:none;" transform="matrix(0.579556, -0.579556, 0.579556, 0.579556, -4.21894, 26.7647)" stroke="#4d4d4d" stroke-width="3.19999981" fill="#4d4d4d">
<path id="path3219" style="stroke-dasharray:none;" d="M-7.3399,53.9h16.353"/>
<path id="path3221" style="stroke-dasharray:none;" d="M0.8368,62.077v-16.354"/>
</g>
 <rect id="overlay" opacity="0.01" ry="4.1663" style="stroke-dasharray:none;" fill-rule="evenodd" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#e6e6e6" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="#e6e6e6" onmouseover="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})" onmouseout="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})"/>
</g>
</svg>
/***
|''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);
//}}}
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
/***
|''Name''|ToggleTiddlerPrivacyPlugin|
|''Version''|0.7.0|
|''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;
var macro = config.macros.setPrivacy = {
	handler: function(place, macroName, params, wikifier, paramString, tiddler) {
		if(readOnly) {
			return;
		}
		var el = $(story.findContainingTiddler(place));
		var args = paramString.parseParams("name", null, true, false, true)[0];
		var container = $("<div />").addClass("privacySettings").appendTo(place)[0];
		var currentSpace = tiddlyspace.currentSpace.name;
		var currentBag = tiddler ? tiddler.fields["server.bag"] : false;
		var isNewTiddler = el.hasClass("missing") || !currentBag; // XXX: is this reliable?
		var status = tiddlyspace.getTiddlerStatusType(tiddler);
		var customFields = el.attr("tiddlyfields");
		customFields = customFields ? customFields.decodeHashMap() : {};
		if(isNewTiddler || !["public", "private", "unsyncedPrivate", "unsyncedPublic"].contains(status)) {
			var defaultValue = "public";
			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"];
			var options = config.macros.tiddlerOrigin ?
				config.macros.tiddlerOrigin.getOptions(paramString) : {};
			this.createRoundel(container, tiddler, currentSpace, defaultValue, options);
		}
	},
	updateEditFields: function(tiddlerEl, bag) {
		var saveBagField = $('[edit="server.bag"]', tiddlerEl);
		var saveWorkspaceField = $('[edit="server.workspace"]', tiddlerEl);
		var input = $("<input />").attr("type", "hidden");
		if(saveBagField.length === 0) {
			input.clone().attr("edit", "server.bag").val(bag).appendTo(tiddlerEl);
		} else {
			saveBagField.val(bag);
		}
		$(tiddlerEl).attr("tiddlyFields", ""); // reset to prevent side effects
		var workspace = "bags/" + bag;
		if(saveWorkspaceField.length === 0) {
			input.clone().attr("edit", "server.workspace").val(workspace).appendTo(tiddlerEl);
		} else {
			saveWorkspaceField.val(workspace);
		}
	},
	setBag: function(tiddlerEl, newBag, options) {
		var title = $(tiddlerEl).attr("tiddler");
		var tiddler = store.getTiddler(title);
		var originButton = $(".originButton", tiddlerEl)[0];
		var refreshIcon = function(type) {
			var originMacro = config.macros.tiddlerOrigin;
			if(originButton && originMacro) {
				options.noclick = true;
				originMacro.showPrivacyRoundel(tiddler, type, originButton, options);
			}
		};
		macro.updateEditFields(tiddlerEl, newBag);
		var newWorkspace = "bags/" + newBag;
		if(tiddler) {
			tiddler.fields["server.bag"] = newBag;
			tiddler.fields["server.workspace"] = newWorkspace; // for external tiddlers
		}
		var rPrivate = $("input[type=radio].isPrivate", tiddlerEl);
		var rPublic = $("input[type=radio].isPublic", tiddlerEl);
		if(newBag.indexOf("_public") > -1) {
			rPrivate.attr("checked", false);
			rPublic.attr("checked", true);
			status = "public";
		} else {
			rPublic.attr("checked", false); // explicitly do this for ie
			rPrivate.attr("checked", true);
			status = "private";
		}
		refreshIcon(status);
	},
	createRoundel: function(container, tiddler, currentSpace, defaultValue, options) {
		var privateBag = "%0_private".format(currentSpace);
		var publicBag = "%0_public".format(currentSpace);
		var rbtn = $("<input />").attr("type", "radio").attr("name", tiddler.title);
		var rPrivate = rbtn.clone().val("private").addClass("isPrivate").appendTo(container);
		$("<label />").text("private").appendTo(container); // TODO: i18n
		var rPublic = rbtn.clone().val("public").addClass("isPublic").appendTo(container);
		$("<label />").text("public").appendTo(container); // TODO: i18n
		var el = story.findContainingTiddler(container);
		$("[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);
//}}}
The [[About]] page for this site says that //ve minra//'s goals are:

<<<
__wisdom__ and __beauty__; and {{hooky2{__groove__}}} (__fun__ should follow)
<<<

Of the three (plus one), groove is the most fundamental. //ve minra// wants wisdom and beauty because it wants groove. And fun would be a pleasant side effect. But groove is particularly hard to define, maybe because it has a lot to do with feeling.

Groove is understanding the world (as best you can), being at peace with it, and surfing it with exhileration rather than painful struggle.

//ve minra// believes in [[determinism|Determinism]], and not in [[free will|Free will]]. So it takes a rather [[stoic|Stoicism]] stand towards life. Stoicism does not imply passivity. A surfer riding a wave is not passive, nor is an old woman keeping her garden ship-shape. They need not be unambitious in their efforts, they need not pick an easy wave or easy plants. But they would be foolish (and/or, with more [[compassion|Compassion]], unfortunate) to want to go squarely against the wave, or plant open-air mangoes near the Arctic Circle, without special arrangements. If they can happily create such special arrangements, that changes the situation and they would be wise to groove that way. If not, then not. This is quite close to Mihály Csíkszentmihályi's concept of [[flow|https://secure.wikimedia.org/wikipedia/en/wiki/Flow_%28psychology%29]] in psychology.

Groove is not the same as fun, or even happiness. You can get the latter by increasing the concentration of certain neurotransmitters in your body. Perhaps by watching puppies, eating chocolate, taking drugs, or, for some of us, by beating others. But those actions, by themselves, have little to do with understanding and accepting and enjoying the wave you are on. (In the case of 'beating others' this may be disputed, but //ve minra// argues that really understanding the world leads to [[compassion|Compassion]].)

So fun should follow, not come first.

Groove is a ''♫ musical ♫'' term. It is particularly associated with styles like jazz and funk. I will not try to analyse its musical use, partly because I am not a musicologist but mostly because it is too much a gut-feeling thing. But though opinions may vary, I think the above charactarisation of groove and the groove of music are very close. Music that grooves 'gets it', then 'plays with it'.+++*{{footnoteButton{[†|note]}}}{{normal{Alan Watts has some [[good stuff|http://www.youtube.com/watch?v=Ei9iLjNpFmA]] on life as play, and on washing dishes, and 'compulsory games' etc. Aldous Huxley wrote similar things in "Island". Is it curious that both are English: congenital non-groovers yearning for groove; the rest of the world has it by default...? An exaggeration for sure, but with how much truth?}}}===


Musical groove typically conjures up expressive rhythms and a call to move and dance. But dancing and elation are not music's only valid aims. A lament or something abstract can also groove in //ve minra//'s sense, if they really look at life, pick one of its waves, and surf it for public understanding and delight.

I originally meant to put a whole bunch of Youtube videos of songs here, from 'ethnic a capella' to punk, to show the spectrum of muscial groove. Some of the dancy kind and others not. But it gave too much the impression that groove is limited to that specific selection. We do not all experience life the same way, and what may groove for me may not groove for you. 

I will leave you with just one, as a [[groov|Groov]] about groove without some audible groove doesn't quite groove. I have no idea what the lyrics mean (please let me know if you do) but 'tezeta' (ትዝታ) is Amharic for 'memory' or 'nostalgia'. This is a fast version, apparently.


{{center{<<twyp player video:"[[Gétachew Kassa - Tezeta|http://youtube.com/v/vRk46Hyvt80]]" width:400 height:266 notitle>>


{{red{{{center{{{hooky2{Spread the groove!}}}}}}}}}

!SpaceUnplugged
{{unpluggedSpaceTab{
{{wizard{
<<image unsyncedIcon width:48>> <<message messages.syncExplanation>>
}}}
{{wizard syncKey{
{{keyHeading{
Key}}}
{{changedServer keyItem{<<message macros.sync.syncStatusList.changedServer.text>>}}} {{changedBoth keyItem{<<message macros.sync.syncStatusList.changedBoth.text>>}}} {{changedLocally keyItem{<<message macros.sync.syncStatusList.changedLocally.text>>}}} {{notFound keyItem{<<message macros.sync.syncStatusList.notFound.text>>}}}
}}}
<<sync>>

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

<<tabs txtTiddlySpaceTab
search "search across TiddlySpace" Backstage##Search
tiddlers "tiddlers control panel" Backstage##BackstageTiddlers
plugins "Manage installed plugins" PluginManager
batch "Perform batch operations on public/private tiddlers" Backstage##BatchOps
tweaks "Tweak the appearance and behaviour of TiddlyWiki" AdvancedOptions
"import/export" "Import/export tiddlers from/to a TiddlyWiki" Backstage##ImportExport
>>
running TiddlySpace@glossary version <<message extensions.tiddlyweb.status.tiddlyspace_version>>
{{autotable{
<<tiddler Backstage##Resources>>
}}}

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

!Search
<<tsSearch>>

!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>>
/***
|''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);
//}}}
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="29pt" viewBox="13 43 29 29" width="29pt" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" onmousedown="if(jQuery) jQuery(document).trigger('cSmaller', {elem:this, comp:{animations:1}})" onmouseup="if(jQuery) jQuery(document).trigger('cResize', {elem:this, comp:{animations:1}})">
 <defs id="defs6">
 <linearGradient id="linearGradient001" y2="27.646" gradientUnits="userSpaceOnUse" x2="-45.8" y1="27.646" x1="-57.66">
   <stop id="stop1" stop-color="#6BB546" offset="0"/>
   <stop id="stop2" stop-color="#B5DAA2" offset="0.66462"/>
   <stop id="stop3" stop-color="#6BB546" offset="1"/>
  </linearGradient></defs>
<g id="icon" stroke-linecap="round" stroke-miterlimit="4">
 <rect id="iconBG" style="stroke-dasharray:none;" fill-rule="evenodd" ry="4.1663" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#696969" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="none"/>
 <rect id="iconFG" stroke-width="0" fill-rule="evenodd" ry="2.3755" transform="matrix(0, -1, 1, 0, 0, 0)" width="22" stroke-miterlimit="4" y="16.646" x="-68.6" height="22" fill="url(#linearGradient001)" class="showOnHover" opacity="0"/>
 <path id="iconSymbol" stroke-linejoin="miter" style="stroke-dasharray:none;" d="m21.411,59.069,3.5152,4.3939,9.7922-11.675" stroke="#4d4d4d" stroke-linecap="round" stroke-miterlimit="4" stroke-width="2.4000001" fill="none"/>
 <rect id="overlay" opacity="0.01" ry="4.1663" style="stroke-dasharray:none;" fill-rule="evenodd" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#e6e6e6" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="#e6e6e6" onmouseover="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})" onmouseout="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})"/>
</g>
</svg>
/***
|''Name''|ImportExternalLinksPlugin|
|''Author''|Jon Robson|
|''Version''|0.3.0|
|''Requires''|TiddlySpaceConfig TiddlySpaceLinkPlugin TiddlySpaceCloneCommand|
|''Description''|Turns space links into ajax links so you don't have to leave the comfort of your own TiddlyWiki|
!Notes
This maybe should hides the editTiddler, cloneTiddler commands. Ideally the toolbar commands should hide themselves but we need a strong concept of "this is a sucked in tiddler" to do that.
***/
//{{{
(function($){
var tiddlyspace = config.extensions.tiddlyspace;
_createSpaceLink = createSpaceLink;
if(_createSpaceLink) {
	createSpaceLink = function(place, spaceName, title, alt, isBag) {
		var tooltip = "Click to open in current document. Right click to open in original space.";
		_createSpaceLink(place, spaceName, title, alt, isBag);
		var workspace;
		if(isBag) {
			workspace = "bags/%0".format(spaceName);
		} else {
			workspace = "bags/%0_public".format(spaceName);
		}
		if(title && spaceName != tiddlyspace.currentSpace.name) {
			var link = $("a:last", place);
			var newlink = $("<a />").text("[link]").after(link[0]);
			// very hacky
			var updateInterval = setInterval(function() {
				var href = link.attr("href");
				if(href) {
					$(newlink).attr("href", href);
					clearInterval(updateInterval);
				}
			}, 200);
			
			if(link.parent(".replyLink").length == 0) { // don't suck in a reply link.
				link.attr("title", tooltip).addClass("importLink").click(function(ev) {
					if(config.floorboards) {
						config.floorboards.pushUnique("%0_public".format(spaceName));
					}
					tiddlyspace.displayServerTiddler(ev.target, title, workspace, function(el) {
						// TODO: the commands should disable themselves based on the meta information.
						//$("[commandname=editTiddler], [commandname=cloneTiddler]", el).hide(); 
					});
					ev.preventDefault();
				});
			}
		}
	};
}

var _cloneHandler = config.commands.cloneTiddler.handler;
config.commands.cloneTiddler.handler = function(event, src, title) {
	var _tiddler = store.getTiddler(title);
	var source = _tiddler ? _tiddler.fields["server.bag"] : false;
	var imported = _tiddler ? _tiddler.fields["tiddler.source"] : false;
	var realTitle = _tiddler ? _tiddler.fields["server.title"] : title;
	_cloneHandler.apply(this, [event, src, title]);
	var tidEl = story.getTiddler(title);
	$(story.getTiddlerField(title, "title")).val(realTitle);
	if(source) {
		$("<input />").attr("type", "hidden").attr("edit", "tiddler.source").val(source).appendTo(tidEl);
		$("<input />").attr("type", "hidden").attr("edit", "server.activity").appendTo(tidEl);
	}
}
})(jQuery);
//}}}
The tiddler 'New Tiddler' doesn't yet exist. Double-click to create it/%
!info
|Name|ToggleRightSidebarEm|
|Source|http://hoster.peermore.com/recipes/TeamWork/tiddlers.wiki#ToggleRightSidebarEm|
|Version|0.1.0|
|Author|Mario Pietsch|
|Derived from:|http://www.tiddlytools.com/#ToggleRightSidebar|
|License|http://creativecommons.org/licenses/by-nc-sa/3.0/at/|
|~CoreVersion|2.6|
|Type|transclusion|
|Description|show/hide right sidebar (MainMenu) for FreeStyle Themes. Works only with EmasticSystem|
Usage
<<<
{{{
<<tiddler ToggleRightSidebarEm>>
<<tiddler ToggleRightSidebarEm with: label tooltip>>
<<tiddler ToggleRightSidebarEm with: {{config.options.chkShowRightSidebar?'►':'◄'}}{{config.options.chkShowRightSidebar?'hide':'show'}}>>
}}}
Try it: <<tiddler ToggleRightSidebarEm##show
	with: {{config.options.chkShowRightSidebar?'►':'◄'}}>>
<<<
Configuration:
<<<
{{{
config.options.chkShowRightSidebar (true)
config.options.txtToggleRightSideBarLabelShow (◄)
config.options.txtToggleRightSideBarLabelHide (►)
}}}
<<<
!end
!show
<<tiddler {{
	var co=config.options;
	if (co.chkShowRightSidebar===undefined) co.chkShowRightSidebar=true;

	getDP = function(name) {
		var width = undefined;
		var myregexp = /dp([\d]{1,3})/;
		var elem = jQuery(name);
		var text = elem.attr('class');

		var match = myregexp.exec(text);
		if (match != null) {
			width = match[1];
		} else {
			elem = jQuery(name).parent();
			text = elem.attr('class');
			match = myregexp.exec(text);
			if (match != null) {
				width = match[1]
			}
			else elem = undefined;
		}
		return {'width': width, 'elem': elem};
	}; // end function

	setDP = function(cmd, elem, target) {
		if (!elem || !target) return alert('elem or target undefined!');
		var newWidth = 0;
		if (cmd === 'hide' && (elem.elem.css('display') != 'none')) {
			newWidth = parseInt(target.width) + parseInt(elem.width);
			jQuery(elem.elem).hide();
			jQuery(target.elem).removeClass('dp'+target.width);
			jQuery(target.elem).addClass('dp'+newWidth);
		}
	}; // end function

	var mm = getDP('#mainMenu');
	var da = getDP('#displayArea');
	var sb = getDP('#sidebar');

	var cmd = co.chkShowRightSidebar?'show':'hide';
	setDP(cmd, sb, da);

'';}}>><html><nowiki><a href='javascript:;' title="$2"
onmouseover="
	this.href='javascript:void(eval(decodeURIComponent(%22(function(){try{('
	+encodeURIComponent(encodeURIComponent(this.onclick))
	+')()}catch(e){alert(e.description?e.description:e.toString())}})()%22)))';"
onclick="
	var co=config.options;
	var opt='chkShowRightSidebar';
	var show=co[opt]=!co[opt];

	getDP = function(name) {
		var width = undefined;
		var myregexp = /dp([\d]{1,3})/;
		var elem = jQuery(name);
		var text = elem.attr('class');

		var match = myregexp.exec(text);
		if (match != null) {
			width = match[1];
		} else {
			elem = jQuery(name).parent();
			text = elem.attr('class');
			match = myregexp.exec(text);
			if (match != null) {
				width = match[1]
			}
			else elem = undefined;
		}
		return {'width': width, 'elem': elem};
	}; // end function

	setDP = function(cmd, elem, target) {
		if (!elem || !target) return alert('elem or target undefined!');
		var newWidth = 0;
		if (cmd === 'hide') {
			newWidth = parseInt(target.width) + parseInt(elem.width);
			jQuery(elem.elem).hide();
			jQuery(target.elem).removeClass('dp'+target.width);
			jQuery(target.elem).addClass('dp'+newWidth);
		}
		else if (cmd === 'show') {
			newWidth = parseInt(target.width) - parseInt(elem.width);
			jQuery(elem.elem).show();
			jQuery(target.elem).removeClass('dp'+target.width);
			jQuery(target.elem).addClass('dp'+newWidth);			
		}
	}; // end function

	var mm = getDP('#mainMenu');
	var da = getDP('#displayArea');
	var sb = getDP('#sidebar');

	var cmd = co.chkShowRightSidebar?'show':'hide';
	setDP(cmd, sb, da);

	saveOptionCookie(opt);
	var labelShow=co.txtToggleRightSideBarLabelShow||'&#x25C4;';
	var labelHide=co.txtToggleRightSideBarLabelHide||'&#x25BA;';
	if (this.innerHTML==labelShow||this.innerHTML==labelHide) 
		this.innerHTML=show?labelHide:labelShow;
	this.title=(show?'hide':'show')+' Right sidebar';
	var sm=document.getElementById('storyMenu');
	if (sm) config.refreshers.content(sm);
	return false;
">$1</a></html>
!end
%/<<tiddler {{
	var src='ToggleRightSidebarEm';
	src+(tiddler&&tiddler.title==src?'##info':'##show');
}} with: {{
	var co=config.options;
	var labelShow=co.txtToggleRightSideBarLabelShow||'&#x25C4;';
	var labelHide=co.txtToggleRightSideBarLabelHide||'&#x25BA;';
	'$1'!='$'+'1'?'$1':(co.chkShowRightSidebar?labelHide:labelShow);
}} {{
	var tip=(config.options.chkShowRightSidebar?'hide':'show')+' Right sidebar';
	'$2'!='$'+'2'?'$2':tip;
}}>>
/***
|Name:|TagglyTaggingPlugin|
|Description:|tagglyTagging macro is a replacement for the builtin tagging macro in your ViewTemplate|
|Version:|3.3.1 ($Rev: 9828 $)|
|Date:|$Date: 2009-06-03 21:38:41 +1000 (Wed, 03 Jun 2009) $|
|Source:|http://mptw.tiddlyspot.com/#TagglyTaggingPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
!Notes
See http://mptw.tiddlyspot.com/#TagglyTagging
***/
//{{{

merge(String.prototype,{

	parseTagExpr: function(debug) {

		if (this.trim() == "")
			return "(true)";

		var anyLogicOp = /(!|&&|\|\||\(|\))/g;
		var singleLogicOp = /^(!|&&|\|\||\(|\))$/;

		var spaced = this.
			// because square brackets in templates are no good
			// this means you can use [(With Spaces)] instead of [[With Spaces]]
			replace(/\[\(/g," [[").
			replace(/\)\]/g,"]] "). 
			// space things out so we can use readBracketedList. tricky eh?
			replace(anyLogicOp," $1 ");

		var expr = "";

		var tokens = spaced.readBracketedList(false); // false means don't uniq the list. nice one JR!

		for (var i=0;i<tokens.length;i++)
			if (tokens[i].match(singleLogicOp))
				expr += tokens[i];
			else
				expr += "tiddler.tags.contains('%0')".format([tokens[i].replace(/'/,"\\'")]); // fix single quote bug. still have round bracket bug i think

		if (debug)
			alert(expr);

		return '('+expr+')';
	}

});

merge(TiddlyWiki.prototype,{
	getTiddlersByTagExpr: function(tagExpr,sortField) {

		var result = [];

		var expr = tagExpr.parseTagExpr();

		store.forEachTiddler(function(title,tiddler) {
			if (eval(expr))
				result.push(tiddler);
		});

		if(!sortField)
			sortField = "title";

		result.sort(function(a,b) {return a[sortField] < b[sortField] ? -1 : (a[sortField] == b[sortField] ? 0 : +1);});
		
		return result;
	}
});

config.taggly = {

	// for translations
	lingo: {
		labels: {
			asc:        "\u2191", // down arrow
			desc:       "\u2193", // up arrow
			title:      "title",
			modified:   "modified",
			created:    "created",
			show:       "+",
			hide:       "-",
			normal:     "normal",
			group:      "group",
			commas:     "commas",
			sitemap:    "sitemap",
			numCols:    "cols\u00b1", // plus minus sign
			label:      "Tagged as '%0':",
			exprLabel:  "Matching tag expression '%0':",
			excerpts:   "excerpts",
			descr:      "descr",
			slices:     "slices",
			contents:   "contents",
			sliders:    "sliders",
			noexcerpts: "title only",
			noneFound:  "(none)"
		},

		tooltips: {
			title:      "Click to sort by title",
			modified:   "Click to sort by modified date",
			created:    "Click to sort by created date",
			show:       "Click to show tagging list",
			hide:       "Click to hide tagging list",
			normal:     "Click to show a normal ungrouped list",
			group:      "Click to show list grouped by tag",
			sitemap:    "Click to show a sitemap style list",
			commas:     "Click to show a comma separated list",
			numCols:    "Click to change number of columns",
			excerpts:   "Click to show excerpts",
			descr:      "Click to show the description slice",
			slices:     "Click to show all slices",
			contents:   "Click to show entire tiddler contents",
			sliders:    "Click to show tiddler contents in sliders",
			noexcerpts: "Click to show entire title only"
		},

		tooDeepMessage: "* //sitemap too deep...//"
	},

	config: {
		showTaggingCounts: true,
		listOpts: {
			// the first one will be the default
			sortBy:     ["title","modified","created"],
			sortOrder:  ["asc","desc"],
			hideState:  ["show","hide"],
			listMode:   ["normal","group","sitemap","commas"],
			numCols:    ["1","2","3","4","5","6"],
			excerpts:   ["noexcerpts","excerpts","descr","slices","contents","sliders"]
		},
		valuePrefix: "taggly.",
		excludeTags: ["excludeLists","excludeTagging"],
		excerptSize: 50,
		excerptMarker: "/%"+"%/",
		siteMapDepthLimit: 25
	},

	getTagglyOpt: function(title,opt) {
		var val = store.getValue(title,this.config.valuePrefix+opt);
		return val ? val : this.config.listOpts[opt][0];
	},

	setTagglyOpt: function(title,opt,value) {
		// create it silently if it doesn't exist
		if (!store.tiddlerExists(title)) {
			store.saveTiddler(title,title,config.views.editor.defaultText.format([title]),config.options.txtUserName,new Date(),"");

			// <<tagglyTagging expr:"...">> creates a tiddler to store its display settings
			// Make those tiddlers less noticeable by tagging as excludeSearch and excludeLists
			// Because we don't want to hide real tags, check that they aren't actually tags before doing so
			// Also tag them as tagglyExpression for manageability
			// (contributed by RA)
			if (!store.getTaggedTiddlers(title).length) {
				store.setTiddlerTag(title,true,"excludeSearch");
				store.setTiddlerTag(title,true,"excludeLists");
				store.setTiddlerTag(title,true,"tagglyExpression");
			}
		}

		// if value is default then remove it to save space
		return store.setValue(title, this.config.valuePrefix+opt, value == this.config.listOpts[opt][0] ? null : value);
	},

	getNextValue: function(title,opt) {
		var current = this.getTagglyOpt(title,opt);
		var pos = this.config.listOpts[opt].indexOf(current);
		// supposed to automagically don't let cols cycle up past the number of items
		// currently broken in some situations, eg when using an expression
		// lets fix it later when we rewrite for jquery
		// the columns thing should be jquery table manipulation probably
		var limit = (opt == "numCols" ? store.getTaggedTiddlers(title).length : this.config.listOpts[opt].length);
		var newPos = (pos + 1) % limit;
		return this.config.listOpts[opt][newPos];
	},

	toggleTagglyOpt: function(title,opt) {
		var newVal = this.getNextValue(title,opt);
		this.setTagglyOpt(title,opt,newVal);
	}, 

	createListControl: function(place,title,type) {
		var lingo = config.taggly.lingo;
		var label;
		var tooltip;
		var onclick;

		if ((type == "title" || type == "modified" || type == "created")) {
			// "special" controls. a little tricky. derived from sortOrder and sortBy
			label = lingo.labels[type];
			tooltip = lingo.tooltips[type];

			if (this.getTagglyOpt(title,"sortBy") == type) {
				label += lingo.labels[this.getTagglyOpt(title,"sortOrder")];
				onclick = function() {
					config.taggly.toggleTagglyOpt(title,"sortOrder");
					return false;
				}
			}
			else {
				onclick = function() {
					config.taggly.setTagglyOpt(title,"sortBy",type);
					config.taggly.setTagglyOpt(title,"sortOrder",config.taggly.config.listOpts.sortOrder[0]);
					return false;
				}
			}
		}
		else {
			// "regular" controls, nice and simple
			label = lingo.labels[type == "numCols" ? type : this.getNextValue(title,type)];
			tooltip = lingo.tooltips[type == "numCols" ? type : this.getNextValue(title,type)];
			onclick = function() {
				config.taggly.toggleTagglyOpt(title,type);
				return false;
			}
		}

		// hide button because commas don't have columns
		if (!(this.getTagglyOpt(title,"listMode") == "commas" && type == "numCols"))
			createTiddlyButton(place,label,tooltip,onclick,type == "hideState" ? "hidebutton" : "button");
	},

	makeColumns: function(orig,numCols) {
		var listSize = orig.length;
		var colSize = listSize/numCols;
		var remainder = listSize % numCols;

		var upperColsize = colSize;
		var lowerColsize = colSize;

		if (colSize != Math.floor(colSize)) {
			// it's not an exact fit so..
			upperColsize = Math.floor(colSize) + 1;
			lowerColsize = Math.floor(colSize);
		}

		var output = [];
		var c = 0;
		for (var j=0;j<numCols;j++) {
			var singleCol = [];
			var thisSize = j < remainder ? upperColsize : lowerColsize;
			for (var i=0;i<thisSize;i++) 
				singleCol.push(orig[c++]);
			output.push(singleCol);
		}

		return output;
	},

	drawTable: function(place,columns,theClass) {
		var newTable = createTiddlyElement(place,"table",null,theClass);
		var newTbody = createTiddlyElement(newTable,"tbody");
		var newTr = createTiddlyElement(newTbody,"tr");
		for (var j=0;j<columns.length;j++) {
			var colOutput = "";
			for (var i=0;i<columns[j].length;i++) 
				colOutput += columns[j][i];
			var newTd = createTiddlyElement(newTr,"td",null,"tagglyTagging"); // todo should not need this class
			wikify(colOutput,newTd);
		}
		return newTable;
	},

	createTagglyList: function(place,title,isTagExpr) {
		switch(this.getTagglyOpt(title,"listMode")) {
			case "group":  return this.createTagglyListGrouped(place,title,isTagExpr); break;
			case "normal": return this.createTagglyListNormal(place,title,false,isTagExpr); break;
			case "commas": return this.createTagglyListNormal(place,title,true,isTagExpr); break;
			case "sitemap":return this.createTagglyListSiteMap(place,title,isTagExpr); break;
		}
	},

	getTaggingCount: function(title,isTagExpr) {
		// thanks to Doug Edmunds
		if (this.config.showTaggingCounts) {
			var tagCount = config.taggly.getTiddlers(title,'title',isTagExpr).length;
			if (tagCount > 0)
				return " ("+tagCount+")";
		}
		return "";
	},

	getTiddlers: function(titleOrExpr,sortBy,isTagExpr) {
		return isTagExpr ? store.getTiddlersByTagExpr(titleOrExpr,sortBy) : store.getTaggedTiddlers(titleOrExpr,sortBy);
	},

	getExcerpt: function(inTiddlerTitle,title,indent) {
		if (!indent)
			indent = 1;

		var displayMode = this.getTagglyOpt(inTiddlerTitle,"excerpts");
		var t = store.getTiddler(title);

		if (t && displayMode == "excerpts") {
			var text = t.text.replace(/\n/," ");
			var marker = text.indexOf(this.config.excerptMarker);
			if (marker != -1) {
				return " {{excerpt{<nowiki>" + text.substr(0,marker) + "</nowiki>}}}";
			}
			else if (text.length < this.config.excerptSize) {
				return " {{excerpt{<nowiki>" + t.text + "</nowiki>}}}";
			}
			else {
				return " {{excerpt{<nowiki>" + t.text.substr(0,this.config.excerptSize) + "..." + "</nowiki>}}}";
			}
		}
		else if (t && displayMode == "contents") {
			return "\n{{contents indent"+indent+"{\n" + t.text + "\n}}}";
		}
		else if (t && displayMode == "sliders") {
			return "<slider slide>\n{{contents{\n" + t.text + "\n}}}\n</slider>";
		}
		else if (t && displayMode == "descr") {
			var descr = store.getTiddlerSlice(title,'Description');
			return descr ? " {{excerpt{" + descr  + "}}}" : "";
		}
		else if (t && displayMode == "slices") {
			var result = "";
			var slices = store.calcAllSlices(title);
			for (var s in slices)
				result += "|%0|<nowiki>%1</nowiki>|\n".format([s,slices[s]]);
			return result ? "\n{{excerpt excerptIndent{\n" + result  + "}}}" : "";
		}
		return "";
	},

	notHidden: function(t,inTiddler) {
		if (typeof t == "string") 
			t = store.getTiddler(t);
		return (!t || !t.tags.containsAny(this.config.excludeTags) ||
				(inTiddler && this.config.excludeTags.contains(inTiddler)));
	},

	// this is for normal and commas mode
	createTagglyListNormal: function(place,title,useCommas,isTagExpr) {

		var list = config.taggly.getTiddlers(title,this.getTagglyOpt(title,"sortBy"),isTagExpr);

		if (this.getTagglyOpt(title,"sortOrder") == "desc")
			list = list.reverse();

		var output = [];
		var first = true;
		for (var i=0;i<list.length;i++) {
			if (this.notHidden(list[i],title)) {
				var countString = this.getTaggingCount(list[i].title);
				var excerpt = this.getExcerpt(title,list[i].title);
				if (useCommas)
					output.push((first ? "" : ", ") + "[[" + list[i].title + "]]" + countString + excerpt);
				else
					output.push("*[[" + list[i].title + "]]" + countString + excerpt + "\n");

				first = false;
			}
		}

		return this.drawTable(place,
			this.makeColumns(output,useCommas ? 1 : parseInt(this.getTagglyOpt(title,"numCols"))),
			useCommas ? "commas" : "normal");
	},

	// this is for the "grouped" mode
	createTagglyListGrouped: function(place,title,isTagExpr) {
		var sortBy = this.getTagglyOpt(title,"sortBy");
		var sortOrder = this.getTagglyOpt(title,"sortOrder");

		var list = config.taggly.getTiddlers(title,sortBy,isTagExpr);

		if (sortOrder == "desc")
			list = list.reverse();

		var leftOvers = []
		for (var i=0;i<list.length;i++)
			leftOvers.push(list[i].title);

		var allTagsHolder = {};
		for (var i=0;i<list.length;i++) {
			for (var j=0;j<list[i].tags.length;j++) {

				if (list[i].tags[j] != title) { // not this tiddler

					if (this.notHidden(list[i].tags[j],title)) {

						if (!allTagsHolder[list[i].tags[j]])
							allTagsHolder[list[i].tags[j]] = "";

						if (this.notHidden(list[i],title)) {
							allTagsHolder[list[i].tags[j]] += "**[["+list[i].title+"]]"
										+ this.getTaggingCount(list[i].title) + this.getExcerpt(title,list[i].title) + "\n";

							leftOvers.setItem(list[i].title,-1); // remove from leftovers. at the end it will contain the leftovers

						}
					}
				}
			}
		}

		var allTags = [];
		for (var t in allTagsHolder)
			allTags.push(t);

		var sortHelper = function(a,b) {
			if (a == b) return 0;
			if (a < b) return -1;
			return 1;
		};

		allTags.sort(function(a,b) {
			var tidA = store.getTiddler(a);
			var tidB = store.getTiddler(b);
			if (sortBy == "title") return sortHelper(a,b);
			else if (!tidA && !tidB) return 0;
			else if (!tidA) return -1;
			else if (!tidB) return +1;
			else return sortHelper(tidA[sortBy],tidB[sortBy]);
		});

		var leftOverOutput = "";
		for (var i=0;i<leftOvers.length;i++)
			if (this.notHidden(leftOvers[i],title))
				leftOverOutput += "*[["+leftOvers[i]+"]]" + this.getTaggingCount(leftOvers[i]) + this.getExcerpt(title,leftOvers[i]) + "\n";

		var output = [];

		if (sortOrder == "desc")
			allTags.reverse();
		else if (leftOverOutput != "")
			// leftovers first...
			output.push(leftOverOutput);

		for (var i=0;i<allTags.length;i++)
			if (allTagsHolder[allTags[i]] != "")
				output.push("*[["+allTags[i]+"]]" + this.getTaggingCount(allTags[i]) + this.getExcerpt(title,allTags[i]) + "\n" + allTagsHolder[allTags[i]]);

		if (sortOrder == "desc" && leftOverOutput != "")
			// leftovers last...
			output.push(leftOverOutput);

		return this.drawTable(place,
				this.makeColumns(output,parseInt(this.getTagglyOpt(title,"numCols"))),
				"grouped");

	},

	// used to build site map
	treeTraverse: function(title,depth,sortBy,sortOrder,isTagExpr) {

		var list = config.taggly.getTiddlers(title,sortBy,isTagExpr);

		if (sortOrder == "desc")
			list.reverse();

		var indent = "";
		for (var j=0;j<depth;j++)
			indent += "*"

		var childOutput = "";

		if (depth > this.config.siteMapDepthLimit)
			childOutput += indent + this.lingo.tooDeepMessage;
		else
			for (var i=0;i<list.length;i++)
				if (list[i].title != title)
					if (this.notHidden(list[i].title,this.config.inTiddler))
						childOutput += this.treeTraverse(list[i].title,depth+1,sortBy,sortOrder,false);

		if (depth == 0)
			return childOutput;
		else
			return indent + "[["+title+"]]" + this.getTaggingCount(title) + this.getExcerpt(this.config.inTiddler,title,depth) + "\n" + childOutput;
	},

	// this if for the site map mode
	createTagglyListSiteMap: function(place,title,isTagExpr) {
		this.config.inTiddler = title; // nasty. should pass it in to traverse probably
		var output = this.treeTraverse(title,0,this.getTagglyOpt(title,"sortBy"),this.getTagglyOpt(title,"sortOrder"),isTagExpr);
		return this.drawTable(place,
				this.makeColumns(output.split(/(?=^\*\[)/m),parseInt(this.getTagglyOpt(title,"numCols"))), // regexp magic
				"sitemap"
				);
	},

	macros: {
		tagglyTagging: {
			handler: function (place,macroName,params,wikifier,paramString,tiddler) {
				var parsedParams = paramString.parseParams("tag",null,true);
				var refreshContainer = createTiddlyElement(place,"div");

				// do some refresh magic to make it keep the list fresh - thanks Saq
				refreshContainer.setAttribute("refresh","macro");
				refreshContainer.setAttribute("macroName",macroName);

				var tag = getParam(parsedParams,"tag");
				var expr = getParam(parsedParams,"expr");

				if (expr) {
					refreshContainer.setAttribute("isTagExpr","true");
					refreshContainer.setAttribute("title",expr);
					refreshContainer.setAttribute("showEmpty","true");
				}
				else {
					refreshContainer.setAttribute("isTagExpr","false");
					if (tag) {
        				refreshContainer.setAttribute("title",tag);
						refreshContainer.setAttribute("showEmpty","true");
					}
					else {
        				refreshContainer.setAttribute("title",tiddler.title);
						refreshContainer.setAttribute("showEmpty","false");
					}
				}
				this.refresh(refreshContainer);
			},

			refresh: function(place) {
				var title = place.getAttribute("title");
				var isTagExpr = place.getAttribute("isTagExpr") == "true";
				var showEmpty = place.getAttribute("showEmpty") == "true";
				jQuery(place).empty()
				jQuery(place).addClass("tagglyTagging");
				var countFound = config.taggly.getTiddlers(title,'title',isTagExpr).length
				if (countFound > 0 || showEmpty) {
					var lingo = config.taggly.lingo;
					config.taggly.createListControl(place,title,"hideState");
					if (config.taggly.getTagglyOpt(title,"hideState") == "show") {
						createTiddlyElement(place,"span",null,"tagglyLabel",
								isTagExpr ? lingo.labels.exprLabel.format([title]) : lingo.labels.label.format([title]));
						config.taggly.createListControl(place,title,"title");
						config.taggly.createListControl(place,title,"modified");
						config.taggly.createListControl(place,title,"created");
						config.taggly.createListControl(place,title,"listMode");
						config.taggly.createListControl(place,title,"excerpts");
						config.taggly.createListControl(place,title,"numCols");
						config.taggly.createTagglyList(place,title,isTagExpr);
						if (countFound == 0 && showEmpty)
							createTiddlyElement(place,"div",null,"tagglyNoneFound",lingo.labels.noneFound);
					}
				}
			}
		}
	},

	// todo fix these up a bit
	styles: [
"/*{{{*/",
"/* created by TagglyTaggingPlugin */",
".tagglyTagging { padding-top:0.5em; }",
".tagglyTagging li.listTitle { display:none; }",
".tagglyTagging ul {",
"	margin-top:0px; padding-top:0.5em; padding-left:2em;",
"	margin-bottom:0px; padding-bottom:0px;",
"}",
".tagglyTagging { vertical-align: top; margin:0px; padding:0px; }",
".tagglyTagging table { margin:0px; padding:0px; }",
".tagglyTagging .button { visibility:hidden; margin-left:3px; margin-right:3px; }",
".tagglyTagging .button, .tagglyTagging .hidebutton {",
"	color:[[ColorPalette::TertiaryLight]]; font-size:90%;",
"	border:0px; padding-left:0.3em;padding-right:0.3em;",
"}",
".tagglyTagging .button:hover, .hidebutton:hover, ",
".tagglyTagging .button:active, .hidebutton:active  {",
"	border:0px; background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]];",
"}",
".selected .tagglyTagging .button { visibility:visible; }",
".tagglyTagging .hidebutton { color:[[ColorPalette::Background]]; }",
".selected .tagglyTagging .hidebutton { color:[[ColorPalette::TertiaryLight]] }",
".tagglyLabel { color:[[ColorPalette::TertiaryMid]]; font-size:90%; }",
".tagglyTagging ul {padding-top:0px; padding-bottom:0.5em; margin-left:1em; }",
".tagglyTagging ul ul {list-style-type:disc; margin-left:-1em;}",
".tagglyTagging ul ul li {margin-left:0.5em; }",
".editLabel { font-size:90%; padding-top:0.5em; }",
".tagglyTagging .commas { padding-left:1.8em; }",
"/* not technically tagglytagging but will put them here anyway */",
".tagglyTagged li.listTitle { display:none; }",
".tagglyTagged li { display: inline; font-size:90%; }",
".tagglyTagged ul { margin:0px; padding:0px; }",
".excerpt { color:[[ColorPalette::TertiaryDark]]; }",
".excerptIndent { margin-left:4em; }",
"div.tagglyTagging table,",
"div.tagglyTagging table tr,",
"td.tagglyTagging",
" {border-style:none!important; }",
".tagglyTagging .contents { border-bottom:2px solid [[ColorPalette::TertiaryPale]]; padding:0 1em 1em 0.5em;",
"  margin-bottom:0.5em; }",
".tagglyTagging .indent1  { margin-left:3em;  }",
".tagglyTagging .indent2  { margin-left:4em;  }",
".tagglyTagging .indent3  { margin-left:5em;  }",
".tagglyTagging .indent4  { margin-left:6em;  }",
".tagglyTagging .indent5  { margin-left:7em;  }",
".tagglyTagging .indent6  { margin-left:8em;  }",
".tagglyTagging .indent7  { margin-left:9em;  }",
".tagglyTagging .indent8  { margin-left:10em; }",
".tagglyTagging .indent9  { margin-left:11em; }",
".tagglyTagging .indent10 { margin-left:12em; }",
".tagglyNoneFound { margin-left:2em; color:[[ColorPalette::TertiaryMid]]; font-size:90%; font-style:italic; }",
"/*}}}*/",
		""].join("\n"),

	init: function() {
		merge(config.macros,this.macros);
		config.shadowTiddlers["TagglyTaggingStyles"] = this.styles;
		store.addNotification("TagglyTaggingStyles",refreshStyles);
	}
};

config.taggly.init();

//}}}

/***
InlineSlidersPlugin
By Saq Imtiaz
http://tw.lewcid.org/sandbox/#InlineSlidersPlugin

// syntax adjusted to not clash with NestedSlidersPlugin
// added + syntax to start open instead of closed

***/
//{{{
config.formatters.unshift( {
	name: "inlinesliders",
	// match: "\\+\\+\\+\\+|\\<slider",
	match: "\\<slider",
	// lookaheadRegExp: /(?:\+\+\+\+|<slider) (.*?)(?:>?)\n((?:.|\n)*?)\n(?:====|<\/slider>)/mg,
	lookaheadRegExp: /(?:<slider)(\+?) (.*?)(?:>)\n((?:.|\n)*?)\n(?:<\/slider>)/mg,
	handler: function(w) {
		this.lookaheadRegExp.lastIndex = w.matchStart;
		var lookaheadMatch = this.lookaheadRegExp.exec(w.source)
		if(lookaheadMatch && lookaheadMatch.index == w.matchStart ) {
			var btn = createTiddlyButton(w.output,lookaheadMatch[2] + " "+"\u00BB",lookaheadMatch[2],this.onClickSlider,"button sliderButton");
			var panel = createTiddlyElement(w.output,"div",null,"sliderPanel");
			panel.style.display = (lookaheadMatch[1] == '+' ? "block" : "none");
			wikify(lookaheadMatch[3],panel);
			w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
		}
   },
   onClickSlider : function(e) {
		if(!e) var e = window.event;
		var n = this.nextSibling;
		n.style.display = (n.style.display=="none") ? "block" : "none";
		return false;
	}
});

//}}}
/*{{{*/
/* CONTACT FORM */
.contactform { 
	width:330px;
	height:560px;
	margin:10px auto; 
	background-image: url('http://kosmaton.bplaced.net/veminra/design/pix/cuneiform_light.png'); 
	padding:25px 0px 0 15px; 
}

.form { 
	text-align:left; 
	font-size:18px; 
	font-weight:normal; 
	font-family:"Times New Roman", Times, serif; 
	color:#666;
}

input.text,textarea.text, select.text { 
	width:300px; 
	border:1px solid #CCCCCC; 
	padding:5px; 
	margin-bottom:10px; 
	background: url(form_input-bg.gif) top left no-repeat; 
}

.message {
	background: #33FF99;
	padding: 5px 3px;
}

img.loading-img {
	padding: 5px 3px;
}

.submitbutton { 
	padding: 5px 10px; 
	background: #f2f2f2; 
	border:1px solid #e5e5e5; 
	font-family: Georgia, "Times New Roman", Times, serif; 
	font-style: italic; 
	font-size: 18px; 
	color: #000; 
	-moz-border-radius:15px; 
	-webkit-border-radius:15px; 
	border-radius:15px; 
}

.tabletLink:hover {
	background-color: rgba(239, 234, 150, 0.7);
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
}

/*}}}*/
@@Please do not modify this tiddler; it was created automatically upon space creation.@@
{{hooky2{''Welcome!''}}}

{{indent{//So it's a world of tiny particles and evolution. You and I and the lot of us happen to be in the early 21st century, busy being early 21st-century humans. Maybe you don't believe in fairytales. __Now what?__//}}}

The @@color: crimson; goal@@ of this site is to compose, and argue for, a particular world view, a way of looking at things. Compose - because it is a work in progress. Argue for - because a world view suggests particular ways of thinking and acting that make more sense than others. The goal of this: wisdom and beauty; and [[groove|Groove]] (fun should follow).+++*{{footnoteButton{[†|note]}}}{{normal{{{blue{It was with pleasure //and// wisdom that the sirens tried to tempt Odysseus into calamity. And Ecclesiastes 2:21 opines "//because sometimes one who has toiled with wisdom and knowledge and skill must leave all to be enjoyed by another who did not toil for it. This also is vanity and a great evil//". But //ve minra// is [[more optimistic|Why live?]].}}}}}}===


@@color: #090; //ve minra// will argue for things like //altruism// and //compassion//, not on the basis of religious or other [[beliefs|Belief]] but on the basis of science and rational, skeptic philosophy.@@ This does not mean stuff like emotions and art will be ignored! Scientists all too often stay mute on how to live (or have no decent clue), while people who know how to live all too often ignore a lot of science. There is a science of life: biology. We should not treat it as something in books: it is the real deal.

Science tells you how things are, but not what to do, not where to go. That's up to you and me! And logic. And money and bread and energy and relationships. So let us not just copy from a 'holy' book or tradition, nor brush the matter aside till the day we die and get a bit worried. Gotta know what you're doing sometimes. And why, ultimately.

!!!Action plan

At the moment //ve minra// is very young, publishing its core tenets. Have a look at [[solve & coagula|Solve et coagula]] and its links. [[This|ve minra states]] says something about the central painting of the site.

As time progresses and its [[basic positions|Core topics]] get spelled out, //ve minra// may hopefully address a varied range of topical subjects based on those core themes. Stay tuned.

!!!F.A.Q.
+++!!!![How does this site work?] {{groupbox_footed{
This site is a [[TiddlyWiki|http://www.tiddlywiki.com/]] hosted at [[TiddlySpace|http://www.tiddlyspace.com]]. It is built out of "[[groovs|Groov]]" or "tiddlers" as they are more generally called in ~TiddlyWiki.

It should be mostly self-explanatory, but here are the details:

{{center{[img[screenshot visual guide|http://kosmaton.bplaced.net/veminra/content/ve%20minra%20screenshot%20guide.jpg]]}}}
Ⓐ Left sidebar. Resizable when locked.
Ⓑ Button to lock/unlock left sidebar.
Ⓒ ATOM feed icon <html><img src='pick_feed_icon_small.png' width=12 height=15></img></html> serving new and modified tiddlers.
Ⓓ Search box.
Ⓔ Tag cloud. (Most groovs have tags.)
Ⓕ Groov tabs with groov names.
Ⓖ Roll up all groovs to reveal Ⓤ.
--Ⓗ-- No Ⓗ anymore.
Ⓘ Close all groovs.
Ⓙ Last time of modification of the groov. Click to show earlier versions.
Ⓚ ~TiddlySpace backstage. See [[TiddlySpace|http://www.tiddlyspace.com]].
Ⓛ Buttons to: see referencing groovs; close all other groovs; close current groove.
Ⓜ Open the right sidebar (with a list of all groovs) here.
Ⓝ [[ve minra state|ve minra states]] of the groov.
Ⓞ Internal link to another groov.
Ⓟ External link; opens in a new browser tab or window.
Ⓠ Note.
Ⓡ Tags (keywords) of this groov.
Ⓢ Opens e-mail form.
Ⓣ Opens groovs with the same name in other spaces.
Ⓤ Central image: shortcuts to groovs ordered by [[ve minra state|ve minra states]].
Ⓥ Copyright, privacy and credits notes. Read them, it's important, kinda interesting, and not legalese.
}}}===
+++!!!![How do I get in touch?] {{groupbox_footed{
@@color: red; Comments are welcome! For ways to interact with //ve minra//, look [[here|Talking to ve minra]]@@.}}}===
+++!!!![What does "ve minra" mean?] {{groupbox_footed{
//ve minra// means something like //reflections// in [[Lojban]].}}}===
+++!!!![Why not write a book?] {{groupbox_footed{{{span{
*Books are great for e.g. novels. But they are too linear (see [[macroscope|Macroscope]]) and not interactive enough for something like //ve minra//. Both to write and to read.
*Books stem from an age when there was no better concrete alternative to information sharing. In the Internet age, hiding information in pay-for-it books is artificial scarcity creation. It earns people their daily bread, but it is unfortunate. People should have bread without such tricks.
}}}}}}===
+++!!!![Who's talking?] {{groupbox_footed{
Some fellow going by '[[Kosmaton]]'. Doesn't matter. The ideas matter.}}}===




[>img[Parkour_J_small.png]]Enjoy, & take care.




/***
|Name|NestedSlidersPlugin|
|Source|http://www.TiddlyTools.com/#NestedSlidersPlugin|
|Documentation|http://www.TiddlyTools.com/#NestedSlidersPluginInfo|
|Version|2.4.9|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|show content in nest-able sliding/floating panels, without creating separate tiddlers for each panel's content|
!!!!!Documentation
>see [[NestedSlidersPluginInfo]]
!!!!!Configuration
<<<
<<option chkFloatingSlidersAnimate>> allow floating sliders to animate when opening/closing
>Note: This setting can cause 'clipping' problems in some versions of InternetExplorer.
>In addition, for floating slider animation to occur you must also allow animation in general (see [[AdvancedOptions]]).
<<<
!!!!!Revisions
<<<
2008.11.15 - 2.4.9 in adjustNestedSlider(), don't make adjustments if panel is marked as 'undocked' (CSS class).  In onClickNestedSlider(), SHIFT-CLICK docks panel (see [[MoveablePanelPlugin]])
|please see [[NestedSlidersPluginInfo]] for additional revision details|
2005.11.03 - 1.0.0 initial public release.  Thanks to RodneyGomes, GeoffSlocock, and PaulPetterson for suggestions and experiments.
<<<
!!!!!Code
***/
//{{{
version.extensions.NestedSlidersPlugin= {major: 2, minor: 4, revision: 9, date: new Date(2008,11,15)};

// options for deferred rendering of sliders that are not initially displayed
if (config.options.chkFloatingSlidersAnimate===undefined)
	config.options.chkFloatingSlidersAnimate=false; // avoid clipping problems in IE

// default styles for 'floating' class
setStylesheet(".floatingPanel { position:absolute; z-index:10; padding:0.5em; margin:0em; \
	background-color:#eee; color:#000; border:1px solid #000; text-align:left; }","floatingPanelStylesheet");

// if removeCookie() function is not defined by TW core, define it here.
if (window.removeCookie===undefined) {
	window.removeCookie=function(name) {
		document.cookie = name+'=; expires=Thu, 01-Jan-1970 00:00:01 UTC; path=/;'; 
	}
}

config.formatters.push( {
	name: "nestedSliders",
	match: "\\n?\\+{3}",
	terminator: "\\s*\\={3}\\n?",
	lookahead: "\\n?\\+{3}(\\+)?(\\([^\\)]*\\))?(\\!*)?(\\^(?:[^\\^\\*\\@\\[\\>]*\\^)?)?(\\*)?(\\@)?(?:\\{\\{([\\w]+[\\s\\w]*)\\{)?(\\[[^\\]]*\\])?(\\[[^\\]]*\\])?(?:\\}{3})?(\\#[^:]*\\:)?(\\>)?(\\.\\.\\.)?\\s*",
	handler: function(w)
		{
			lookaheadRegExp = new RegExp(this.lookahead,"mg");
			lookaheadRegExp.lastIndex = w.matchStart;
			var lookaheadMatch = lookaheadRegExp.exec(w.source)
			if(lookaheadMatch && lookaheadMatch.index == w.matchStart)
			{
				var defopen=lookaheadMatch[1];
				var cookiename=lookaheadMatch[2];
				var header=lookaheadMatch[3];
				var panelwidth=lookaheadMatch[4];
				var transient=lookaheadMatch[5];
				var hover=lookaheadMatch[6];
				var buttonClass=lookaheadMatch[7];
				var label=lookaheadMatch[8];
				var openlabel=lookaheadMatch[9];
				var panelID=lookaheadMatch[10];
				var blockquote=lookaheadMatch[11];
				var deferred=lookaheadMatch[12];

				// location for rendering button and panel
				var place=w.output;

				// default to closed, no cookie, no accesskey, no alternate text/tip
				var show="none"; var cookie=""; var key="";
				var closedtext=">"; var closedtip="";
				var openedtext="<"; var openedtip="";

				// extra "+", default to open
				if (defopen) show="block";

				// cookie, use saved open/closed state
				if (cookiename) {
					cookie=cookiename.trim().slice(1,-1);
					cookie="chkSlider"+cookie;
					if (config.options[cookie]==undefined)
						{ config.options[cookie] = (show=="block") }
					show=config.options[cookie]?"block":"none";
				}

				// parse label/tooltip/accesskey: [label=X|tooltip]
				if (label) {
					var parts=label.trim().slice(1,-1).split("|");
					closedtext=parts.shift();
					if (closedtext.substr(closedtext.length-2,1)=="=")	
						{ key=closedtext.substr(closedtext.length-1,1); closedtext=closedtext.slice(0,-2); }
					openedtext=closedtext;
					if (parts.length) closedtip=openedtip=parts.join("|");
					else { closedtip="show "+closedtext; openedtip="hide "+closedtext; }
				}

				// parse alternate label/tooltip: [label|tooltip]
				if (openlabel) {
					var parts=openlabel.trim().slice(1,-1).split("|");
					openedtext=parts.shift();
					if (parts.length) openedtip=parts.join("|");
					else openedtip="hide "+openedtext;
				}

				var title=show=='block'?openedtext:closedtext;
				var tooltip=show=='block'?openedtip:closedtip;

				// create the button
				if (header) { // use "Hn" header format instead of button/link
					var lvl=(header.length>5)?5:header.length;
					var btn = createTiddlyElement(createTiddlyElement(place,"h"+lvl,null,null,null),"a",null,buttonClass,title);
					btn.onclick=onClickNestedSlider;
					btn.setAttribute("href","javascript:;");
					btn.setAttribute("title",tooltip);
				}
				else
					var btn = createTiddlyButton(place,title,tooltip,onClickNestedSlider,buttonClass);
				btn.innerHTML=title; // enables use of HTML entities in label

				// set extra button attributes
				btn.setAttribute("closedtext",closedtext);
				btn.setAttribute("closedtip",closedtip);
				btn.setAttribute("openedtext",openedtext);
				btn.setAttribute("openedtip",openedtip);
				btn.sliderCookie = cookie; // save the cookiename (if any) in the button object
				btn.defOpen=defopen!=null; // save default open/closed state (boolean)
				btn.keyparam=key; // save the access key letter ("" if none)
				if (key.length) {
					btn.setAttribute("accessKey",key); // init access key
					btn.onfocus=function(){this.setAttribute("accessKey",this.keyparam);}; // **reclaim** access key on focus
				}
				btn.setAttribute("hover",hover?"true":"false");
				btn.onmouseover=function(ev) {
					// optional 'open on hover' handling
					if (this.getAttribute("hover")=="true" && this.sliderPanel.style.display=='none') {
						document.onclick.call(document,ev); // close transients
						onClickNestedSlider(ev); // open this slider
					}
					// mouseover on button aligns floater position with button
					if (window.adjustSliderPos) window.adjustSliderPos(this.parentNode,this,this.sliderPanel);
				}

				// create slider panel
				var panelClass=panelwidth?"floatingPanel":"sliderPanel";
				if (panelID) panelID=panelID.slice(1,-1); // trim off delimiters
				var panel=createTiddlyElement(place,"div",panelID,panelClass,null);
				panel.button = btn; // so the slider panel know which button it belongs to
				btn.sliderPanel=panel; // so the button knows which slider panel it belongs to
				panel.defaultPanelWidth=(panelwidth && panelwidth.length>2)?panelwidth.slice(1,-1):"";
				panel.setAttribute("transient",transient=="*"?"true":"false");
				panel.style.display = show;
				panel.style.width=panel.defaultPanelWidth;
				panel.onmouseover=function(event) // mouseover on panel aligns floater position with button
					{ if (window.adjustSliderPos) window.adjustSliderPos(this.parentNode,this.button,this); }

				// render slider (or defer until shown) 
				w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
				if ((show=="block")||!deferred) {
					// render now if panel is supposed to be shown or NOT deferred rendering
					w.subWikify(blockquote?createTiddlyElement(panel,"blockquote"):panel,this.terminator);
					// align floater position with button
					if (window.adjustSliderPos) window.adjustSliderPos(place,btn,panel);
				}
				else {
					var src = w.source.substr(w.nextMatch);
					var endpos=findMatchingDelimiter(src,"+++","===");
					panel.setAttribute("raw",src.substr(0,endpos));
					panel.setAttribute("blockquote",blockquote?"true":"false");
					panel.setAttribute("rendered","false");
					w.nextMatch += endpos+3;
					if (w.source.substr(w.nextMatch,1)=="\n") w.nextMatch++;
				}
			}
		}
	}
)

function findMatchingDelimiter(src,starttext,endtext) {
	var startpos = 0;
	var endpos = src.indexOf(endtext);
	// check for nested delimiters
	while (src.substring(startpos,endpos-1).indexOf(starttext)!=-1) {
		// count number of nested 'starts'
		var startcount=0;
		var temp = src.substring(startpos,endpos-1);
		var pos=temp.indexOf(starttext);
		while (pos!=-1)  { startcount++; pos=temp.indexOf(starttext,pos+starttext.length); }
		// set up to check for additional 'starts' after adjusting endpos
		startpos=endpos+endtext.length;
		// find endpos for corresponding number of matching 'ends'
		while (startcount && endpos!=-1) {
			endpos = src.indexOf(endtext,endpos+endtext.length);
			startcount--;
		}
	}
	return (endpos==-1)?src.length:endpos;
}
//}}}
//{{{
window.onClickNestedSlider=function(e)
{
	if (!e) var e = window.event;
	var theTarget = resolveTarget(e);
	while (theTarget && theTarget.sliderPanel==undefined) theTarget=theTarget.parentNode;
	if (!theTarget) return false;
	var theSlider = theTarget.sliderPanel;
	var isOpen = theSlider.style.display!="none";

	// if SHIFT-CLICK, dock panel first (see [[MoveablePanelPlugin]])
	if (e.shiftKey && config.macros.moveablePanel) config.macros.moveablePanel.dock(theSlider,e);

	// toggle label
	theTarget.innerHTML=isOpen?theTarget.getAttribute("closedText"):theTarget.getAttribute("openedText");
	// toggle tooltip
	theTarget.setAttribute("title",isOpen?theTarget.getAttribute("closedTip"):theTarget.getAttribute("openedTip"));

	// deferred rendering (if needed)
	if (theSlider.getAttribute("rendered")=="false") {
		var place=theSlider;
		if (theSlider.getAttribute("blockquote")=="true")
			place=createTiddlyElement(place,"blockquote");
		wikify(theSlider.getAttribute("raw"),place);
		theSlider.setAttribute("rendered","true");
	}

	// show/hide the slider
	if(config.options.chkAnimate && (!hasClass(theSlider,'floatingPanel') || config.options.chkFloatingSlidersAnimate))
		anim.startAnimating(new Slider(theSlider,!isOpen,e.shiftKey || e.altKey,"none"));
	else
		theSlider.style.display = isOpen ? "none" : "block";

	// reset to default width (might have been changed via plugin code)
	theSlider.style.width=theSlider.defaultPanelWidth;

	// align floater panel position with target button
	if (!isOpen && window.adjustSliderPos) window.adjustSliderPos(theSlider.parentNode,theTarget,theSlider);

	// if showing panel, set focus to first 'focus-able' element in panel
	if (theSlider.style.display!="none") {
		var ctrls=theSlider.getElementsByTagName("*");
		for (var c=0; c<ctrls.length; c++) {
			var t=ctrls[c].tagName.toLowerCase();
			if ((t=="input" && ctrls[c].type!="hidden") || t=="textarea" || t=="select")
				{ try{ ctrls[c].focus(); } catch(err){;} break; }
		}
	}
	var cookie=theTarget.sliderCookie;
	if (cookie && cookie.length) {
		config.options[cookie]=!isOpen;
		if (config.options[cookie]!=theTarget.defOpen) window.saveOptionCookie(cookie);
		else window.removeCookie(cookie); // remove cookie if slider is in default display state
	}

	// prevent SHIFT-CLICK from being processed by browser (opens blank window... yuck!)
	// prevent clicks *within* a slider button from being processed by browser
	// but allow plain click to bubble up to page background (to close transients, if any)
	if (e.shiftKey || theTarget!=resolveTarget(e))
		{ e.cancelBubble=true; if (e.stopPropagation) e.stopPropagation(); }
	Popup.remove(); // close open popup (if any)
	return false;
}
//}}}
//{{{
// click in document background closes transient panels 
document.nestedSliders_savedOnClick=document.onclick;
document.onclick=function(ev) { if (!ev) var ev=window.event; var target=resolveTarget(ev);

	if (document.nestedSliders_savedOnClick)
		var retval=document.nestedSliders_savedOnClick.apply(this,arguments);
	// if click was inside a popup... leave transient panels alone
	var p=target; while (p) if (hasClass(p,"popup")) break; else p=p.parentNode;
	if (p) return retval;
	// if click was inside transient panel (or something contained by a transient panel), leave it alone
	var p=target; while (p) {
		if ((hasClass(p,"floatingPanel")||hasClass(p,"sliderPanel"))&&p.getAttribute("transient")=="true") break;
		p=p.parentNode;
	}
	if (p) return retval;
	// otherwise, find and close all transient panels...
	var all=document.all?document.all:document.getElementsByTagName("DIV");
	for (var i=0; i<all.length; i++) {
		 // if it is not a transient panel, or the click was on the button that opened this panel, don't close it.
		if (all[i].getAttribute("transient")!="true" || all[i].button==target) continue;
		// otherwise, if the panel is currently visible, close it by clicking it's button
		if (all[i].style.display!="none") window.onClickNestedSlider({target:all[i].button})
		if (!hasClass(all[i],"floatingPanel")&&!hasClass(all[i],"sliderPanel")) all[i].style.display="none";
	}
	return retval;
};
//}}}
//{{{
// adjust floating panel position based on button position
if (window.adjustSliderPos==undefined) window.adjustSliderPos=function(place,btn,panel) {
	if (hasClass(panel,"floatingPanel") && !hasClass(panel,"undocked")) {
		// see [[MoveablePanelPlugin]] for use of 'undocked'
		var rightEdge=document.body.offsetWidth-1;
		var panelWidth=panel.offsetWidth;
		var left=0;
		var top=btn.offsetHeight; 
		if (place.style.position=="relative" && findPosX(btn)+panelWidth>rightEdge) {
			left-=findPosX(btn)+panelWidth-rightEdge; // shift panel relative to button
			if (findPosX(btn)+left<0) left=-findPosX(btn); // stay within left edge
		}
		if (place.style.position!="relative") {
			var left=findPosX(btn);
			var top=findPosY(btn)+btn.offsetHeight;
			var p=place; while (p && !hasClass(p,'floatingPanel')) p=p.parentNode;
			if (p) { left-=findPosX(p); top-=findPosY(p); }
			if (left+panelWidth>rightEdge) left=rightEdge-panelWidth;
			if (left<0) left=0;
		}
		panel.style.left=left+"px"; panel.style.top=top+"px";
	}
}
//}}}
//{{{
// TW2.1 and earlier:
// hijack Slider stop handler so overflow is visible after animation has completed
Slider.prototype.coreStop = Slider.prototype.stop;
Slider.prototype.stop = function()
	{ this.coreStop.apply(this,arguments); this.element.style.overflow = "visible"; }

// TW2.2+
// hijack Morpher stop handler so sliderPanel/floatingPanel overflow is visible after animation has completed
if (version.major+.1*version.minor+.01*version.revision>=2.2) {
	Morpher.prototype.coreStop = Morpher.prototype.stop;
	Morpher.prototype.stop = function() {
		this.coreStop.apply(this,arguments);
		var e=this.element;
		if (hasClass(e,"sliderPanel")||hasClass(e,"floatingPanel")) {
			// adjust panel overflow and position after animation
			e.style.overflow = "visible";
			if (window.adjustSliderPos) window.adjustSliderPos(e.parentNode,e.button,e);
		}
	};
}
//}}}
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="29pt" viewBox="13 43 29 29" width="29pt" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" onclick="if(jQuery) jQuery(document).trigger('cNewTiddler', {elem:this, comp:{menue:1}})" onmousedown="if(jQuery) jQuery(document).trigger('cSmaller', {elem:this, comp:{animations:1}})" onmouseup="if(jQuery) jQuery(document).trigger('cResize', {elem:this, comp:{animations:1}})" title="Create a new tiddler">
 <metadata id="metadata14">
  <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:rights>
     <cc:Agent>
      <dc:title>http://creativecommons.org/licenses/by-nc-sa/3.0/at/</dc:title>
     </cc:Agent>
    </dc:rights>
    <dc:source>http://iconbuilder.tiddlyspace.com</dc:source>
    <dc:creator>
     <cc:Agent>
      <dc:title>Mario Pietsch</dc:title>
     </cc:Agent>
    </dc:creator>
   </cc:Work>
  </rdf:RDF>
 </metadata>
 <defs id="defs_bBgTrans">
 <linearGradient id="linearGradient001" y2="27.646" gradientUnits="userSpaceOnUse" x2="-45.8" y1="27.646" x1="-57.66">
   <stop id="stop1" stop-color="#6BB546" offset="0"/>
   <stop id="stop2" stop-color="#B5DAA2" offset="0.66462"/>
   <stop id="stop3" stop-color="#6BB546" offset="1"/>
  </linearGradient></defs>
<g id="icon">
 <rect id="iconBG" stroke="#696969" ry="4.1663" transform="matrix(0,-1,1,0,0,0)" height="25" width="25" y="15.167" x="-70.116" stroke-width="1.2" fill="none" class="showBG"/>
 <rect id="iconFG" stroke-width="0" fill-rule="evenodd" ry="2.3755" transform="matrix(0,-1,1,0,0,0)" width="22" y="16.646" x="-68.6" height="22" fill="url(#linearGradient001)" class="showFG"/>
<g id="iconSymbol" stroke-linejoin="miter" transform="translate(0.17754196,0)" stroke="#4d4d4d" stroke-linecap="round" stroke-miterlimit="4" stroke-dasharray="none" fill="none" class="showSY">
  <path d="m21.585,50.448,7.3934-0.000001,0,4.5527,4.3752,0,0,10.101-11.769,0z" stroke-width="1.6"/>
  <path d="m29.712,50.447,3.644,3.8077" stroke-width="1.60000002"/>
 </g>
 <rect id="overlay" stroke="#696969" opacity="0" ry="4.1663" transform="matrix(0,-1,1,0,0,0)" height="25" width="25" y="15.167" x="-70.116" stroke-width="1.2" class="showOV"/>
</g>
</svg>
!You like the Neui-em stuff?
#Create a tiddler named "~@neui-em"
#Tag this tiddler "like"
!!Who likes Neui-em theme
<<tsScan @neui-em tag:like fat:y template:"Like##like">> 

!Important
This tiddler should contain the activity macro which is part of the @following space.
If you want to use it, you need to go to backstage and include it.

/%
!like
<<image http://$1.tiddlyspace.com/bags/$1_public/tiddlers/SiteIcon 24 24>> @$1 likes FreeStyle suff :)
<<<
<<view text text>>
<<<
!end
%/
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
/*{{{*/

config.views.wikified.defaultText = "Sorry, no content yet - the topic '%0' may be waiting for its write-up."; 
config.options.chkHTMLHideLinebreaks = true;

/*}}}*/
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]].
<html><hr><html>
<!DOCTYPE html>
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
	<title>This Space</title>
	<script type='text/javascript' src='/bags/common/tiddlers/backstage.js'></script>
	<link href="/bags/common/tiddlers/profile.css" type='text/css' rel='stylesheet' >
	<link href="/bags/common/tiddlers/admin.css" type='text/css' rel='stylesheet' >
</head>
<body>
<div id="container">
	<div id="text-html" class="main section">
		<a class="app" href="/apps">back to apps</a>
		<div class="left">
		<h2>About this space <button class='toggleNext'>show</button></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" />
				<input type="submit" value="upload" />
			</form>
		</div>
		<h2>Vital Statistics</h2>
		<div id="info">please wait while information is loaded about this space...</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 to add all existing members of that space.</p>
				<form class="ts-members">
					<input class="inputBox" type="text" name="username">
					<input type="submit" value="Add Member" />
				</form>
			</div>
			<h2>
				Existing Members <button class='toggleNext'>&lt;</button></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" />
			</form>
		</div>
		<div>
			<h2>Included Spaces <button class='toggleNext'>&lt;</button></button></h2>
			<div>
			This space includes the following spaces:
			<ul class="ts-includes"></ul>
			</div>
		</div>
		</div>
		<div class="clear"></div>
	</div>
</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/chrjs.space'></script>
<script type='text/javascript' src='/bags/common/tiddlers/chrjs.users'></script>
<script type='text/javascript' src='/bags/common/tiddlers/chrjs.identities'></script>
<script type='text/javascript' src='/bags/tiddlyspace/tiddlers/TiddlySpaceCSRF'></script>
<script type='text/javascript' src='/bags/common/tiddlers/jquery-form.js'></script>
<script type='text/javascript' src="/bags/common/tiddlers/siteiconupload.js"></script>
<script type='text/javascript' src="/bags/common/tiddlers/ts.js"></script>
<script type="text/javascript">
	ts.init(function(ts) {
		if(!ts.currentSpace) {
			return;
		}
		var address = window.location.hostname.split(".");
		var spaceName = address[0];
		var publicBag = spaceName + "_public";
		$("#siteUrl").text(window.location.hostname);
		initSiteIconUpload(spaceName);

		function countTiddlers(members) {
			var numMembers = members ? members.length : false;
			var publicBagUrl = "/bags/" + publicBag + "/tiddlers";
			var url = members ? "/bags/" + spaceName + "_private/tiddlers" :
				publicBagUrl;
			$.ajax({ url: url, dataType: "text",
				success: function(tiddlers) {
					var numTiddlers = $.trim(tiddlers).split("\n").length;
					var html = "";
					function printFullInfo(numPublicTiddlers) {
						var totalTiddlers = numPublicTiddlers + numTiddlers;
						html += ['This space has ', numMembers,
							' members, <a href="/tiddlers">', totalTiddlers,
							' local tiddlers</a>, <a href="' + url + '">',
							numTiddlers, ' are private</a> and <a href="',
							publicBagUrl, '">',
							numPublicTiddlers, ' public</a>.'].join("");
						$("#info").html(html);
					}
					if(numMembers) {
						$.ajax({
							url: publicBagUrl,
							dataType: "text",
							success: function(tiddlers) {
								printFullInfo($.trim(tiddlers).split("\n").length);
							}
						});
					} else {
						html += 'This space has <a href="' + url + '">' + numTiddlers + " public tiddlers</a>";
						$("#info").html(html);
					}
				}
			});
		}
		var space = new tiddlyweb.Space(spaceName, "/");
		space.members().get(function(members) {
			countTiddlers(members);
		}, function() {
			countTiddlers();
		});

		function complete(tiddler) {
			$("#siteinfo .edit").show();
			$("#siteinfo .value").data("tiddler", tiddler).
				empty().html(tiddler.render);
		}
		function siteInfoEditor(tiddler) {
			var errback = function() {
				$("#siteinfo .edit").click();
				$("<div class='error' />").text("Error occurred whilst saving.").prependTo("#siteinfo .value");
			};
			$("<button class='edit' />").click(function(ev) {
				var editBtn = $(ev.target);
				$(editBtn).hide();
				var val = $(".value", $(ev.target).parent("#siteinfo")[0]);
				var wikitext = $(val).data("tiddler").text;
				var html = $(val).html();
				$(val).empty();
				$("<textarea />").val(wikitext).appendTo(val);
				$("<button />").text("save").click(function(ev) {
					var text = $("textarea", val).val();
					$(val).empty().text("saving...");
					tiddler.text = text;
					tiddler.put(function() {
						tiddler.get(function(tid) {
							tiddler = tid;
							complete(tid);
						}, errback, "render=y");
					}, errback);
					$(editBtn).show();
				}).appendTo(val);
				$("<button />").text("cancel").
					click(function(ev) {
						complete(tiddler);
					}).appendTo(val);
			}).text("edit").appendTo("#siteinfo");
		}
		var tiddler = new tiddlyweb.Tiddler("SiteInfo", new tiddlyweb.Bag(publicBag, "/"));
		$("<div class='value' />").text("(Loading SiteInfo tiddler)").data("tiddler", tiddler).appendTo("#siteinfo");
		tiddler.get(
			function(tid) {
				tiddler = tid;
				$("#siteinfo .value").data("tiddler", tid).html(tid.render || tid.text);
				if($(document.body).hasClass("ts-member")) {
					siteInfoEditor(tid);
				}
			},
			function() {
				$("#siteinfo .value").text("This space has not published any information about itself.");
				if($(document.body).hasClass("ts-member")) {
					siteInfoEditor(tiddler);
				}
			}, "render=1");
	});
	function toggleNext(ev) {
		var label1 = "hide";
		var label2 = "show";
		var target = $(ev.target).parent().next();
		var visible = $(ev.target).hasClass("open") ? true : false;
		var label = visible ? label1 : label2;
		$(target).stop(true, true);
		if(!visible) {
			$(target).slideDown(200);
			$(ev.target).addClass("open").text(label1);
		} else {
			if($(target).parents().is(":hidden")) {
				// see http://forum.jquery.com/topic/slideup-doesn-t-work-with-hidden-parent
				$(target).hide();
			} else {
				$(target).slideUp(200);
			}
			$(ev.target).removeClass("open").text(label2);
		}
	}
	// setup hide/show sliders
	$(".toggleNext").each(function(i, el) {
		$(el).addClass("open").click(toggleNext);
		toggleNext({ target: el });
	});

	if(window != window.top) {
		$("html").addClass("iframeMode");
		$("a").live("click",function(ev) {
			$(ev.target).attr("target", "_blank");
		});
	}
</script>
<!--[if lt IE 8]>
<script type="text/javascript" src="/bags/common/tiddlers/json2.js"></script>
<![endif]-->
</body>
</html>
{{indent{These [[groovs|Groov]] have content that relentlessly tries to get away while it's being written. It's a {{hooky2{gas}}} (one of the [[ve minra states]]):

<<list filter "[tag[GState: Gas]]">>}}}

{{center{[img[gas_icon.png]]
{{small{Saturn is a 'gas giant'.
Dive in and you'll hit liquid, then solid.}}}}}}

/***
|Name|AttachFilePluginFormatters|
|Source|http://www.TiddlyTools.com/#AttachFilePluginFormatters|
|Version|4.0.1|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1.3|
|Type|plugin|
|Description|run-time library for displaying attachment tiddlers|
Runtime processing for //rendering// attachment tiddlers created by [[AttachFilePlugin]].   Attachment tiddlers are tagged with<<tag attachment>>and contain binary file content (e.g., jpg, gif, pdf, mp3, etc.) that has been stored directly as base64 text-encoded data or can be loaded from external files stored on a local filesystem or remote web server.  Note: after creating new attachment tiddlers, you can remove [[AttachFilePlugin]], as long as you retain //this// tiddler (so that images can be rendered later on).
!!!!!Formatters
<<<
This plugin extends the behavior of the following TiddlyWiki core "wikify()" formatters:
* embedded images: {{{[img[tooltip|image]]}}}
* linked embedded images: {{{[img[tooltip|image][link]]}}}
* external/"pretty" links: {{{[[label|link]]}}}
''Please refer to AttachFilePlugin (source: http://www.TiddlyTools.com/#AttachFilePlugin) for additional information.''
<<<
!!!!!Revisions
<<<
2009.10.10 [4.0.1] in fileExists(), check for IE to avoid hanging Chrome during startup
2009.06.04 [4.0.0] changed attachment storage format to use //sections// instead of embedded substring markers.
2008.01.08 [*.*.*] plugin size reduction: documentation moved to ...Info
2007.12.04 [*.*.*] update for TW2.3.0: replaced deprecated core functions, regexps, and macros
2007.10.29 [3.7.0] more code reduction: removed upload handling from AttachFilePlugin (saves ~7K!)
2007.10.28 [3.6.0] removed duplicate formatter code from AttachFilePlugin (saves ~10K!) and updated documentation accordingly.  This plugin ([[AttachFilePluginFormatters]]) is now //''required''// in order to display attached images/binary files within tiddler content.
2006.05.20 [3.4.0] through 2007.03.01 [3.5.3] sync with AttachFilePlugin
2006.05.13 [3.2.0] created from AttachFilePlugin v3.2.0
<<<
!!!!!Code
***/
// // version
//{{{
version.extensions.AttachFilePluginFormatters= {major: 4, minor: 0, revision: 1, date: new Date(2009,10,10)};
//}}}

//{{{
if (config.macros.attach==undefined) config.macros.attach= { };
//}}}
//{{{
if (config.macros.attach.isAttachment==undefined) config.macros.attach.isAttachment=function (title) {
	var tiddler = store.getTiddler(title);
	if (tiddler==undefined || tiddler.tags==undefined) return false;
	return (tiddler.tags.indexOf("attachment")!=-1);
}
//}}}

//{{{
// test for local file existence - returns true/false without visible error display
if (config.macros.attach.fileExists==undefined) config.macros.attach.fileExists=function(f) {
	if(window.Components) { // MOZ
		try { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); }
		catch(e) { return false; } // security access denied
		var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
		try { file.initWithPath(f); }
		catch(e) { return false; } // invalid directory
		return file.exists();
	}
	else if (config.browser.isIE) { // IE
		var fso = new ActiveXObject("Scripting.FileSystemObject");
		return fso.FileExists(f);
	}
	else return true; // other browsers: assume file exists
}
//}}}

//{{{
if (config.macros.attach.getAttachment==undefined) config.macros.attach.getAttachment=function(title) {

	// extract embedded data, local and remote links (if any)
	var text=store.getTiddlerText(title,'');
	var embedded=store.getTiddlerText(title+'##data','').trim();
	var locallink=store.getTiddlerText(title+'##file','').trim();
	var remotelink=store.getTiddlerText(title+'##url','').trim();

	// backward-compatibility for older attachments (pre 4.0.0)
	var startmarker="---BEGIN_DATA---\n";
	var endmarker="\n---END_DATA---";
	var pos=0; var endpos=0;
	if ((pos=text.indexOf(startmarker))!=-1 && (endpos=text.indexOf(endmarker))!=-1)
		embedded="data:"+(text.substring(pos+startmarker.length,endpos)).replace(/\n/g,'');
	if ((pos=text.indexOf("/%LOCAL_LINK%/"))!=-1)
		locallink=text.substring(text.indexOf("|",pos)+1,text.indexOf("]]",pos));
	if ((pos=text.indexOf("/%REMOTE_LINK%/"))!=-1)
		remotelink=text.substring(text.indexOf("|",pos)+1,text.indexOf("]]",pos));

	// if there is a data: URI defined (not supported by IE)
	if (embedded.length && !config.browser.isIE) return embedded;

	// document is being served remotely... use remote URL (if any)  (avoids security alert)
	if (remotelink.length && document.location.protocol!="file:")
		return remotelink;  

	// local link only... return link without checking file existence (avoids security alert)
	if (locallink.length && !remotelink.length) 
		return locallink; 

	// local link, check for file exist... use local link if found
	if (locallink.length) { 
		locallink=locallink.replace(/^\.[\/\\]/,''); // strip leading './' or '.\' (if any)
		if (this.fileExists(getLocalPath(locallink))) return locallink;
		// maybe local link is relative... add path from current document and try again
		var pathPrefix=document.location.href;  // get current document path and trim off filename
		var slashpos=pathPrefix.lastIndexOf("/"); if (slashpos==-1) slashpos=pathPrefix.lastIndexOf("\\"); 
		if (slashpos!=-1 && slashpos!=pathPrefix.length-1) pathPrefix=pathPrefix.substr(0,slashpos+1);
		if (this.fileExists(getLocalPath(pathPrefix+locallink))) return locallink;
	}

	// no embedded data, no local (or not found), fallback to remote URL (if any)
	if (remotelink.length) return remotelink;

	// attachment URL doesn't resolve, just return input as is
	return title;
}
//}}}
//{{{
if (config.macros.attach.init_formatters==undefined) config.macros.attach.init_formatters=function() {
	if (this.initialized) return;

	// find the formatter for "image" and replace the handler
	for (var i=0; i<config.formatters.length && config.formatters[i].name!="image"; i++);
	if (i<config.formatters.length)	config.formatters[i].handler=function(w) {
		this.lookaheadRegExp.lastIndex = w.matchStart;
		var lookaheadMatch = this.lookaheadRegExp.exec(w.source)
		if(lookaheadMatch && lookaheadMatch.index == w.matchStart) // Simple bracketted link
			{
			var e = w.output;
			if(lookaheadMatch[5])
				{
				var link = lookaheadMatch[5];
				// ELS -------------
				var external=config.formatterHelpers.isExternalLink(link);
				if (external)
					{
					if (config.macros.attach.isAttachment(link))
						{
						e = createExternalLink(w.output,link);
						e.href=config.macros.attach.getAttachment(link);
						e.title = config.macros.attach.linkTooltip + link;
						}
					else
						e = createExternalLink(w.output,link);
					}
				else 
					e = createTiddlyLink(w.output,link,false,null,w.isStatic);
				// ELS -------------
				addClass(e,"imageLink");
				}
			var img = createTiddlyElement(e,"img");
			if(lookaheadMatch[1])
				img.align = "left";
			else if(lookaheadMatch[2])
				img.align = "right";
			if(lookaheadMatch[3])
				img.title = lookaheadMatch[3];
			img.src = lookaheadMatch[4];
			// ELS -------------
			if (config.macros.attach.isAttachment(lookaheadMatch[4]))
				img.src=config.macros.attach.getAttachment(lookaheadMatch[4]);
			// ELS -------------
			w.nextMatch = this.lookaheadRegExp.lastIndex;
		}
	}
//}}}
//{{{
	// find the formatter for "prettyLink" and replace the handler
	for (var i=0; i<config.formatters.length && config.formatters[i].name!="prettyLink"; i++);
	if (i<config.formatters.length)	{
		config.formatters[i].handler=function(w) {
			this.lookaheadRegExp.lastIndex = w.matchStart;
			var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
			if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
				var e;
				var text = lookaheadMatch[1];
				if(lookaheadMatch[3]) {
					// Pretty bracketted link
					var link = lookaheadMatch[3];
					if (config.macros.attach.isAttachment(link)) {
						e = createExternalLink(w.output,link);
						e.href=config.macros.attach.getAttachment(link);
						e.title=config.macros.attach.linkTooltip+link;
					}
					else e = (!lookaheadMatch[2] && config.formatterHelpers.isExternalLink(link))
						? createExternalLink(w.output,link)
						: createTiddlyLink(w.output,link,false,null,w.isStatic);
				} else {
					e = createTiddlyLink(w.output,text,false,null,w.isStatic);
				}
				createTiddlyText(e,text);
				w.nextMatch = this.lookaheadRegExp.lastIndex;
			}
		}
	} // if "prettyLink" formatter found
	this.initialized=true;
}
//}}}
//{{{
config.macros.attach.init_formatters(); // load time init
//}}}
//{{{
if (TiddlyWiki.prototype.coreGetRecursiveTiddlerText==undefined) {
	TiddlyWiki.prototype.coreGetRecursiveTiddlerText = TiddlyWiki.prototype.getRecursiveTiddlerText;
	TiddlyWiki.prototype.getRecursiveTiddlerText = function(title,defaultText,depth) {
		return config.macros.attach.isAttachment(title)?
			config.macros.attach.getAttachment(title):this.coreGetRecursiveTiddlerText.apply(this,arguments);
	}
}
//}}}
User-agent: *
Disallow: /bags/*/tiddlers.wiki
Disallow: /recipes/*/tiddlers.wiki
Disallow: /*/revisions
/***
|''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);
//}}}
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
[[Wikipedia on Skinner|https://secure.wikimedia.org/wikipedia/en/wiki/B_f_skinner]]

//ve minra// is not a Skinner fan or endorsement page, but he's been a on my radar lately since reading "Walden Two" and then a bit of his biography. Looks harder to dismiss as some dude studying pigeons nicely but otherwise unpalatable, as I think I've been told to [[believe|Belief]].


!Tags
[[Topic]]
[[GState]]
!More
[[todo]]
[[done]]
[[journalEntry]]
[[Replies and Notifications]]

<<activity>>
/***
|Name:|QuickOpenTagPluginModded|
|Description:|Changes tag links to make it easier to open tags as tiddlers|
|Mod:|tag labels are not links in readOnly mode (by Kosmaton)|
|Version:|3.0.1 ($Rev: 3861 $)|
|Date:|$Date: 2008-03-08 10:53:09 +1000 (Sat, 08 Mar 2008) $|
|Source:|http://mptw.tiddlyspot.com/#QuickOpenTagPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
***/
//{{{
config.quickOpenTag = {

	dropdownChar: (document.all ? "\u25bc" : "\u25be"), // the little one doesn't work in IE?

	createTagButton: function(place,tag,excludeTiddler) {
		// little hack so we can do this: <<tag PrettyTagName|RealTagName>>
		var splitTag = tag.split("|");
		var pretty = tag;
		if (splitTag.length == 2) {
			tag = splitTag[1];
			pretty = splitTag[0];
		}
		
		var sp = createTiddlyElement(place,"span",null,"quickopentag");
		
		// **** readOnly condition added by Kosmaton ****
		if (!readOnly)
			createTiddlyText(createTiddlyLink(sp,tag,false),pretty);
		else {
			createTiddlyText(sp,pretty);
			sp.setAttribute("style","color: black; padding-left: 2px; font-size: 0.7em;");
		};
		
		var theTag = createTiddlyButton(sp,config.quickOpenTag.dropdownChar,
                        config.views.wikified.tag.tooltip.format([tag]),onClickTag);
		theTag.setAttribute("tag",tag);
		if (excludeTiddler)
			theTag.setAttribute("tiddler",excludeTiddler);
    		return(theTag);
	},

	miniTagHandler: function(place,macroName,params,wikifier,paramString,tiddler) {
		var tagged = store.getTaggedTiddlers(tiddler.title);
		if (tagged.length > 0) {
			var theTag = createTiddlyButton(place,config.quickOpenTag.dropdownChar,
                        	config.views.wikified.tag.tooltip.format([tiddler.title]),onClickTag);
			theTag.setAttribute("tag",tiddler.title);
			theTag.className = "miniTag";
		}
	},

	allTagsHandler: function(place,macroName,params) {
		var tags = store.getTags(params[0]);
		var filter = params[1]; // new feature
		var ul = createTiddlyElement(place,"ul");
		if(tags.length == 0)
			createTiddlyElement(ul,"li",null,"listTitle",this.noTags);
		for(var t=0; t<tags.length; t++) {
			var title = tags[t][0];
			if (!filter || (title.match(new RegExp('^'+filter)))) {
				var info = getTiddlyLinkInfo(title);
				var theListItem =createTiddlyElement(ul,"li");
				var theLink = createTiddlyLink(theListItem,tags[t][0],true);
				var theCount = " (" + tags[t][1] + ")";
				theLink.appendChild(document.createTextNode(theCount));
				var theDropDownBtn = createTiddlyButton(theListItem," " +
					config.quickOpenTag.dropdownChar,this.tooltip.format([tags[t][0]]),onClickTag);
				theDropDownBtn.setAttribute("tag",tags[t][0]);
			}
		}
	},

	// todo fix these up a bit
	styles: [
"/*{{{*/",
"/* created by QuickOpenTagPlugin */",
".tagglyTagged .quickopentag, .tagged .quickopentag ",
"	{ margin-right:1.2em; border:1px solid #eee; padding:2px; padding-right:0px; padding-left:1px; }",
".quickopentag .tiddlyLink { padding:2px; padding-left:3px; }",
".quickopentag a.button { padding:1px; padding-left:2px; padding-right:2px;}",
"/* extra specificity to make it work right */",
"#displayArea .viewer .quickopentag a.button, ",
"#displayArea .viewer .quickopentag a.tiddyLink, ",
"#mainMenu .quickopentag a.tiddyLink, ",
"#mainMenu .quickopentag a.tiddyLink ",
"	{ border:0px solid black; }",
"#displayArea .viewer .quickopentag a.button, ",
"#mainMenu .quickopentag a.button ",
"	{ margin-left:0px; padding-left:2px; }",
"#displayArea .viewer .quickopentag a.tiddlyLink, ",
"#mainMenu .quickopentag a.tiddlyLink ",
"	{ margin-right:0px; padding-right:0px; padding-left:0px; margin-left:0px; }",
"a.miniTag {font-size:150%;} ",
"#mainMenu .quickopentag a.button ",
"	/* looks better in right justified main menus */",
"	{ margin-left:0px; padding-left:2px; margin-right:0px; padding-right:0px; }", 
"#topMenu .quickopentag { padding:0px; margin:0px; border:0px; }",
"#topMenu .quickopentag .tiddlyLink { padding-right:1px; margin-right:0px; }",
"#topMenu .quickopentag .button { padding-left:1px; margin-left:0px; border:0px; }",
"/*}}}*/",
		""].join("\n"),

	init: function() {
		// we fully replace these builtins. can't hijack them easily
		window.createTagButton = this.createTagButton;
		config.macros.allTags.handler = this.allTagsHandler;
		config.macros.miniTag = { handler: this.miniTagHandler };
		config.shadowTiddlers["QuickOpenTagStyles"] = this.styles;
		store.addNotification("QuickOpenTagStyles",refreshStyles);
	}
}

config.quickOpenTag.init();

//}}}

var user, userbag;
var friends = [];
var host = "http://tiddlyspace.com";

$.ajaxSetup({
	beforeSend: function(xhr) {
		xhr.setRequestHeader("X-ControlView", "false");
	}
});

function printMessage(txt) {
	alert(txt);
}

function printError(txt) {
	alert(txt);
}

var simpleDate = (function() {

	var measures = {
		second: 1,
		minute: 60,
		hour: 3600,
		day: 86400,
		week: 604800,
		month: 2592000,
		year: 31536000
	};

	var chkMultiple = function(amount, type) {
		return (amount > 1) ? amount + " " + type + "s":"a " + type;
	};

	return function(thedate) {

		var dateStr, amount,
			current = new Date().getTime(),
			diff = (current - thedate.getTime()) / 1000; // work with seconds

		if(diff > measures.year) {
			amount = Math.round(diff/measures.year);
			dateStr = "about " + chkMultiple(amount, "year") + " ago";
		} else if(diff > measures.month) {
			amount = Math.round(diff/measures.month);
			//if(typeof amount == "")
			dateStr = "about " + chkMultiple(amount, "month") + " ago";
		} else if(diff > measures.week) {
			amount = Math.round(diff/measures.week);
			dateStr = "about " + chkMultiple(amount, "week") + " ago";
		} else if(diff > measures.day) {
			amount = Math.round(diff/measures.day);
			dateStr = "about " + chkMultiple(amount, "day") + " ago";
		} else if(diff > measures.hour) {
			amount = Math.round(diff/measures.hour);
			dateStr = "about " + chkMultiple(amount, "hour") + " ago";
		} else if(diff > measures.minute) {
			amount = Math.round(diff/measures.minute);
			dateStr = "about " + chkMultiple(amount, "minute") + " ago";
		} else {
			dateStr = "a few seconds ago";
		}

		return dateStr;

	};
})();

function prettyDate(t) {
	var date = 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)
	));
	return simpleDate(date);
}

function endsWith(str, suffix) {
	return str.indexOf(suffix) == str.length - suffix.length;
}

function isShadow(tid) {
	var shadows = ["MarkupPreHead", "DefaultTiddlers", "PageTemplate", "SideBarTabs",
		"GettingStarted", "MainMenu", "SiteTitle", "SiteSubtitle", "ColorPalette",
		"SiteIcon", "ViewTemplate", "EditTemplate", "ServerSettings", "MarkupPostHead",
		"MarkupPostBody", "MarkupPreBody"];
	return tid.title.indexOf("StyleSheet") === 0 ||
		tid.title.indexOf("SideBar") === 0 ||
		shadows.indexOf(tid.title) > -1 || endsWith(tid.title, "SetupFlag") ? true : false;
}

function isPlugin(tid) {
	return tid.tags.indexOf("systemConfig") > -1 ? true : false;
}

function isArtifact(tid) {
	var follow = tid.tags.indexOf("follow") > -1;
	var type = tid.type;
	if(follow || type) {
		return true;
	} else {
		return false;
	}
}

function chooseTiddlers(tiddlers) {
	var _tiddlers = [];
	for(var i = 0; i < tiddlers.length; i++) {
		var tid = tiddlers[i];
		if(!isPlugin(tid) && !isShadow(tid) && !isArtifact(tid)) {
			_tiddlers.push(tid);
		}
	}
	return _tiddlers;
}

function bubbleDown() {
	var friends = $(".friend");
	friends.css({ position: "relative" });
	var target;
	friends.each(function(i, el) {
		if(!target && $(el).hasClass("silentFriend") &&
			$(el).next(".friend").hasClass("noisyFriend")) {
			target = el;
		}
	});
	if(target) {
		var other = $(target).next(".friend");
		// we want to move target above the prev element
		// target is an element which has the class noisy and the previous node is quiet
		var swapDuration = 50;
		var otherHeight = other.height();
		var thisHeight = $(target).height();
		$(target).animate({ top: + otherHeight }, { duration: swapDuration });
		$(other).animate({ top:  - thisHeight }, { duration: swapDuration,
				complete: function() {
					var newTarget = $(target).clone(true).insertAfter(other)[0];
					$(target).remove();
					$(other).css({ top: 0 });
					$(newTarget).css({ top: 0 });
					bubbleDown();
				}
		});
	}
}

function renderTiddlerList(container,friend) {
	var tidList = $("<ul />").appendTo(container)[0];
	$("<li />").text("loading").appendTo(tidList);
	var oncompletion = function() {
		if($(".errorFriend,.silentFriend,.noisyFriend").length === $(".friend").length) {
			bubbleDown();
		}
	}
	$.ajax({ dataType: "json",
		url: "/search?q=modifier:" + friend + "&select=modified:>3d&sort=-modified",
		error: function() {
			$(container).addClass("errorFriend");
			oncompletion();
		},
		success: function(tiddlers) {
			$(tidList).empty();
			tiddlers = chooseTiddlers(tiddlers);
			if(tiddlers.length === 0) {
				$(container).addClass("silentFriend");
				$("<li />").text("No recent activity.").appendTo(tidList);
				oncompletion();
				return;
			} else {
				$(container).addClass("noisyFriend").removeClass("inactiveFriend");
				oncompletion();
			}
			for(var i=0; i < tiddlers.length; i++) {
				var tiddler = tiddlers[i];
				var item = $("<li />").appendTo(tidList)[0];
				var win;
				var space = tiddler.bag.split("_")[0];
				var spaceUrl = "http://" + space + ".tiddlyspace.com";
				var path = "/bags/" + tiddler.bag + "/tiddlers/" + encodeURIComponent(tiddler.title);
				var link = $("<a />").text(tiddler.title).
					attr("href", spaceUrl + path).
					data("path", path).
					click(function(ev) {
						var win = $(ev.target).data("win");
						if($(ev.target).hasClass("active")) {
							$(win).toggle(1000);
						} else {
							$(ev.target).addClass("active");
							$(".text", win).text("loading...");
							$(win).show();
							$.ajax({
								url: $(ev.target).data("path"),
								data: {
									render: "y"
								},
								dataType: "json",
								success: function(tiddler) {
									$(".text",win).html(tiddler.render);
									$(win).show(1000);
								},
								error: function() {
									$(".text", win).text("error loading that tiddler");
								}
							});
						}
						ev.preventDefault();
					}).
					appendTo(item)[0];
				var space = tiddler.bag.split("_")[0];
				$("<span />").text(" in ").appendTo(item);
				$("<a />").attr("href", spaceUrl).text(space).appendTo(item);
				$("<span />").text(" (" + prettyDate(tiddler.modified) + ")").appendTo(item);
				win = $("<div />").addClass("tiddler").appendTo(item)[0];
				$("<div />").addClass("text").appendTo(win);
				var toolbar = $("<div />").addClass("toolbar").appendTo(win)[0];
				var extra = $("<div />").addClass("extra").appendTo(win)[0];
				$("<button />").data("bag", tiddler.bag).data("title", tiddler.title).text("give feedback").
					data("revision", tiddler.revision).click(function(ev) {
					var title = $(ev.target).data("title");
					var revision = $(ev.target).data("revision");
					var bag = $(ev.target).data("bag");
					var revisionURL = host + "/bags/" + bag + "/tiddlers/" + encodeURIComponent(title) + "/revisions/" + revision;
					var space = bag.split("_")[0];
					var area = $(ev.target).parents(".tiddler").children(".extra")[0];
					$(area).hide();
					$("<textarea />").appendTo(area);
					$("<button />").text("save feedback").click(function(ev) {
						var tid = new tiddlyweb.Tiddler("Feedback for " + title, userbag);
						tid.tags = ["feedback", "@" + space];
						tid.text = ["In reply to [[", title, "]]@", space,
							" (revision [[", revision, "|", revisionURL, "]])\n\n"].join("") + $("textarea", area).val();
						tid.put(function(tiddler) {
							$(area).empty();
							$("<span />").text("your comment: ").appendTo(area);
							$("<a />").attr("href", "/" + encodeURIComponent(tiddler.title)).text(tiddler.title).appendTo(area);
						}, function() {
							printError("error commenting!");
						});
					}).appendTo(area);
					$(area).show(1000);
					ev.preventDefault();
					$(ev.target).remove();
					return false;
				}).appendTo(toolbar);

				$(win).hide();
				$(link).data("win", win);
			}
		}
	})
}

function removeFriend(friend) {
	var tiddler = new tiddlyweb.Tiddler("@" + friend, userbag);
	var success = function() {
		printMessage("User removed from friends");
		var newFriends = [];
		for(var i = 0; i < friends.length; i++) {
			var f = friends[i];
			if(f !== friend) {
				newFriends.push(f);
			}
		}
		friends = newFriends;
		$("#friend-" + friend).hide(2000);
	};
	tiddler["delete"](success, function() {
		var old = new tiddlyweb.Tiddler(friend, userbag);
		old["delete"](success, function() {
			printError("Unable to remove friend " + friend);
		})
	})
}

function renderFriend(list, friend) {
	var bag = friend + "_public";
	var item = $("<li />").addClass("friend").attr("id", "friend-" + friend).addClass("inactiveFriend").appendTo(list)[0];
	$("<img />").attr("alt", friend).attr("title", friend).
		attr("src", host + "/bags/" + bag + "/tiddlers/SiteIcon").css({ width: 48, height: 48 }).appendTo(item);
	var heading = $("<h2>").appendTo(item)[0];
	$("<a />").attr("href", "#friend-" + friend).attr("name", "friend-" + friend).text(friend).appendTo(heading);
	$("<button />").data("who", friend).text("remove from friends").
		click(function(ev) {
			if(confirm("Are you sure you want to remove " + friend + " as a friend?")) {
				removeFriend($(ev.target).data("who"));
			}
		}).appendTo(item)[0];
	renderTiddlerList(item,friend);
}

function renderFriends() {
	var list = $("<ul />").appendTo("#friends")[0];
	$("<li />").text("Activity of your friends will appear below when available").appendTo(list);
	for(var i = 0; i < friends.length; i++) {
		var friend = friends[i];
		renderFriend(list, friend);
	}
}

function followWidget() {
	$("#friends").empty();
	var container = $("<div />").addClass("addfriends").appendTo("#friends")[0];
	$("<input />").attr("name", "friend").appendTo(container);
	$("<button />").text("add friend").click(function(ev) {
		var friend = $(ev.target).parent().children("[name='friend']").val();
		if(friends.indexOf(friend) > -1) {
			return printError("You already follow " + friend + "!");
		}

		var title;
		if(friend.indexOf("@") !== 0) {
			title = "@" + friend;
		} else {
			title = friend;
		}

		$.ajax({ dataType: "text", url: "/users/" + friend,
			success: function() {
				var tid = new tiddlyweb.Tiddler(title, userbag);
				tid.tags = ["follow", "excludeLists"];
				tid.put(function(tiddler) {
					printMessage("Added friend " + friend);
					renderFriend($("#friends ul")[0], friend);
					window.location.hash = "#friend-" + friend;
				}, function() {
					printError("Failed to add friend " + friend);
				})
			},
			error: function() {
				printError("No one with name " + friend + " exists!");
			}
		});
	}).appendTo(container);
	renderFriends();
}
$.ajax({
	url: "/status",
	dataType: "json",
	success: function(status) {
		user = status.username;
		userbag = new tiddlyweb.Bag(user + "_public", "/");
		$.ajax({ url: "/bags/" + user + "_public/tiddlers?select=tag:follow", dataType: "json", success: function(tiddlers) {
				for(var i = 0; i < tiddlers.length; i++) {
					var title = tiddlers[i].title;
					if(title.indexOf("@") === 0) {
						title = title.substr(1, title.length);
					}
					friends.push(title);
				}
				friends.sort();
				followWidget();
			}
		});
	}
})
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
<html>
<head>
	<title>Friends</title>
	<style type='text/css'>
		ul {
			list-style: none;
		}
		ul .friend {
			border-bottom: solid 1px black;
		}
		ul .friend .tiddler {
			margin-left: 10px;
			margin-bottom: 30px;
			padding: 10px;
			border: dotted 2px #CCC;
			color: #006100;
		}
		textarea {
			width: 100%;
			height: 150px;
		}
		.friend h2 {
			display: inline-block;
		}
		button {
			display: inline-block;
		}
		.inactiveFriend {
			background-color: #ccc;
			opacity: 0.1;
		}
	</style>
	<link rel="stylesheet" href="/HtmlCss" type="text/css">
</head>
<body>
<div id="container">
<div id="header">
<h1>Your friends</h1>
</div>
<noscript>
	javascript is required to see friend's activity
</noscript>
<div id='friends' class="section">loading...</div>
</div>
<script src="/bags/common/tiddlers/jquery.js" type="text/javascript" charset="utf-8"></script>
<script src="/bags/common/tiddlers/jquery-json.js" type="text/javascript" charset="utf-8"></script>
<script src="/bags/tiddlyspace/tiddlers/chrjs" type="text/javascript" charset="utf-8"></script>
<script type='text/javascript' src='/friendjs'></script>
</body>
</html>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="29pt" viewBox="13 43 29 29" width="29pt" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" onmousedown="if(jQuery) jQuery(document).trigger('cSmaller', {elem:this, comp:{animations:1}})" onmouseup="if(jQuery) jQuery(document).trigger('cResize', {elem:this, comp:{animations:1}})">
 <defs id="defs6">
 <linearGradient id="linearGradient001" y2="27.646" gradientUnits="userSpaceOnUse" x2="-45.8" y1="27.646" x1="-57.66">
   <stop id="stop1" stop-color="#B9B9FF" offset="0"/>
   <stop id="stop2" stop-color="#E8E8FF" offset="0.66462"/>
   <stop id="stop3" stop-color="#B9B9FF" offset="1"/>
  </linearGradient></defs>
<g id="icon" stroke-linecap="round" stroke-miterlimit="4">
 <rect id="iconBG" style="stroke-dasharray:none;" fill-rule="evenodd" ry="4.1663" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#696969" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="none"/>
 <rect id="iconFG" stroke-width="0" fill-rule="evenodd" ry="2.3755" transform="matrix(0, -1, 1, 0, 0, 0)" width="22" stroke-miterlimit="4" y="16.646" x="-68.6" height="22" fill="url(#linearGradient001)" class="showOnHover" opacity="0"/>
 <g id="iconSymbol" stroke-linejoin="miter" stroke="#4d4d4d" stroke-linecap="round" stroke-miterlimit="4" stroke-width="2">
  <rect id="rect2855" style="stroke-dasharray:none;" ry="0" height="9.7143" width="8.3827" y="50.654" x="21.214" fill="none"/>
  <rect id="rect3643" style="stroke-dasharray:none;" ry="0" height="9.7143" width="8.3827" y="54.56" x="26.097" fill="none"/>
 </g>
 <rect id="overlay" opacity="0.01" ry="4.1663" style="stroke-dasharray:none;" fill-rule="evenodd" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#e6e6e6" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="#e6e6e6" onmouseover="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})" onmouseout="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})"/>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="29pt" viewBox="13 43 29 29" width="29pt" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" onmousedown="if(jQuery) jQuery(document).trigger('cSmaller', {elem:this, comp:{animations:1}})" onmouseup="if(jQuery) jQuery(document).trigger('cResize', {elem:this, comp:{animations:1}})">
 <defs id="defs6">
 <linearGradient id="linearGradient001" y2="27.646" gradientUnits="userSpaceOnUse" x2="-45.8" y1="27.646" x1="-57.66">
   <stop id="stop1" stop-color="#CC9900" offset="0"/>
   <stop id="stop2" stop-color="#E8D18B" offset="0.66462"/>
   <stop id="stop3" stop-color="#CC9900" offset="1"/>
  </linearGradient></defs>
<g id="icon" stroke-linecap="round" stroke-miterlimit="4">
 <rect id="iconBG" style="stroke-dasharray:none;" fill-rule="evenodd" ry="4.1663" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#696969" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="none"/>
 <rect id="iconFG" stroke-width="0" fill-rule="evenodd" ry="2.3755" transform="matrix(0, -1, 1, 0, 0, 0)" width="22" stroke-miterlimit="4" y="16.646" x="-68.6" height="22" fill="url(#linearGradient001)" class="showOnHover" opacity="0"/>
 <g id="iconSymbol" stroke-linejoin="miter" style="stroke-dasharray:none;" transform="matrix(0.744603, -0.571406, 0.571406, 0.744603, -26.72, 29.8594)" stroke="#4d4d4d" stroke-width="2.4000001" fill="none">
   <rect id="rect3648" style="stroke-dasharray:none;" ry="1.9242" height="6.1172" width="10.95" y="55.132" x="19.169"/>
   <rect id="rect3650" style="stroke-dasharray:none;" ry="1.9242" height="6.1172" width="10.95" y="56.513" x="25.822"/>
  </g>
 <rect id="overlay" opacity="0.01" ry="4.1663" style="stroke-dasharray:none;" fill-rule="evenodd" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#e6e6e6" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="#e6e6e6" onmouseover="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})" onmouseout="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})"/>
</g>
</svg>
|uiDefault|Verdana,Arial,sans-serif|
|uiEditor|Verdana,Arial,sans-serif|
|twDefault|Arial, 'Linux Biolinum O', helvetica|
|twEditor|Inconsolata|
|twTitle|'Trebuchet MS' sans-serif|
|twHeader|'Trebuchet MS' sans-serif|
|navDefault|Inconsolata|
/***
|''Name''|PiwikTrackerPlugin|
|''Description''|Handles tracking via Piwik, including individual tiddlers|
|''From original code by''|Phil Hawksworth, @fnd, @cdent; see @ganalytics|
|''Adapted by''|Kosmaton|
|''Date''|March 2010|
|''Type''|plugin|
!Code
***/
//{{{
(function() {

var trackAll = false;
if (store.getTiddlerText("PiwikConfig::trackLoggedInMembers") == "yes") trackAll = true;

var ID = parseInt( store.getTiddlerText("PiwikConfig::piwikID") );

var localCopy = false;
if ("file:" == document.location.protocol) localCopy = true;
var trackLocal = false;
if (store.getTiddlerText("PiwikConfig::trackLocalCopies") == "yes") trackLocal = true;

var doTracking = (!localCopy && (readOnly || trackAll)) || (localCopy && trackLocal);

if (doTracking) {
	try {
		var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", ID);
		piwikTracker.trackPageView();
		piwikTracker.enableLinkTracking();
	} catch( err ) {}
}

// CustomTracker as a namespace for tracking related functions
var CustomTracker = {};

CustomTracker.track = function() {
	if (doTracking) {
		try {
			piwikTracker.trackPageView.apply(this, arguments);
		} catch(err) {}
	}
};

// hijack displayTiddler to trigger tracking
var _displayTiddler = Story.prototype.displayTiddler;
Story.prototype.displayTiddler = function(srcElement, tiddler, template,
        animate, unused, customFields, toggle, animationSrc) {
	// log with the tracker
	CustomTracker.track("/" + tiddler);
	// call the original displayTiddler function
	return _displayTiddler.apply(this,arguments);
};

// Call once for the initial page load
CustomTracker.track();

})();

//}}}
/***
|''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''|SvgEvent_Animations|
|''Description''|contains the global TW jQuery custom events.|
|''Author''|Mario Pietsch|
|''Version''|0.2.2|
|''Status''|''stable''|
|''Source''|http://fxplugins.tiddlyspace.com|
|''CoreVersion''|2.6|
|''Documentation''|[[SvgEvent_Info]]|
|''Keywords''|svg, events, animation, commands|

!Important

!Known issues

!History
*V 0.2.2
**Status: stable
**[[SvgEvent_Info]] has more info now.

*V 0.2.1
**cTglBg searches from parent() now

*V 0.2.0
**SvgEventzPlugin is not needed anymore
**New event names

!Code
***/
/*{{{*/
if(!version.extensions.SvgEvent_Animations) { //# ensure that the plugin is only installed once
version.extensions.SvgEvent_Animations= { installed: true };

(function($) {

// if you add components here a 
var eventTypes = ["cTglOpacity", "cTglBg", "cBigger", "cResize", "cSmaller", "cmd99"];

animations = {
	// IMPORTANT: if you add commands here, don't forget to add them at "var eventTypes" too!
	//trialUpdate
	cTglOpacity: function(e, trial) {
		if  (! trial.comp.animations) return false;

		var val = trial.elem.getAttribute('opacity');
		val = (val == 0.8) ? 1:0.8;
		trial.elem.setAttribute('opacity', val);
	},

	cTglBg: function(e, trial) {
		if  (! trial.comp.animations) return false;

		var elem = jQuery(trial.elem).parent().find('.showOnHover');
		var val = elem.attr('opacity');
		var old = (elem.attr('oldopacity')) ? elem.attr('oldopacity') : val;
		val = (val == old) ? 1:old;
		elem.attr('opacity', val);
		elem.attr('oldopacity', old);
	},

	//trialFullSize hover, mouse in
	cBigger: function(e, trial) {
		if  (! trial.comp.animations) return false;
	
		trial.elem.setAttribute('height','35pt');
		trial.elem.setAttribute('width','35pt');
		
	},

	//mouse up = mouse out = resize
	cResize: function(e, trial) {
		if  (! trial.comp.animations) return false;

		trial.elem.setAttribute('height','29pt');		
		trial.elem.setAttribute('width','29pt');
	},

	//clicked mouse down
	cSmaller: function(e, trial) {
		if  (! trial.comp.animations) return false;

		trial.elem.setAttribute('height','27pt');		
	},

}; 

var components = [animations];
$.each(components, function(i,component) {
	$.each(eventTypes, function(j,eventType) {
		var handler = component[eventType];
		if (handler) $(document).bind(eventType, handler);
	});
});

})(jQuery);
} //# end of "install only once"

/*}}}*/
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="29pt" viewBox="13 43 29 29" width="29pt" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" onclick="if(jQuery) jQuery(document).trigger('cCloseAll', {elem:this, comp:{menue:1}})" onmousedown="if(jQuery) jQuery(document).trigger('cSmaller', {elem:this, comp:{animations:1}})" onmouseup="if(jQuery) jQuery(document).trigger('cResize', {elem:this, comp:{animations:1}})" title="Close all tiddlers (except any, that are being edited)">
 <metadata id="metadata14">
  <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:rights>
     <cc:Agent>
      <dc:title>http://creativecommons.org/licenses/by-nc-sa/3.0/at/</dc:title>
     </cc:Agent>
    </dc:rights>
    <dc:source>http://iconbuilder.tiddlyspace.com</dc:source>
    <dc:creator>
     <cc:Agent>
      <dc:title>Mario Pietsch</dc:title>
     </cc:Agent>
    </dc:creator>
   </cc:Work>
  </rdf:RDF>
 </metadata>
 <defs id="defs_bBgTrans">
 <linearGradient id="linearGradient001" y2="27.646" gradientUnits="userSpaceOnUse" x2="-45.8" y1="27.646" x1="-57.66">
   <stop id="stop1" stop-color="#FF4646" offset="0"/>
   <stop id="stop2" stop-color="#ffcccc" offset="0.66462"/>
   <stop id="stop3" stop-color="#FF4646" offset="1"/>
  </linearGradient></defs>
<g id="icon">
 <rect id="iconBG" stroke="#696969" ry="4.1663" transform="matrix(0,-1,1,0,0,0)" height="25" width="25" y="15.167" x="-70.116" stroke-width="1.2" fill="none" class="showBG"/>
 <rect id="iconFG" stroke-width="0" fill-rule="evenodd" ry="2.3755" transform="matrix(0,-1,1,0,0,0)" width="22" stroke-miterlimit="4" y="16.646" x="-68.6" height="22" fill="url(#linearGradient001)" class="showFG"/>
<g id="iconSymbol" stroke="#4d4d4d" stroke-linecap="round" stroke-width="1.60000002" class="showSY">
  <g>
   <path d="m21.166,64.294,4.9545-4.9546"/>
   <path d="M26.12,64.294,21.165,59.339"/>
  </g>
  <g transform="translate(8.3261246,-8.609083)">
   <path d="m21.166,64.294,4.9545-4.9546"/>
   <path d="M26.12,64.294,21.165,59.339"/>
  </g>
  <g transform="translate(8.3261246,0)">
   <path d="m21.166,64.294,4.9545-4.9546"/>
   <path d="M26.12,64.294,21.165,59.339"/>
  </g>
  <g transform="translate(0.02508651,-8.6271626)">
   <path d="m21.166,64.294,4.9545-4.9546"/>
   <path d="M26.12,64.294,21.165,59.339"/>
  </g>
 </g>
 <rect id="overlay" stroke="#696969" opacity="0" ry="4.1663" transform="matrix(0,-1,1,0,0,0)" height="25" width="25" y="15.167" x="-70.116" stroke-width="1.2" class="showOV"/>
</g>
</svg>
/***
|''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);
//}}}
/***
|''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 && excludeValues.indexOf(v) === -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));
//}}}
/***
|''Name''|TiddlySpaceViewTypes|
|''Version''|0.5.6|
|''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"
	}
};

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) {
			if((space && user.name != space &&
					user.name != tiddlyspace.currentSpace.name) || imported) {
				createSpaceLink(container, user.name, value, label);
				tweb.getStatus(function(status) { // force callback to run after existing callbacks
					var url = config.extensions.tiddlyspace.getHost(status.server_host, user.name) + "#[[" + encodeURIComponent(value) + "]]";
					jQuery("a", container).attr("href", url);
				});
			}
		}
	});
};

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''|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";

})();
//}}}
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="29pt" viewBox="13 43 29 29" width="29pt" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" onmousedown="if(jQuery) jQuery(document).trigger('cSmaller', {elem:this, comp:{animations:1}})" onmouseup="if(jQuery) jQuery(document).trigger('cResize', {elem:this, comp:{animations:1}})">
 <defs id="defs6">
 <linearGradient id="linearGradient001" y2="27.646" gradientUnits="userSpaceOnUse" x2="-45.8" y1="27.646" x1="-57.66">
   <stop id="stop1" stop-color="#6BB546" offset="0"/>
   <stop id="stop2" stop-color="#B5DAA2" offset="0.66462"/>
   <stop id="stop3" stop-color="#6BB546" offset="1"/>
  </linearGradient></defs>
<g id="icon" stroke-linecap="round" stroke-miterlimit="4">
 <rect id="iconBG" style="stroke-dasharray:none;" fill-rule="evenodd" ry="4.1663" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#696969" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="none"/>
 <rect id="iconFG" stroke-width="0" fill-rule="evenodd" ry="2.3755" transform="matrix(0, -1, 1, 0, 0, 0)" width="22" stroke-miterlimit="4" y="16.646" x="-68.6" height="22" fill="url(#linearGradient001)" class="showOnHover" opacity="0"/>
 <g id="iconSymbol" stroke-linejoin="miter" stroke="#666" stroke-linecap="butt" stroke-width="0.80000000999999998px" fill="none">
  <path id="path2854" d="m20.595,51.16c1.1881,0.1855,2.3544,0.45838,3.7035,0,1.7032,1.2797,2.8799-0.09593,4.0801,0l3.2641,0.50216,3.2641-0.50216"/>
  <path id="path2866" d="m20.595,57.56c1.1881,0.1855,2.3544,0.45838,3.7035,0,1.7032,1.2797,2.8799-0.09593,4.0801,0l3.2641,0.50216,3.2641-0.50216"/>
  <path id="path2870" d="m20.595,63.96c1.1881,0.1855,2.3544,0.45838,3.7035,0,1.7032,1.2797,2.8799-0.09593,4.0801,0l3.2641,0.50216,3.2641-0.50216"/>
 </g>
 <rect id="overlay" opacity="0.01" ry="4.1663" style="stroke-dasharray:none;" fill-rule="evenodd" transform="matrix(0, -1, 1, 0, 0, 0)" height="25" width="25" stroke="#e6e6e6" stroke-linecap="round" stroke-miterlimit="4" y="15.167" x="-70.116" stroke-width="1.2" fill="#e6e6e6" onmouseover="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})" onmouseout="if(jQuery) jQuery(document).trigger('cTglBg', {elem:this, comp:{animations:1}})"/>
</g>
</svg>
/***
|''Name''|TiddlySpaceCloneCommand|
|''Version''|0.5.7|
|''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("private");
			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:''|twyp|
|''Description:''|search, play and associate youtube videos|
|''Author:''|Tobias Beer|
|''Version:''|0.9.7 (2010-10-25)|
|''Status:''|beta|
|''Source:''|http://twyp.tiddlyspace.com/#twyp|
|''Documentation:''|http://tobibeer.tiddlyspace.com/#twYp|
|''Readable source:''|http://tbsource.tiddlyspace.com/#twyp|
|''Requires:''|TW Version 2.5.3 or better|
!Example
{{{
<<twyp>>
}}}
<<twyp>>
!Code
***/
//{{{
(function(a){window.twyp={maxSearch:6,maxRelated:10,maxUser:10,vidWidth:380,vidHeight:320,restrictTo:"",field:"youtube",txtRelated:"Related",txtUser:"Best rated videos by ",txtPage:"Go to page ",lblShow:"Play %0",tipShow:"Click to play %0",lblHide:"Close video",tipHide:"Click to close video player",txtInfo:"by %0 | viewed: %1 | favourited: %2 | published: %3",txtRating:"rating: ",txtDuration:"duration: ",txtSearch:"-search-",lblSearch:"Please enter a search-term...",txtTag:"-category/tag-",lblTag:"Please enter a category or tag filter to constrain the search results by...",twypTemplate:"twyp##TEMPLATE",fmtSlider:'<<slider chk%0 twyp##TEMPLATE "Search videos" "Search videos on youtube and add one to the tiddler">>',fmtPlayer:'<h2><a class="tiddlyLinkExisting" href="#" title="add to current tiddler (hold CTRL to skip the prompt and use the title as is)" rel="%0">%1</a></h2> <object width="%2" height="%3"> <param name="movie" value="%0%4&fs=1&format=5&iv_load_policy=3&enablejsapi=1&playerapiid=%5"/> <param name="allowFullScreen" value="true" /> <param name="iv_load_policy" value="3" /> <param name="wmode" value="transparent" /> <param name="allowScriptAccess" value="always"> <embed src="%0%4&format=5&fs=1&iv_load_policy=3&enablejsapi=1&playerapiid=%5" 	type="application/x-shockwave-flash" 	allowscriptaccess="always" 	wmode="transparent" 	width="%2" height="%3" 	allowfullscreen="true"> </embed></object>',relRelated:"http://gdata.youtube.com/schemas/2007#video.related",mimeFlash:"application/x-shockwave-flash",feeds:"http://gdata.youtube.com/feeds/standardfeeds/",mapQuery:{rated:"top_rated",recent:"most_recent",popular:"most_popular",respond:"most_responded",discuss:"most_discussed",featured:"recently_featured",all:"videos"},usrSuffix:"/uploads",activeTwyp:null,shadows:[],appendScript:function(c,e,d){a("#"+e).remove();a("head").append(a("<script>").attr({src:c+"&alt=json-in-script&callback="+d,id:e,type:"text/javascript"}))},findHref:function(f,c){var e,d;for(e=0;d=f.link[e];e++){if(d.rel==c){return d.href}}return null},findMediaHref:function(g,f){var e,j,h,d;for(e=0;j=g.media$group.media$content[e];e++){if(j.type==f){d=j.url;h=d.indexOf("?");return h<1?d:d.substr(0,h)}}alert("?!?");return null},getResults:function(f,k,m){var j,d,i=1,h=a(f).closest(".twyp"),g=a(f).closest("[tiddler]"),e=twyp.activeTwyp=g.attr("twyp"),l=m;l=l!=""&&l!=twyp.txtSearch?l:"";if(k){j=f.category.value;j=j!=""&&j!=twyp.txtTag?"&category="+j:"";h.attr({id:e,field:g.attr("field"),search:l,cat:j,query:k})}else{l=h.attr("search");j=h.attr("cat");k=h.attr("query");i=parseInt(a(f).attr("page"))}d=twyp.feeds+twyp.mapQuery[k];if(k=="all"){d=d.replace("standardfeeds/","")}d+="?prettyprint=true&restriction="+twyp.restrictTo+"&max-results="+twyp.maxSearch+"&start-index="+(((i-1)*twyp.maxSearch)+1)+(l==""?"":"&vq="+l)+(j?j:"");twyp.appendScript(d,"twypResults","twyp.cbResults");twyp.updateNav(i,h)},cbResults:function(f){try{var d=a("#"+twyp.activeTwyp),c=a(".vids",d).empty();d.data("main",f.feed);a(f.feed.entry).each(function(j,m){if(!m.yt$noembed){var k=m.media$group.media$title.$t,h=a("<img/>"),o=a("<a/>"),n=m.media$group.media$description.$t,l=a("<p>").html(n);h.attr({src:m.media$group.media$thumbnail[0].url,title:twyp.info(m)}).click(twyp.clickPlay(j,"main",h[0]));o.attr({href:"#","class":"tiddlyLinkExisting"}).click(twyp.clickPlay(j,"main",o[0])).html(k);c.append(a("<div/>").attr("class","vid").append(a("<div/>").attr("class","desc").append(o).append(h).append(a("<span/>").append(a("<div/>").html(twyp.info(m,true)))).append(l).append(a("<div/>").attr("class","tagClear"))))}});if(a.fn.linkify){a("p",c).linkify()}}catch(g){alert(g)}},getRelated:function(e,h,g){var f=g.data(h).entry[e],d=twyp.findHref(f,twyp.relRelated),c=a(".vidRel",g).empty();if(d){d=d.split("?")[0];c.html("<h3>"+twyp.txtRelated+"</h3>");d+="?&restriction="+twyp.restrictTo+"&max-results="+twyp.maxRelated;twyp.appendScript(d,"twypRelated","twyp.cbMore")}},getByUser:function(e,d,c){a(".vidUser",e).empty().html("<h3>"+twyp.txtUser+c+"</h3>");twyp.appendScript(d+twyp.usrSuffix+"?&restriction="+twyp.restrictTo+"&max-results="+twyp.maxUser+"&orderby=rating","twypUser","twyp.cbMore")},cbMore:function(h){var d,c,j,f=a("#"+twyp.activeTwyp),g=h.feed.title.$t.indexOf("Videos related to")==0?"related":"user";f.data(g,h.feed);for(d=0;j=h.feed.entry[d];d++){c=a("<img/>");a(g=="user"?".vidUser":".vidRel",f).append(c.attr({src:j.media$group.media$thumbnail[0].url,rel:j.media$group.media$title.$t,title:twyp.info(j)+" | "+twyp.info(j,true)}).click(twyp.clickPlay(d,g,c[0])).bind("mouseover mouseout",function(k){var l=k?k:window.event,i=a("."+g+"Info");i.empty().html(l.type=="mouseover"?this.getAttribute("rel"):"&nbsp;")}))}},info:function(h,g){var d,c,f;if(g){g=h.gd$rating,c=h.media$group.media$content[0].duration;return[g?twyp.txtRating+g.average.toString().substr(0,3)+" | ":"",twyp.txtDuration,Math.floor(c/60),":",String.zeroPad(c%60,2)].join("")}d=h.author,f=h.yt$statistics;return twyp.txtInfo.format([d?d[0].name.$t:"",f?f.viewCount:"n/a",f?f.favoriteCount:"n/a",h.published.$t.substr(0,10)])},clickPlay:function(d,e,c){return function(){twyp.playVideo(d,e,c);return false}},playVideo:function(d,i,g){twyp.activePlayer=null;twyp.newPlayer=true;var h=a(g).closest(".twyp"),k=h.find(".twplr"),j=h.data(i).entry[d],c=j.author,f=twyp.fmtPlayer.format([twyp.findMediaHref(j,twyp.mimeFlash),j.media$group.media$title.$t,twyp.vidWidth,twyp.vidHeight,"&autoplay=1",h.attr("id")]);k.html(f);k.find("a").first().attr("field",h.attr("field")).click(function(l){var m=l?l:window.event;twyp.addToTiddler(m,this)});k.append(a("<div/>").attr({"class":"vidDescr",title:(twyp.info(j)+twyp.info(j,true))}).html(j.media$group.media$description.$t));if(a.fn.linkify){a(".vidDescr",k).linkify()}twyp.getRelated(d,i,h);if(c&&c.length>0){twyp.getByUser(h,c[0].uri.$t,c[0].name.$t)}},updateNav:function(f,e){var g=f,c=twyp.txtPage,h=g-1<1?"disabled":"";a(".vidNext",e).css("display","inline").attr({page:g+1,title:c+(g+1)});a(".vidPrev",e).css("display","inline").attr({page:g-1,title:c+(g-1),disabled:h})},reset:function(c){var d=a(c).closest(".twyp");a(".vids, .colPlayer div[class]",d).empty();a(".twplr",d).html("&nbsp;");a(".resultsNav",d).hide()},addToTiddler:function(f,d){var h=story.findContainingTiddler(d),g=a(d),c=g.html();h=h?h.getAttribute("tiddler"):"";if(!h){return}if(!f.ctrlKey){c=prompt("Enter your desired video title",c)}if(!c){return}store.setValue(h,g.attr("field"),"[["+c+"|"+g.attr("rel")+"]]");if(config.options.chkAutoSave){story.saveTiddler(h)}},stateChange:function(g){var f,h=a(this),e=h.attr("last"),c=twyp.activePlayer.getVideoUrl(),d=c.indexOf("?v=")>0;c=c.split(d?"?v=":"#!v=")[1].split("&")[0];if(e!=c){h.attr("last",c);if(twyp.newPlayer){twyp.newPlayer=false;return}if(e){twyp.activePlayer.pauseVideo();f="http://gdata.youtube.com/feeds/api/videos/"+c+"?v=2";twyp.appendScript(f,"twypVideoInfo","twyp.getVideo")}}twyp.newPlayer=false},getVideo:function(d){var c=a("#"+twyp.activeTwyp);d.feed={entry:[d.entry]};c.data("video",d.feed);twyp.playVideo(0,"video",c.first())}};config.macros.twyp={handler:function(k,g,x,h,j,r){var y,d,i,o,z,v,l,t=story.findContainingTiddler(k),q=j.parseParams(null,null,true),u=getParam(q,"field",twyp.field),e=x.contains("notitle"),c=x.contains("slider"),n="twyp"+Math.random().toString().substr(3),m=x.contains("search");if(x.contains("player")){m=m?"<<twyp %0>>".format([j.replace("player","")]):"";t=t?t.getAttribute("tiddler"):"";v=getParam(q,"video",store.getValue(t,u));wikify(m,k);if(!v){return}o=v.indexOf("|");z=v.substr(2,o-2);i=["<html>",twyp.fmtPlayer.format([v.substr(o+1,v.length-o-3),z,getParam(q,"width",twyp.vidWidth),getParam(q,"height",twyp.vidHeight),c&!x.contains("noautoplay")?"&autoplay=1":"",n]),"</html>"].join("");if(c){d=a("<div/>");d.addClass("twypSlider");l=d[0];a(k).append(a("<a>"+twyp.lblShow.format([z])+"</a>").attr({href:"#",twyp:n,"class":"button",title:twyp.tipShow.format([z])}).click(function(w){var s=a(this),f=z,B=s.attr("twyp"),A=s.next();if(A.css("display")!="block"){s.attr({title:twyp.tipHide,video:f}).html(twyp.lblHide);A.attr("twyp",B);config.shadowTiddlers[B]=i;A.slideDown("slow")}else{f=s.attr("video");s.attr("title",twyp.tipShow.format([f])).html(twyp.lblShow.format([f]));delete config.shadowTiddlers[B];A.slideUp("slow")}})).append(d)}wikify(i,l?l:k);y=a("a",l?l:k).last();if(e){y.parent().hide().next().css("margin-top","0.5em")}else{y.click(function(f){var p=f?f:window.event;twyp.addToTiddler(p,this)})}}else{wikify(c?twyp.fmtSlider.format([n]):store.getTiddlerText(twyp.twypTemplate),k);a(".txtSearch",k).last().val(twyp.txtSearch).attr("title",twyp.lblSearch);a(".txtTag",k).last().val(twyp.txtTag).attr("title",twyp.lblTag);d=c?a("[tiddler]",k).last():a(k).closest("[tiddler]");d.attr({twyp:n,field:u,not:e})}}};story.closeTiddlerTWYP=story.closeTiddler;story.closeTiddler=function(c){a(".twypSlider",this.getTiddler(c)).each(function(e,d){delete config.shadowTiddlers[a(d).attr("twyp")]});story.closeTiddlerTWYP.apply(this,arguments)};try{a.getJSON("http://www.geoplugin.net/json.gp?jsoncallback=?",function(c){if(c){twyp.restrictTo=c.geoplugin_countryCode}})}catch(b){}window.onYouTubePlayerReady=function(c){a("object, embed",a("#"+c)).each(function(d){try{this.addEventListener("onStateChange","twyp.stateChange");twyp.activePlayer=this;a(this).attr("last",null)}catch(f){}})};config.shadowTiddlers.StyleSheetTwyp="/*{{{*/\n.twyp {font-size:12px;} \n.twyp .frmSearch{margin:10px 0 0 10px;} \n.twyp .txtSearch, .twyp .txtTag{width:100px;} \n.twyp input{border:1px solid #ddd;padding:1px 3px;cursor:pointer;} \n.twyp input:hover{border:1px solid #999;} \n.twyp .colResults {float:left;margin-top:0.5em;width:390px;padding-left:10px;} \n.twyp .vids {width:100%;} \n.twyp .vids img{margin:5px 0 5px 5px;width:100px;cursor:pointer;float:right;clear:none;} \n.twyp .vid{clear:both;font-size:0.9em;padding:5px;} \n.twyp .vid:hover{background:#ddd;} \n.twyp .desc a{display:block;padding:1px 3px;} \n.twyp .desc p{max-height:70px;overflow:hidden;margin-top:5px;display:block;max-width:380px;} \n.twyp .desc p a{display:inline;} \n.twyp .desc:hover p{width:270px;max-height:200px;overflow:auto;} \n.twyp .desc span {font-weight:bold;color:#666;} \n.twyp .resultsNav{text-align:right;margin-bottom:2em;} \n.twyp .resultsNav input, .btnSearch{margin:0.5em 0 0 0.5em;font-weight:bold;width:80px;} \n.twyp .colPlayer {float:left;width:390px;margin:0 5px;} \n.twplr .vidDescr {max-height:1.5em;overflow:hidden;} \n.twplr .vidDescr:hover {max-height:250px;overflow:auto;} \n.twyp .colPlayer img {margin:1px;cursor:pointer;width:72px;height:56px;} \n.twyp h2, .twyp h3 {margin-top: 0.6em;} \n.twyp .vidUser, .vidRel{margin:0 1em 0 0;} \n.twyp .userInfo, .twyp .relatedInfo{padding-right:20px;height:auto;overflow:hidden;font-weight:bold;color:#666;} \n.twypSlider {display:none;margin-bottom:10px;} \n.twypSlider object{display:block;} \n/*}}}*/";store.addNotification("StyleSheetTwyp",refreshStyles)})(jQuery);
//}}}
// /%
/***
!TEMPLATE
<html>
<div class="twyp">
	<form class="frmSearch" onsubmit="twyp.getResults(this,this.query.value,this.search.value); return false;">
		<select name="query">
			<option value="all" selected="true">all videos</option>
			<option value="rated">top rated</option>
			<option value="recent">most recent</option>
			<option value="popular">most popular</option>
			<option value="discuss">most discussed</option>
			<option value="respond">most responded</option>
			<option value="featured">recently featured</option>
		</select>
		<input name="search" class="txtSearch" type="text" value="" onclick="this.select();">
		<input name="category" class="txtTag" type="text" value="" onclick="this.select();">
		<input type="submit" class="btnSearch" value="Search">
		<input type="button" class="btnSearch" value="Reset" onclick="twyp.reset(this);">
	</form>
	<div class="colPlayer">
		<div class="twplr"></div>
		<div>
			<div class="vidRel"></div>
			<div class="relatedInfo">&nbsp;</div>
			<div class="vidUser"></div>
			<div class="userInfo">&nbsp;</div>
		</div>
	</div> 
	<div class="colResults">
		<div class="vids"></div>
		<form class="resultsNav">
			<input type="button" class="vidPrev" value="&laquo; back" style="display: none;" onclick="twyp.getResults(this);"></input>
			<input type="button" class="vidNext" value="next &raquo;" style="display: none;" onclick="twyp.getResults(this);"></input>
		</form>
	</div>
</div>
<div class="tagClear"></div>
</html>
!END*/
//%/
{{wrapper{<<tabs 
	txtMainTab 
	"☀" "By last created" TabContentByCreated
	"↻" "By last modified" TabContentByModified
	"℀" "Alphabetical" TabContentByAlphabet
	"Recent" "Recently edited tiddlers (inc systems stuff)" TabTimeline
	"All" "All tiddlers" TabAll
	"Public" "All public tiddlers" [[TiddlySpaceTabs##Public]]
	"Private" "All private tiddlers" [[TiddlySpaceTabs##Private]]
	"Drafts" "All draft tiddlers" [[TiddlySpaceTabs##Drafts]]
	"Tags" "All tags" TabTags
	"Spaces" "Tiddlers grouped by space" [[TiddlySpaceTabs##Spaces]]
	"Activity" "What people you are following are up to" TabFollowing##Activity
        "Following" "People you are following" TabFollowing##Following
        "Followers" "People who are following you" TabFollowing##Followers
	"Missing" "Missing tiddlers" TabMoreMissing
	"Orphans" "Orphaned tiddlers" TabMoreOrphans
	"Shadows" "Shadowed tiddlers" TabMoreShadowed
>><script> if (readOnly) place.style.display="none"; </script>}}}
{{wrapper{<<tabs 
	txtMainTab 
	"☀" "By last created" TabContentByCreated
	"↻" "By last modified" TabContentByModified
	"℀" "Alphabetical" TabContentByAlphabet
>><script> if (!readOnly) place.style.display="none"; </script>}}}
/***
|''Name:''|XCaseListPlugin|
|''Description:''|Adds a new command ''xCase'' to the core list macro|
|''Author:''|Mario Pietsch|
|''Version:''|0.3|
|''Date:''|2010.08.03|
|''Status:''|''beta''|
|''Source:''|http://apm-plugins.tiddlyspot.com/#XCaseListPlugin|
|''License''|[[MIT License]]|
|''CoreVersion:''|2.5.0|
|''Requires:''||
|''Documentation:''|this file|
|''Keywords:''|list, sort, not case sensitive, filter|

!Description
This plugin performs a alphabetical sort for tiddlers. Default it is not case sensitive. That means ab = AB = aB = Ab! And it does some little more filtering using the RegExp syntax. The RegExp Syntax can be a little bit tricky to read and configure. But the best description I have found is at [[regular-expressions.info]]

!!!Example
{{{
<<list xCase title '[m]'>>
}}}
< <list xCase title '[m]'>>

!Default Format
{{{
<<list xCase>>
}}}

!More Possibilities
<<<
!!!Reverse sort order
{{{
<<list xCase -title >>
}}}

!!!Some basic filtering
*Every tiddler title, that starts with a number from 0 to 9.
{{{
<<list xCase title '[0-9]'>>
}}}

*Every tiddler title, that starts with an ''"a"'' or ''"b"'' or ''"c"''.
{{{
<<list xCase title '[abc]'>>
}}}

*Every tiddler title, that starts with exactly ''abc''.
{{{
<<list xCase title 'abc'>>
}}}
<<<

!!!Some advanced filtering
<<<
*same as above but with a tagList for additional filtering.
*adding the tag filter will disable the "excludeLists" setting !!
**If you need excludeLists, than you have to define it with the expression.
*XCaseListPlugin should be compatible to [[MatchTagsPlugin]] from TiddlyTools!

{{{
<<list xCase title '[a]' "[tag[MyTag]]">>
}}}

!!!Global / Local Settings
|<<option chkXCaseListCaseSensitive>> Global sort case sensitive |Sets case sensitiv sort globally|
|<<option chkXCaseListCheckField>> Sortfield defines case sensitive |Ignores global setting. Evaluates sortField and sets the value everytime <br> {{{<<list xCase sortField ..>>}}} is executed.|

If sortField is eg: 'title' .. not case sensitive (default).
if sortField is eg: 'Title' or 'TITLE' .. case sesitive sort is active.

<<<

!Code
***/

/*{{{*/

if(!version.extensions.XCaseListPlugin) { //# ensure that the plugin is only installed once
version.extensions.XCaseListPlugin = { installed: true };

config.macros.list.xCase = {};
config.macros.list.xCase.handler = function(params){

	var lookupField = 'tags';
	var lookupValue = 'excludeLists';
	var lookupMatch = false;
	
	var sortField = params[1] || '+title';
	
	// global setting for case sensitive search
	var caseSensitive = config.options.chkXCaseListCaseSensitive || false;
	var chkSortField = config.options.chkXCaseListCheckField || false;

	// if this option is active the macro parameter sortField is parsed
	// global setting is ignored !!
	if (chkSortField) caseSensitive = (sortField != sortField.toLowerCase());	
	sortField = sortField.toLowerCase();

	// check if numberedText called this macro.
	// this parameter is used by <<list numberedText ..>> macro
	// if you directly use it, it will return an unsorted list !!!
	var numberedText = false;
	if (sortField.substr(0, 1)== '#') {
		numberedText = true;
		sortField = sortField.substr(1);
		caseSensitive = false;
	}

	// check for ascending or descending sort order		
	var asc = 1;
	switch (sortField.substr(0, 1)) {
		case "-":
			asc = -1;
		case "+":
			sortField = sortField.substr(1);
			break;
		default:	;
	}	
	
	var results = [];
	var tmpResults = [];
	
	// set the default for regExp filtering
	var regSnip = params[2] || '.';	
	var regExp = new RegExp('^' + regSnip, 'im');
	var match = null;

	// check if [tag[...]] is set
	var tagList = params[3] || '';		 
	var tagMatch = tagList.length != 0;		// if list is empty everything is valid.

	if (tagMatch) {
		tmpResults = store.filterTiddlers(params[3]);
		for (var i=0, max=tmpResults.length; i<max; i++){
//			match = tmpResults[i][sortField].match(regExp);
			match = tmpResults[i].title.match(regExp);
			if (match) results.push(tmpResults[i]);			
		}; // for ..
	}
	else {
		store.forEachTiddler(function(title, tiddler){
			var f = !lookupMatch;
			for (var lookup = 0; lookup < tiddler[lookupField].length; lookup++) {
				if (tiddler[lookupField][lookup] == lookupValue) {
					f = lookupMatch;
				}
			}; // for.. 
			if (f) {
//				match = tiddler[sortField].match(regExp);
				match = tiddler.title.match(regExp);
				if (match) results.push(tiddler);
			}; // if (f) ..
		}); // store.forEach ..
	}; // else ..
	
	if (TiddlyWiki.isStandardField(sortField)) {

		if (caseSensitive) {
			results.sort(function(a, b){
				return a[sortField] < b[sortField] ? -asc : a[sortField] == b[sortField] ? 0 : asc;
			}); // results.sort
		}
		else if (numberedText) {
			// do nothing, return the list, for further processing !	
		}
		else {
			results.sort(function(a, b){
				return a[sortField].toLowerCase() < b[sortField].toLowerCase() ? -asc : a[sortField].toLowerCase() == b[sortField].toLowerCase() ? 0 : asc;
			}); // results.sort
		}; // if
	}
	else {
		results.sort(function (a, b) {
			var aField = (a.fields[sortField]) ? a.fields[sortField] : 'zzz';
			var bField = (b.fields[sortField]) ? b.fields[sortField] : 'zzz';

			return aField.toLowerCase() < bField.toLowerCase() ? -asc : aField.toLowerCase() == bField.toLowerCase() ? 0 : +asc;
			});
	}
	return results;
}
} //# end of "install only once"

/*}}}*/
/***
|''Name''|HideBackstageMiniPlugin|
|''Description''|Hides the backstage by default... that's all|
|''Author''|Kosmaton|
|''Version''|0.0.1|
|''~CoreVersion''|2.5.3|
|''Type''|plugin|
!Code
***/
//{{{

config.options["chkBackstage"] = false;

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