Background: #fff
Foreground: #000
PrimaryPale: #8cf
PrimaryLight: #18f
PrimaryMid: #04b
PrimaryDark: #014
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser excludeLists'></span></div>
<!--}}}-->
To get started with this blank [[TiddlyWiki]], you'll need to modify the following tiddlers:
* [[SiteTitle]] & [[SiteSubtitle]]: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* [[MainMenu]]: The menu (usually on the left)
* [[DefaultTiddlers]]: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened
You'll also need to enter your username for signing your edits: <<option txtUserName>>
<<importTiddlers>>
<!--{{{-->
<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml' />
<!--}}}-->
These [[InterfaceOptions]] for customising [[TiddlyWiki]] are saved in your browser

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

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

----
Also see [[AdvancedOptions]]
<!--{{{-->
<div class='header' role='banner' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='mainMenu' role='navigation' refresh='content' tiddler='MainMenu'></div>
<div id='sidebar'>
<div id='sidebarOptions' role='navigation' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' role='complementary' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea' role='main'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
/*{{{*/
body {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

hr {height:1px;}

a {text-decoration:none;}

dt {font-weight:bold;}

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

.txtOptionInput {width:11em;}

#contentWrapper .chkOptionInput {border:0;}

.externalLink {text-decoration:underline;}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
/*}}}*/
/***
StyleSheet for use when a translation requires any css style changes.
This StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which need larger font sizes.
***/
/*{{{*/
body {font-size:0.8em;}
#sidebarOptions {font-size:1.05em;}
#sidebarOptions a {font-style:normal;}
#sidebarOptions .sliderPanel {font-size:0.95em;}
.subtitle {font-size:0.8em;}
.viewer table.listView {font-size:0.95em;}
/*}}}*/
/*{{{*/
@media print {
#mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none !important;}
#displayArea {margin: 1em 1em 0em;}
noscript {display:none;} /* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */
}
/*}}}*/
<!--{{{-->
<div class='toolbar' role='navigation' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
/***
|''Name:''|CloseUnsavedOnCancel|
|''Version:''|2.0.8 (16-Apr-2006)|
|''Author:''|SimonBaird|
|''Adapted By:''|[[Jack]]|
|''Type:''|Plugin|
!Description
When you click new tiddler then click cancel I think the new tiddler should close automatically. This plugin implements that behaviour.

!Revision History
* 1.0.1 (11-Oct-2005) by SimonBaird
* 2.0.8 Made 2.0.x compatible by Jack on 16-Apr-2006

!Code
***/
//{{{

config.commands.cancelTiddler.handler = function(event,src,title) {
 if(story.hasChanges(title) && !readOnly)
 if(!confirm(this.warning.format([title])))
 return false;
 story.setDirty(title,false);
 if (!store.tiddlerExists(title) || store.fetchTiddler(title).modifier==config.views.wikified.defaultModifier) {
 story.closeTiddler(title,false);
 store.removeTiddler(title)
 } else {
 story.displayTiddler(null,title);
 }
 return false;
}

//}}}
PageTemplate | ViewTemplate | EditTemplate |

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

''StyleSheet:'' StyleSheetColors - StyleSheetLayout - StyleSheetPrint
SiteUrl

[[Configuration.SideBarTabs]]
[[DefaultTiddlers]]
SideBarTabs
|[[Timeline|TabTimeline]]|[[Все|TabAll]]|[[Tags|TabTags]]|>|>|[[More|TabMore]] |
|>|>||[[Missing|TabMoreMissing]]|[[Orphans|TabMoreOrphans]]|[[Shadowed|TabMoreShadowed]]|
[[Uptime quests & encounters]]
[[Квесты: подготовка к зиме]]
/***
|''Name:''|DeliciousTaggingPlugin|
|''Version:''|0.1|
|''Source''|http://jackparke.googlepages.com/jtw.html#DeliciousTaggingPlugin ([[del.icio.us|http://del.icio.us/post?url=http://jackparke.googlepages.com/jtw.html%DeliciousTaggingPlugin]])|
|''Author:''|[[Jack]]|
!Description
Allows easy 'del.icio.us'-like tagging in the EditTemplate by showing all tags as a list of link-buttons.
!Usage
Replace your the editorFooter div in your [[EditTemplate]] with the following:
{{{
<div class='editorFooter' macro='deliciousTagging'></div>
}}}
Старый код: 
{{{
<div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser'></span></div>
}}}
!Code
***/
//{{{
version.extensions.deliciousTagging = {major: 0, minor: 1, revision: 0, date: new Date("June 11, 2007")};

config.macros.deliciousTagging= {};

config.macros.deliciousTagging.onTagClick = function(e)
{
 if (!e) var e = window.event;
 var tag = this.getAttribute("tag");
 var title = this.getAttribute("tiddler");
 if (!readOnly)
  story.setTiddlerTag(title, tag, 0);
 return false;
};

config.macros.deliciousTagging.handler = function(place,macroName,params,wikifier,paramString,tiddler)
{
 if (tiddler instanceof Tiddler) {
  var title = tiddler.title;
  if (!e) var e = window.event;
  var tags = store.getTags();
  var lingo = config.views.editor.tagChooser;
  for(var t=0; t < tags.length; t++) {
   var theTag = createTiddlyButton( place, tags[t][0], lingo.tagTooltip.format([tags[t][0]]), config.macros.deliciousTagging.onTagClick);
   theTag.setAttribute("tag", tags[t][0]);
   theTag.setAttribute("tiddler", tiddler.title);
   place.appendChild(document.createTextNode(" "));
  }
 }
};
//}}}
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]] wikibar richText'></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' macro='deliciousTagging'></div>
<!--}}}-->
/***
|Name|FramedLinksPlugin|
|Source|http://www.TiddlyTools.com/#FramedLinksPlugin|
|Version|1.1.1|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|clicking an external link opens an IFRAME following the link instead of opening a new tab/window|
This plugin causes clicks on external links to be rendered as inline frames (~IFRAMEs) instead of opening new browser tabs/windows.
!!!!!Usage
<<<
Use standard TiddlyWiki external link syntax into your tiddler content. If {{{chkFramedLinks}}} is enabled or the tiddler is tagged with 'framedLinks' (see Configuration), then whenever you click the external link an IFRAME will be dynamically added to the content.  Clicking on the link again removes the IFRAME.  Hold down any modifier (shift, control, or alt) while clicking a link ''temporarily'' bypasses the IFRAME handling and use the standard link handling behavior.
<<<
!!!!!Configuration
<<<
<<option chkFramedLinks>> display inline frames for all external links
&nbsp; &nbsp; {{{<<option chkFramedLinks>>}}}
<<option chkFramedLinksTag>> display inline frames for external links in tiddlers tagged with: <<option txtFramedLinksTag>> 
&nbsp; &nbsp; {{{<<option chkFramedLinksTag>> <<option txtFramedLinksTag>>}}}
IFRAME size (CSS units: %, em, px, cm, in) - width: <<option txtFrameWidth>> height: <<option txtFrameHeight>>
&nbsp; &nbsp; {{{<<option txtFrameWidth>> <<option txtFrameHeight>>}}}
<<<
!!!!!Examples
<<<
Try these links:
*http://www.TiddlyWiki.com
*http://www.TiddlyTools.com
*http://groups.google.com/group/TiddlyWiki/topics
<<<
!!!!!Revisions
<<<
2008.11.14 [1.1.1] fixed handling for external links embedded in //shadow// tiddlers
2008.09.13 [1.1.0] added support to selectively enable embedded IFRAMEs if the containing tiddler is tagged with 'framedLinks'
2007.11.29 [1.0.5] added slider animation and improved CSS handling for IFRAME height/width to maximize display area
2007.11.29 [1.0.0] initial release
<<<
!!!!!Code
***/
//{{{
version.extensions.FramedLinksPlugin= {major: 1, minor: 1, revision: 1, date: new Date(2008,11,14)};

var co=config.options; // abbreviation
if (co.chkFramedLinks==undefined) co.chkFramedLinks=false;
if (co.chkFramedLinksTag==undefined) co.chkFramedLinksTag=true;
if (co.txtFramedLinksTag==undefined) co.txtFramedLinksTag="framedLinks";
if (co.txtFrameWidth==undefined) co.txtFrameWidth="100%";
if (co.txtFrameHeight==undefined) co.txtFrameHeight="80%";

window.framedLinks_createExternalLink=createExternalLink;
window.createExternalLink=function(place,url)
{
	var link=this.framedLinks_createExternalLink.apply(this,arguments);
	link.onclick=function(ev) { var e=ev?ev:window.event;
		var co=config.options; // abbreviation
		var here=story.findContainingTiddler(this);
		if (here) var tid=store.getTiddler(here.getAttribute("tiddler"));
		var enabled=co.chkFramedLinks || co.chkFramedLinksTag && tid && tid.isTagged(co.txtFramedLinksTag);
		if (!enabled || e.ctrlKey || e.shiftKey || e.altKey) return; // BYPASS
		var p=this.parentNode; 
		var f=this.nextSibling?this.nextSibling.firstChild:null; // get the IFRAME... maybe...
		var w=co.txtFrameWidth; if (!w || !w.length) w="100%";
		var h=co.txtFrameHeight; if (!h || !h.length) h="80%";
		if (h.indexOf("%")) h=(findWindowHeight()*h.replace(/%/,"")/100)+"px"; // calc height as % of window
		var showing=f && f.nodeName.toUpperCase()=="IFRAME"; // does IFRAME really exist?
		var stretchCell=p.nodeName.toUpperCase()=="TD" && w.indexOf("%")!=-1 && w.replace(/%/,"")>=100;
		if (!showing) { // create an iframe
			link.style.display="block"; // force IFRAME onto line following link
			if (stretchCell) { p.setAttribute("savedWidth",p.style.width); p.style.width="100%"; } // adjust TD so IFRAME stretches
			var wrapper=createTiddlyElement(null,"span"); // wrapper for slider animation
			wrapper.setAttribute("url",this.href); // for async loading of frame after animation completes
			var f=createTiddlyElement(wrapper,"iframe"); // create IFRAME
			f.style.backgroundColor="#fff"; f.style.width=w; f.style.height=h;
			p.insertBefore(wrapper,this.nextSibling);
			function loadURL(wrapper) { var f=wrapper.firstChild; var url=wrapper.getAttribute("url");
				var d=f.contentDocument?f.contentDocument:(f.contentWindow?f.contentWindow.document:f.document);
				d.open(); d.writeln("<html>connecting to "+url+"</html>"); d.close();
				try { f.src=url; } // if the iframe can't handle the href
				catch(e) { alert(e.description?e.description:e.toString()); } // ... then report the error
				window.scrollTo(0,ensureVisible(wrapper));
			}
			if (!co.chkAnimate) loadURL(wrapper);
			else {
				var morph=new Slider(wrapper,true);
				morph.callback=loadURL;
				morph.properties.push({style: 'width', start: 0, end: 100, template: '%0%'});
				anim.startAnimating(morph);
			}
		} else { // remove iframe
			link.style.display="inline"; // restore link style
			if (stretchCell) p.style.width=p.getAttribute("savedWidth"); // restore previous width of TD
			if (!co.chkAnimate) p.removeChild(f.parentNode);
			else {
				var morph=new Slider(f.parentNode,false,false,"all");
				morph.properties.push({style: 'width', start: 100, end: 0, template: '%0%'});
				anim.startAnimating(morph);
			}
		}
		e.cancelBubble=true; if (e.stopPropagation) e.stopPropagation(); return false;
	}
	return link;
}
//}}}
/***
|Name|FullScreenPlugin|
|Created by|SaqImtiaz|
|Location|http://tw.lewcid.org/#FullScreenPlugin|
|Version|1.1|
|Requires|~TW2.x|
!Description:
Toggle between viewing tiddlers fullscreen and normally. Very handy for when you need more viewing space.

!Demo:
Click the ↕ button in the toolbar for this tiddler. Click it again to turn off fullscreen.

!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.
{{{ |~ViewToolbar|closeTiddler closeOthers +editTiddler > fields permalink references jump fullscreen| }}}

!History:
*25-07-06: ver 1.1
*20-07-06: ver 1.0

!Code
***/
//{{{
var lewcidFullScreen = false;

config.commands.fullscreen =
{
            text:" «FullScreen» ",
            tooltip:"Fullscreen mode"
};

config.commands.fullscreen.handler = function (event,src,title)
{
            if (lewcidFullScreen == false)
               {
                lewcidFullScreen = true;
                setStylesheet('#sidebar, .header ,  #mainMenu{display:none;} #displayArea{margin:0em 0 0 0 !important;}',"lewcidFullScreenStyle");
               }
            else
               {
                lewcidFullScreen = false;
                setStylesheet(' ',"lewcidFullScreenStyle");
               }
}

config.macros.fullscreen={};
config.macros.fullscreen.handler =  function(place,macroName,params,wikifier,paramString,tiddler)
{
        var label = params[0]||" «Screen» ";
        var tooltip = params[1]||"Fullscreen mode";
        createTiddlyButton(place,label,tooltip,config.commands.fullscreen.handler);
}

var lewcid_fullscreen_closeTiddler = Story.prototype.closeTiddler;
Story.prototype.closeTiddler =function(title,animate,slowly)
{
           lewcid_fullscreen_closeTiddler.apply(this,arguments);
           if (story.isEmpty() && lewcidFullScreen == true)
              config.commands.fullscreen.handler();
}


Slider.prototype.lewcidStop = Slider.prototype.stop;
Slider.prototype.stop = function()
{
           this.lewcidStop();
           if (story.isEmpty() && lewcidFullScreen == true)
              config.commands.fullscreen.handler();
}
//}}}
* Sigurd(MadTrain) - парень из Империи, [[Сигурд Бешеная Электричка|Сигурд БЭ]]
* [[Tinwe|Тинвэ]] - сын Гэллемара, няшный эльфик лет 16
* [[Mitara|Митара Ливело]] - нынешний губернатор планеты, няшный эльфик лет 270, Одаренный
* [[Corvinus]] - системный инженер с военной базы. Коммуникацию обеспечивает, ага
* Helios - [[Гелий Рейли]]
* Kira - тот самый няшный [[Кайр]].
* [[Hellorianel]] - няшный старрел, которого Тьел научил пользоваться ноутбуком. 
Однажды утром тебя бесцеремонно разбудил Джитар. Прямо явился к тебе в комнату (не знаю, с Тенью ты там был или нет...). То есть конечно он вас не оторвал от любви, но явился в несколько неподходящий момент.. Явился с ноутбуком.
Кинул его тебе на кровать и буквально заявил: 
-- Смотри, до чего дошла наша инфосфера.

Интерфейс ИРЦ-сервера. Открытый канал CommonTalks. 7 человек участников, 1 бот канала и 1 администратор.

Участники: {{{ Sigurd@MadTrain, @Tinwe, Mitara, @ChannelBot, Corvinus, Helios, Elenhard, Kira, Hellorianel, UnknownUser_1 }}}

MOTD: "Все ищем Воронёнка, кто встретит - пишите!!!!"

{{{
Hellorianel: o/ =^_._^= :) :) :)
}}}

<<<
У Джитара вопрос:
-- Ну Сигурда, Митару и Тинвэ я знаю. А кто все остальные?
-- Вопрос, конечно, интересный.... Но с другой стороны, мы же не хотим прямо с колес начинать строить полицесйкое государство, цензуру и контроль общения в сети.....
Джитар, мрачно:
-- Такими темпами дело дойдет до баша, задолбали и шитхеппенс. И, держу пари, ты там будешь главным героем. Как меня задолбал этот Райден, дорогая редакция, пишет семилетняя девочка...
А там и Тень вернулась умытая. Плюхнулась рядом и заинтересовалась:
-- Что тут у вас такое, мальчики?
-- Да я не против. :) Джитар, у нас свободная страна. :) Пусть что хотят то и говорят. Вот пока что у меня только одно пожелание про запрещенные темы. Это ведь не много? А людям как угодно, но нужно развлекаться. И это — еще самый безобидный из способов. Тем более они к сети привыкли. Им тут без нее хреново.
<<<

{{{
Helios: nya! Доброе утро! Погода супер! ^^ 
Hellorianel: Nya!!! ^.^ ^__^@@ o/ :) :) :)  Elmarviel naranel, Helios!
}}}

<<<
И тут у тебя глаза натурально лезут на лоб :)
Только что Hellorianel пожелал теплого утреннего ветра Гелиосу... на языке старрелов!
<<<

{{{
@Tinwe: Elmarveel naranel, All! Всем привет, я охламон!
Hellorianel: Tinwe, elmarviel! Nya? ^^
@Tinwe: Ok!
UnknownUser_1 changed nick to remidor
@ChannelBot: Good morning, remidor!
remidor: Народ, появится Сигурд — скажите ему чтобы мне перезвонил.
@Tinwe: Упс... ой... О.о *покраснел*
remidor: Кстати, а seen-bot у вас тут есть?
Helios: Remidor, а ты настоящий?
Hellorianel: Elmarviel naranel, Remidor!
@Tinwe: А кто это такой??? О.о
remidor: Ну говоришь в чат: /seen Tinwe  А он в ответ: Last message from Tinwe и время.
@Tinwe: не знаю, надо Сигурда спрашивать...
remidor: Вот пусть мне и перезвонит когда появится. :)
@Tinwe casts spell "last seen Mitara"
Mitara is online now.
remidor: 
Ага. Есть seen-bot, только не по сообщениям... :) Ну ладно. :)
В общем всем удачного дня. :)
}}}

[[IRC-chat: кто все эти люди]]
!! География
[[Территории]]
!! Люди
[[Рабочие группы]]
@@+++[Досье>>]>
[[Лорды|Досье: Лорды]]
[[Правители|Досье: Правители]]
[[Армия|Досье: военные]]
[[Дети|Досье: дети]]
[[Группы|Досье: Группы]]
===@@
!! Задачи и квесты
[[Текущие квесты|Квесты: подготовка к зиме]]
[[Имперские квесты|Квесты: в Империи]]
!! Прочее
[[Инфосфера]]
[[Квесты: IT]]
!! Разное
[[Досье: странное]]
[[Космография]]
[[Исторические заметки]]
[[Проект Гегемонии]]
----
~~[[Tweak]]~~
~~[[MainMenu]]~~
/***
|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);
		}
	};
}
//}}}
/***
|Name|NestedSlidersPluginInfo|
|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|documentation|
|Description|documentation for NestedSlidersPlugin|
This plugin adds new wiki syntax for embedding 'slider' panels directly into tiddler content.
!!!!!Usage
<<<
//{{{
++++(cookiename)!!!!!^width^*@{{class{[label=key|tooltip][altlabel|alttooltip]}}}#panelID:>...
content goes here
===
//}}}
* ''"""+++""" (or """++++""") and """==="""''<br>marks the start and end of the slider definition, respectively.  When the extra {{{+}}} is used, the slider will be open when initially displayed.
* ''"""(cookiename)"""''<br>saves the slider opened/closed state, and restores this state whenever the slider is re-rendered.
* ''"""! through !!!!!"""''<br>displays the slider label using a formatted headline (Hn) style instead of a button/link style
* ''"""^width^ (or just ^)"""''<br>makes the slider 'float' on top of other content rather than shifting that content downward.  'width' must be a valid CSS value (e.g., "30em", "180px", "50%", etc.).  If omitted, the default width is "auto" (i.e., fit to content)
* ''"""*"""''<br>denotes "transient display": when a click occurs elsewhere in the document, the slider/floating panel will be automatically closed.  This is useful for creating 'pulldown menus' that automatically go away after they are used.  //Note: using SHIFT-click on a slider label will open/close that slider without triggering the automatic closing of any transient slider panels that are currently displayed, permitting ''temporary'' display of several transient panels at once.//
* ''"""@"""''<br>denotes "open on hover": the slider/floating panel will be automatically opened as soon as the mouse moves over the slider label, without requiring a click.
* ''"""{{class{[label=key|tooltip][altlabel|alttooltip]}}}"""''<br>uses label/tooltip/accesskey.  """{{class{...}}}""", """=key""", """|tooltip""" and """[altlabel|alttooltip]""" are optional.  'class' is any valid CSS class name, used to style the slider label text.  'key' must be a ''single letter only''.  altlabel/alttooltip specify alternative label/tooltip for use when slider/floating panel is displayed.  //Note: you can use HTML syntax within the label text to include HTML entities (e.g., {{{&raquo;}}} (&raquo;) or {{{&#x25ba;}}} (&#x25ba;), or even embedded images (e.g., {{{<img src="images/eric3.gif">}}}).//
* ''"""#panelID:"""''<br>defines a unique DOM element ID that is assigned to the panel element used to display the slider content.  This ID can then be used later to reposition the panel using the {{{<<DOM move id>>}}} macro (see [[DOMTweaksPlugin]]), or to access/modify the panel element through use of {{{document.getElementById(...)}}}) javascript code in a plugin or inline script.
* ''""">"""''<br>automatically adds blockquote formatting to slider content
* ''"""..."""''<br>defers rendering of closed sliders until the first time they are opened.
Notes:
*You can 'nest' sliders as deep as you like (see complex nesting example below), so that expandable 'tree-like' hierarchical displays can be created.
*Deferred rendering (...) can be used to offset processing overhead until actually needed. However, this may produce unexpected results in some cases.  Use with care.
* To make slider definitions easier to read and recognize when editing a tiddler, newlines immediately following the 'start slider' or preceding the 'end slider' sequences are automatically supressed so that excess whitespace is eliminated from the output.
<<<
!!!!!Examples
<<<
simple in-line slider: 
{{{
+++content===
}}}
+++content===
----
use a custom label and tooltip: 
{{{
+++[label|tooltip]content===
}}}
+++[label|tooltip]content===
----
content automatically blockquoted: 
{{{
+++>content===
}}}
+++>content===
----
all options (except cookie) //(default open, heading, sized floater, transient, open on hover, class, label/tooltip/key, blockquoted, deferred)//
{{{
++++!!!^30em^*@{{big{[label=Z|click or press Alt-Z to open]}}}>...
   content
===
}}}
++++!!!^30em^*@{{big{[label=Z|click or press Alt-Z to open]}}}>...
   content
===
----
complex nesting example:
{{{
+++[get info...=I|click for information or press Alt-I]
	put some general information here,
	plus a floating panel with more specific info:
	+++^10em^[view details...|click for details]
		put some detail here, which could in turn contain a transient panel,
		perhaps with a +++^25em^*[glossary definition]explaining technical terms===
	===
===
}}}
+++[get info...=I|click for information or press Alt-I]
	put some general information here,
	plus a floating panel with more specific info:
	+++^10em^[view details...|click for details]
		put some detail here, which could in turn contain a transient panel,
		perhaps with a +++^25em^*[glossary definition]explaining technical terms===
	===
===
----
embedded image as slider button
{{{
+++[<img src=images/eric3.gif>|click me!]>
	{{big{OUCH!}}}
===
}}}
+++[<img src=images/eric3.gif>|click me!]>
	{{big{OUCH!}}}
===
<<<
!!!!!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]])
2008.11.13 2.4.8 in document.onclick(), if transient panel is not a sliderPanel or floatingPanel, hide it via CSS
2008.10.05 2.4.7 in onClickNestedSlider(), added try/catch around focus() call to prevent IE error if input field being focused on is currently not visible.
2008.09.07 2.4.6 added removeCookie() function for compatibility with [[CookieManagerPlugin]]
2008.06.07 2.4.5 in 'onmouseover' handler for 'open on hover' slider buttons, use call() method when invoking document.onclick function (avoids error in IE)
2008.06.07 2.4.4 changed default for chkFloatingSlidersAnimate to FALSE to avoid clipping problem on some browsers (IE).  Updated Morpher hijack (again) to adjust regular sliderPanel styles as well as floatingPanel styles.
2008.05.07 2.4.3 updated Morpher hijack to adjust floatingPanel styles after animation without affecting other animated elements (i.e. popups).  Also, updated adjustSliderPos() to account for scrollwidth and use core findWindowWidth().
2008.04.02 2.4.2 in onClickNestedSlider, handle clicks on elements contained //within// slider buttons (e.g., when using HTML to display an image as a slider button).
2008.04.01 2.4.1 open on hover also triggers document.onclick to close other transient sliders
2008.04.01 2.4.0 re-introduced 'open on hover' feature using "@" symbol
2008.03.26 2.3.5 in document.onclick(), if click is in popup, don't dismiss transient panel (if any)
2008.01.08 [*.*.*] plugin size reduction: documentation moved to ...Info tiddler
2007.12.28 2.3.4 added hijack for Animator.prototype.startAnimating().  Previously, the plugin code simply set the overflow to "visible" after animation.  This code tweak corrects handling of elements that were styled with overflow=hidden/auto/scroll before animation by saving the overflow style and then restoring it after animation has completed.
2007.12.17 2.3.3 use hasClass() instead of direct comparison to test for "floatingPanel" class.  Allows floating panels to have additional classes assigned to them (i.e., by AnimationEffectsPlugin).
2007.11.14 2.3.2 in onClickNestedSlider(), prevent SHIFT-click events from opening a new, empty browser window by setting "cancelBubble=true" and calling "stopPropagation()".  Note: SHIFT-click is still processed as a normal click (i.e., it toggles the slider panel display).  Also, using SHIFT-click will prevent 'transient' sliders from being automatically closed when another slider is opened, allowing you to *temporarily* display several transient sliders at once.
2007.07.26 2.3.1 in document.onclick(), propagate return value from hijacked core click handler to consume OR bubble up click as needed.  Fixes "IE click disease", whereby nearly every mouse click causes a page transition.
2007.07.20 2.3.0 added syntax for setting panel ID (#panelID:).  This allows individual slider panels to be repositioned within tiddler content simply by giving them a unique ID and then moving them to the desired location using the {{{<<DOM move id>>}}} macro.
2007.07.19 2.2.0 added syntax for alttext and alttip (button label and tooltip to be displayed when panel is open)
2007.07.14 2.1.2 corrected use of 'transient' attribute in IE to prevent (non-recursive) infinite loop
2007.07.12 2.1.0 replaced use of "*" for 'open/close on rollover' (which didn't work too well).  "*" now indicates 'transient' panels that are automatically closed if a click occurs somewhere else in the document.  This permits use of nested sliders to create nested "pulldown menus" that automatically disappear after interaction with them has been completed.  Also, in onClickNestedSlider(), use "theTarget.sliderCookie", instead of "this.sliderCookie" to correct cookie state tracking when automatically dismissing transient panels.
2007.06.10 2.0.5 add check to ensure that window.adjustSliderPanel() is defined before calling it (prevents error on shutdown when mouse event handlers are still defined)
2007.05.31 2.0.4 add handling to invoke adjustSliderPanel() for onmouseover events on slider button and panel.  This allows the panel position to be re-synced when the button position shifts due to changes in unrelated content above it on the page.  (thanks to Harsha for bug report)
2007.03.30 2.0.3 added chkFloatingSlidersAnimate (default to FALSE), so that slider animation can be disabled independent of the overall document animation setting (avoids strange rendering and focus problems in floating panels)
2007.03.01 2.0.2 for TW2.2+, hijack Morpher.prototype.stop so that "overflow:hidden" can be reset to "overflow:visible" after animation ends
2007.03.01 2.0.1 in hijack for Slider.prototype.stop, use apply() to pass params to core function
2006.07.28 2.0.0 added custom class syntax around label/tip/key syntax: {{{{{classname{[label=key|tip]}}}}}}
2006.07.25 1.9.3 when parsing slider, save default open/closed state in button element, then in onClickNestedSlider(), if slider state matches saved default, instead of saving cookie, delete it.  Significantly reduces the 'cookie overhead' when default slider states are used.
2006.06.29 1.9.2 in onClickNestedSlider(), when setting focus to first control, skip over type="hidden"
2006.06.22 1.9.1 added panel.defaultPanelWidth to save requested panel width, even after resizing has changed the style value
2006.05.11 1.9.0 added optional '^width^' syntax for floating sliders and '=key' syntax for setting an access key on a slider label
2006.05.09 1.8.0 in onClickNestedSlider(), when showing panel, set focus to first child input/textarea/select element
2006.04.24 1.7.8 in adjustSliderPos(), if floating panel is contained inside another floating panel, subtract offset of containing panel to find correct position
2006.02.16 1.7.7 corrected deferred rendering to account for use-case where show/hide state is tracked in a cookie
2006.02.15 1.7.6 in adjustSliderPos(), ensure that floating panel is positioned completely within the browser window (i.e., does not go beyond the right edge of the browser window)
2006.02.04 1.7.5 add 'var' to unintended global variable declarations to avoid FireFox 1.5.0.1 crash bug when assigning to globals
2006.01.18 1.7.4 only define adjustSliderPos() function if it has not already been provided by another plugin.  This lets other plugins 'hijack' the function even when they are loaded first.
2006.01.16 1.7.3 added adjustSliderPos(place,btn,panel,panelClass) function to permit specialized logic for placement of floating panels.  While it provides improved placement for many uses of floating panels, it exhibits a relative offset positioning error when used within *nested* floating panels.  Short-term workaround is to only adjust the position for 'top-level' floaters.
2006.01.16 1.7.2 added button property to slider panel elements so that slider panel can tell which button it belongs to.  Also, re-activated and corrected animation handling so that nested sliders aren't clipped by hijacking Slider.prototype.stop so that "overflow:hidden" can be reset to "overflow:visible" after animation ends
2006.01.14 1.7.1 added optional "^" syntax for floating panels.  Defines new CSS class, ".floatingPanel", as an alternative for standard in-line ".sliderPanel" styles.
2006.01.14 1.7.0 added optional "*" syntax for rollover handling to show/hide slider without requiring a click (Based on a suggestion by tw4efl)
2006.01.03 1.6.2 When using optional "!" heading style, instead of creating a clickable "Hn" element, create an "A" element inside the "Hn" element.  (allows click-through in SlideShowPlugin, which captures nearly all click events, except for hyperlinks)
2005.12.15 1.6.1 added optional "..." syntax to invoke deferred ('lazy') rendering for initially hidden sliders
removed checkbox option for 'global' application of lazy sliders
2005.11.25 1.6.0 added optional handling for 'lazy sliders' (deferred rendering for initially hidden sliders)
2005.11.21 1.5.1 revised regular expressions: if present, a single newline //preceding// and/or //following// a slider definition will be suppressed so start/end syntax can be place on separate lines in the tiddler 'source' for improved readability.  Similarly, any whitespace (newlines, tabs, spaces, etc.) trailing the 'start slider' syntax or preceding the 'end slider' syntax is also suppressed.
2005.11.20 1.5.0 added (cookiename) syntax for optional tracking and restoring of slider open/close state
2005.11.11 1.4.0 added !!!!! syntax to render slider label as a header (Hn) style instead of a button/link style
2005.11.07 1.3.0 removed alternative syntax {{{(((}}} and {{{)))}}} (so they can be used by other formatting extensions) and simplified/improved regular expressions to trim multiple excess newlines
2005.11.05 1.2.1 changed name to NestedSlidersPlugin
2005.11.04 1.2.0 added alternative character-mode syntax {{{(((}}} and {{{)))}}}
tweaked "eat newlines" logic for line-mode {{{+++}}} and {{{===}}} syntax
2005.11.03 1.1.1 fixed toggling of default tooltips ("more..." and "less...") when a non-default button label is used.  code cleanup, added documentation
2005.11.03 1.1.0 changed delimiter syntax from {{{(((}}} and {{{)))}}} to {{{+++}}} and {{{===}}}.  changed name to EasySlidersPlugin
2005.11.03 1.0.0 initial public release
<<<
/***
|Name:|NewMeansNewPlugin|
|Description:|If 'New Tiddler' already exists then create 'New Tiddler (1)' and so on|
|Version:|1.1.1a|
|Date:|27-Jun-2011|
|Source:|http://mptw.tiddlyspot.com/empty.html#NewMeansNewPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License|http://mptw.tiddlyspot.com/#TheBSDLicense|
!!Note: I think this should be in the core
***/
//{{{

// change this or set config.newMeansNewForJournalsToo it in MptwUuserConfigPlugin
if (config.newMeansNewForJournalsToo == undefined) config.newMeansNewForJournalsToo = true;

String.prototype.getNextFreeName = function() {
  numberRegExp = / \(([0-9]+)\)$/;
  var match = numberRegExp.exec(this);
  if (match) {
  var num = parseInt(match[1]) + 1;
    return this.replace(numberRegExp," ("+num+")");
  }
  else {
    return this + " (1)";
  }
}

config.macros.newTiddler.checkForUnsaved = function(newName) {
  var r = false;
  story.forEachTiddler(function(title,element) {
    if (title == newName)
      r = true;
  });
  return r;
}

config.macros.newTiddler.getName = function(newName) {
  while (store.getTiddler(newName) || config.macros.newTiddler.checkForUnsaved(newName))
    newName = newName.getNextFreeName();
  return newName;
}


config.macros.newTiddler.onClickNewTiddler = function()
{
  var title = this.getAttribute("newTitle");
  if(this.getAttribute("isJournal") == "true") {
    title = new Date().formatString(title.trim());
  }

  // ---- these three lines should be the only difference between this and the core onClickNewTiddler
  if (config.newMeansNewForJournalsToo || this.getAttribute("isJournal") != "true")
    title = config.macros.newTiddler.getName(title);

  var params = this.getAttribute("params");
  var tags = params ? params.split("|") : [];
  var focus = this.getAttribute("newFocus");
  var template = this.getAttribute("newTemplate");
  var customFields = this.getAttribute("customFields");
  if(!customFields && !store.isShadowTiddler(title))
    customFields = String.encodeHashMap(config.defaultCustomFields);
  story.displayTiddler(null,title,template,false,null,null);
  var tiddlerElem = story.getTiddler(title);
  if(customFields)
    story.addCustomFields(tiddlerElem,customFields);
  var text = this.getAttribute("newText");
  if(typeof text == "string")
    story.getTiddlerField(title,"text").value = text.format([title]);
  for(var t=0;t<tags.length;t++)
    story.setTiddlerTag(title,tags[t],+1);
  story.focusTiddler(title,focus);
  return false;
};

//}}}
[img[https://dl.dropboxusercontent.com/u/48644575/Images.Wiki/Drizzt_middle.jpg][https://dl.dropboxusercontent.com/u/48644575/Images.Wiki/Drizzt_by_egosun.jpg]]

Rain "Arris" Skylark

It's me ^_^
rainskylark@gmail.com
http://skylark.moy.su
/***
|''Name:''|RussianTextFormattingPlugin|
|''Version:''|1.1 (11-Jan-2012)|
|''Author:''|KarelWintersky|
|''Type:''|Patch|
!Description
* Add more useful custom formatter for russian users : {{{ ++ someting ++ }}}   for ++bold++.
* Also, imports formatting from [[LegacyStrikeThroughPlugin|http://www.tiddlywiki.com/#LegacyStrikeThroughPlugin]] - support for legacy (pre 2.1) strike through formatting.
* And so on

!Revision History
1.1 (11-Jan-2013) by KarelWintersky
1.2 (17-Jan-2013) by KarelWintersky - check for installed once
1.3 (15-Feb-2013) by KarelWintersky - more formatting options
@@todo:@@ disable LegacyStrikeThroughPlugin if installed.

!Code
***/
//{{{
// Ensure that the RussianBoldText Plugin is only installed once.
if(!version.extensions.RussianTextFormattingPlugin) 
{
  version.extensions.RussianTextFormattingPlugin = {installed:true};
  config.formatters.push(
    {
	name: "boldByCharRU",
	match: "\\+\\+",
	handler: function(w)
	{
	  w.subWikifyTerm(w.output.appendChild(document.createElement("strong")),/(\+\+)/mg);
	}
    } );
  // LegacyStrikeThroughPlugin
  config.formatters.push(
    {
        name: "legacyStrikeByChar",
	match: "==",
	termRegExp: /(==)/mg,
	element: "strike",
	handler: config.formatterHelpers.createElementAndWikify
    } );

} //# end of "install only once"

//}}}
/***
|''Name:''|~SectionMacro|
|''Version:''|0.9.4 (20-Apr-2007)|
|''Author:''|[[Jack]]|
|''Type:''|Macro|
!Description
Allows you to create collapsable sections just like the slider macro but without needing to create new tiddlers for these sections.
!Usage
{{{<<section Title Tiddler Text goes here...
and can be multi-
line and include {${${monospace text}$}$}.
>>}}}
<<section Title Tiddler Text goes here...
and can be multi-
line and include {${${monospace text}$}$}.
>>
!Revision History
* Original by [[Jack]] 0.9
* Nested sliders and cookie persistence 0.9.1
* Removed crappy cookie persistance 0.9.2
* Bug-fix with quoted 2st parameter (thanks M. Macolio) 0.9.3
* Bug-fix with monospace text (thanks M. Macolio) 0.9.4
!Code
***/
//{{{
version.extensions.section = {major: 0, minor: 9, revision: 4, date: new Date("Apr 20, 2007")};

config.macros.section = {count:0,display:'none'};
config.macros.section.handler = function(place,macroName,params,wikifier,paramString,tiddler) {
 this.slider(place,"chkSection" + this.count++,paramString.substr(params[0].length+(paramString.substr(params[0].length+1,1).match(/['"]/)?2:1)).replace(/\$\>/g, '>').replace(/}\$}\$}/, '}}}').replace(/{\${\${/, '{{{'),params[0], "tooltip");
}

config.macros.section.slider = function(place,cookie,text,title,tooltips) {
 var btn = createTiddlyButton(place,title,tooltips,config.macros.slider.onClickSlider,"tiddlyLink tiddlyLinkExisting"); 
 var panel = createTiddlyElement(place,"div",null,"timelineSliderPanel",null);
 panel.setAttribute("cookie",cookie);
 panel.style.display = config.options[cookie] ? "block" : "none";
 panel.style.display=this.display;
 if(text) wikify(text,panel);
};
//}}}
/***
|''Name:''|SinglePageModePlugin|
|''Description:''| ? |
|''Version:''|2.1.1|
|''Date:''|Feb 21,2006|
|''Source:''|? |
|''Author:''|? |
|''License:''|? |
|''~CoreVersion:''|2.1.0|
***/
//{{{
version.extensions.SinglePageMode= {major: 2, minor: 1, revision: 1, date: new Date(2006,2,4)};

if (config.options.chkSinglePageMode==undefined)
 config.options.chkSinglePageMode=false;

config.shadowTiddlers.AdvancedOptions
 += "\n<<option chkSinglePageMode>> Display one tiddler at a time";

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

Story.prototype.coreDisplayTiddler=Story.prototype.displayTiddler;
Story.prototype.displayTiddler = function(srcElement,title,template,animate,slowly)
{
 if (config.options.chkSinglePageMode) {
 window.location.hash = encodeURIComponent(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);
 }
 this.coreDisplayTiddler(srcElement,title,template,animate,slowly)
}

Story.prototype.coreDisplayTiddlers=Story.prototype.displayTiddlers;
Story.prototype.displayTiddlers = function(srcElement,titles,template,unused1,unused2,animate,slowly)
{
 // suspend single-page mode when displaying multiple tiddlers
 var save=config.options.chkSinglePageMode;
 config.options.chkSinglePageMode=false;
 this.coreDisplayTiddlers(srcElement,titles,template,unused1,unused2,animate,slowly);
 config.options.chkSinglePageMode=save;
}
//}}}
Информаториум
Гегемония жизни
/*{{{*/
/* border around each tiddler */
.tiddler {
	padding: 1em;
	margin: 1em 0;
	border: 1px solid #ccc;
}
/* make it print a little cleaner */
@media print {
	#topMenu {
		display: none ! important;
	}
        #mainMenu {
                display: none ! important;
        }
        #sidebar {
                display: none ! important;
        }
        #toolbar {
                display: none ! important;
        }
        #messageArea {
                display: none ! important;
        }
        .header {
                display: none ! important;
        }
        .tiddler .subtitle {
                display: none ! important;
        }
        .tiddler .toolbar {
                display: none ! important;
        }
        .tiddler .tagging {
                display: none ! important;
        }
        .tiddler .tagged {
                display: none ! important;
        }

	/* not sure if we need all the importants */
	.tiddler {
		border-style: none ! important;
		margin:0px ! important;
		padding:0px ! important;
		padding-bottom:2em ! important;
	}
	.headerShadow {
		visibility: hidden ! important;
	}
}
/* Monospaced font in editor area */
.editor textarea, .editor input {
	font-family: 'Consolas', monospace;
	background-color:[[ColorPalette::TertiaryPale]];
}
h1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;color: green;}
.wrappingClass {color: #666; background: #bbb;}
.firstletter{ float:left; width:0.75em; font-size:400%; font-family:times,arial; line-height:60%; }
.textleft {text-align:left;}
.textright {text-align:right;}
.textcenter {text-align:center;}
.textjustify {text-align:justify;}
.textindent25 {text-indent:25px;}
/*}}}*/
/***
|''Name:''|TableSortingPlugin|
|''Description:''|Dynamically sort tables by clicking on column headers|
|''Author:''|Saq Imtiaz ( lewcid@gmail.com )|
|''Source:''|http://tw.lewcid.org/#TableSortingPlugin|
|''Code Repository:''|http://tw.lewcid.org/svn/plugins|
|''Version:''|2.02|
|''Date:''|25-01-2008|
|''License:''|[[Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]]|
|''~CoreVersion:''|2.2.3|
!!Usage:
* Make sure your table has a header row
** {{{|Name|Phone Number|Address|h}}}<br> Note the /h/ that denote a header row 
* Give the table a class of 'sortable'
** {{{
|sortable|k
|Name|Phone Number|Address|h
}}}<br>Note the /k/ that denotes a class name being assigned to the table.
* To disallow sorting by a column, place {{{<<nosort>>}}} in it's header
* To automatically sort a table by a column, place {{{<<autosort>>}}} in the header for that column
** Or to sort automatically but in reverse order, use {{{<<autosort reverse>>}}}

!!Example:
|sortable|k
|Name |Salary |Extension |Performance |File Size |Start date |h
|ZBloggs, Fred |$12000.00 |1353 |+1.2 |74.2Kb |Aug 19, 2003 21:34:00 |
|ABloggs, Fred |$12000.00 |1353 |1.2 |3350b |09/18/2003 |
|CBloggs, Fred |$12000 |1353 |1.200 |55.2Kb |August 18, 2003 |
|DBloggs, Fred |$12000.00 |1353 |1.2 |2100b |07/18/2003 |
|Bloggs, Fred |$12000.00 |1353 |01.20 |6.156Mb |08/17/2003 05:43 |
|Turvey, Kevin |$191200.00 |2342 |-33 |1b |02/05/1979 |
|Mbogo, Arnold |$32010.12 |2755 |-21.673 |1.2Gb |09/08/1998 |
|Shakespeare, Bill |£122000.00|3211 |6 |33.22Gb |12/11/1961 |
|Shakespeare, Hamlet |£9000 |9005 |-8 |3Gb |01/01/2002 |
|Fitz, Marvin |€3300.30 |5554 |+5 |4Kb |05/22/1995 |

***/
// /%
//!BEGIN-PLUGIN-CODE
config.tableSorting = {
	
	darrow: "\u2193",
	
	uarrow: "\u2191",
	
	getText : function (o) {
		var p = o.cells[SORT_INDEX];
		return p.innerText || p.textContent || '';
	},
	
	sortTable : function (o,rev) {
		SORT_INDEX = o.getAttribute("index");
		var c = config.tableSorting;
		var T = findRelated(o.parentNode,"TABLE");
		if(T.tBodies[0].rows.length<=1) 
			return;
		var itm = "";
		var i = 0;
		while (itm == "" && i < T.tBodies[0].rows.length) {
			itm = c.getText(T.tBodies[0].rows[i]).trim();
			i++;
		}
		if (itm == "") 
			return; 	
		var r = [];
		var S = o.getElementsByTagName("span")[0];		
		c.fn = c.sortAlpha; 
		if(!isNaN(Date.parse(itm)))
			c.fn = c.sortDate; 
		else if(itm.match(/^[$|£|€|\+|\-]{0,1}\d*\.{0,1}\d+$/)) 
			c.fn = c.sortNumber; 
		else if(itm.match(/^\d*\.{0,1}\d+[K|M|G]{0,1}b$/)) 
			c.fn = c.sortFile; 
		for(i=0; i<T.tBodies[0].rows.length; i++) {
			 r[i]=T.tBodies[0].rows[i]; 
		} 
		r.sort(c.reSort);
		if(S.firstChild.nodeValue==c.darrow || rev) {
			r.reverse();
			S.firstChild.nodeValue=c.uarrow;
		} 
		else 
			S.firstChild.nodeValue=c.darrow;
		var thead = T.getElementsByTagName('thead')[0]; 
		var headers = thead.rows[thead.rows.length-1].cells;
		for(var k=0; k<headers.length; k++) {
			if(!hasClass(headers[k],"nosort"))
				addClass(headers[k].getElementsByTagName("span")[0],"hidden");
		}
		removeClass(S,"hidden");
		for(i=0; i<r.length; i++) { 
			T.tBodies[0].appendChild(r[i]);
			c.stripe(r[i],i);
			for(var j=0; j<r[i].cells.length;j++){
				removeClass(r[i].cells[j],"sortedCol");
			}
			addClass(r[i].cells[SORT_INDEX],"sortedCol");
		}
	},
	
	stripe : function (e,i){
		var cl = ["oddRow","evenRow"];
		i&1? cl.reverse() : cl;
		removeClass(e,cl[1]);
		addClass(e,cl[0]);
	},
	
	sortNumber : function(v) {
		var x = parseFloat(this.getText(v).replace(/[^0-9.-]/g,''));
		return isNaN(x)? 0: x;
	},
	
	sortDate : function(v) {
		return Date.parse(this.getText(v));
	},

	sortAlpha : function(v) {
		return this.getText(v).toLowerCase();
	},
	
	sortFile : function(v) { 		
		var j, q = config.messages.sizeTemplates, s = this.getText(v);
		for (var i=0; i<q.length; i++) {
			if ((j = s.toLowerCase().indexOf(q[i].template.replace("%0\u00a0","").toLowerCase())) != -1)
				return q[i].unit * s.substr(0,j);
		}
		return parseFloat(s);
	},
	
	reSort : function(a,b){
		var c = config.tableSorting;
		var aa = c.fn(a);
		var bb = c.fn(b);
		return ((aa==bb)? 0 : ((aa<bb)? -1:1));
	}
};

Story.prototype.tSort_refreshTiddler = Story.prototype.refreshTiddler;
Story.prototype.refreshTiddler = function(title,template,force,customFields,defaultText){
	var elem = this.tSort_refreshTiddler.apply(this,arguments);
	if(elem){
		var tables = elem.getElementsByTagName("TABLE");
		var c = config.tableSorting;
		for(var i=0; i<tables.length; i++){
			if(hasClass(tables[i],"sortable")){
				var x = null, rev, table = tables[i], thead = table.getElementsByTagName('thead')[0], headers = thead.rows[thead.rows.length-1].cells;
				for (var j=0; j<headers.length; j++){
					var h = headers[j];
					if (hasClass(h,"nosort"))
						continue;
					h.setAttribute("index",j);
					h.onclick = function(){c.sortTable(this); return false;};
					h.ondblclick = stopEvent;
					if(h.getElementsByTagName("span").length == 0)
						createTiddlyElement(h,"span",null,"hidden",c.uarrow); 
					if(!x && hasClass(h,"autosort")) {
						x = j;
						rev = hasClass(h,"reverse");
					}
				}
				if(x)
					c.sortTable(headers[x],rev);		
			}
		}
	}
	return elem; 
};

setStylesheet("table.sortable span.hidden {visibility:hidden;}\n"+
	"table.sortable thead {cursor:pointer;}\n"+
	"table.sortable .nosort {cursor:default;}\n"+
	"table.sortable td.sortedCol {background:#ffc;}","TableSortingPluginStyles");

function stopEvent(e){
	var ev = e? e : window.event;
	ev.cancelBubble = true;
	if (ev.stopPropagation) ev.stopPropagation();
	return false;	
}	

config.macros.nosort={
	handler : function(place){
		addClass(place,"nosort");
	}	
};

config.macros.autosort={
	handler : function(place,m,p,w,pS){
		addClass(place,"autosort"+" "+pS);		
	}	
};
//!END-PLUGIN-CODE
// %/
/***
|''Name:''|TiddlersBarPlugin|
|''Description:''|A bar to switch between tiddlers through tabs (like browser tabs bar).|
|''Version:''|1.2.1|
|''Date:''|Dec 21,2007|
|''Source:''|http://visualtw.ouvaton.org/VisualTW.html|
|''Author:''|Pascal Collin|
|''License:''|[[BSD open source license|License]]|
|''~CoreVersion:''|2.1.0|
|''Browser:''|Firefox 2.0; InternetExplorer 6.0, others|
!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='content' 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.
!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.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,
	handler: function(place,macroName,params) {
		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);
				}
				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);
				}
				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);
	}
}

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(srcElement,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);
}

ensureVisible=function (e) {return 0} //disable bottom scrolling (not useful now)

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 : 1em 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.shadowTiddlers.PageTemplate=config.shadowTiddlers.PageTemplate.replace(/<div id='tiddlerDisplay'><\/div>/m,"<div id='tiddlersBar' refresh='content' ondblclick='config.macros.tiddlersBar.onTiddlersBarAction(event)'></div>\n<div id='tiddlerDisplay'></div>")

//}}}
* макрос .LOG файла (при открытии тиддлера добавляет в конец таймштамп). 
** либо необходим макрос {{{<<logfile>>}}} вначале
** либо необходим тег, по которому будет управляться тиддлер
** третий вариант - особый темплейт аналогично {{{<<newjournal>>>}}}
*** Как подмножество всех трех вариантов - каждый таймштамп делается внутри инлайн-спойлера (инлайн слайдера, см SectionMacro и NestedSliderPlugin) 
* ++Lightbox-enchant++
** вспомнить про [[framedlinksplugin]] и сделать аналогично
*** а) тиддлер открывается в лайтбоксе если у него стоит таг типа 'lightbox' (альт/шифт клик подавляет свойство)
*** б) тиддлер открывается в лайтбоксе, если у него в тексте есть пометка типа {{{<<lightboxed>>}}}
* подумать, как сделать хинт... ну то есть наводимся на слово, а у него всплывает подсказка-хинт (см тег акроним!), но без костылей
* сделать общий хелп в едином слайдере.
** общий хелп не получается, все равно приходится бить на несколько записок по темам. Но почти сделано :) 
* ==переделать плагин дайса (например под генерацию КНОПКИ) и починить :)==
----
@@ВАЖНО@@
* Ну и наконец - множественные списки тегов, как апгрейд макроса делициус таггинг!
|~ViewToolbar|closeTiddler closeOthers +editTiddler > fields permalink references jump fullscreen|
|~EditToolbar|+saveTiddler -cancelTiddler deleteTiddler|
* @@[[ToDo|ToDo List]]@@
----
* [[Настроить главное меню|MainMenu]]
* [[Справка: форматирование]]
* [[Справка: встроенные плагины]]
* [[Справка: FAQ]]
* [[Configuration]]
@@Minor change: @@ - если при сохранении записки зажать shift - это будет "минорное" изменение без корректировки даты.

! Полезные внешние плагины (то, что musthave):
* [[SectionMacro]] - Allows you to create collapsable sections just like the slider macro but without needing to create new tiddlers for these sections. @@Creates text-link@@
* NestedSlidersPlugin - улучшенная версия SectionMacro, смотри NestedSlidersPluginInfo.
* FramedLinksPlugin - clicking an external link opens an IFRAME following the link instead of opening a new tab/window
* [[saveAndReloadPlugin]] - Save and Reload - add macros {{{ <<saveAndReload>> }}} anywhere.
* FullScreenPlugin - требует правки ToolbarCommands, позволяет развернуть на полный экран просмотр/редактирование.
* WikiBar - простенький редактор разметки.
* DeliciousTagging - Allows easy 'del.icio.us'-like tagging in the EditTemplate by showing all tags as a list of link-buttons.
* SinglePageModePlugin - одностраничный режим, к нему рекомендуется апгрейд: 
* TiddlersBarPlugin -  open several tiddlers to use the tabs bar.
* CloseUnsavedOnCancel - When you click new tiddler then click cancel I think the new tiddler should close automatically.
----
+++[Все плагины]>
<<tagging systemConfig "системные">>
===
----
+++[Ссылки и благодарности]>
Переведено и адаптировано с http://webpages.charter.net/one_each/
This is a simple cheat sheet gleened from the [[TiddlyWiki Tutorial|http://www.blogjones.com/TiddlyWikiTutorial.html]].
Визуальные апгрейды - http://visualtw.ouvaton.org/VisualTW.html
===

* Сигурд Б.Э. в поисках школьников встречает повозку с ++компрачикосами++. Конечно драка, разгром, ахтунг, нарушение Основного Закона.
* ++Луддиты++ - versus Новые Технические Идеи, внедряемые Предоминантом. Бомбу во Вьянтариэля уже кидали, скоро начнут портить оборудование. Почему? На выбор:
** в механизмах живут злые духи, которые портят продукты (мука, смолотая неживым механизмом - мертва)
** Если за людей всё будут делать машины, то люди станут не нужны, потеряют работу, а значит умрут с голоду. 
<!--{{{-->
<div class='toolbar' role='navigation' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
/***
|''Name:''|diceRoller|
|''Version:''|0.5.0|
|''Author:''|Daniel Baird (DanielBaird@gmail.com)|
|''Source:''|http://danielbaird.com/tiddlywinks/|
|''Type:''|Plugin|
!Description
{{{<<dice>>}}} for 3d6
{{{<<dice }}}//{{{specifier}}}//{{{ [}}}//{{{options}}}//{{{]>>}}} where specifier is something like 3d6, 1d4+1, 2d10-5
{{{<<dice fudge [}}}//{{{options}}}//{{{]>>}}} will roll 3 fudge dice (a fudge die gives -1, 0, or +1)
options can be zero or more of the following:
* show:eachface
** shows the face of each die rolled, then the total (not yet implemented)
* show:eachroll
** shows the number on each die rolled, then the total (default)
* show:result
** shows just the total result of the roll
* initialroll:yes
** do a roll when initially displayed
* initialroll:no
** don't roll until the user says so (default)
* rollby:click
** user clicks anywhere on the diceroller area to roll
* rollby:link
** user clicks an underlined link to roll (default)
* rollby:button
** user clicks a button to roll

!Examples

{{{<<dice>>}}}
<<dice>>
{{{<<dice 3d6+2 rollby:button>>}}}
<<dice 3d6+2 rollby:button>>
{{{<<dice fudge initialroll:yes rollby:click>>}}}
<<dice fudge initialroll:yes rollby:click>>

!Code
***/
//{{{
version.extensions.dice = {major: 0, minor: 5, revision: 0};

config.macros.dice = {};

config.macros.dice.handler = function(place,macroName,params) {

    var rolldesc = params[0];
    if (rolldesc == undefined) rolldesc = '3d6';

	var options = '';
    if (params.length > 1) {
		params.shift();
    	options = params.join(' ');
	}

    var thisDiceRoller = new DiceRoller();
    createTiddlyElement(place, 'div', thisDiceRoller.id, null, 'If you see this, DiceRoller is broken.  Let Daniel know (DanielBaird at gmail dot com).');
    thisDiceRoller.newDice(rolldesc, options);
}
// =======================================================================
function DiceRoller() {
	this.idprefix =  'dice';
    this.version = '0.5 beta';
    this.id = this.idprefix + DiceRoller.prototype.nextid;
    DiceRoller.prototype.nextid++;
    return this;
}
// -----------------------------------------------------------------------
DiceRoller.prototype.nextid = 0;
// -----------------------------------------------------------------------
DiceRoller.prototype.newDice = function(rolldesc, options) {

	this.error = null;
	this.initialroll = false;
	this.display = 'eachroll';
	this.rolltag = 'roll';
	this.rollagaintag = 'roll again';
	this.rollby = 'link';
	this.parseDesc(rolldesc);
	this.parseOpts(options);
	if (this.initialroll) this.rollDice();
	this.drawRoller();
// ^^^^^^^^^^^^^ new stuff above.. ^^^^^^^^^^^^^
//    this.rolls = rolls;

//    this.resultDisplay = 'dice';
//    if (resultDisplay != null)	this.resultDisplay = resultDisplay;

//    this.resultSystem = 'sum';
//    if (resultSystem != null)	this.resultSystem = resultSystem;

//    this.sides = 6;
//    this.createDice();
//	this.roll();
}
// -----------------------------------------------------------------------
DiceRoller.prototype.parseDesc = function(desc) {
	this.rollstr = desc;
	desc = desc.toLowerCase();
	this.dicetype = 'standard';
	this.adjuster = null;
	if (desc == 'fudge') {
		// 'fudge' system: 3d3, where the d3 gives -1, 0 or +1
		this.dicetype = 'fudge';
		this.dicesides = 3;
		this.rollcount = 3;
	} else {
		// normal system: eg 3d6+2
		var reg = /(\d+)d(\d+)(\+(\d+)|-(\d+))?/;
		var info = desc.match(reg);
		this.rollcount = parseInt(info[1]);
		this.dicesides = parseInt(info[2]);
		this.adjuster = parseInt(info[3]);
		if ( isNaN(this.adjuster) ) this.adjuster = 0;
	}
}
// -----------------------------------------------------------------------
DiceRoller.prototype.parseOpts = function(options) {
	this.optstr = options;
	options = ' ' + options + ' ';
	if (options.indexOf(' show:eachface ') != -1) this.display = 'eachface';
	if (options.indexOf(' show:eachroll ') != -1) this.display = 'eachroll';
	if (options.indexOf(' show:result ') != -1) this.display = 'result';

	if (options.indexOf(' initialroll:yes ') != -1) this.initialroll = true;
	if (options.indexOf(' initialroll:no ') != -1) this.initialroll = false;

	if (options.indexOf(' rollby:click ') != -1) this.rollby = 'click';
	if (options.indexOf(' rollby:link ') != -1) this.rollby = 'link';
	if (options.indexOf(' rollby:button ') != -1) this.rollby = 'button';
}
// -----------------------------------------------------------------------
DiceRoller.prototype.createDice = function() {
    this.results = new Array(this.rolls);
    this.result = 0;
    this.showDice();
}
// -----------------------------------------------------------------------
DiceRoller.prototype.drawRoller = function() {
    var node = document.getElementById(this.id);
	if (this.display == 'eachface') node.innerHTML = this.drawRollerEachFace();
	if (this.display == 'eachroll') node.innerHTML = this.drawRollerEachRoll();
	if (this.display == 'result') node.innerHTML = this.drawRollerResult();

    // getClickHandler() is a function that returns a function.. JS is sweet huh
    if (this.rollby == 'click') {
		node.onclick = this.getClickHandler();
	} else {
		document.getElementById(this.id + '_roll').onclick = this.getClickHandler();
	}
	/*
    var html = '';

	if (this.display == 'eachface')

    html += '<table class="diceroller">';
    html += '<tr>';

	if (this.resultDisplay == 'text') {
		html.push('<td>You rolled ');
	}
	if (this.resultDisplay != 'textsummary') {
		var separator = '';
		for (var roll = 0; roll < this.rolls; roll++) {
			html.push( separator + this.drawDie(roll) );
			if (this.resultDisplay == 'text')	separator = ', ';
		}
		html.push('<td>');
	}
    if (this.resultSystem == 'fudge') {
	var resprefix = '';
	if (this.result > 0) resprefix = '+';
	html.push('Result is ' + resprefix + this.result + '.<br />Click to roll again.</td>');
    } else {
	html.push('<td>'+this.rolls+'d'+this.sides+': you rolled ' + this.result + '.<br />Click to roll again.</td>');
    }

    html += '</tr></table>';
    node.innerHTML = html;
	*/
}
// -----------------------------------------------------------------------
DiceRoller.prototype.drawRollerResult = function() {
	var str = '';
	str += 'Rolling';
	str += ((this.dicetype == 'fudge')?(':'):(' ' + this.rollstr + ':'));
	if (this.result != undefined) {
		str += 'You rolled <strong>';
		str += ((this.dicetype == 'fudge')?(this.addSign(this.result)):(this.result));
		str += '</strong>.';
	}
	str += this.makeRollTrigger();
	return str;
}
// -----------------------------------------------------------------------
DiceRoller.prototype.drawRollerEachRoll = function() {
	var str = '';
	str += 'Rolling';
	str += ((this.dicetype == 'fudge')?(':'):(' ' + this.rollstr + ':'));
	if (this.result != undefined) {
		str += ' You rolled ';
		var joiner = '';
		for (var r = 0; r < this.rollcount; r++) {
			str += joiner + ((this.dicetype == 'fudge')?(this.addSign(this.results[r])):(this.results[r]));
			joiner = ', ';
		}
		str += ' totalling <strong>';
		str += ((this.dicetype == 'fudge')?(this.addSign(this.result)):(this.result));
		str += '</strong>.';
	}
	str += this.makeRollTrigger();
	return str;
}
// -----------------------------------------------------------------------
DiceRoller.prototype.addSign = function(num) {
	return ( ((parseInt(num) > 0)?('+'):('')) + (num) );
}
// -----------------------------------------------------------------------
DiceRoller.prototype.makeRollTrigger = function() {
	var tag = ((this.result == undefined)?(this.rolltag):(this.rollagaintag));
	if (this.rollby == 'click')  return ' Click to ' + tag + '.';
	if (this.rollby == 'link')   return ' <a style="text-decoration: underline" href="#" id="' + this.id + '_roll">' + tag + '</a>';
	if (this.rollby == 'button') return ' <button id="' + this.id + '_roll">' + tag + '</button>';
}
// -----------------------------------------------------------------------
DiceRoller.prototype.drawDie = function(roll) {
    var html = new Array();

	if (this.resultDisplay == 'text') {
		if (this.resultSystem == 'fudge' && this.results[roll] > 0) html.push('+');
		html.push(this.results[roll]);
	} else {
		html.push('<td class="die">');

		//there are seven possible dot positions
		var dots = Array();
		for (var dot = 0; dot < 7; dot++) {
			dots.push('&nbsp;');
		}
		if ( this.results[roll] ) {
			if (this.results[roll] > 1) dots[0] = 'O';
			if (this.results[roll] > 3) dots[1] = 'O';
			if (this.results[roll] == 6) dots[2] = 'O';
			if (this.results[roll]%2 == 1) dots[3] = 'O';
			if (this.results[roll] == 6) dots[4] = 'O';
			if (this.results[roll] > 3) dots[5] = 'O';
			if (this.results[roll] > 1) dots[6] = 'O';
		}
		var pipe = '|';
		var space = '&nbsp;';
		if (this.resultDisplay == 'dice') {
			html.push(',-----.<br />');
			html.push(pipe + space + dots[0] + space + dots[1] + space + pipe + '<br />');
			html.push(pipe + space + dots[2] + dots[3] + dots[4] + space + pipe + '<br />');
			html.push(pipe + space + dots[5] + space + dots[6] + space + pipe + '<br />');
			html.push('`-----\'<br />');
		} else if (this.resultDisplay == 'compact') {
			html.push(dots[0] + space + dots[1] + '<br />');
			html.push(dots[2] + dots[3] + dots[4] + '<br />');
			html.push(dots[5] + space + dots[6] + '<br />');
		}
		html.push('</td>');
	}
    return html.join('');
}
// -------------------------------------------------------------------
DiceRoller.prototype.rollDice = function() {
	this.result = this.adjuster;
	this.results = new Array(this.rollcount);
	for (var roll = 0; roll < this.rollcount; roll++) {
		this.results[roll] = Math.floor((this.dicesides)*Math.random())+1;
		if (this.dicetype == 'fudge') {
			this.results[roll] -= 2;
		}
		this.result += this.results[roll];
	}
	this.drawRoller();
}
// -----------------------------------------------------------------------
DiceRoller.prototype.getClickHandler = function() {
	// trickey bit.. first make a local var that references the
	// current dice roller object, then return an anonymous function
	// that calls that object's roll() method.  woot for closures!
	var thisroller = this;
	return function(e) {
		thisroller.rollDice();
		return false;
	};
}
// =======================================================================
setStylesheet(
	".viewer table.diceroller, .viewer table.diceroller tr { "+
		"border: none;" +
	"} \n"+

	".viewer table.diceroller tr td { "+
		"border: none; " +
	"} \n"+

	".viewer table.diceroller td.die { "+
		"padding: 0.5em; " +
		"font-family: monospace; " +
		"line-height: 0.95em; " +
	"} \n"+

	"",
	"DiceRoller");


//}}}
/***
|''Name:''|saveAndReloadPlugin|
|''Version:''|1.0.1 (11-Oct-2005)|
|''Author:''|SimonBaird|
|''Type:''|Plugin|
|''Description''|Save and Reload - add macros {{{ <<saveAndReload>> }}} anywhere.|

!Code
***/
//{{{
config.macros.saveAndReload = {};
config.macros.saveAndReload.handler = function(place,macroName,params,wikifier,paramString,tiddler)
{
        var label = params[0]||"Save & Reload";
        var tooltip = params[1]||"Save & reload";
        createTiddlyButton(place,label,tooltip,this.onclick);
}
config.macros.saveAndReload.onclick = function()
{
       saveChanges();
       window.location.reload( false );
}

//}}}
Правитель восточных земель планеты Мемориал, горная гряда Грэхэма. Руды. Потомок Грэхэма, первого лорда тех земель.

Б2 "Горная".

г.р. 2372

Наследников у Брана трое, от разных женщин. 
* [[Бьярни Брансон]], 17 лет, работает в кузнечном деле молотобойцем.
* [[Виктор Брансон]], 14 лет на вид, здоровьем слаб, ибо полукровка (мать из нэйре^^th^^)
* [[Роберт Брансон]], 8 лет, на подсобной работе в мастерской ажурной ковки
У Вайрис есть неплохой масс-спектрометр. Она его поставила в свое время на Черное Копье, потом сняла и поставила в свой Научный Коттедж. 
юг. Изделия из золота, драг.камней, философ, астроном и мистик. Говорят, даже маг.
~ 2376 г.р.
В 2??? году ковчег “Новый Завет” прибыл в систему. Комитет колонизации ковчега решил исследовать планеты в системе и корабль направился внутрь системы. Пересекая орбиту будущего Мемориала и проходя мимо планеты ковчег подвергся неожиданной атаке неизвестного противника. Залп фузионных и фотонных гиперторпед противника уничтожил двигательные системы ковчега, систему жизнеобеспечения и вызвал взрыв центрального генератора. На счастье неудачливых колонистов, уцелело 2 колонизационных модуля из 6. Уцелевшее командование отдало приказ на срочную эвакуацию модулей. Отстыкованные колонизационные модули и командный блок совершили вынужденную посадку на самый крупный континент планеты. Один из модулей и командный комплекс приземлились на западном побережье континента (примерно 45 градус с.ш.),  другой модуль приземлился в горах, примерно на 2500 км восточнее.

Выяснилось, что на планете имеется коренное население – две расы, разных и по социальному и по техническому уровню развития. 

Представители первой расы, условно названные (из-за внешнего сходства) “вампирами”, обитают в Долинах (больших ареалах с четко очерченными границами – острова, горные долины и области лесных массивов). Долины располагаются приблизительно в центре больших территорий, которые заселены гораздо менее плотно. Социальная структура расы клановая; особи, живущие в одной Долине беспрекословно подчиняются главе рода, Правителю. Любое его решение – закон. Подобное положение дел обеспечивается крайне сильными телепатическими способностями Правителя. По непонятной прихоти генетики (или по непонятной традиции) все Правители являются мутантами относительно своей расы (все четырехпалы, ладонь и ступня сложена естественно и нарушений строения на рентгеновских снимках не наблюдается и альбиносы). Впрочем в той или иной степени не любят солнечный свет все вампиры. Интересной особенностью женщин расы вампиров (самоназвание - нэйрдары) является отсутствие крыльев. Как показали исследования, вампиры генетически совместими и с людьми и с фэйри. Как правило, от такого брака рождается человек с немного обостренным восприятием и повышенной чувствительностью к ультрафиолету. Исследования совместимости Правителей с колонистами не проводились. Язык вампиров весьма сложен, по фонетическому [алфавитному] составу напоминает санскрит (наличие согласных с придыханием, длинных гласных) и не получил распространения среди колонистов. Вампиры охотно изучали русский язык, интересовались чужой для них культурой и любезно делились с колонистами образцами своего музыкального и песенного творчества. Адекватно перевести их поэмы на русский не удалось. Вампиры не были против появления людей на планете и более первого полустолетия существования колонии вооруженных столкновений не было. Единственное, чего жестко потребовали вампиры – это оставить их Долины неподконтрольными людям. Многие вампиры помогали людям в колонизации и жили в городках колонистов. Диета вампиров практически не отличается от диеты людей. Кровь млекопитающих не входит в их постоянный рацион, однако периодически (примерно раз в 5-7 недель) требуется для возмещения невопроизводимых организмом ферментов и аминокислот. Женским особям кровь еще менее необходими (примерно один раз в 10-12 недель). Утверждения некоторых, что кровь необходима вампирам для усиления псионических способностей (которыми в той или иной мере владеют многие особи) не подтверждены и вызваны вероятно неприязнью к обладателям крыльев, бледной кожи и клыков. Однако “выцеживание” крови сопровождается введением в организм жертвы интересного [фермента], вызывающего у людей и фэйри эйфорию, а у животных сонливость. Возможно этим было вызвано большое количество случаев спровоцированных укусов, пока руководство колонии не запретило официально подобные провокации. Техническое развитие вампиров остановилось на стадии примерно XIII-XV вв Земной истории. По утверждению отдела ментальной безопасности колонии, вампиры уделяют большое внимание духовному развитию.

Вторая раса, названная вампирами “ракаста”, заселяет несколько островов посреди Великих Вод и мало контактировала с колонистами. Биологически ракаста вероятно потомки кошкообразных. Они хищники, но под воздействием неизвестного мутагенного фактора развились до выскоразумных (по утверждениям вампиров) существ. Судя по авиавидеосъемке, раса имеет развитые традиции архитектуры и строительства, но не занимаются развитием техники, изменяя мир вокруг “допотопными” средствами. По утверждению комитета ментальной безопасности, ракаста активно развивают псионику, особенно телепатию и некоторые кинетические школы. Приземлившейся группе неудалось установить контакта с ракаста. Мало того, некоторые действия контактеров привели к вооруженному столкновению. После этого любые контакты с ракаста были запрещены Советом Колонии. Через столетие о ракаста забыли.

// 22.08.2003, 06:55:00, Merlin //
[img[conf/chars/john_kerrigan.jpg][conf/chars/john_kerrigan.jpg]]

* флаг флота

also: https://dl.dropboxusercontent.com/u/48644575/Images.Wiki/john_kerrigan.jpg
Бывший капитан омеги “Богомолы”. Теперь, и уже 5 лет как – скромный океанограф-исследователь на “Дельфине”, уехал с Рэмэм с Авалона в Гиады.

2365 г.р.

Сын - [[Гелий Рейли]].
Договориться со СкайНетом, о поставке 36-ти спутников связи/навигации с условием, что доставку и непосредственный вывод на орбиты я беру на себя.
Точно так же написать официальное письмо в совет (адрес я думаю известен), в котором изложить, что я организовал независимую колонию в Гиадах, и под этот проект мне нужно закупить большое количество оборудования. Оплата будет производиться без кредитования, т. е. целиком моими деньгами со счета в Имперском банке. И мне нужно, чтобы мне посодействовали в выборе интегратора и переговорах с ним. К письму приложить список, озаглавив его "примерный список оборудования", и документ о том, что администрация Грея не имеет возражений. Опять-таки попросить назначить место и примерное время где и когда меня хотят видеть.

Ну и тоже ждать ответа.
* [[Долина Спящего Гнева]] - правитель Aare^^th^^. 
!! Экспертные группы

* ++Экология++ : [[Джонатан Рейли]], [[Тьел]]
* ++Оборона++: [[Кэрриган]]
!! Новые лорды
* [[Митара Ливело]]

!! Старые лорды
* [[Фаранас]]
* [[Дэйл Озерный]]
* [[Вьянтариэль]]
* [[Бран Железнобородый]]
* ++Эдвард Каховски++ - шип-капитан круизера "Белград";
* ++[[Джон Кэрриган]]++ - бывший адмирал Федерации, ныне - Адмирал сил Обороны Новой Колонии;
* [[Джонатан Рейли]]
* ++Алше'анар'е'ссу++ - Арбитр Мемориала (Гиады). Племенами нэйре^^th^^ почитался за Стража Мира, что в общем то правда. Ибо А. своими руками сковал главу Роя Вторжения. Под его предводительством находился [[линкор «Пламя Рассвета»]], который сейчас, частично разрушенный, вплавлен в скалы около Кристалла на 5 планете системы Мемориал.
* ++Тасс'адар++ - Starfleet arbiter, светлый темплар Флота «Мемориал». Находился на линкоре «Пламя Рассвета» и контролировал его при атаке на планетную цель. В настоящий момент существует в виде призрака в информационной матрице корабля.
* [[Линкор Старших Пламя Рассвета]]
север, озеро Длинное, озерный город Эсгарот. Б3 "Озерная"

2390 г.р.
Заключить с интегратором контракт на поставки всего этого оборудования в заданые сроки. Сроки в принципе понятны исходя из того, что монтаж всего этого добра надо делать весной. Кроме того нужно получить технические требования к помещениям, водоснабдению и т. д. — этим будет заниматься наш строительный комплекс.
... отослана в инфорсферу Кэрригана.

Инфа (видеозапись 120 фреймов/сек) о бое Правителя Сайберии и его брата, претендовавшего на ранг Правителя.

См аудизапись от 26 мая.
* [[IRC-канал Common Talks]] 
* [[Мобильные номера]]
* [[Голокрон: прибытие Ковчегов]]
"с этими караванами и всем остальным.... Там же вся эта суета в первую очередь потому, что нужно кормить прорву народа. Как у Митары, так и Керриганы еды отвезти. Нужно завести какой-то счетчик в % — сколько собрали на безбедную зиму."

Мне кажется, что всеми общими усилиями уже должно быть где-то 50-60%.
!! Задача
облететь территорию бывшего центрального княжества и разыскать миниимум 3 торговых каравана. Если таковые на территории на найдутся - расширить круг поисков радиально. 
С каждым караваном постараться заключить договор о торговле с тем, чтобы караван перевозил товары в центральный регион.  При разговорах с торговцами следует акцентировать внимание, на том, что закупки продовольствия планируются в больших количествах. На данный момент предпочтительны бартерные отношения (с нашей стороны одежда, медикаменты итп). Более того, постараться предупредить торговцев о скором (по весне) вводе системы безналичных (кредитных) рассчетов по именным ("золотым") смарт-картам (см. "[[Проект базовой банковской системы колонии Мемориал]]").

!! Состав команды:
[[Крис]], [[Джитар]] - дипломаты
[[Феникс]], [[Сигурд Бешеная Электричка]] - охрана.

!! Примечания
При вылете в поиск ребята засекли караван, едущий прямо к вашему Централу, но забили на него, решив, что с ним разберется Митара (караван №1)
На территории бывшего Ц.К. обнаружили еще 3 каравана, наладить контакт удалось только с двумя из них. 
Решив, что этого мало, ребята расширили круг поисков, и взяв дополнительный радиус 50 км облетели территорию. Обнаружили еще 2 каравана, с одним договорились без проблем, другой пришлось спасать от разбойников. [[Сигурд Бешеная Электричка]] произвел незабываемое впечатление на бандитов. 

!! Результаты
Итого в наличии:
* ++Караван №1++ - с ним договаривался [[Митара]]. Глава каравана - [[Людвиг Одноглазый]]. Мужик оказался умный, выяснили что он сам решил пойти на контакт с вами, происходит он из земель лорда Вьянты. Приехал к вам, привез с миру по нитке - давайте договариваться, что вам надо и что у вас есть?
* ++Караван №2++ - [[Карл Безбородый]]. Общая характеристика Крис - "жаден, хитер, своего не упустит, мне не нравится, но торговать он с нами согласился"
* ++Караван №3++ - [[Ансельм Волк]]. Характеристика Крис: "стрёмный какой-то. у меня создалось впечатление, что он знает о нас больше, чем говорит". 
* ++Караван №4++ - [[Матушка Яна]]. У Крис от нее остались впечатления самые позитивные.
* ++Караван №5++ (спасали от бандитов) - [[Дарий Криворогов]]. Весь караван загружен хавкой, везли бочки пива и медовухи в [[Озерное Княжество]] с какого-то [[Зеленого Дола|Зеленый Дол]]. Согласен продать и вам всё это безобразие, за золото или что-нибудь ценное, что можно будет впарить потом в Зеленом Доле... 

! Примечания Гегемона
Так. Значит, нужно делать сразу две вещи. 

# Всем караванам надо предоставить образцы. Бесплатно естественно. Одежды, медикаментов, и что им там еще надо. Кстати, на счет одежды: скачать из Империи и распечатать каталоги и тоже раздать. Естественно убрав оттуда все ценники. И, наконец, разобраться сколько чего они хотят, чтобы загрузить Митару едой и вином (пиво не хранится) на всю зиму. Кстати, нужно еще не забывать про парней Керригана. Предлагать ему еду сразу не буду, но Митару надо загружать с рассчетом на то, что ВКС нужно будет кормить из этих же запасов.
# Вооружившись образцами всякой всячины: одежда, ткани(!), медикаменты и т. д. отправить команду дополненую месными по окресныи деревням с тем, чтобы скупить у них все продовольствие которое они готовы продать.
# 3. К Митаре отправить [[Тинве]]. :) И пусть учит его пользоваться ноутбуком. 
## //На сколько я понимаю, Митара не будет против того, что его будет обучать кто-то мелкий. Но Тинве строго на строго приказать общаться с Митарой крайне уважительно, не забывать кто он такой, и пригрозить Геламаром за любые выходки. :) // Кончится все тем, что Тинвэ станет секретарем Митары.// Не-не-не... Если так начнет случаться, то я сам поговорю с Митарой. Тинве должен именно УЧИТЬ Митару все делать, а не делать за него. //
!! Цель

!! Промежуточные итоги
Предварительные отчеты [[Отчет Тьела о поездке к Брану]], [[Отчет Рэйна о поездке к Брану]], [[Отчет Кэрригана о поездке к Брану]]
[[Предварительный вывод по Брану]]

!! Итоги
И еще одно. Митара там запарен, конечно сильно, но надо ему сказать, чтобы постарался в ближайший месяц выкроить свободную неделю для светских мероприятий -- надо бы мне с ним посетить остальных баронов. Впрочем это НЕ неотложное мероприятие. Может быть даже лучше этим заняться в начале зимы, когда всем станет делать нефиг. :)

Митара:
-- Может всех на "новый год" посетим? Тут у них в середине зимы такой праздник есть. Вообще бред, праздновать новый год надо в начале Бельтейна. 
-- Митара, Новый Год можно праздновать когда угодно. :) Это фикция. Но идея очень хороша.
??? @@Координационный центр@@

В общем квест такой:

Взять одного-двух человек из команды [[Сигурда|Сигурд БЭ]] (или хочет — сам). Авалонского рыцаря (который тут у нас есть — того и взять), и двух ребят от Керригана. На всякий случай. С Керриганом я договорюсь сам.

В группе главный — человек Сигурда. Общее руководство на нем в общем.

Взять флаер и отправиться путешествовать.

Цель — найти детей по критериям. Всем раздать радиомаяки (у нас есть). 40 человек.

Срок — полтора месяца, так что не рассиживаться нигде, но искать вдумчиво.

Выходить на связь каждые 8 часов. Если какой-то сеанс будет пропущен — будем пеленговать флаер и высылать войска. Так что пусть будет аккуратен в этом моменте.

Собственно почему маяки..... Когда раздадут все маяки, тогда и соберем детей за один проход.
Чтобы не мариновать их тут у меня хрен знает сколько времени.....
----
Критерии выбора просты:
1. Средний класс. Т. е. чтобы и нос небыл задран до небес, и чтобы когда этот ребенок вернется у него были какие-то перспективы эти знания применить.
2. Не тупой. Но желательно (не обязательно) пока что без образования. Ну чтобы как бы с чистого листа учить.
3. Способности к магии/псионике приветствуются, но не обязательны. А хотя..... Не приветствуются. Короче глубоко пофиг на их наличие.
4. Средний-то средний, но не подойдут дети менял, и прочих сильно-себе-на-уме. Т. е. чтобы у ребенка не только была возможность пойти "в массы", но и реально он это сделал бы.
дети ремесленников, по сути
----
Даже не так..... Земли облетать так:
Земли Вьянты.
Земли Митары
Земли Озерного. Предварительно согласовав.
Земли Фаранаса. Предварительно согласовав.


+ [[юмор: школьный коллектив]]
!! Цель
Насчет медикаментов я думал. На самом деле все не так уж и сложно. Нужны просто наглядные демонстрации и все пойдет как надо. Естественно все должно быть максимально простым в употреблении: таблетки, автоинъекторы... И ничего особенного им не надо. Нормальный аспирин, пара-тройка антибиотиков, жаропонижующее, пара-тройка стимуляторов. Больше ничего пока не надо. Я себе представляю что будет если выдать им там какой-нибудь... даже не знаю... Короче: чтобы они не убились. И подробно объяснять при каких симптомах что надо применять, и что будет если переборщить.

!! Промежуточный итог
[[Джонатан Рейли]] предлагает выпускать специальный ++"чемоданчик для сельдока"++: В нем набор простейших лекарственных средств с инструкцией по применению и буклетом - "что при каких симптомах применять". Можно взять за основу медицинский набор для полицейских медиков.
+++[диалог]>
** Райден: Да. Отлично! Джонатан гений. Именно это и сделать. Сначала собрать что-то аналогичное просто как демонстрационный образец, а поставки будет именно таких чемоданчиков. Мы просто профильтруем набр лекарств чтобы убрать оттуда что-то действительно опасное.
** Джонатан: -- Окей, Рем. Мне нужна связь с Конфедерацией на полчасика и состав такого чемоданчика я вам напишу. Ничего такого, чего нельзя будет купить в _обычной_ аптеке, туда не войдет. Ну разве что буклет, но это думаю, не проблема. 
** Райден: -- Так. Буклеты не проблема, но нужно заказать еще и сами чемоданчики. Т. е. чтобы все это выглядело нормлаьно, а не как кашелка знахарки. 
** Джонатан -- Давайте сначала сделаем состав, а чемоданчики... -- Джонатан полистал свой комм, -- у меня есть контакты в одной конторе, которая формировала обеспечение полиции на Фомальгауте... правда я с ними уже года три не общался, но если что - найду другую.
** Райден: -- Отлично.
===

Через минут 40 Джонатан принес три варианта списка "doctor bag"-ов. 
# Для самостоятельного использования - простейший
# Для использование минимально обученным человеком - получше.
# Для использования курсантами полиции - "официальный" package.

С конторой он связался, там его помнят смутно, человек, который с ним работал уволился, в общем Джонатан предполагает, что ему придется самому лететь на Фомальгаут.

!! Итоги
[[Итоги: рекрутинг сельских докторов]]
[[Итоги: микроавтобус сельдока]]
!! Квест: новые шрифты

Квест Тени (ну и Тьела ей в помошники): создать шрифты всех алфавитов. Как минимум, Нейрет, Старрелов и Хелора.
Если сделает еще и патч для драйвера клавиатуры — отлично. Не сделает — не беда. 
А.... Наклейки..... Какие нафиг наклейки? :) Они там с планшетом? Там экранная клавиатура.... :) А когда дойдет до ноутов — придумаем что-нибудь.

# [[Контакты с бюджетным отделом Имперской Администрации]] - продать иридий, получить счет в банке.
# [[Договориться с советом колонизации и определиться с конторой-интегратором]]
# [[Заключить с интегратором контракт]]
# [[Договор со Скайнетом]]
# [[Найм персонала]]
!! Квесты-поездки к Лордам
* [[Квест: Экспедиция к Лорду Брану Железнобородому]] -- в процессе, монтаж оборудования.
* [[Квест: поезда к Озерному Лорду]]
* [[Квест: поездка к Фарансу, прибрежному лорду]]

!! Квесты на выживание
* [[Квест: медикаменты и аптечки]]
* [[Квест: зимняя школа]]
* [[Квест: Контакты с караванами]] -- завершен, [[Итоги: сбор продовольствия]]

!! Квесты на зиму, вспомогательные
* [[Квест: зимние балы]]
Договориться с канцелярией (бюджетным отделом) Грея о том, что язагоню им к такой матери эти две тонны иридия. И получить банковский счет в имперском банке.

Так. Надо договариваться с канцелярией Грея. Я думаю, что проще всего будет обратиться еще разок к Лозинскому, при чем почтой. Извиниться, что я нагружаю его работой не по его рангу, но изложить ему самую суть дела и попросить организовать для меня встречу с кем надо из бухгалтерии или как оно там называется у них.
Суть изложить таким примерно образом, что для закупки большого количества оборудования мне нужен целевой счет в банке, который я готов обеспецить поставкой двух тонн иридия. Тут же выразить желание, чтобы этот иридий целиком пошел на укрепление военного флота Империи.
Собсвтенно, он скорее всего сам этим заниматься вообще не станет, а отправит это письмо куда надо со своими коментариями. И уже оттуда мне напишут и скажут когда и где меня хотят видеть. 

Окей?
!! Звездная система Новой Колонии

Все орбиты менее вытянутые. 

# ++«Меркурий»++
# ++Неверленд++, но вместо океана слой фосгеновых облаков, выше — прослойка кислорода, но температура не пригодна для жизнедеятельности (порядка 400 градусов по цельсию), на пиках гор места для жизни мало. Что там творится внизу — вообще загадка.
# ++«Роща Богов»++ - параметры орбиты практически совпадают с орбитой земли. 
# ++«Мемориал»++ - основная планета Гиадской Колонии. (17/24)
# ++«Кладбище»++ - закопухи Младших и Старших, не рекомендуется к посещению, индекс 18/24. Расстояние между орбитами — ближе чем от земли до марса.
# ++Газовый гигант++ примерно в 2 раза меньше юпитера, забавен тем что на нем есть большие запасы тяжелого водорода.
# ++Кометно-астероидный пояс++, в основном лёд, а не камни. 
# ++Планета типа сатурна++, с кольцами и того же размера. Орбита ооооооочень вытянутая. 
# ++Потом всякий мусор++
Линкор атаковал Храм Забвения, выстроенный на планете адептами Хаоса. Основной целью Тассадара было сконцентрировать мощь линкора для разрушения энергетической структуры Врат Хаоса. Он в этом преуспел частично. Незадолго до того, как линкор должен был перейти в квантовую форму (энергия + воля + информация; энергия + воля – закрывает, информация - backup), Храм взорвался и Тассадар попытался вывести корабль из штопора. Не преуспев в этом, он погиб (его инфоматрица впечатана в корабль).

Форм-фактор - эллипсоид, сплюснутый с трех сторон гранями треугольника. В вершинах находятся пилоны. Хвостовая часть - "украшена" элиппсоидами двигательной системы. Соответственно у корабля ++3 борта++.

| ++Тип:++ | Линкор |>|>|>|
| ++Местоположение:++ |Гиады, система Мемориал, 5 планета. Район кристалла, вплавлен в камни |>|>|>|
| ++Текущее состояние:++ | Структурная целостность: | 60% |>|>|
|~| Вещественная целостность: | 50% |>|>|
|~| Энергетическая целостность: | 40% |>|>|
| ++Предводитель++ | Светлый Темплар Тасс'адар |>|>|>|
| ++Вооружение++ | Главный калибр: | сингулярный излучатель (конвертор ПВК) | (Э: 69, С: 34) |>|
|~| Основной калибр: | 3 фазерных излучателя на пилонах  | 1 | (Э: 70, С: 90) |
|~|~|~| 2 | (Э: 70, С: 30) |
|~|~|~| 3 | (Э: 69, С: 10) |
|~| Вспомогательные орудия: | Лазерные батареи | (30-60;10-100) |>|
|~|~| Плазменные орудия (побортно): | (30-60;10-100) |>|
|~|~| Гиперкинетические ракеты: | нет |>|
| ++Броня:++ | Композиционная силовая броня | ~~(бронепластины, сконфигурированные и <br>усиленные силовым полем)~~ | (Э: 80%, С:60%) |>|
|~| Текучая броня | ~~(бионанокерамический композит)~~ | (Э: 100%, С: 2%) |>|
| ++Щиты++ | «Плащ Света» | фотонно-плазменная защита | (Э: 14%, С: 47%) |>|
|~| «Щит Силы» | силовой антикинетический гиперпространственный <br>активный щит | (Э: 95%, С: 70%) |>|
| ++Особое:++ | Генератор Страж-поля | Э: 20% ;С: 70% |>|>|
|~| Релокатор Страж-поля типа «Маяк Света» | Э: 80% ;С: 4% |>|>|
|~| Лазерная противоракетная защита | Э: 45% ;С: 50% |>|>|
|~| Внутренняя система регенерации | Э: 15% ;С: 30% |>|>|
|~| Главная энергетическая установка «Звезда» | Э: 30% ;С: 52% |>|>|
|~| Энергоресурс | 30% |>|>|
|~| Ресурс субматерии | 32% |>|>|
| ++Авиабаза:++ |должно быть: 6 авиационных палуб, <br>на каждой стартовые гнезда для 8 интерсепторов |>|>|>|
| ++Текущее<br>состояние<br>авиабазы++ | № палубы | состояние  | кол-во<br>интерсепторов | состояние |
|~| 1 | Э: 40%, С: 90% | 1 | (40%, 100%) |
|~| 2 | Э: 90%, С: 50% | 2 | (100%, 56%) |
|~|~|~|~| (70, 44) |
|~| 3 | Э: 16%, С: 70% | 1 | (15%, 70%) |
|~| 4 | Э: 4%, С: 2% | - | - |
|~| 5 | Э: 2%, С: 0% | - | - |
|~| 6 | Э: 0%, С: 0% | 1 | (3%, 3%) |
| ++Двигатели<br>пространственные:++ | гравитационного луча | Э: 29%, С: 10% |>|>|
|~| реактивного типа | Э: 63%, С: 29% |>|>|
| ++Двигатели<br>вне-<br>пространственные:++ | двигатель фазового перехода | Э: 99%, С: 69% |>|>|
| ++Двигатели<br>внутрисистемные:++ | гравитационный маятник | Э: 1%, С: 71% |>|>|
| @@Тактико-технические характеристики истребителя@@ |>|>|>|>|
| ++Вооружение:++ | 2 плазменных излучателя |>|>|>|
| ++Длительность автономного<br>функционирования::++ | 7200 секунд (2 часа) |>|>|>|
| ++Радиус действия:++ | 2 световых минуты |>|>|>|
| ++Скорость:++ | Максимум вне атмосферы: | 0,1 c |>|>|
|~| Максимум в атмосфере: | до 100 М |>|>|
| ++Спец.возможность:++ | Пространственная фуга (мгновенная телепортация в пределах страж-поля корабля). <br>Требует 200 секунд ресурса автономной работы. |>|>|>|
Квест Джонатану:

(пока они летают, пусть) Джонатан присмотрит место где строить госпиталь. Ну не на этом же острове......

++Rain++
Ок. С запасом или элитный "для своих" ?
Короче, на сколько коек?
Джонатан, кстати, не присмотрит. Джонатан на Фомальгауте должен быть.

++Глеб++
На сколько хочет — на столько и пусть. Но нужно понимать, что строиться он будет постепенно. В процессе. На первых парах я смогу обеспечить буквально только жилье и кое-какие приемные палаты. Что-то у меня вся команда на фомальгауте. Ну.... Значит привезем ему карту и аэрофотосъемку. Пусть пока прикинет места которые будем смотреть.....
Министров назначает Предоминант. Министр исполняет свои обязанности вплоть до того момента как Предоминант отстранит его.
{{{
Reserved numbers	- 000-009

Remidor Vivaltis 	- 078 +
Tyel 			- 080 
Rain			- 070
Ghost (human)		- 050
Ghost (BlackStar)	- 027
Jitar			- 051
Hakky			- 040

Гэллемар		- 041
Тинвэ
Кэрриган

Mitara Livelo		- 065 +
Форт "Центральный" #1	- 999 + 
Бэлор ал Тэрио		- 028 +
Стив (Корти)		- 075 +
Аниэль			- 025 +


Raven			- 970 
Phoenix			- 971
}}}
Найти наемный персонал, который сможет обеспечить выполнение колонизационных задач в Гиадах.
++Отчет Керригана++ на бумаге написан сухим и отстраненным языком, хотя часто он срывается с обезличенного "комиссия провела осмотр", "было рассмотрено", "проведено обсуждение" на вполне персонализированные "лорд сказал, что", "я пообещал договориться", "мужик толковый, но несколько упертый", итп. В целом подробно, конкретно и понятно. На полях отчета сделана пара рисунков, один - какая-то аццкая механизма с колесами, а второй рисунок - вылитый Тьел грызет ноготь.
++Отчет Рэйна++ больше напоминает расшифровку видеозаписи (которая впрочем приложена) с короткими отметками по таймштампам. И записка - "извини, сто лет не писал от руки, забыл как делается ;) надеюсь, смотреть не надоест"
Самый короткий - ++Тьела++ - на эльфийском:
"Летали. Шумно, пыльно, грязно, болят уши. Все работают, им не до нас. Смотрят косо - бездельничаем. Хотя мелкий хорошенький. Я бы его поцеловал, если отмыть. Но ты все равно самый лучший. Мяу. Т."
Правительство управляет Новой Колонией не советуясь с Предоминантом. Правительство обязано ставить в известность Предоминанта и Совет Гегемонии Жизни о принятых решениях до того как эти решения начнут исполняться.

Правительство Новой Колонии состоит из граждан представляющих министерства (министров) и граждан представляющих районы проживания (сенаторов)
По итогам просмотра отчета Рэйна делаешь следущие выводы:

# Лорд Бран экспортирует металл в слитках с маркировкой, различные изделия из металла, в том числе и оружие. Гегемону лорд согласился поставлять саму руду, но лишь в виде эксклюзивных поставок и только для переработки.
# Импортирует лорд Бран продукты питания и изделия легкой промышленности (по формулировке Керригана) - одежду, вино и пиво, домашнюю утварь и лекарства.
# В защите и военной помощи не нуждается, содержит небольшую армию, "гвардию", Кроме того, львиная доля населения - кузнецы или шахтеры, а они ребята суровые и оружие в руках держать умеют. Кроме того, молодежь в 18 лет полгода проводит на обязательной "военной службе", где постигает премудрости военной науки (точнее обороны). 
# Наследников у Брана трое, от разных женщин:
** Бьярни Брансон, 17 лет, работает в кузнечном деле молотобойцем.
** Виктор Брансон, 14 лет на вид, здоровьем слаб, ибо полукровка (мать из нэйреth), сидит на организационной работе
** Роберт Брансон, 8 лет, на подсобной работе в мастерской ажурной ковки
Высшее должностное лицо Колонии, единоличный правитель.

++Имеет право:++
* отстранить любого [[сенатора|Сенат]], назначив новые выборы
* пересмотреть или отменить любое решение [[Правительства Новой Колонии|Правительство Колонии]] и [[Совета Гегемонии Жизни|Совет Гегемонии Жизни]]. 
* принять любое решение не советуясь ни с правительством, ни с советом
* принять решение, противоречащее законам, правилам и моральным нормам Новой Колонии. В этом случае он обязан предстать перед судом [[Совета Гегемонии Жизни|Совет Гегемонии Жизни]].

++Не имеет права:++
* назначать [[сенатора|Сенат]]
* в случае трехкратного избрания одного и того же сенатора после его отстранения не имеет права отстранять его в течении трех (3-х) месяцев.
* назначать или снимать Советников, входящих в [[Совет Гегемонии Жизни]].
!! Вертикаль власти
|>|>|>| [[Предоминант]] |
|>| &nbsp;[[Правительство Колонии]]&nbsp; |>| &nbsp;[[Совет Гегемонии Жизни]]&nbsp; |
| [[Министры]] | [[Сенат]] |~|~|

!! Властные структуры
* [[Совет Гегемонии Жизни]]
* [[Предоминант]]
* [[Министры]]
* [[Правительство Колонии]]

!! Устав Новой Колонии
* <<slider sldExtendedFormatting1 "Устав: Общие положения" "Общие положения о Новой Колонии">>

* <<slider sldExtendedFormatting2 "Устав: Граждане и гости" "Граждане и гости Новой Колонии">>

* <<slider sldExtendedFormatting3 "Устав: О совершеннолетии" "О совершеннолетии">>

* <<slider sldExtendedFormatting4 "Устав: Кодекс поединков" "Кодекс поединков">>
* описание Двимерита, Адамантита, Этерниума и Мифрила выложены в вики (инфа получена от Магиуса)
* в чат дана ссылка на описания
* разосланы квесты вида "заберу за вознаграждение" вышеупомянутые самородки. 
Совет Гегемонии Жизни состоит из одного представителя (советника) от каждой расы проживающей на территории Новой Колонии. 

Совет находится вне власти предоминанта и обладает абсолютной ==запрещающей== (затормаживающей) властью

Совет Гегемонии Жизни может приостановить выполнение любого решения Правительства и представить Предоминанту свои возражения.

Советников избирают сами советники путем поименного голосования. 

Советник избирается однажды и выполняет свои обязанности до тех пор, пока он сам или Совет не сочтет нужным переизбрать его. Предоминант не имеет права ни назначить Советника ни снять его.
+++[How to create new tiddlers based on a template tiddler]> 
If you create tiddlers with the same information over and over (contacts, quotations, recipes, etc), you are probably going to want a template tiddler to save time. Then you are going to want a macro that creates a new tiddler that includes the information from the template. Here's how:

#''Create the template tiddler.'' Put text and tables and formatting exactly the way you want your new tiddlers based on this template to appear.
#''Create a macro that will open a new tiddler based on your template.''<br>Where I have listed YYYY, insert the words you want to appear in the label for your macro. Where I have listed ZZZZ, insert the exact title of the template tiddler that each new tiddler will be based on. Where I have XXXX insert any tags that you want to be appended to each tiddler that the macro creates.
/*{{{*/
<<newTiddler label:"YYYY" tag:"XXXX" text:{{store.getTiddlerText('ZZZZ')}}>>
/*}}}*/

3. ''Decide where you are going to store your macro.'' You can add it to the SideBarOptions menu under 'new tiddler' and 'new journal.' Or you can add it to a tiddler that you can access from your MainMenu. 

===
----
+++[Исключающие теги]> 
* excludeLists - исключает записку из списка тегов
* excludeSearch - исключает из поиска ?
К сожалению, чтобы исключить определенные теги из доступного списка, нужно специально настраивать Delicous Tagging Plugin
===
----
+++[Create forms with editable fields]> 
I'm not going to show you how to do this. You will need to download the ~FormTiddlerPlugin and the ~DataTiddlerPlugin from Abego Extensions and consult the documentation for specific instructions. But if you would like to see a form in action, check out my ~NewBookTemplate in ~BibblyWiki, a ~TiddlyWiki I created to manage bibliographies, take book notes and organize personal libraries.

The template is [[here|http://www.giffmex.org/bibblywiki.html#NewBookTemplate]]:
A tiddler based on the template is [[here|http://www.giffmex.org/bibblywiki.html#%5B%5BWright%2C%20N.T.%2C%20Jesus%20and%20the%20Victory%20of%20God%5D%5D]]. 

I recommend you doubleclick them both to see what they look like in edit mode.

''To create a button'' which creates a new tiddler based on the template, here is the macro syntax:

{{{<<newTiddler label:"XXXX" text:{{"<<formTiddler ZZZZ\>\>"}} tag:"OOOO">>}}}

Replace XXXX with the name for your macro label. (ex: "Add a new book")
Replace ZZZZ with the name of the template tiddler. (ex: ~NewBookTemplate)
Replace OOOO with any tag you would like to have appended to every tiddler created by this macro (ex: "booknote")

You can place your new macro in SideBarOptions or in a tiddler accessible from the ~MainMenu.

===
----
@@ВАЖНО:@@ Примеры работы плагинов будут недоступны, если сами плагины отключены.

+++[Plugin: slider - встроенный слайдер. Создает кнопку-ссылку, при нажатии на которую раскрывается содержимое другой записки.]> 
Простой слайдер. Создает кнопку-ссылку, при нажатии на которую раскрывается содержимое ++другой++ записки.
!!!Слайдер: {{{<<slider chkTestSlider OptionsPanel Настройки "То же, что и 'опции'">>}}}
Результат: <<slider chkTestSlider OptionsPanel Настройки "То же, что и 'опции'">>
Параметры по порядку:
№ имя "cookie" для сохранения состояния слайдера
№ имя заметки, содержащей текст слайдера (это может быть любая заметка)
№ заголовок кнопки-ссылки
№ всплывающая подсказка
===
----
+++[br - принудительный перенос строки]>
{{{ <<br>> }}}
Эффект: aaa <<br>> bb
===
----
+++[Plugin: DiceRoller]>
[[DiceRollerPlugin]]
===
----
+++[Plugin: openAll]>
!!! OpenAll @@Deprecated, возможно не реализован в новом ядре@@
Позволяет открывать записки, помеченные определенным тэгом. В отличие от встроенного {{{tag}}} может предварительно закрывать все открытые записи, позволяет задавать надпись для кнопки, устанавливать лимит отображения (не более N записок) и изменять порядок сортировки на обратный.

Формат {{{<<openAll <тэг> [параметры] >>}}}

Тэг обязателен, параметры опциональны и могут следовать в любом порядке.
|!Параметр|!Описание|
|close~AllFirst|Предварительно закрывает все открытые записки|
|title:Текст|Надпись на кнопке|
|limit:#| Замените # на число записок, которое вы хотите отобразить (по умолчанию 10000)|
|reversOrder|Сортировать по заголовкам в обратном порядке|

Пример: {{{<<openAll systemConfig closeAllFirst "title:Системные настройки">>}}}
<<openAll systemConfig closeAllFirst "title:Системные настройки">>
===
----
+++[Plugin: tagging (генератор списка записок по определенному тегу)]>
Использовать просто: {{{ <<tagging "имя тега" "название списка">>}}}
"название списка" опционально.
{{{
<<tagging systemTiddlers "системные">>
}}}
Даст:
<<tagging systemTiddlers "системные">>

Также:
<<tagging "Помощь" "справка">>
===
----
+++[Plugin: ToolBar (internal)]>
The ToolbarMacro is used in the TiddlerTemplateMechanism to define the toolbar that appears when the mouse is hovered over a tiddler. It looks like this:
{{{
<<toolbar closeTiddler -editTiddler +jump>>
}}}
You can precede a command name with a "+" to specify a default command that is automatically chosen when a tiddler is double-clicked, or the ctrl-Enter key combination pressed. Similarly, precede it with "-" to specify a command to be chosen when the Escape key is pressed.
----
Deletes the current tiddler. A confirmation dialogue is displayed unless disabled with the ConfirmBeforeDeleting checkbox in AdvancedOptions. It is used with the ToolbarMacro like this:
{{{
<<toolbar deleteTiddler>>
}}}
Switches the current tiddler to the current edit view. It is used with the ToolbarMacro like this:
{{{
<<toolbar editTiddler>>
}}}
Offers a popup menu to jump directly to any of the currently open tiddlers. It is used with the ToolbarMacro like this:
{{{
<<toolbar jump>>
}}}
Offers a popup menu displaying the tiddlers that link to the current one. It is used with the ToolbarMacro like this:
{{{
<<toolbar references>>
}}}
Saves any pending edits to the current tiddler, and switches it to the default view. It is used with the ToolbarMacro like this:
{{{
<<toolbar saveTiddler>>
}}}
Закрывает все открытые записки кроме текущей (редактируемой). Используется с макросом ToolbarMacro так:
{{{
<<toolbar closeOthers>>
}}}
Сбрасывает все изменения, внесенные в записку и возвращает ее к режиму просмотра.
Используется с макросом ToolbarMacro так:
{{{
<<toolbar cancelTiddler>>
}}}
Closes the current tiddler, regardless of whether it is being editted. It is used with the ToolbarMacro like this:
{{{
<<toolbar closeTiddler>>
}}}

{{{ <<toolBar>> }}}
<<toolBar>>
===
----
+++[Plugin: tagCloud]>
"Облако тэгов" -- отображает все тэги, причем размер шрифта каждого тэга зависит от того, как много записок помечены этим тэгом.
Формат: {{{<<tagCloud>>}}}
Работает для тегов стандартного семейства (tags).
===
----
+++[Plugin: Timeline]>
{{{<<timeline>>}}}
Выводит записи в хронологическом порядке.
===
----
+++[Plugin: Today]>
Текущая дата: {{{<<today>>}}}
Результат: <<today>>
===
----
+++[Plugin: newJournal]>
Новая дневниковая записка: {{{<<newJournal "DD MMM YYYY, hh:mm">>}}}
Результат: <<newJournal "DD MMM YYYY, hh:mm">>
*DDD - день недели
*DD - число, 0DD - добавлять лидирующий ноль
*MMM - название месяца
*MM - номер месяца, 0MM - добавлять лидирующий ноль
*YYYY - год (четыре цифры), YY - две цифры
*hh - часы
*mm - минуты
*ss - секунды
===
----
+++[Plugin: tiddler - Включение записки]>
{{{<<tiddler MainMenu>>}}}
Вставляет текст другой записки в эту.
@@Внимание!@@ На данный момент нет защиты от бесконечных циклов в случае включений "по замкнутому кругу".
===
----
+++[Plugin: Вкладки (tabs, русская версия)]>
{{{
<<tabs txtFavourite
Меню "Главное меню" MainMenu
Опции "Опции" SideBarOptions
>>
}}}
Результат:
<<tabs txtFavourite
Меню "Главное меню" MainMenu
Опции "Опции" SideBarOptions
>>
===
----
+++[Plugin: tabs (английская версия, возможно более полная)]>
!!!<<gradient horiz #fc3 #fff>>&nbsp;[[tabs]]^^<<tiddler CloseThisOpen with: "Macros Built-in"  '« back'>>|<<toolbar editTiddler>>» ^^>>
Tabs are a way of displaying tiddlers in tabular form.  Each tab is a separate tiddler; here's how it's done.

Anatomy of a tab: __{{{<<}}}@@color:#00e;tabs@@ @@color:#c06;"cookie"@@ @@color:#080;{{{[[}}}tab name {{{]]}}}@@ @@color:red;"tool tip" @@ @@color:blue; {{{[[}}}tiddler to be displayed{{{]]}}}@@{{{>>}}}__

This is the code for two tabs:

{{{<<tabs txtMyTabs [[tabname ]] "tool tip" [[tiddler to be displayed]] [[Here is another tab ]] "Another Tab" [[hr]] >>
}}}

!!!<<gradient horiz #abf   #fff>>&nbsp;Here are the tabs for the code above>>
<<tabs txtMyTabs [[tab name ]] "tool tip" [[tiddler to be displayed]][[ Here is another tab ]] "Another Tab" [[hr]] >>
!!!!<<gradient horiz #fcf  #fff>>&nbsp;@@color:#000;Note about wrapping tabs to viewer width@@>>
|bgcolor:#fcf;Leave a space after the __tab name__ before the square brackets. e.g {{{[[tabname ]]}}}.  Wrapping requires white space for it to be accomplished properly.  Leaving a white space after the tab name should allow a large number of tabs to wrap properly even as the screen size is adjusted. As a further note keep in mind tab names with spaces may wrap unpredictably.|
You can force tabs to wrap where you want them by adjusting the titles to have or not have white space; however, it could be unpredictable.

!!!Another way
+++[Create Tabs with a Script]
<<tiddler CreateTabsScript>>
===


!!!!How reference specific tab in a tiddler
Source: [[How reference specific tab in a tiddler? - TiddlyWiki : Google Groups|http://groups.google.com/group/TiddlyWiki/browse_thread/thread/4f7b952f69b523a2]]
{{{
<html><a href='javascript:;' onclick='config.options.tabID="StayViewTabs";story.displayTiddler(story.findContainingTiddler(this),"Styling");story.refreshTiddler("Styling",null,true);'>Styling</a></html>
}}}


!!!<<gradient horiz #abf  #fff>>&nbsp;End of tabs>>
===
----
+++[Plugin: tag - Tag popup]>
{{{ <<tag systemConfig>> }}}
<<tag systemConfig>>
===
----
+++[Plugin: ]>
...
===
----
+++[Plugin: ]>
...
===
----
+++[Plugin: ]>
...
===
----
+++[Plugin: ]>
...
===
----
+++[Plugin: ]>
...
===
----
+++[Plugin: ]>
...
===
----
+++[Plugin: ]>
...
===
----
+++[Plugin: ]>
...
===
----
В целях уменьшения количества "служебных" записок я решил не использовать плагин slidebar и собрать всю справочную информацию в одну записку, применив плагин [[NestedSlidersPlugin]], он генерирует более красивое представление, чем плагин SectionMacro.
+++[Форматирование текста]>
|!Пример|!Реализация|!примечание|
|''жирный''|{{{''жирный''}}}|базовая английская версия, важно: это одинарные кавычки|
|++альтернатива++|{{{++альтернатива++}}}|требует [[RussianTextFormattingPlugin]]|
|==зачеркнутый==|{{{==зачеркнутый==}}}|требует [[RussianTextFormattingPlugin]]|
|__подчеркнутый__|{{{__подчеркнутый__}}}|базовый|
|//курсив//|{{{//курсив//}}}|базовый|
|Superscript: 2^^3^^=8|{{{2^^3^^=8}}}||
|Subscript: a~~ij~~ = -a~~ji~~|{{{a~~ij~~ = -a~~ji~~}}}||
|@@color(green):цветной@@|{{{@@color(green):цветной@@}}}||
|@@bgcolor(green):фон@@|{{{|@@bgcolor(green):фон@@}}}||
|@@выделение@@|{{{@@выделение@@}}}|на основе правила CSS .marked из [[StyleSheetColors]] |
|{{{моноширинный}}}|{{{ {{{моноширинный}}} }}}||
|~ОтменитьWikiWord|{{{~ОтменитьWikiWord}}}||
|[[ссылка]]|{{{[[ссылка]]}}}|
|(-альтернатива-)|{{{(-альтернатива-)}}}|? реализация не уточнена|
|[[внешняя ссылка|куда-то]]|{{{[[внешняя ссылка|куда-то]]}}}|
===
----
+++[Блок моноширинного текста]>
<html>{{{ пример }}}</html>
{{{
пример
}}}
===
----
+++[Горизонтальная линия (hr)]>
{{{ в html реализуется тегом <hr> }}}
{{{ ---- }}}
===
----
+++[Список (ul)]>
{{{
* 1st
** 1st-sub1
* 2nd
** 2nd-sub-1
** 2nd-sub-2
}}}
* 1st
** 1st-sub1
* 2nd
** 2nd-sub-1
** 2nd-sub-2
===
----
+++[Нумерованный список]>
{{{
# 1st
## 1st-sub1
## 1st-sub2
}}}
Альтернатива
{{{
№ 1st
№№ 1st-sub1
№№ 1st-sub2
}}}
# 1st
## 1st-sub1
## 1st-sub2
===
----
+++[Изображение]>
{{{
[img[замещающий текст|image URL]]
}}}
{{{
[img[title|filename]]
[img[filename]]
[img[title|filename][link]]
[img[filename][link]]
}}}
Images can be included by their filename or full URL. It's good practice to include a title to be shown as a tooltip, and when the image isn't available. An image can also link to another tiddler or or a URL
[img[Romanesque broccoli|fractalveg.jpg][http://www.flickr.com/photos/jermy/10134618/]]
{{{
[img[Fractal vegetable|fractalveg.jpg]]
[img[This is shown as a tooltip|http://example.com/image.jpg]]
[img[http://example.com/image.jpg]]
[img[http://example.com/image.jpg][ExampleDotCom]]
}}}
The tooltip is optional.
[<img[Forest|forest.jpg][http://www.flickr.com/photos/jermy/8749660/]][>img[Field|field.jpg][http://www.flickr.com/photos/jermy/8749285/]]You can also float images to the left or right: the forest is left aligned with {{{[<img[}}}, and the field is right aligned with {{{[>img[}}}.
@@clear(left):clear(right):display(block):You can use CSS to clear the floats@@
{{{
[<img[A woody bit of Hampstead Heath|forest.jpg]]
[>img[A field near Milton Keynes|field.jpg]]
}}}
===
----
+++[Изображение в заголовке]>
Открываем [[PageTemplate]] и заменяем {{{<div class='header'...> }}} на следущее:

{{{ <div class='header' style='background: #A9CDEF url(path/image.extension) top left no-repeat'> }}}

{{{ role='banner' }}} я думаю, можно оставить. Таким образом, для данного tw будет следущий вид:

{{{<div class='header' role='banner' style='background: #A9CDEF url(path/image.extension) top left no-repeat'> }}}
@@Важно:@@
background: color стоит подбирать в тон картинке. 
Может быть, можно использовать base64-encoded изображения.
===
----
+++[Таблицы]>
Строка таблицы начинается с вертикальной черты (|).
{{{
|Закончите строку латинской с, чтобы создать название таблицы|c
|!Для заголовка "!" сразу после вертикальной черты.|!Заголовок2|!Заголовок3|
|строка1 столбец1|строка1 столбец2|строка1 столбец3|
|>|>|Объединение столбцов - знак "больше" ( >)|
|Объединение строк - знак " ~"|>| Пробел выравнивает вправо|
|~|>| Пробелы с обеих сторон центруют |
|>|>|bgcolor(green):Цвет фона bgcolor(цвет):|
}}}
|Закончите строку латинской с, чтобы создать название таблицы|c
|!Для заголовка "!" сразу после вертикальной черты.|!Заголовок2|!Заголовок3|
|строка1 столбец1|строка1 столбец2|строка1 столбец3|
|>|>|Объединение столбцов - знак "больше" ( >)|
|Объединение строк - знак " ~"|>| Пробел выравнивает вправо|
|~|>| Пробелы с обеих сторон центруют |
|>|>|bgcolor(green):Цвет фона bgcolor(цвет):|

===
----
+++[Цитаты (blockquotes)]>
{{{
<<<
"Beware the Jabberwock, my son!
The jaws that bite, the claws that catch!
Beware the Jubjub bird, and shun
The frumious Bandersnatch!"
<<<
}}}
<<<
"Beware the Jabberwock, my son!
The jaws that bite, the claws that catch!
Beware the Jubjub bird, and shun
The frumious Bandersnatch!"
<<<
{{{
>У попа была собака
>...
>На могиле написал:
>>У попа была собака
>>...
>>На могиле написал:
}}}
>У попа была собака
>...
>На могиле написал:
>>У попа была собака
>>...
>>На могиле написал:
===
----
+++[Заголовки]>
{{{
!Заголовок
!!Подзаголовок
!!!Подзаголовок 2
!!!!Подзаголовок 3
!!!!!Подзаголовок 4
}}}
!Заголовок
!!Подзаголовок
!!!Подзаголовок 2
!!!!Подзаголовок 3
!!!!!Подзаголовок 4
(и так далее до 6 уровня)
===
----
+++[inline HTML]>
{{{
<html>
С недавних пор в <a href="http://www.tiddlywiki.com/">TiddlyWiki</a> появилась возможность использовать <b>внедренный HTML</b>
</html>
}}}
<html>
С недавних пор в <a href="http://www.tiddlywiki.com/">TiddlyWiki</a> появилась возможность использовать <b>внедренный HTML</b>
</html>
===
----
+++[Спецсимволы HTML]>
Entities in HTML documents allow characters to be entered that can't easily be typed on an ordinary keyboard. They take the form of an ampersand (&), an identifying string, and a terminating semi-colon (;). There's a complete reference [[here|http://www.htmlhelp.com/reference/html40/entities/]]; some of the more common and useful ones are shown below. 
|>|>|>|>|>|>| !HTML Entities |
| &amp;nbsp; | &nbsp; | no-break space | &nbsp;&nbsp; | &amp;apos; | &apos; | single quote, apostrophe |
| &amp;ndash; | &ndash; | en dash |~| &amp;quot; | " | quotation mark |
| &amp;mdash; | &mdash; | em dash |~| &amp;prime; | &prime; | prime; minutes; feet |
| &amp;hellip; | &hellip; | horizontal ellipsis |~| &amp;Prime; | &Prime; | double prime; seconds; inches |
| &amp;copy; | &copy; | Copyright symbol |~| &amp;lsquo; | &lsquo; | left single quote |
| &amp;reg; | &reg; | Registered symbol |~| &amp;rsquo; | &rsquo; | right single quote |
| &amp;trade; | &trade; | Trademark symbol |~| &amp;ldquo; | &ldquo; | left double quote |
| &amp;dagger; | &dagger; | dagger |~| &amp;rdquo; | &rdquo; | right double quote |
| &amp;Dagger; | &Dagger; | double dagger |~| &amp;laquo; | &laquo; | left angle quote |
| &amp;para; | &para; | paragraph sign |~| &amp;raquo; | &raquo; | right angle quote |
| &amp;sect; | &sect; | section sign |~| &amp;times; | &times; | multiplication symbol |
| &amp;uarr; | &uarr; | up arrow |~| &amp;darr; | &darr; | down arrow |
| &amp;larr; | &larr; | left arrow |~| &amp;rarr; | &rarr; | right arrow |
| &amp;lArr; | &lArr; | double left arrow |~| &amp;rArr; | &rArr; | double right arrow |
| &amp;harr; | &harr; | left right arrow |~| &amp;hArr; | &hArr; | double left right arrow |
The table below shows how accented characters can be built up by subsituting a base character into the various accent entities in place of the underscore ('_'):
|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>| !Accented Characters |
| grave accent | &amp;_grave; | &Agrave; | &agrave; | &Egrave; | &egrave; | &Igrave; | &igrave; | &Ograve; | &ograve; | &Ugrave; | &ugrave; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; |
| acute accent | &amp;_acute; | &Aacute; | &aacute; | &Eacute; | &eacute; | &Iacute; | &iacute; | &Oacute; | &oacute; | &Uacute; | &uacute; | &nbsp; | &nbsp; | &Yacute; | &yacute; | &nbsp; | &nbsp; |
| circumflex accent | &amp;_circ; | &Acirc; | &acirc; | &Ecirc; | &ecirc; | &Icirc; | &icirc; | &Ocirc; | &ocirc; | &Ucirc; | &ucirc; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; |
| umlaut mark | &amp;_uml; | &Auml; | &auml; | &Euml; | &euml; | &Iuml; | &iuml; | &Ouml; | &ouml; | &Uuml; | &uuml; | &nbsp; | &nbsp; | &Yuml; | &yuml; | &nbsp; | &nbsp; |
| tilde | &amp;_tilde; | &Atilde; | &atilde; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &Otilde; | &otilde; | &nbsp; | &nbsp; | &Ntilde; | &ntilde; | &nbsp; | &nbsp; | &nbsp; | &nbsp; |
| ring | &amp;_ring; | &Aring; | &aring; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; |
| slash | &amp;_slash; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &Oslash; | &oslash; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; |
| cedilla | &amp;_cedil; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &Ccedil; | &ccedil; |
===
----
+++[Custom-стили CSS]>
{{{
@@color:green;green coloured@@
@@background-color:#ff0000;color:#ffffff;red coloured@@
@@text-shadow:black 3px 3px 8px;font-size:18pt;display:block;margin:1em 1em 1em 1em;border:1px solid black;Access any CSS style@@
}}}
@@color:green;green coloured@@
@@background-color:#ff0000;color:#ffffff;red coloured@@
@@text-shadow:black 3px 3px 8px;font-size:18pt;display:block;margin:1em 1em 1em 1em;border:1px solid black;Access any CSS style@@
===
----
+++[Комментарии]>
To hide text within a tiddler so that it is not displayed you can wrap it in {{{/%}}} and {{{%/}}}. It can be a useful trick for hiding drafts or annotating complex markup. 
===
<<br>>
Принудительный перенос текста: {{{<<br>>}}}
* [[Долины нэйрэth|Долины нэйрэth]]
* [[Княжества]], земли Правителей
# Всякий гражданин Новой Колонии имеет право иметь гражданство любого другого государства или любого количества любых других государств в явной или неявной форме. Тем не менее находясь на территории Новой Колонии он обязан подчиняться законам, правилам и моральным нормам принятым в Новой Колонии.
# Всякий гражданин Новой Колонии обязан приносить пользу по крайней мере самому себе, непосредственно или опосредованно участвуя в общественной жизни, работе или мероприятиях проводимых в Новой Колонии.
# Всякий гражданин Новой Колонии обязан бережно относиться к собственности Новой Колонии каковой являются машины, строения, сооружения, живая и неживая природа, орбитальные станции и тому подобное. Всякая порча имущества включая загрязнение окружающей среды, необдуманное истребление живых организмов относящихся как к животному так и к растительному миру, разбазаривание ресурсов и другие подобные действия будут вести к гражданской или уголовной ответственности.
# Всякий гражданин Новой Колонии может исповедовать любую религию, верование или учение если сама религия, верование или учение, или отдельные  обряды не противоречат законам, правилам или моральным нормам принятым в Новой Колонии. Так же каждый гражданин может сколь угодно агитировать других граждан и гостей Новой Колонии за принятие своей религии, верования или учения до тех пор пока агитация не раздражает других граждан Новой Колонии и не противоречит ее законам и правилам.
# Всякий гражданин Новой Колонии может придерживаться любой сексуальной ориентации, пищевых предпочтений и жизненной философии при условии, что это не связано с насилием, обманом или порчей имущества.
# На всей территории Новой Колонии ко всем гражданам и гостям колонии принято обращение Человек. Исключение делается в тех случаях когда это противоречит моральным нормам гражданина или гостя, или при необходимости конкретного указания расы.
# Всякий человек даже не будучи гражданином Новой Колонии может просить политического убежища в Новой Колонии. Его просьба будет рассмотрена. Всякий человек даже не будучи гражданином Новой Колонии может просить защиты у Новой Колонии перед властями других государств. Его просьба будет рассмотрена.
# Всякий человек, будучи гражданином Новой Колонии или не будучи им, совершивший преступление на территории другого государства и укрывшийся в Новой Колонии, может быть выдан властям этого государства или не выдан им по решению Совета Гегемонии Жизни. В любом случае он может быть наказан или не наказан в соответствии с законами Новой Колонии.
# Гражданином Новой Колонии может стать всякое живое существо или существо приравненное к живому при выполнении следующих условий:
## Пребывание существа на территории Новой Колонии не связано с непосредственным риском для имущества, моральных, материальных, интеллектуальных и духовных ценностей.
## Пребывание существа на территории Новой Колонии не несет угрозы для граждан, и гостей Новой Колонии.
## Существо прямо или косвенно докажет свою полезность Новой Колонии в соответствии с пунктом 2 общих положений.
## Существо обязуется соблюдать на территории Новой Колонии законы, правила и моральные нормы принятые в Новой Колонии.
## Существо обязуется соблюдать вне территории Новой Колонии законы, правила и моральные нормы Новой Колонии во всех случаях кроме тех которые противоречат законам, правилам или моральным нормам государства в котором оно находится.
# Гражданин может быть лишен гражданства и переведен в статус гостя по решению Совета Гегемонии Жизни за несоблюдение законов, правил или моральных норм принятых в Новой Колонии или в других особых обстоятельствах.
# Гость Новой Колонии может быть лишен права находиться на территории Новой Колонии по решению Совета Гегемонии Жизни или правительства Новой Колонии за несоблюдение законов, правил или моральных норм принятых в Новой Колонии или в других особых обстоятельствах.
# Всякий Гражданин Новой Колонии, нарушивший кодекс поединков по отношению к другому Гражданину или гостю Новой Колонии карается одним и только одним способом: смертью.
# Всякий гость Новой Колонии, нарушивший кодекс поединков по отношению к другому Гражданину или гостю Новой Колонии высылается из Новой Колонии с предварительным возмещением возможного ущерба для Граждан или собственности Новой Колонии.
# Поединок проводится между двумя живыми существами в случае невозможности решить их конфликт иным способом.  Поединок может вестись до смерти одного из противников или до другого заранее оговореного момента. Проигравший в поединке обязан выполнить любое одно требование победившего, кроме требования о самоубийстве.
# Вызов на поединок должен быть произнесен строго в соответствии с принятой формой и обязательным указанием на причину поединка. Вызов без указания причины может быть проигнорирован. Проводить поединок не произнеся формального вызова запрещено.
# Изменять условие завершения поединка в сторону ужесточения во время самого поединка запрещено.
# Поединок должен вестись в присутствии арбитра, или если это по каким-либо причинам невозможно в присутствии трех свидетелей. Если и это по каким либо причинам невозможно, рекомендуется отложить поединок до момента появления арбитра или свидетелей. В случае несогласия обоих противников откладывать поединок они должны поставить о нем в известность лицо наделенное наибольшей властью в той местности где они находятся. Проводить поединок никого о нем не уведомляя запрещено.
# Поединок должен проводиться на равном оружии либо на оружии с которым согласны оба участника, при чем этот факт должен засвидетельствовать либо арбитр либо три свидетеля. Проводить поединок на неравном оружии без арбитра либо трех свидетелей запрещено.
# Поединок между сильным и заведомо более слабым, не имеющим разумных шансов противниками не запрещен но предосудителен. Сильному в этом случае рекомендуется ввести для себя дополнительные ограничения призванные выровнять шансы и сообщить о них арбитру и противнику. Эти ограничения так же могут быть наложены и самим арбитром. Нарушение заданных ограничений запрещено.
# Вызывать на поединок лицо не достигшее совершеннолетия, раненого, изможденного или находящегося не в здравом рассудке -- запрещено.
# Вызов на поединок от лица не достигшее совершеннолетия, раненого, изможденного или находящегося не в здравом рассудке может быть проигнорирован. В случае если вызов принят, поединок должен быть отложен до появления арбитра. Проведение такого поединка без арбитра -- запрещено.
# Поединок может быть отложен или отменен арбитром, но не может быть прерван. Арбитр может но не обязан объяснять причины отмены поединка. Неподчинение воле арбитра запрещено.
# Фактическое начало поединка должно быть объявлено арбитром или одним из трех свидетелей или лицом наделенным наибольшей властью в местности где проводится поединок. Начинать поединок до объявления запрещено.
# Нападение на арбитра карается смертью вне зависимости ни от каких обстоятельств.
# Поединок должен проводиться в специально отведенном для этого месте, либо в случае невозможности достичь такого места в безлюдном месте не ближе двух километров до любого здания или сооружения. Кроме того существуют области в которых проводить поединки строго запрещено при любых обстоятельствах.
# Уклониться от поединка могут:
## Люди чья религия запрещает владение оружием, либо убийства, либо соревнования в любой форме.

@@ не закончено @@
Гражданин Новой Колонии считается совершеннолетним в трех случаях:
# Гражданин достиг возраста совершеннолетия принятого для его расы.
# Гражданин прошел экспертизу на фактическое совершеннолетие.
# Особое распоряжение правительства Новой Колонии, или Совета Гегемонии Жизни.

Процедура экспертизы на фактическое совершеннолетие состоит из следующих пунктов:
# Гражданин желающий пройти экспертизу должен обратиться в комиссию по делам несовершеннолетних, и заполнив предоставленную ему анкету, получить сертификат о временном совершеннолетии, действительный не более чем две недели от момента получения.
# Явиться в назначенное время к месту прохождения экспертизы, и следовать всем указаниям лиц проводящих экспертизу. Рекомендованный минимум пунктов подлежащих проверке:
## Физическое и психическое здоровье достаточные для самостоятельной жизни в обществе.
## Психологическая пригодность для жизни в обществе.
## Психологическая зрелость позволяющая отвечать за собственные поступки.
## Наличие профессии, опыта работы, специальных возможностей или навыков.
## Фактическая способность самостоятельно обеспечить себе прожиточный минимум включая питание и проживание. 
## Знание законов и правил принятых в Новой Колонии. 

В случае положительного исхода по всем пунктам экспертизы гражданин получает паспорт и специальный знак подтверждающий его фактическую самостоятельность и совершеннолетие. В случае отрицательного исхода хотя бы по одному из пунктов гражданин признается несовершеннолетним и все действия совершенные им как совершеннолетним в виду обладания сертификатом о временном совершеннолетии считаются противозаконными.

В случае отрицательного результата экспертизы, повторная экспертиза может быть проведена не ранее чем через 6 (шесть) месяцев.
* Поселение в данный момент находящееся на планете Новый Завет (Мемориел-VI) является самостоятельным независимым государством не входящим в состав ни одного другого государства, федерации, альянса или конклава. Оно не подчиняется никаким законам или правилам других государств или правительств и носит самостоятельное название Новая Колония.
* Общественной системой Новой Колонии является Гегемония. Гегемония жизни. Жизнь во всех ее проявлениях является священной и единственной действительной ценностью. Жизнь может быть отобрана, только с целью защиты другой жизни или жизней от непосредственной угрозы. Возможность и необходимость отобрать жизнь должна быть установлена до или после акта Советом Гегемонии Жизни. Единственным исключением из этого правила является Поединок проведенный в соответствии с кодексом.
* Управление Новой Колонией осуществляет Предоминант стоящий во главе Правительства Новой Колонии и Совета Гегемонии Жизни. Предоминант может пересмотреть или отменить любое решение Правительства Новой Колонии и Совета Гегемонии Жизни. Предоминант может принять любое решение не советуясь ни с правительством ни с советом. 
* Предоминант имеет право принять решение противоречащее законам, правилам и моральным нормам Новой Колонии. В этом случае он обязан предстать перед судом Совета Гегемонии Жизни. Совет Гегемонии Жизни может применить к Предоминанту любую меру наказания, однако отстранение его от должности может произойти только через полную и абсолютную смерть.
* Правительство Новой Колонии состоит из граждан представляющих министерства (министров) и граждан представляющих районы проживания (сенаторов). Правительство управляет Новой Колонией не советуясь с Предоминантом. Правительство обязано ставить в известность Предоминанта и Совет Гегемонии Жизни о принятых решениях до того как эти решения начнут исполняться.
* Министров назначает Предоминант. Министр исполняет свои обязанности вплоть до того момента как Предоминант отстранит его.
* Сенаторов выбирают Граждане Новой Колонии. Предоминант имеет право отстранить любого сенатора в любой момент и назначить новые выборы. Предоминант не имеет права назначить сенатора. В случае трехкратного избрания одного и того же сенатора после его отстранения Предоминант не имеет права отстранить его в течение трех месяцев.
* Совет Гегемонии Жизни состоит из одного представителя (советника) от каждой расы проживающей на территории Новой Колонии. Совет Гегемонии Жизни может приостановить выполнение любого решения Правительства и представить Предоминанту свои возражения.
* Советников избирают сами советники путем поименного голосования. Советник избирается однажды и выполняет свои обязанности до тех пор, пока он сам или Совет не сочтет нужным переизбрать его. Предоминант не имеет права ни назначить Советника ни снять его.
северо-запад. Берег, рыба, стекло

2383 г.р.