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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

hr {height:1px;}

a {text-decoration:none;}

dt {font-weight:bold;}

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

.txtOptionInput {width:11em;}

#contentWrapper .chkOptionInput {border:0;}

.externalLink {text-decoration:underline;}

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

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

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

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

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

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

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

#sidebar {position:absolute; right:3px; width:16em; font-size:.9em;}
#sidebarOptions {padding-top:0.3em;}
#sidebarOptions a {margin:0em 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 .3em 0;}
#sidebarTabs .tabContents {width:15em; overflow:hidden;}

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

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

.tiddlerPopupButton {padding:0.2em 0.2em 0.2em 0.2em;}
.popupTiddler {position: absolute; z-index:300; padding:1em 1em 1em 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 0em;}
.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 0em 0em 0.5em;}
.tab {margin:0em 0em 0em 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 0em 14em;}

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

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

.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:0em 0.25em; padding:0em 0.25em;}
.viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;}
.viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;}

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

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

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

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

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

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

* html #backstage {width:99%;}
* html #backstageArea {width:99%;}
#backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em 0.3em 0.5em;}
#backstageToolbar {position:relative;}
#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em 0.3em 0.5em;}
#backstageButton {display:none; position:absolute; z-index:175; top:0em; right:0em;}
#backstageButton a {padding:0.1em 0.4em 0.1em 0.4em; margin:0.1em 0.1em 0.1em 0.1em;}
#backstage {position:relative; width:100%; z-index:50;}
#backstagePanel {display:none; z-index:100; position:absolute; margin:0em 3em 0em 3em; padding:1em 1em 1em 1em;}
.backstagePanelFooter {padding-top:0.2em; float:right;}
.backstagePanelFooter a {padding:0.2em 0.4em 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 use a logographic writing system and 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;}

.htmlarea .toolbarHA table {border:1px solid ButtonFace; margin:0em 0em;}
/*}}}*/
/*{{{*/
@media print {
#mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none ! important;}
#displayArea {margin: 1em 1em 0em 1em;}
/* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */
noscript {display:none;}
}
/*}}}*/
<!--{{{-->
<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 closeTiddler closeOthers +editTiddler > fields syncing permalink references jump'></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 +saveTiddler -cancelTiddler deleteTiddler'></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'></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
/***
|''Name:''|404Plugin|
|''Description:''||
|''Author:''|Saq Imtiaz ( lewcid@gmail.com )|
|''Source:''|http://tw.lewcid.org/#404Plugin|
|''Code Repository:''|http://tw.lewcid.org/svn/plugins|
|''Version:''|2.0 pre-release|
|''Date:''||
|''License:''|[[Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]]|
|''~CoreVersion:''|2.2.3|
!!Usage:
*
***/
// /%
//!BEGIN-PLUGIN-CODE
config.views.wikified.defaultText= "{{fourohfour{\nThe page '%0' doesn't exist.\n\n Try browsing or searching for what you were looking for.\n}}}";

setStylesheet(".fourohfour {text-align:center; font-family:'Lucida Grande', Verdana, Sans-Serif; font-size:1.2em; font-weight:bold; font-style:normal;}","404Styles");

//!END-PLUGIN-CODE
// %/
PageTemplate
StyleSheet
ColorPalette
<!--{{{-->
<div id="stickybod">
	<div id="header">
		<div id="newsbar" refresh="content" tiddler="NewsBar"></div>
		<div id="newsletterform" refresh="content" tiddler="NewsletterForm"></div>
		<div id="banner"  refresh="content" tiddler="Banner"></div>
		<div id="dropdownmenu" refresh="content" tiddler="MainMenu"></div>
		<div class='clear'></div>
	</div>
	
	<div id="myDisplayArea">
		<div id="mysidebar">
			<!--<div id="flouzometer" refresh="content" tiddler="Flouzometer"></div>-->
			<!--<div id="adminmenu" refresh="content" tiddler="AdminMenu"></div>-->
			<div id="sidebarOptions" refresh="content" tiddler="SideBarOptions"></div>
			<div id="sidebarTabs" refresh="content" force="true" tiddler="SideBarTabs"></div>
		</div>
		<div id="messageArea"></div>
		<div id="tiddlerDisplay"></div>
	</div>
	<div id="push"></div>
</div>

<div id="stickyfooter">
	<div id="footer" refresh="content" force="true" tiddler="Footer"></div>
</div>
<!--}}}-->
<html>
<img border="0" src="/images/bg/header_image.jpg" usemap="#header_image_map"/>
<map name="header_image_map">
  <area shape="rect" alt="Powered by Flouzo" href="http://flouzo.net/" coords="755,59,975,142" />
  <area shape="rect" alt="Home" href="/" coords="1,0,740,142" />
</map>
</html>
config.options.chkOpenInNewWindow = false;
Welcome
<html><iframe src="http://warsow.flouzo.net/external/flouzometer" width="145px" height="475px" style="border: none" scrolling="no" TARGET="_top"></iframe></html>
Design inspired by [[Studio7Designs|http://studio7designs.com]] | powered by [[TiddlyWiki|http://TiddlyWiki.com]] | theming work by [[Lewcid|http://blog.lewcid.org]]
/***
|''Name:''|GenerateRssByTagPlugin|
|''Description:''|Only tiddlers with a specific tag are inluded in the RSSFeed. If no tiddlers are selected then works as before. (see ticket #270: http://trac.tiddlywiki.org/tiddlywiki/ticket/270). <br>RssTag: <<option txtRssTag>>|
|''Version:''|1.0.2|
|''Date:''|Apr 20, 2007|
|''Source:''|http://tiddlywiki.bidix.info/#GenerateRssByTagPlugin|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''[[License]]:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0 (Beta 5)|
***/
//{{{
version.extensions.GenerateRssByTagPlugin = {
	major: 1, minor: 0, revision: 2, 
	date: new Date("Apr 20, 2007"),
	source: 'http://tiddlywiki.bidix.info/#PasswordOptionPlugin',
	author: 'BidiX (BidiX (at) bidix (dot) info',
	coreVersion: '2.2.0 (Beta 5)'
};

if (!window.bidix) window.bidix = {}; // bidix namespace

bidix.generateRssByTag = function()
{
	var s = [];
	var d = new Date();
	var u = store.getTiddlerText("SiteUrl");
	// Assemble the header
	s.push("<" + "?xml version=\"1.0\"" + " encoding='UTF-8' " + "?" + ">");
	s.push("<rss version=\"2.0\">");
	s.push("<channel>");
	s.push("<title" + ">" + wikifyPlain("SiteTitle").htmlEncode() + "</title" + ">");
	if(u)
		s.push("<link>" + u.htmlEncode() + "</link>");
	s.push("<description>" + wikifyPlain("SiteSubtitle").htmlEncode() + "</description>");
	s.push("<language>en-us</language>");
	s.push("<copyright>Copyright " + d.getFullYear() + " " + config.options.txtUserName.htmlEncode() + "</copyright>");
	s.push("<pubDate>" + d.toGMTString() + "</pubDate>");
	s.push("<lastBuildDate>" + d.toGMTString() + "</lastBuildDate>");
	s.push("<docs>http://blogs.law.harvard.edu/tech/rss</docs>");
	s.push("<generator>TiddlyWiki " + version.major + "." + version.minor + "." + version.revision + "</generator>");
	// The body
	var tiddlers;
	if (config.options.txtRssTag && store.getTaggedTiddlers(config.options.txtRssTag).length > 0)
		tiddlers = store.getTaggedTiddlers(config.options.txtRssTag,"modified");
	else
		tiddlers = store.getTiddlers("modified","[[excludeLists]]");
	var n = config.numRssItems > tiddlers.length ? 0 : tiddlers.length-config.numRssItems;
	for (var t=tiddlers.length-1; t>=n; t--)
		s.push(tiddlers[t].saveToRss(u));
	// And footer
	s.push("</channel>");
	s.push("</rss>");
	// Save it all
	return s.join("\n");
};

//
// Initializations
//
bidix.generateRss = generateRss; // backup core version
generateRss = bidix.generateRssByTag; // install new one
config.options.txtRssTag = "toRSS"; // default RssTag. use <<option txtRssTag>> to overwritte
merge(config.optionsDesc,{txtRssTag: "Only tiddlers with this tag will be included in the RSS Feed."});
//}}}
!!!css
*tables

*admin remove flouzometer
**tables
**toolbar
**sliderPanel
**messageArea
**splashscreen
**color palette

*test in IE and Firefox
*{{current{[[Welcome]]}}}
**[[News|/wiki/News]]
**[[Social contract|/wiki/Social_Contract]]
**[[FAQ|/wiki/FAQ]]
**[[Help the project|/wiki/Help_The_Project]]
**[[Press coverage|/wiki/Press_Coverage]]
*[[Donations|/donation/list]]
**[[Make a donation|/donation/new]]
**[[List of donators|/donation/list]]
*[[Wiki|/wiki/]]
**[[Sommaire|/wiki/]]
**[[Login / Register|/wiki/Special:Userlogin]]
**[[Recent changes|/wiki/Special:Recentchanges]]
**[[FAQ|/wiki/FAQ]]
**[[Help the project|/wiki/Help_The_Project]]
**[[Press coverage|/wiki/Press_Coverage]]
*[[Forum|http://http://www.warsow.net/forum/]]
*[[Contact|/page/contact]]
**[[Contact form|/page/contact]]
**[[Contact email|mailto:contact@warsow.flouzo.net]]<<suckerFish dropdownmenu>>
<!--{{{-->
  <meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" />

  <meta name="author" content="Flouzo - Loic Dachary - Xavier Antoviaque - studio7designs.com" />
  <meta name="description" content="Bringing Warsow to World-class Competition" />

  <meta name="keywords" content="warsow eswc 2008 community fund fundraising campaign flouzometer flouzometre" />

  <meta name="robots" content="index, follow" />

  <link rel="alternate" type="application/rss+xml" title="warsow - Donations" href="http://warsow.flouzo.net/donation/rss">
  <link rel="alternate" type="application/rss+xml" title="warsow - Wiki" href="http://warsow.flouzo.net/wiki/index.php?title=Special:Recentchanges&feed=rss">
<!--}}}-->
[[Flouzo|http://www.flouzo.net]] | [[FSF|http://www.fsf.org]] | [[GNU|http://www.gnu.org]] | [[GNA|http://www.gna.org]] | [[Slashdot|http://www.slashdot.org]] | [[April|http://www.april.org]] | [[FSF France|http://fsffrance.org]] | [[LinuxFR|http://www.linuxfr.org]] | [[Framasoft|http://www.framasoft.net]]
<html>
    <form class="newsletter" action="/page/newsletter_subscribe" method="post" id="newsletter-block-form">
    <ul>

      <li><a href="/wiki/index.php/RSS_Feeds"><img src="/images/feed-icon-14x14.png" />&nbsp; RSS Feeds</a></li>
      <li>&nbsp;
    	<input maxlength="128" name="email" size="15" value="your@email.org" onfocus="this.value=''" type="text"> 
    	<input value="Receive news" type="submit">
     </li>
    </ul>
    </form>
</html>
<!--{{{-->
<div id="stickybod">
	<div id="header">
		<div id="newsbar" refresh="content" tiddler="NewsBar"></div>
		<div id="newsletterform" refresh="content" tiddler="NewsletterForm"></div>
		<div id="banner"  refresh="content" tiddler="Banner"></div>
		<div id="dropdownmenu" refresh="content" tiddler="MainMenu"></div>
		<div class='clear'></div>
	</div>
	
	<div id="myDisplayArea">
		<div id="mysidebar">
			<div id="flouzometer" refresh="content" tiddler="Flouzometer"></div>
		</div>
		<div id="messageArea"></div>
		<div id="tiddlerDisplay"></div>
	</div>
	<div id="push"></div>
</div>

<div id="stickyfooter">
	<div id="footer" refresh="content" force="true" tiddler="Footer"></div>
</div>
<!--}}}-->
<!--{{{-->
<div class='title' macro='view title'></div>
<div class='viewer' macro='view text wikified'></div>
<!--}}}-->
|!Name|!ReadOnly|!Backstage|!SPM|
|Admin|false|true|false|
|Public|true|false|true|
/***
|''Name:''|PublisherPlugin|
|''Description:''||
|''Author:''|Saq Imtiaz ( lewcid@gmail.com )|
|''Source:''|http://tw.lewcid.org/#PublisherPlugin|
|''Code Repository:''|http://tw.lewcid.org/svn/plugins|
|''Version:''|2.0|
|''Date:''||
|''License:''|[[Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]]|
|''~CoreVersion:''|2.2.3|
!!Usage:
* PublisherPluginGuide

***/
//{{{
config.macros.publisher = {
	
	modes:{
	},
	
	startMode : 'Public',
	
	currentMode : '',
	
	defaults: [
		{name: "StyleSheet", notify: refreshStyles},
		{name: "PageTemplate", notify: refreshPageTemplate}
	],
	
	tiddlerTemplates : merge({},config.tiddlerTemplates),
	
	applyMode : function (newMode){
		var oldMode = this.currentMode;
		var oldStyleElement = document.getElementById(oldMode+"StyleSheet");
		if (oldStyleElement){
			oldStyleElement.parentNode.removeChild(oldStyleElement);
		}
		for (var i=0; i< this.defaults.length; i++){
			var name = this.defaults[i]["name"];
			var newElement = store.isTiddler(newMode + name) ? newMode + name : name;
			store.removeNotification(oldMode + name, this.defaults[i]["notify"]);
			store.addNotification(newElement,this.defaults[i]["notify"]);
			store.notify(newElement); 
		}
		
		this.currentMode = newMode;
		this.switchTemplates();
		this.toggleReadOnly();
		this.toggleBackstage();
		this.toggleSPM();
		refreshDisplay();
		story.publisherRefreshAllTiddlers();
	},

	switchTemplates : function(){
		for (var n in this.tiddlerTemplates){
			config.tiddlerTemplates[n] = store.detectTiddler(this.currentMode,this.tiddlerTemplates[n]);
		}
	},
	
	toggleBackstage :function(){
		if (this.modes[this.startMode]['backstage']){
			if (backstage && backstage.button){
				//if(readOnly)backstage.init();
				backstage.button.style.display = "block";
				backstage.show();
			}
		}
		else if (backstage && backstage.button){
			backstage.button.style.display = "none";
			backstage.hide();
		}
	},
	
	toggleReadOnly : function(){
		if (this.modes[this.currentMode]['readOnly']){
			config.options.chkHttpReadOnly = true;
			readOnly = true;
			//refreshDisplay();
		}
		else{
			config.options.chkHttpReadOnly =false;
			readOnly = false;
			//refreshDisplay();
		}
	},
	
	toggleSPM : function(){
		config.options.chkSinglePageMode = (this.modes[this.currentMode]['SPM'])? true : false;
		config.options.chkTopOfPageMode = (this.modes[this.currentMode]['SPM'])? true : false;
	},
	
	loadDb : function(){
		var modelines = store.getTiddlerText("PublisherGroupsConfig").split("\n");
		for (i=1; i<modelines.length; i++){
			var modeparts = modelines[i].split("|");
			this.modes[modeparts[1]] = {readOnly:eval(modeparts[2]),backstage:eval(modeparts[3]),SPM:eval(modeparts[4])};
		}
	},
	
	init: function(){
		this.loadDb();
		this.applyMode(this.startMode);
	},
	
	handler: function(place,macroName,params,wikifier,paramString,tiddler){
		if (!this.modes[this.startMode]['readOnly'] || params[0]=='force'){
			choices = [];
			if (params[1]){
				var modes = params[1].readBracketedList();
				for (var i=0;i<modes.length;i++){
					choices.push({name:modes[i],caption:modes[i]+' mode'});
				}
			}
			else{
				for (var n in this.modes){
					choices.push({name:n,caption:n+' mode'});
				}
			}
			createTiddlyDropDown(place,this.onchangeselect,choices,this.currentMode);
		}
	},

	onchangeselect : function(e){
		config.macros.publisher.applyMode(this.value);
	}
	
};

config.paramifiers.mode = {
	onconfig: function(mode) {
		config.macros.publisher.startMode = mode;	
	}
};

backstage.old_publisher_init = backstage.init;
backstage.init = function(){
	this.old_publisher_init.apply(this,arguments);
	wikify("<<publisher>>",document.getElementById("backstageToolbar"));
};

TiddlyWiki.prototype.isTiddler= function (title) {
	return store.tiddlerExists(title) || store.isShadowTiddler(title);
};

TiddlyWiki.prototype.detectTiddler= function(prefix,title)
{
	return (this.isTiddler(prefix+title)? prefix+title : title);	
}

TiddlyWiki.prototype.removeNotification = function(title,fn) {
	for (var i=0;i<this.namedNotifications.length;i++){
		if((this.namedNotifications[i].name == title) && (this.namedNotifications[i].notify == fn))
	 		this.namedNotifications.splice(i,1);
	}
};

TiddlyWiki.prototype.publisherGetTiddlerText = TiddlyWiki.prototype.getTiddlerText;
TiddlyWiki.prototype.getTiddlerText = function(title,defaultText){
    if (title == 'DefaultTiddlers' && startingUp){
        title = store.isTiddler(config.macros.publisher.startMode + title) ? config.macros.publisher.startMode + title: title;
    }
	return store.publisherGetTiddlerText(title,defaultText);
};

Story.prototype.publisherRefreshAllTiddlers = function() {
	var place = document.getElementById(this.container);
 	var e = place.firstChild;
 	if(!e) return;
 	this.refreshTiddler(e.getAttribute("tiddler"),null,true);
 	while((e = e.nextSibling) != null)
 		this.refreshTiddler(e.getAttribute("tiddler"),null,true);
};

config.shadowTiddlers.PublisherGroupsConfig = "|!Name|!ReadOnly|!Backstage|!SPM|\n|Admin|false|true|false|\n|Public|true|false|true|\n|User|false|false|true|";

config.shadowTiddlers.MainMenu += "<<publisher>>";
config.shadowTiddlers.AdminStyleSheet =		"[[StyleSheet]]";  	//config.shadowTiddlers.StyleSheet;
config.shadowTiddlers.AdminPageTemplate = 	"[[PageTemplate]]";//config.shadowTiddlers.PageTemplate;
config.shadowTiddlers.AdminViewTemplate = 	"[[ViewTemplate]]";//config.shadowTiddlers.ViewTemplate;
config.shadowTiddlers.AdminEditTemplate = 	"[[EditTemplate]]";//config.shadowTiddlers.EditTemplate;

config.shadowTiddlers.PublicViewTemplate = "<!--{{{-->\n<div class='title' macro='view title'></div>\n<div class='viewer' macro='view text wikified'></div>\n<div class='tagClear'></div>\n<!--}}}-->";
config.shadowTiddlers.PublicStyleSheet = "/*{{{*/\n[[StyleSheet]]\n\n#displayArea {margin-right:1em;}\n\n.admin {display:none;}\n\n/*}}}*/";
config.shadowTiddlers.PublicPageTemplate = store.getTiddlerText("PageTemplate").replace("\n<div id='sidebar'>\n<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>\n<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>\n</div>","");
//}}}
//!END-PLUGIN-CODE
// %/
The Publisher plugin defines different 'modes' that can be configured to have a different look and feel and editing options. The different modes are defined in the tiddler PublisherGroupsConfig.

The current modes defined are 'Admin' and 'Public'.

To customize the Public mode edit:
*PublicStyleSheet
*PublicPageTemplate
*PublicViewTemplate
*PublicEditTemplate
*PublicDefaultTiddlers

For the Admin mode:
*AdminStyleSheet
*AdminPageTemplate
*AdminViewTemplate
*AdminEditTemplate
*AdminDefaultTiddlers

If any of the above tiddlers do not exist the plugin uses the default TiddlyWiki version instead.
/***
|Name|SinglePageModePlugin|
|Source|http://www.TiddlyTools.com/#SinglePageModePlugin|
|Version|2.3.1|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <<br>>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides|Story.prototype.displayTiddler(), Story.prototype.displayTiddlers()|
|Description|Display tiddlers one at a time with automatic update of URL (permalink).  Also, options to always open tiddlers at top/bottom of page|

Normally, as you click on the links in TiddlyWiki, more and more tiddlers are displayed on the page. The order of this tiddler display depends upon when and where you have clicked. Some people like this non-linear method of reading the document, while others have reported that when many tiddlers have been opened, it can get somewhat confusing.

!!!!!Usage
<<<
SinglePageMode allows you to configure TiddlyWiki to navigate more like a traditional multipage web site with only one item displayed at a time.  When SinglePageMode is enabled, the title of the current tiddler is automatically displayed in the browser window's titlebar and the browser's location URL is updated with a 'permalink' for the current tiddler so that it is easier to create a browser 'bookmark' for the current tiddler.

Even when SinglePageMode is disabled (i.e., displaying multiple tiddlers is permitted), you can reduce the potential for confusion by enable TopOfPageMode, which forces tiddlers to always open at the top of the page instead of being displayed following the tiddler containing the link that was clicked.
<<<
!!!!!Configuration
<<<
When installed, this plugin automatically adds checkboxes in the AdvancedOptions tiddler so you can enable/disable the plugin behavior.  For convenience, these checkboxes are also included here:

<<option chkSinglePageMode>> Display one tiddler at a time
<<option chkTopOfPageMode>> Always open tiddlers at the top of the page
<<option chkBottomOfPageMode>> Always open tiddlers at the bottom of the page
//(note: if both settings are selected, "top of page" is used)//
<<<
!!!!!Installation
<<<
import (or copy/paste) the following tiddlers into your document:
''SinglePageModePlugin'' (tagged with <<tag systemConfig>>)
^^documentation and javascript for SinglePageMode handling^^

When installed, this plugin automatically adds checkboxes in the ''shadow'' AdvancedOptions tiddler so you can enable/disable this behavior.  However, if you have customized your AdvancedOptions, you will need to ''manually add these checkboxes to your customized tiddler.''
<<<
!!!!!Revision History
<<<
''2007.03.03 [2.3.1]'' fix typo when adding BPM option to AdvancedOptions (prevented checkbox from appearing)
''2007.03.03 [2.3.0]'' added support for BottomOfPageMode (BPM) based on request from DaveGarbutt
''2007.02.06 [2.2.3]'' in Story.prototype.displayTiddler(), use convertUnicodeToUTF8() for correct I18N string handling when creating URL hash string from tiddler title (based on bug report from BidiX)
''2007.01.08 [2.2.2]'' use apply() to invoke hijacked core functions
''2006.07.04 [2.2.1]'' in hijack for displayTiddlers(), suspend TPM as well as SPM so that DefaultTiddlers displays in the correct order.
''2006.06.01 [2.2.0]'' added chkTopOfPageMode (TPM) handling
''2006.02.04 [2.1.1]'' moved global variable declarations to config.* to avoid FireFox 1.5.0.1 crash bug when assigning to globals
''2005.12.27 [2.1.0]'' hijack displayTiddlers() so that SPM can be suspended during startup while displaying the DefaultTiddlers (or #hash list).  Also, corrected initialization for undefined SPM flag to "false", so default behavior is to display multiple tiddlers
''2005.12.27 [2.0.0]'' Update for TW2.0
''2005.11.24 [1.1.2]'' When the back and forward buttons are used, the page now changes to match the URL.  Based on code added by Clint Checketts
''2005.10.14 [1.1.1]'' permalink creation now calls encodeTiddlyLink() to handle tiddler titles with spaces in them
''2005.10.14 [1.1.0]'' added automatic setting of window title and location bar ('auto-permalink').  feature suggestion by David Dickens.
''2005.10.09 [1.0.1]'' combined documentation and code in a single tiddler
''2005.08.15 [1.0.0]'' Initial Release
<<<
!!!!!Credits
<<<
This feature was developed by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]].
Support for BACK/FORWARD buttons adapted from code developed by Clint Checketts
<<<
!!!!!Code
***/
//{{{
version.extensions.SinglePageMode= {major: 2, minor: 3, revision: 1, date: new Date(2007,3,3)};

if (config.options.chkSinglePageMode==undefined) config.options.chkSinglePageMode=false;
config.shadowTiddlers.AdvancedOptions += "\n<<option chkSinglePageMode>> Display one tiddler at a time";

if (config.options.chkTopOfPageMode==undefined) config.options.chkTopOfPageMode=false;
config.shadowTiddlers.AdvancedOptions += "\n<<option chkTopOfPageMode>> Always open tiddlers at the top of the page";

if (config.options.chkBottomOfPageMode==undefined) config.options.chkBottomOfPageMode=false;
config.shadowTiddlers.AdvancedOptions += "\n<<option chkBottomOfPageMode>> Always open tiddlers at the bottom of the page";

config.SPMTimer = 0;
config.lastURL = window.location.hash;
function checkLastURL()
{
	if (!config.options.chkSinglePageMode)
		{ window.clearInterval(config.SPMTimer); config.SPMTimer=0; return; }
	if (config.lastURL == window.location.hash)
		return;
	var tiddlerName = convertUTF8ToUnicode(decodeURI(window.location.hash.substr(1)));
	tiddlerName=tiddlerName.replace(/\[\[/,"").replace(/\]\]/,""); // strip any [[ ]] bracketing
	if (tiddlerName.length) story.displayTiddler(null,tiddlerName,1,null,null);
}

if (Story.prototype.SPM_coreDisplayTiddler==undefined) Story.prototype.SPM_coreDisplayTiddler=Story.prototype.displayTiddler;
Story.prototype.displayTiddler = function(srcElement,title,template,animate,slowly)
{
	if (config.options.chkSinglePageMode) {
		window.location.hash = encodeURIComponent(convertUnicodeToUTF8(String.encodeTiddlyLink(title)));
		config.lastURL = window.location.hash;
		document.title = wikifyPlain("SiteTitle") + " - " + title;
		story.closeAllTiddlers();
		if (!config.SPMTimer) config.SPMTimer=window.setInterval(function() {checkLastURL();},1000);
	}
	if (config.options.chkTopOfPageMode) { story.closeTiddler(title); srcElement=null; }
	else if (config.options.chkBottomOfPageMode) { story.closeTiddler(title); srcElement="bottom"; }
	this.SPM_coreDisplayTiddler.apply(this,arguments);
	if (config.options.chkTopOfPageMode) window.scrollTo(0,0); // make sure top of page is visible
	else if (config.options.chkBottomOfPageMode) {
		var display=document.getElementById("tiddlerDisplay"); // for TW2.1-
		if (!display) var display=document.getElementById("storyDisplay"); // for TW2.2+
		window.scrollTo(0,ensureVisible(display.lastChild)); // make sure last tiddler is visible
	}
}

if (Story.prototype.SPM_coreDisplayTiddlers==undefined) Story.prototype.SPM_coreDisplayTiddlers=Story.prototype.displayTiddlers;
Story.prototype.displayTiddlers = function(srcElement,titles,template,unused1,unused2,animate,slowly)
{
	// suspend single-page mode (and/or top/bottom display options) when showing multiple tiddlers
	var saveSPM=config.options.chkSinglePageMode; config.options.chkSinglePageMode=false;
	var saveTPM=config.options.chkTopOfPageMode; config.options.chkTopOfPageMode=false;
	var saveBPM=config.options.chkBottomOfPageMode; config.options.chkBottomOfPageMode=false;
	this.SPM_coreDisplayTiddlers.apply(this,arguments);
	config.options.chkBottomOfPageMode=saveBPM;
	config.options.chkTopOfPageMode=saveTPM;
	config.options.chkSinglePageMode=saveSPM;
}
//}}}

Warsow@ESWC2K8 Campaign
config.macros.suckerFish={
	handler : function(place,macroName,params,wikifier,paramString,tiddler){
		var sfEls = document.getElementById(params[0]).getElementsByTagName("LI");
		for (var i=0; i<sfEls.length; i++) {
			sfEls[i].onmouseover=function() {
				addClass(this,"sfhover");
			}
			sfEls[i].onmouseout=function() {
				removeClass(this,"sfhover");
			}
		}
	}	
};
/*{{{*/
html, * {
	margin:0pt;
	padding:0pt;
}

html, body, #contentWrapper {
	height: 100%;
}

body{
	background:transparent url(/images/bg/light_body_blue.gif) repeat-y scroll center top;
	color:#555555;
	font-family:verdana,arial,sans-serif;
	font-size:0.7em;
	font-weight:400;
	line-height:170%;
}

body #contentWrapper {
	display:block;
}

#contentWrapper {
	width: 976px;
	margin:0 auto;
	background:#fff;
}

#header {
	background:#3D6174 url(/images/bg/header.gif) repeat-x scroll left top;
	display:inline-block;
}

#stickybod{
	min-height: 100%;
	height: auto !important;
	height: 100%;
	margin: 0 auto -67px; 
	background:#fff;
}

#myDisplayArea {
	background:#fff;
	clear:both;
	padding:15px;
	display:inline-block;
	font-size:1.1em;
}

#push {
	clear:both;
}

#stickyfooter, #push {
	height: 55px;
}

#stickyfooter {
	background:#3D6174;
	padding-top:12px;
	clear:both;
}

#footer{
	background:#49525B url(/images/bg/header.gif) repeat-x scroll left bottom;
	height:55px;
	margin:0  auto 0;
	line-height:55px;
	text-align:center;
	font-weight: bold;
	color:#ccc;
}

#tiddlerDisplay{
	display:inline-block;
	padding-bottom:15px;
}

#tiddlerDisplay{
	display:block;
	overflow:hidden;
	text-align:justify;
	padding-right:35px;
	padding-left:10px;
}

#mysidebar {
	position:relative;
	float:right;
	width:24%;
	/*padding-bottom:1.5em;*/
	background-color:#EAF2F5;
}

#newsbar{
	border: 1px 1px 1px 1px;
	border-color: #6f6f6f;
	text-align:center;
}

#newsletterform{
	float:right;
	margin:1em 1em 0.5em 0;
}

#newsletterform ul li{
	display:inline;
}

#newsletterform li a{
	float: left;
	padding: 0 1em;
	font: 400 1.1em arial, sans-serif;
	letter-spacing: 0.1em;
	line-height: 1.6em !important;
	color: #cccccc;
	border-right: 1px solid #4D5760;
}

#newsletterform li a:hover {
	color: #3B5D77;
}

#banner{
	border-top:2px solid #48525B;
	height:143px;
	clear:both;
}

#dropdownmenu{
	background-color:#3C6174;
	border-bottom:2px black;
	display:block;
	padding-top:2.4em;
	position:relative;
}

#flouzometer{
	text-align:center;
	padding-top:1em;
	padding-bottom:1em;
}

.clear {
	clear:both;
}
/******************
**End base layout**
******************/



/*sidebar contents*/
#sidebarOptions, #sidebarTabs, #adminmenu, #contextmenu{
	padding:5px 10px;
}

#sidebarTabs {
	display:inline-block;
	padding-top:0;
}

#sidebarTabs .tab{
	font-size:0.90em;
	padding:4px;
}

#sidebarTabs .tabContents {
	width:auto;
}

#sidebarOptions .button{
	border:1px solid #E7F1F3;
	color:#3B5D77;
}

#sidebarOptions .button:hover{
	border:1px solid #3B5D77;
	background:#3B5D77;
	color:#fff;
}

#sidebarOptions .txtOptionInput{
	width: 15em;
	border:1px solid #3B5D77;
}

#sidebarOptions .sliderPanel{
	background:#E7F1F3;
}


/*Son of SuckerFish*/
#dropdownmenu ul{
	display:block;
}

#dropdownmenu ul li{
	position:relative;
	list-style-image:none;
	list-style-position:outside;
	list-style-type:none;
	padding:0pt;
	margin:0 4px;
	display:block;
}

#dropdownmenu ul li a {
	background:transparent url(/images/menu/menu_off.png) no-repeat scroll 0%;
	color:#FFFFFF;
	font-family:arial,sans-serif;
	font-size:1.2em;
	font-weight:bold;
	height:27px;
	letter-spacing:0.1em;
	line-height:normal;
	text-decoration:none;
	padding-bottom:0px;
	padding-top:5px;
	width:112px;
	text-align:center;
}

#dropdownmenu ul li .current a {
	background:transparent url(/images/menu/menu_on.png);
	color:#000000;
}

#dropdownmenu ul li a:hover, #menu ul li a.here {
	background:transparent url(/images/menu/menu_over.png);
}

#dropdownmenu ul li .current a:hover {
	background:transparent url(/images/menu/menu_on.png);
}

#dropdownmenu a {
	display: block;
	width: 10em;
}

#dropdownmenu li {
	float: left;
	width: 10em;
}


#dropdownmenu li ul {
	position: absolute;
	width: 10em;
	left: -999em;
}

#dropdownmenu li:hover ul, #dropdownmenu li.sfhover ul {
	left: auto;
}

#dropdownmenu li:hover ul li, #dropdownmenu li.sfhover ul li{
	margin:0;
}

#dropdownmenu li:hover ul a, #dropdownmenu li.sfhover ul a{
	background:#000;
	width:10em;
	text-align:left;
	font-size:1em;
	height:auto;
	letter-spacing:0em;
	padding:5px;
}

#dropdownmenu li:hover ul a:hover, #dropdownmenu li.sfhover ul a:hover{
	background:#004A8F;
	background:#003464;
}

/*form elements*/
input, textarea, select {
	background:#EEEEEE none repeat scroll 0%;
	border:1px solid #CCCCCC;
	color:#999999;
	font-family:verdana,sans-serif;
	font-size:1em;
	font-weight:400;
	line-height:normal;
	padding:1px;
}

input:focus, input:hover, textarea:focus, textarea:hover, select:focus, select:hover {
	background:#E7F1F3 none repeat scroll 0%;
	border:1px solid #888888;
	color:#000000;
}


/* Headers */
h1, h2, h3, h4, h5, h6 {
	margin: 0 0 10px 0;
	padding: 0;
}

h1 {
	padding-bottom: 0.2em;
	font: 400 1.6em arial, sans-serif;
	color: #536C71;
	border-bottom: 12px solid #ddd;
}

h2 {
	font-size: 1.2em;
	color: #586B7A;
}

h3 {
	text-transform: uppercase;
	font-size: 0.9em;
	color: #5D6F73;
}

h4 {
	font-size: 0.85em;
}

h5 {
	font-size: 0.8em;
}


/* Links */
a, .tiddlyLink {
	text-decoration: none;
}

a, .tiddlyLink, .externalLink{
	color:#3B5D77;
}

.viewer a, .viewer .tiddlyLink, .viewer .externalLink{
	color:#04b;
}

a:hover, a:active, .tiddlyLink:hover, .externalLink:hover {
	color: #DC143C;
	background:transparent;
}

a img {
	border: 0;
}

.tab:hover{
	background:#3B5D77;
	color:#fff;
}

#newsbar a{
	color: #cccccc;
	padding: 0 0.35em;
}

#newsbar a:hover, #footer a:hover{
	color:#fff;
}

#newsbar .externalLink, #footer .externalLink{
	text-decoration:none;
}

#footer a {
	padding: 0;
	color:#fff;
}

#footer a:hover {
	color: #6C0;
}


/* Lists */
.viewer ul li {
	list-style-image: url(/images/bg/submenu1.gif);
}

ol li {
	font-weight: bold;
	color: #668FA3;
}

ol li span {
	font-weight: normal;
	color: #444;
}

/* Blockquote */
blockquote {
	margin: 10px 0 10px 0;
	padding: 0 20px;
	background: #E7F1F3;
	border-top: 1px solid #AAD3DB;
	border-bottom: 1px solid #AAD3DB;
}

#contentWrapper #tiddlerDisplay .tiddler{
	padding-top:0.5em;
	padding-bottom:1.5em;
}

/*tiddler title*/
.title{
	color:#3B5D77;
}

.editor input, .editor textarea {
	width:99%;
}

#contentWrapper .viewer pre {
	width:98%;
}

/*tables*/
.viewer table, table.twtable {
	border:2px solid #3b5d77;
}
.viewer th, .viewer thead td, .twtable th, .twtable thead td {
	background:#3b5d77;
	border:1px solid #3b5d77;
	color:#fff;
}
.viewer td, .viewer tr, .twtable td, .twtable tr {
	border:1px solid #3b5d77;
}

#sidebarOptions .sliderPanel a:hover {
                background:#3B5D77;
                color:#FFFFFF;
}

#sidebarOptions .sliderPanel a {
                color:#3B5D77;
}
/*}}}*/
Aenean eros arcu, condimentum nec, dapibus ut, tincidunt sit amet, urna. Quisque viverra, eros sed imperdiet iaculis, est risus facilisis quam, id malesuada arcu nulla luctus urna. Nullam et est. Vestibulum velit sem, faucibus cursus, dapibus vestibulum, pellentesque et, urna. Donec luctus. Donec lectus. Aliquam eget eros facilisis tortor feugiat sollicitudin. Integer lobortis vulputate sapien. Sed iaculis erat ac nunc. Etiam eu enim. Mauris ipsum urna, rhoncus at, bibendum sit amet, euismod eget, dolor. Mauris fermentum quam vitae ligula. Vestibulum in libero feugiat justo dictum consectetuer. Vestibulum euismod purus eget elit. Nunc sed massa porta elit bibendum posuere. Nunc pulvinar justo sit amet odio. In sed est. Phasellus ornare elementum nulla. Nulla ipsum neque, cursus a, viverra a, imperdiet at, enim. Quisque facilisis, diam sed accumsan suscipit, odio arcu hendrerit dolor, quis aliquet massa nulla nec sem.
!heading 1
!!heading 2
!!!heading3
----
<<tag button>>
This is a link to a [[StyleSheet]] tiddler.

> This is a blockquote
> This is a blockquote
> This is a blockquote
|>|>| !This is a header |h
|column1|column2|column3|
|row2| row2 |row2|
|column1|column2|column3|
|row2| row2 |row2|
|column1|column2|column3|
|row2| row2 |row2|

[[TiddlyWiki|http://tiddlywiki.com]]

*wefew
*efwf
*regr

#regre
#wegw
/***
|''Name:''|TiddlerSubtitleTweak|
|''Description:''||
|''Author:''|Saq Imtiaz ( lewcid@gmail.com )|
|''Source:''|http://tw.lewcid.org/#TiddlerSubtitleTweak|
|''Code Repository:''|http://tw.lewcid.org/svn/plugins|
|''Version:''|2.0 beta|
|''Date:''||
|''License:''|[[Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]]|
|''~CoreVersion:''|2.2.3|
!!Usage:
*
***/
// /%
//!BEGIN-PLUGIN-CODE
//{{{
window.old_website_getTiddlyLinkInfo = window.getTiddlyLinkInfo;
window.getTiddlyLinkInfo = function(title,currClasses)
{
	var x = window.old_website_getTiddlyLinkInfo.apply(this,arguments);
	x.subTitle = title;
	return x;
}
//}}}
//!END-PLUGIN-CODE
// %/
/***
|''Name:''|WebDAVSavingPlugin|
|''Description:''|Saves on a WebDAV server without the need of any ServerSide script.<br>When TiddlyWiki is accessed over http, this plugin permits to save back to the server, using http PUT.|
|''Version:''|0.2.1|
|''Date:''|Apr 21, 2007|
|''Source:''|http://tiddlywiki.bidix.info/#WebDAVSavingPlugin|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0 (Beta 5)|
***/
//{{{
version.extensions.WebDAVSavingPlugin = {
	major: 0, minor: 2, revision: 1, 
	date: new Date("Apr 21, 2007"),
	source: 'http://tiddlywiki.bidix.info/#WebDAVSavingPlugin',
	author: 'BidiX (BidiX (at) bidix (dot) info',
	license: '[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D]]',
	coreVersion: '2.2.0 (Beta 5)'
};

if (!window.bidix) window.bidix = {};
bidix.WebDAVSaving = {
	orig_saveChanges: saveChanges,
	defaultFilename: 'index.html',
	messages: {
		loadOriginalHttpDavError: "Original file can't be loaded",
		optionsMethodError: "The OPTIONS method can't be used on this ressource : %0",
		webDavNotEnabled: "WebDAV is not enabled on this ressource : %0",
		notHTTPUrlError: "WebDAV saving can be used for http viewed TiddlyWiki only",
		aboutToSaveOnHttpDav: 'About to save on %0 ...'		,
		folderCreated: "Remote folder '%0' created"
	}
};

// Save this tiddlywiki with the pending changes
saveChanges = function(onlyIfDirty,tiddlers)
{
	var originalPath = document.location.toString();
	if (originalPath.substr(0,5) == "file:")
		return bidix.WebDAVSaving.orig_saveChanges(onlyIfDirty,tiddlers);
	else
		return bidix.WebDAVSaving.saveChanges(onlyIfDirty,tiddlers);
}

bidix.WebDAVSaving.saveChanges = function(onlyIfDirty,tiddlers)
{
	var callback = function(status,params,original,url,xhr) {
			url = (url.indexOf("nocache=") < 0 ? url : url.substring(0,url.indexOf("nocache=")-1));
		if (!status)
			displayMessage(bidix.WebDAVSaving.messages.optionsMethodError.format([url]));
		else {
			if (!xhr.getResponseHeader("DAV"))
				alert(bidix.WebDAVSaving.messages.webDavNotEnabled.format([url]));
			else
				bidix.WebDAVSaving.doSaveChanges();
		}
	}	
	if(onlyIfDirty && !store.isDirty())
		return;
	clearMessage();
	var originalPath = document.location.toString();
	// Check we were loaded from a HTTP or HTTPS URL
	if(originalPath.substr(0,4) != "http") {
		alert(bidix.WebDAVSaving.messages.notHTTPUrlError);
		return;
	}	
	// is the server WebDAV enabled ?
	var r = doHttp("OPTIONS",originalPath,null,null,null,null,callback,null,null);
	if (typeof r == "string")
		alert(r);
}
	
bidix.WebDAVSaving.doSaveChanges = function()
{
	var callback = function(status,params,original,url,xhr) {
		if (!status) {
			alert(config.messages.loadOriginalHttpDavError);
			return;
		}
		url = (url.indexOf("nocache=") < 0 ? url : url.substring(0,url.indexOf("nocache=")-1));
		// Locate the storeArea div's 
		var posDiv = locateStoreArea(original);
		if((posDiv[0] == -1) || (posDiv[1] == -1)) {
			alert(config.messages.invalidFileError.format([localPath]));
			return;
		}
		bidix.WebDAVSaving.mkbackupfolder(null,null,params,original,posDiv);
	};
	// get original
	var originalPath = document.location.toString();
	if (originalPath.charAt(originalPath.length-1) == "/")
		originalPath = originalPath + bidix.WebDAVSaving.defaultFilename;
	displayMessage(bidix.WebDAVSaving.messages.aboutToSaveOnHttpDav.format([originalPath]));
	doHttp("GET",originalPath,null,null,null,null,callback,originalPath,null);
};

bidix.WebDAVSaving.mkbackupfolder = function(root,dirs,url,original,posDiv) {
	if (!root || !dirs) {
		root = bidix.dirname(url);
		if (config.options.txtBackupFolder == "")
			dirs = null;
		else
			dirs = config.options.txtBackupFolder.split('/');
	}
	if (config.options.chkSaveBackups && dirs && (dirs.length > 0)) 
		bidix.WebDAVSaving.mkdir(root,dirs.shift(),dirs,url,original,posDiv);
	else
		bidix.WebDAVSaving.saveBackup(url,original,posDiv);
};

bidix.WebDAVSaving.saveBackup = function(url,original,posDiv)
{
	var callback = function(status,params,responseText,url,xhr) {
		if (!status) {
			alert(config.messages.backupFailed);
			return;
		}
		url = (url.indexOf("nocache=") < 0 ? url : url.substring(0,url.indexOf("nocache=")-1));
		displayMessage(config.messages.backupSaved,url);
		bidix.WebDAVSaving.saveRss(params[0],params[1],params[2]);
	};
	if(config.options.chkSaveBackups) {
		var backupPath = getBackupPath(url);
		bidix.httpPut(backupPath,original,callback,Array(url,original,posDiv));
	} else {
		bidix.WebDAVSaving.saveRss(url,original,posDiv);
	}
}

bidix.WebDAVSaving.saveRss = function(url,original,posDiv) 
{
	var callback = function(status,params,responseText,url,xhr) {
		if (!status) {
			alert(config.messages.rssFailed);
			return;
		}
		url = (url.indexOf("nocache=") < 0 ? url : url.substring(0,url.indexOf("nocache=")-1));
		displayMessage(config.messages.rssSaved,url);
		bidix.WebDAVSaving.saveEmpty(params[0],params[1],params[2]);
	};
	if(config.options.chkGenerateAnRssFeed) {
		var rssPath = url.substr(0,url.lastIndexOf(".")) + ".xml";
		bidix.httpPut(rssPath,convertUnicodeToUTF8(generateRss()),callback,Array(url,original,posDiv));
	} else {
		bidix.WebDAVSaving.saveEmpty(url,original,posDiv);
	}
}

bidix.WebDAVSaving.saveEmpty = function(url,original,posDiv) 
{
	var callback = function(status,params,responseText,url,xhr) {
		if (!status) {
			alert(config.messages.emptyFailed);
			return;
		}
		url = (url.indexOf("nocache=") < 0 ? url : url.substring(0,url.indexOf("nocache=")-1));
		displayMessage(config.messages.emptySaved,url);
		bidix.WebDAVSaving.saveMain(params[0],params[1],params[2]);
	};
	if(config.options.chkSaveEmptyTemplate) {
		var emptyPath,p;
		if((p = url.lastIndexOf("/")) != -1)
			emptyPath = url.substr(0,p) + "/empty.html";
		else
			emptyPath = url + ".empty.html";
		var empty = original.substr(0,posDiv[0] + startSaveArea.length) + original.substr(posDiv[1]);
		bidix.httpPut(emptyPath,empty,callback,Array(url,original,posDiv));
	} else {
		bidix.WebDAVSaving.saveMain(url,original,posDiv);
	}
}

bidix.WebDAVSaving.saveMain = function(url,original,posDiv) 
{
	var callback = function(status,params,responseText,url,xhr) {
		if(status) {
			url = (url.indexOf("nocache=") < 0 ? url : url.substring(0,url.indexOf("nocache=")-1));
			displayMessage(config.messages.mainSaved,url);
			store.setDirty(false);
		} else 
			alert(config.messages.mainFailed);
	};	
	// Save new file
	var revised = updateOriginal(original,posDiv);
	bidix.httpPut(url,revised,callback,null);
}

// asynchronous mkdir
bidix.WebDAVSaving.mkdir = function(root,dir,dirs,url,original,posDiv) {
	var callback = function(status,params,responseText,url,xhr) {
		url = (url.indexOf("nocache=") < 0 ? url : url.substring(0,url.indexOf("nocache=")-1));
		if (status == null) {
			alert("Error in mkdir");
			return;
		}
		if (xhr.status == httpStatus.ContentCreated) {
			displayMessage(bidix.WebDAVSaving.messages.folderCreated.format([url]),url);
			bidix.WebDAVSaving.mkbackupfolder(url,params[1],params[2],params[3],params[4]);
		} else {
			if (xhr.status == httpStatus.NotFound)
				bidix.http('MKCOL',url,null,callback,params);
			else
				bidix.WebDAVSaving.mkbackupfolder(url,params[1],params[2],params[3],params[4]);
		}
	};
	if (root.charAt(root.length) != '/')
		root = root +'/';
	bidix.http('HEAD',root+dir,null,callback,Array(root,dirs,url,original,posDiv));
}

bidix.httpPut = function(url,data,callback,params)
{
	return bidix.http("PUT",url,data,callback,params);
}

bidix.http = function(type,url,data,callback,params)
{
	var r = doHttp(type,url,data,null,null,null,callback,params,null);
	if (typeof r == "string")
		alert(r);
	return r;
}

bidix.dirname = function (filePath) {
	if (!filePath) 
		return;
	var lastpos;
	if ((lastpos = filePath.lastIndexOf("/")) != -1) {
		return filePath.substring(0, lastpos);
	} else {
		return filePath.substring(0, filePath.lastIndexOf("\\"));
	}
};
//}}}
!!About warsow

Warsow (http://www.warsow.net) is a free Fast Paced Shooter, totally esport oriented, based on the GPL sources of Quake 2 engine, running on Windows and Linux (Mac version is on its way). The game features a system of acceleration and tricks jumps which bring a major touch of fun and challenge. Our gameplay is a strong and well balanced chemistry of aim + move + prediction. Since 2005, the game got a relevant success in the esport scene, being supported by more and more gamers dedicated to competition and esport, including some of the best players around the world.

But Warsow isn't only a good concept. Many gamers coming from all FPS joined the game because we're also bringing a good touch of seriousness and maturity, reflected by our motto / acronym : ''W''arsow is ''A''rt of ''R''espect and ''S''portmanship ''O''ver the ''W''eb

!!The inside story

I lately went to Paris and met ESWC staff. The meeting was great and of course, the purpose was to talk about Warsow. They're really interested in introducing the game for ESWC 2008. But there's a ticket entry cuz ESWC's policy is quite simple, and fairly. They take in hands all financing of the event, but usually, Game companies have to bring the prize money, the amount of 1vs1 games being around 40-50.000 $.

!!The challenge

Our plan is to make a special version of the game, which will could named Warsow World Cup Edition, or Warsow Art of Duel Edition, we dunno yet. Anyway, this will be a small, but clean, well-shaped and sharp version, focusing exclusively on duel, including licensed media and a dynamic IDG (in da game) billboards system too.

We can see in this entry ticket some kind of test, a test of our seriousness, reliability and ability to face a such big opportunity. Thing is that ESWC needs to fix the line up for early october. So we better have to be quick. We already started the search for funds and investors, but big companies aren't usually very reactive, they often need lot of time to take any financial decision.

That's why, besides this, we decided to launch a big community-driven donation campaign.

!!The master plan

In order to process slowly, we start by collecting only pledges (promises of donation), and we're gonna wait for first relevant results before allowing real donations.

I've to be totally clear. Money collected will not be used for personal enrichment of team members, nor ESWC guys. The whole money will be used to retribute Warsow's world champions. That's a big difference and that's a key of the master plan. Sure the dev team deserves to get retributed for his skills, time and energy huge sacrifice, but we'll find other ways for it.

Let's do some basic math : 50.000 $ = 35.000 euros. And 35.000 euros =1.000*35 euros or 10.000*3,5 euros, etc.

This mean that with the help of as many warsowians and open source supporters as possible, we could reach our goal. Warsow@ESWC2K8 could be a totally awesome, prolly the best one, achievement, for all of us, both for devers and gamers who are supporting warsow for a such long time. Of course, it's my personal opinion, but I think this simply could be a big new brick in esport's history, a huge new victory for the DIY spirit and By Gamers - For Gamers philosophy. And this could be a very nice victory for the open source scene of course =)

!!Few stats and facts

A daily average of 300+ users on our main IRC channel #warsow on Quakenet, 10.000+ visitors and 150.000 hits by day on warsow.net during the summer, 10.000+ daily launchings of the game, 11.000+ registered users in our forum, 1.500.000+ results in google for Warsow. We got a strong scene all over Europe, a young but promising scene in NA, in Japan, etc. Warsow already had several successfull leagues and cups on major sites like Clanbase or ESL, and many successfull community cups and sites too.*

!!Last words

Since 2005, users and gamers are making the success of the game. That's how it works in this new century, users and people have the power in hands. I'm very confident about this community-driven donation campaign.My biggest thanks in advance for your input, both for your financial support and by making some good buzz in spreading the word.

Fabrice Demurger / Solomonk - Warsow founder