<!--{{{-->
<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml' />
<!--}}}-->
@@color:blue;font-size:1.7em;~~Copyright © 2021-<<today YYYY>> Ліцей «Європейський» ЛМР@@
Background: #fff
Foreground: #000
PrimaryPale: #8cf
PrimaryLight: #18f
PrimaryMid: #04b
PrimaryDark: #014
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
/*{{{*/
body {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}

a {color:blue;}
//#a {color:blue;background:url(pict/BodyBG.jpg) top left no-repeat;}
#a {color:blue;}
a:hover {color:white;background:#3db09c;}
#a:hover {background:url(pict/TiddlerBG.jpg) top left no-repeat;}
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:2px solid #f8f8f8;}
.button:hover {color:[[ColorPalette::PrimaryDark]]; background:; 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:blue;} //цвет шрифта sitetitle

.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:black; background:#a2dcde; border-left:2px solid grey; border-right:2px solid grey; border-top:1px solid grey;}
.tabSelected {color:black; background:#5cd7d8; border-left:2px solid grey; border-right:2px solid grey; border-top:1px solid grey;}
.tabContents {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::TertiaryPale]]; border:1px solid [[ColorPalette::TertiaryLight]];}
.tabContents .button {border:0;}
#sidebar {position:absolute; right:10px; width:18em; font-size:.9em;}
//#sidebar {position:absolute; right:14em; width:4em; font-size:.9em;}
#sidebar {position:absolute; right:2em; width:10em; font-size:.9em;} //111
#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]];}
//#sidebarTabs .tabContents {width:15em; overflow:hidden;}

.wizard {background:[[ColorPalette::PrimaryPale]]; border:1px solid [[ColorPalette::PrimaryMid]];}
.wizard h1 {color:[[ColorPalette::PrimaryLight]]; 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:1px solid blue;}
.viewer table, table.twtable {border:2px solid transparent;}
.viewer th, .viewer thead td, .twtable th, .twtable thead td {background:#f7a003; border:1px solid [[ColorPalette::TertiaryDark]]; color:black;}
#.viewer td, .viewer tr, .twtable td, .twtable tr {border:1px solid transparent;}
.viewer td, .twtable td {border:1px solid transparent;}
.viewer td, .viewer tr {border:1px solid red;}
.viewer td, .twtable tr {border:1px solid transparent;}

.viewer pre {border:1px solid [[ColorPalette::SecondaryLight]]; background:[[ColorPalette::SecondaryPale]]; color:#0000ff;}
.viewer code {color:[[ColorPalette::SecondaryDark]];}
.viewer hr {border:1; border-top:double 3px [[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:1em; font-family:verdana,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:decimal;}
ol ol ol {list-style-type:decimal;}
ol ol ol ol {list-style-type:decimal;}
ol ol ol ol ol {list-style-type:decimal;}
ol ol ol ol ol ol {list-style-type:decimal;}
ol ol ol ol ol ol ol {list-style-type:decimal;}

.txtOptionInput {width:9em;}

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

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

.tuduSlider .button{ display: block; color: yellow; text-align: left;
font-weight: bold;
border-top: solid 1px #bbb;
border-left: solid 1px #bbb;
border-right: solid 1px #888;
border-bottom: solid 1px #888;
background: blue;
margin-left: -0.3em;
padding: 0 1px 1px 10px;
}

.tuduSlider .button:hover{
border-top: solid 1px #777;
border-left: solid 1px #777;
border-right: solid 1px #bbb;
border-bottom: solid 1px #bbb;
background: #888;
padding: 1px 0 0 11px;
}

.header {position:relative; color: red;}
.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:1.3em; font-family:calibri;}
.siteSubtitle {font-size:1em;}

#mainMenu {position:absolute; left:0; width:11em; text-align:left; line-height:1.4em; padding:0em 0.5em 0.5em 0.5em; font-size:1.0em;}
#topMenu ul { margin:0; padding:0; list-style:none; width:100%; overflow:hidden; clear:both; }
#topMenu ul li { float:left; margin:0; padding:0; }
#topMenu ul li a { height:18px; vertical-align: middle; text-decoration:none; display:block; float:left; font-size:12px;  font-weight:bold; color:[[ColorPalette::Background]]; margin:0 20px 0 0; padding:5px 8px 5px 8px }
#topMenu ul li a:hover { background-color:[[ColorPalette::MainAccentLight]]; }
//#topMenu a.button { float:right; margin:0.8em 0 0 1.5em; color:[[ColorPalette::MainAccentLight]]; border-width:1;}
#topMenu a.button:hover { color:[[ColorPalette::MainAccent]]; background-color:blue;}

#sidebar {position:absolute; right:0px; width:12.5em; font-size:.9em;}
#sidebarOptions {padding-top:0.3em;}
#sidebarOptions a {margin:0em 0.2em; padding:0.2em 0.3em; display:block;}
#sidebarOptions input {margin:0.4em 0.5em;}
#sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;}
#sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;}
#sidebarOptions .sliderPanel input {margin:0 0 .3em 0;}
#sidebarTabs .tabContents {width:12.5em; 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:0em; 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:0em 10.2em 0 12em !important;} //111

.toolbar {text-align:right; font-size:2em; font-family:"Wingdings 2";}

.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 {font-size:1.3em;}
.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;margin-top: 0.5em; margin-bottom: 1em;}
.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;}
/*}}}*/
/*{{{*/
body {font-size:0.8em;}
#sidebarOptions {font-size:1.05em;}
#sidebarOptions a {font-style:normal;}
#sidebarOptions .sliderPanel {font-size:0.95em;}
.subtitle {font-size:0.8em;}
.viewer table.listView {font-size:0.95em;}
/*}}}*/
/*{{{*/
@media print {
#mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none !important;}
#displayArea {margin: 1em 1em 0em;}
noscript {display:none;} /* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */
}
/*}}}*/
<!--{{{-->
<div class='header' role='banner' style='background: url(pict/BodyBG.jpg) top left no-repeat'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span> 
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span> 
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
<div id='sidebar'>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
<div id='ContentFooter' refresh='content' tiddler='contentFooter'></div>
</div>
<!--}}}-->
* [[TopMenu]]
* [[MainMenu]]
* [[DefaultTiddlers]]
<<closeAll>><<permaview>><<saveChanges>>
<!--{{{-->
<div class='toolbar' macro='toolbar closeTiddler closeOthers +editTiddler editHtml > fields syncing permalink references jump'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar +saveTiddler -cancelTiddler deleteTiddler'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser excludeLists'></span></div>
<!--}}}-->
These [[InterfaceOptions]] for customising [[TiddlyWiki]] are saved in your browser

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

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

----
Also see [[AdvancedOptions]]
<<importTiddlers>>















/***
| ''Name:''|AccordionMenuPlugin|
| ''Description:''|Turn an unordered list into an accordion style menu.|
| ''Version:''|2.0 (modified from 2.1 for personal use)|
| ''Last Modified:''|30 January 2012 (by ~Secret-HQ)|
| ''Author:''|Saq Imtiaz ([[lewcid@gmail.com|mailto:lewcid@gmail.com]])|
| ''Shadow Tiddlers:''|[[AccordionMenuPlugin_Demo]]<br>[[StyleSheetAccordionMenuPlugin]]|
| ''Requires:''|no additional tiddlers (self-contained)|
| ''Core Version:''|2.2.5|
| ''Source:''|[[http://tiddlywiki.squize.org/#AccordionMenuPlugin|http://tiddlywiki.squize.org/#AccordionMenuPlugin]]<br>[[http://tw.lewcid.org/#AccordionMenuPlugin|http://tw.lewcid.org/#AccordionMenuPlugin]]|
| ''Code Repository:''|[[http://tiddlywiki.squize.org/svn/plugins|http://tiddlywiki.squize.org/svn/plugins]]<br>[[http://tw.lewcid.org/svn/plugins|http://tw.lewcid.org/svn/plugins]]|
| ''License:''|[[Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]]|
***/

/***
!Usage:

* put {{{<<accordion>>}}} on the line after your unordered list

!!Customizing:

* customize the css via the shadow tiddler [[StyleSheetAccordionMenuPlugin]]
* or give the list a custom class by passing the classes as parameters to the macro.
** Eg: {{{<<accordion ClassName1 ClassName2>>}}}

!!Examples:

*[[AccordionMenuPlugin_Demo]]

***/

/***
!Version
***/

//{{{
version.extensions.AccordionMenuPlugin = { major:2, minor:0, revision:0, date:new Date(2007,11,03), source:"http://tiddlywiki.squize.org/#AccordionMenuPlugin" };
//}}}

/***
!!History

|altRows|k
| date|version|changes|h
| 30 January 2012|2.0.0.1|@@color(RED):(~Secret-HQ)@@<br>|
| 3 November 2007|2.0|--|
***/

/***
!Code
***/

//{{{
//!BEGIN-PLUGIN-CODE
config.macros.accordion={
	dropchar : "",
	handler : function(place,macroName,params,wikifier,paramString,tiddler){
		list = findRelated(place.lastChild,"UL","tagName","previousSibling");
		if (!list)
			return;
		addClass(list,"accordion");
		if (params.length){
			addClass(list,paramString);
		}
		this.fixLinks(list.childNodes);		
	},

	fixLinks : function(els){
		for (var i=0; i<els.length; i++){
			if(els[i].tagName.toLowerCase()=="li"){
				var link = findRelated(els[i].firstChild,"A","tagName","nextSibling");
				if(!link){
					var ih = els[i].firstChild.data;
					els[i].removeChild(els[i].firstChild);
					link = createTiddlyElement(null,"a",null,null,ih+this.dropchar,{href:"javascript:;"});
					els[i].insertBefore(link,els[i].firstChild);
				}
				else{
					link.firstChild.data = link.firstChild.data + this.dropchar;
					removeClass(link,"tiddlyLinkNonExisting");
				}
				link.onclick = this.show;
			}
		}
	},
	
	show : function(e){
		var list = this.parentNode.parentNode;
		var els = list.childNodes;
		for (var i=0; i<els.length; i++){
			removeClass(els[i],"accordion-active");
		}
		addClass(this.parentNode,"accordion-active");
	}	
};
 //!END-PLUGIN-CODE
//}}}

/***
!!Styles
***/

//{{{
config.shadowTiddlers["StyleSheetAccordionMenuPlugin"] = "/*{{{*/\n"+
	 "ul.accordion, ul.accordion li, ul.accordion li ul  {margin:0; padding:0; list-style-type:none;text-align:left;}\n"+
	 "ul.accordion li ul {display:none;}\n"+
	 "ul.accordion li.accordion-active ul {display:block;}\n"+
	 "\n"+
	 "ul.accordion li.accordion-active a {cursor:default;}\n"+
	 "ul.accordion li.accordion-active ul li a{cursor:pointer;}\n"+
	 "\n"+
	 "ul.accordion a {display:block; padding:0.5em;}\n"+
	 "ul.accordion li a.tiddlyLink, ul.accordion li a.tiddlyLinkNonExisting, ul.accordion li a {font-weight:bold;}\n"+
	 "ul.accordion li a {background:#182ba1; color:#FFF; border-bottom:1px solid #fff;}\n"+
	 "ul.accordion li.accordion-active a, ul.accordion li a:hover {background:#00558F;color:#FFF;}\n"+
	 "\n"+
	 "ul.accordion li ul li{display:inline-block;overflow:hidden;}\n"+
	 "ul.accordion li.accordion-active ul li {background:#eff3fa; color:#000; padding:0em;}\n"+
	 "ul.accordion li.accordion-active ul li div {padding:1em 1.5em; background:#eff3fa;}\n"+
	 "ul.accordion li.accordion-active ul a{background:#eff3fa; color:#000; padding:0.5em 0.5em 0.5em 1.0em;border:none;}\n"+
	 "ul.accordion li.accordion-active ul a:hover {background:#e0e8f5; color:#000;}\n" +
	 "/*}}}*/";
//}}}

//{{{
store.addNotification("StyleSheetAccordionMenuPlugin",refreshStyles);
//}}}

/***
!!Demo (Shadow Tiddler)
***/

//{{{
config.shadowTiddlers["AccordionMenuPlugin_Demo"] = "@@display:none;clear:both;@@"+"\n\n"+"''Creating a navigation menu using the AccordionMenuPlugin is as simple as:''"+"\n"+"# writing a two level unordered list using ~TiddlyWiki syntax"+"\n"+"# and placing {{{<<accordion>>}}} on the line after it."+"\n"+"Example:"+"\n"+"{{{"+"\n"+"* Section 1"+"\n"+"** [[Link1]]"+"\n"+"** [[Link2]]"+"\n"+"** [[Link3]]"+"\n"+"*Section 2"+"\n"+"** [[Link4]]"+"\n"+"** [[Link5]]"+"\n"+"** [[Link6]]"+"\n"+"*Section 3"+"\n"+"**[[Link7]]"+"\n"+"**[[Link8]]"+"\n"+"**[[Link9]]"+"\n"+"<<accordion>>"+"\n"+"}}}"+"\n"+"gives:"+"\n\n"+"* Section 1"+"\n"+"** [[Link1]]"+"\n"+"** [[Link2]]"+"\n"+"** [[Link3]]"+"\n"+"*Section 2"+"\n"+"** [[Link4]]"+"\n"+"** [[Link5]]"+"\n"+"** [[Link6]]"+"\n"+"*Section 3"+"\n"+"**[[Link7]]"+"\n"+"**[[Link8]]"+"\n"+"**[[Link9]]"+"\n"+"<<accordion>>"+"\n\n"+"''The AccordionMenuPlugin was written with navigation menu's in mind but can be put to other uses as well. ''"+"\n"+"By wrapping the content in a DIV, you can have multi-line content as well. Example:"+"\n"+"{{{"+"\n"+"* [[section1]]"+"\n"+"**{{myclass{"+"\n"+"Praesent posuere sodales tortor. Mauris ut erat non lacus semper porta. Mauris enim. "+"\n"+"Phasellus tempor, metus ut dapibus lobortis, leo magna ornare metus, et pellentesque neque massa eget turpis."+"\n"+"Proin nec tellus. Donec aliquet."+"\n"+"Nullam sed leo bibendum justo rutrum rhoncus.}}}"+"\n"+"* section2"+"\n"+"**{{myclass{"+"\n"+"Donec rhoncus sem eget urna."+"\n"+"Aenean tempor dolor vitae nisi."+"\n"+"Donec leo urna, placerat porttitor, auctor ut, volutpat a, purus,"+"\n"+"Etiam eu sapien id nulla malesuada scelerisque."+"\n"+"Maecenas rhoncus, nibh ut aliquam consequat, mi odio luctus sem, eu lobortis dolor neque nec lectus. }}}"+"\n"+"* section3"+"\n"+"**{{myclass{"+"\n"+"Donec rhoncus sem eget urna."+"\n"+"Aenean tempor dolor vitae nisi."+"\n"+"Donec leo urna, placerat porttitor, auctor ut, volutpat a, purus,"+"\n"+"Etiam eu sapien id nulla malesuada scelerisque."+"\n"+"Maecenas rhoncus, nibh ut aliquam consequat, mi odio luctus sem, eu lobortis dolor neque nec lectus. }}}"+"\n"+"}}}"+"\n\n"+"gives you:"+"\n\n"+"* [[section1]]"+"\n"+"**{{myclass{"+"\n"+"Praesent posuere sodales tortor. Mauris ut erat non lacus semper porta. Mauris enim. "+"\n"+"Phasellus tempor, metus ut dapibus lobortis, leo magna ornare metus, et pellentesque neque massa eget turpis."+"\n"+"Proin nec tellus. Donec aliquet."+"\n"+"Nullam sed leo bibendum justo rutrum rhoncus.}}}"+"\n"+"* section2"+"\n"+"**{{myclass{"+"\n"+"Donec rhoncus sem eget urna."+"\n"+"Aenean tempor dolor vitae nisi."+"\n"+"Donec leo urna, placerat porttitor, auctor ut, volutpat a, purus,"+"\n"+"Etiam eu sapien id nulla malesuada scelerisque."+"\n"+"Maecenas rhoncus, nibh ut aliquam consequat, mi odio luctus sem, eu lobortis dolor neque nec lectus. }}}"+"\n"+"* section3"+"\n"+"**{{myclass{"+"\n"+"Donec rhoncus sem eget urna."+"\n"+"Aenean tempor dolor vitae nisi."+"\n"+"Donec leo urna, placerat porttitor, auctor ut, volutpat a, purus,"+"\n"+"Etiam eu sapien id nulla malesuada scelerisque."+"\n"+"Maecenas rhoncus, nibh ut aliquam consequat, mi odio luctus sem, eu lobortis dolor neque nec lectus. }}}"+"\n"+"<<accordion>>";
//}}}
//{{{
version.extensions.ArchivePlugin = {major: 2, minor: 4, revision: 0, date: new Date("Jun 6, 2008")};
config.macros.ArchivePlugin = {};
config.macros.ArchivePlugin.init = function () {
 this.archivePath = getWikiPath('notes');
}

// Hijacking the built-in functions
TW21Saver.prototype.externalizeTiddler = function(store,tiddler)
{
	try {
		var extendedAttributes = "";
		var usePre = config.options.chkUsePreForStorage;
		store.forEachField(tiddler,
			function(tiddler,fieldName,value) {
				// don't store stuff from the temp namespace
				if(typeof value != "string")
					value = "";
				if (!fieldName.match(/^temp\./))
					extendedAttributes += ' %0="%1"'.format([fieldName,value.escapeLineBreaks().htmlEncode()]);
			},true);
		var created = tiddler.created.convertToYYYYMMDDHHMM();
		var modified = tiddler.modified.convertToYYYYMMDDHHMM();
		var vdate = version.date.convertToYYYYMMDDHHMM();
		var attributes = tiddler.modifier ? ' modifier="' + tiddler.modifier.htmlEncode() + '"' : "";
		attributes += (usePre && modified == created) ? "" : ' modified="' + modified +'"';
		attributes += (usePre && created == vdate) ? "" :' created="' + created + '"';
		var tags = tiddler.getTags();
		if(!usePre || tags)
			attributes += ' tags="' + tags.htmlEncode() + '"';
		return ('<div %0="%1"%2%3>%4</'+'div>').format([
				usePre ? "title" : "tiddler",
				tiddler.title.htmlEncode(),
				attributes,
				extendedAttributes,
				usePre ? "\n<pre>" + tiddler.saveMe() + "</pre>\n" : tiddler.escapeLineBreaks().htmlEncode()
			]);
	} catch (ex) {
		throw exceptionText(ex,config.messages.tiddlerSaveError.format([tiddler.title]));
	}
};


Tiddler.prototype.saveMe = function() {
 if (this.tags.indexOf('Нотаток') != -1) {
 // Save tiddler body to a file in the archive folder
   if (this.text) {
      saveFile(config.macros.ArchivePlugin.archivePath +  this.title.filenameEncode(), this.text)
   }
 return '';
 }
 else
 return this.text.htmlEncode();
}

// This hijack ensures plugins can also be archived
var archivePlugin_getPluginInfo = getPluginInfo;
getPluginInfo = function(tiddler) {
alert(tiddler.title)
 tiddler.text = store.getValue(tiddler, 'text');
 return archivePlugin_getPluginInfo(tiddler);
}

function readTextFile(file) {
var rawFile = new XMLHttpRequest();
rawFile.open("GET", file, false);
rawFile.onreadystatechange = function ()
{
    if(rawFile.readyState === 4)
    {
        if(rawFile.status === 200 || rawFile.status == 0)
        {
            var allText = rawFile.responseText;
        }
    }
}
rawFile.send(null);
return(rawFile.responseText);
}

TiddlyWiki.prototype.getValue = function(tiddler, fieldName) {
 var t = this.resolveTiddler(tiddler);
 if (!t)
 return undefined;

 fieldName = fieldName.toLowerCase();
 if (t.tags.indexOf('Нотаток')!=-1 && fieldName=='text' && t['text']=='') {
 try {
  if (!readOnly) {
    var tmp = loadFile(config.macros.ArchivePlugin.archivePath +  t.title.filenameEncode());
  }
  else {
    var tmp = readTextFile("http://schoolsuncity6.ho.ua/notes/"+t.title.filenameEncode());
  }
   tmp = (tmp.charCodeAt(0) == 239 ? manualConvertUTF8ToUnicode(tmp) : tmp);
 } catch (e) {
   return '';
 alert("{{{Помилка: неможливо завантажити нотаток '" + config.macros.ArchivePlugin.archivePath + this.created.convertToArchiveName() + t.title.filenameEncode() + '.html' + "'}}}");
 }
return tmp;
 } else {
 var accessor = TiddlyWiki.standardFieldAccess[fieldName];
 if (accessor) {
 return accessor.get(t);
 }
 }
 
 return t.fields ? t.fields[fieldName] : undefined;
}

String.prototype.filenameEncode = function() {
  return(translit(this)+'.html');
}

function getWikiPath(folderName) {
 var originalPath = document.location.toString();
 if(originalPath.substr(0,5) != 'file:') {
 if(store.tiddlerExists(config.messages.saveInstructions))
 story.displayTiddler(null,config.messages.saveInstructions);
 return;
 }
 var localPath = getLocalPath(originalPath);
 var backSlash = localPath.lastIndexOf('\\') == -1 ? '/' : '\\';
 var dirPathPos = localPath.lastIndexOf(backSlash);
 var subPath = localPath.substr(0,dirPathPos) + backSlash + (folderName ? folderName + backSlash : '');
 return subPath;
}
// Deleting archive files
TiddlyWiki.prototype.archivePlugin_removeTiddler = TiddlyWiki.prototype.removeTiddler;
TiddlyWiki.prototype.removeTiddler = function(title) {
 var tiddler = store.getTiddler(title);
 var filePath = config.macros.ArchivePlugin.archivePath + title.filenameEncode();
 if (tiddler.tags.indexOf('Нотаток') != -1) ieDeleteFile(filePath);
 this.archivePlugin_removeTiddler(title);
}
function ieDeleteFile(filePath) {
// IE Support only
 if (!config.browser.isIE) return false;
	try {
		var fso = new ActiveXObject("Scripting.FileSystemObject");
	} catch(ex) {return null;}
	try {
	 var file = fso.GetFile(filePath);
	 file.Delete();
	} catch(ex) {return null;}
	return true;
}
//}}}
<<tiddler SetTiddlerBackground with: url("pict/TiddlerBGP.jpg") #0000ff patr title>>
config.commands.closeTiddler.imgLoc = "btn/close.png";
config.commands.deleteTiddler.imgLoc = "btn/delete.png";
config.commands.editTiddler.imgLoc = "btn/edit.png";
//{{{

window.CoolClock = function(canvasId,displayRadius,skinId,showSecondHand) {
	return this.init(canvasId,displayRadius,skinId,showSecondHand);
}

CoolClock.config = {
	clockTracker: {},
	tickDelay: 1000,
	longTickDelay: 15000,
	defaultRadius: 85,
	renderRadius: 100,
	defaultSkin: "swissRail",
	skins:	{
		fancy: {
			outerBorder: { lineWidth: 5, radius:75, color: "green", alpha: 0.7 },
			smallIndicator: { lineWidth: 1, startAt: 65, endAt: 75, color: "black", alpha: 0.4 },
			largeIndicator: { lineWidth: 1, startAt: 55, endAt: 75, color: "black", alpha: 0.5 },
			hourHand: { lineWidth: 8, startAt: -15, endAt: 50, color: "blue", alpha: 0.7 },
			minuteHand: { lineWidth: 7, startAt: -15, endAt: 72, color: "red", alpha: 0.7 },
			secondHand: { lineWidth: 10, startAt: 61, endAt: 71, color: "blue", alpha: 0.6 },
			secondDecoration: { lineWidth: 10, startAt: 30, radius: 40, fillColor: "blue", color: "red", alpha: 0.0 }
		}
	}
};

CoolClock.prototype = {
	init: function(canvasId,displayRadius,skinId,showSecondHand) {
		this.canvasId = canvasId;
		this.displayRadius = displayRadius || CoolClock.config.defaultRadius;
		this.skinId = skinId || CoolClock.config.defaultSkin;
		this.showSecondHand = typeof showSecondHand == "boolean" ? showSecondHand : true;
		this.tickDelay = CoolClock.config[ this.showSecondHand ? "tickDelay" : "longTickDelay"];

		this.canvas = document.getElementById(canvasId);
		this.canvas.setAttribute("width",this.displayRadius*2);
		this.canvas.setAttribute("height",this.displayRadius*2);

		this.renderRadius = CoolClock.config.renderRadius; 

		var scale = this.displayRadius / this.renderRadius;
		this.ctx = this.canvas.getContext("2d");
		this.ctx.scale(scale,scale);

		CoolClock.config.clockTracker[canvasId] = this;
		this.tick();
		return this;
	},

	fullCircle: function(skin) {
		this.fullCircleAt(this.renderRadius,this.renderRadius,skin);
	},

	fullCircleAt: function(x,y,skin) {
		with (this.ctx) {
			save();
			globalAlpha = skin.alpha;
			lineWidth = skin.lineWidth;
			if (!document.all)
				beginPath();
			arc(x, y, skin.radius, 0, 2*Math.PI, false);
			if (skin.fillColor) {
				fillStyle = skin.fillColor
				fill();
			}
			else {
				// XXX why not stroke and fill
				strokeStyle = skin.color;
				stroke();
			}
			restore();
		}
	},

	radialLineAtAngle: function(angleFraction,skin) {
		with (this.ctx) {
			save();
			translate(this.renderRadius,this.renderRadius);
			rotate(Math.PI * (2 * angleFraction - 0.5));
			globalAlpha = skin.alpha;
			strokeStyle = skin.color;
			lineWidth = skin.lineWidth;
			if (skin.radius) {
				this.fullCircleAt(skin.startAt,0,skin)
			}
			else {
				beginPath();
				moveTo(skin.startAt,0)
				lineTo(skin.endAt,0);
				stroke();
			}
			restore();
		}
	},

	render: function(hour,min,sec) {
		var skin = CoolClock.config.skins[this.skinId];
		this.ctx.clearRect(0,0,this.renderRadius*2,this.renderRadius*2);

		this.fullCircle(skin.outerBorder);

		for (var i=0;i<60;i++)
			this.radialLineAtAngle(i/60,skin[ i%5 ? "smallIndicator" : "largeIndicator"]);
				
		this.radialLineAtAngle((hour+min/60)/12,skin.hourHand);
		this.radialLineAtAngle((min+sec/60)/60,skin.minuteHand);
		if (this.showSecondHand) {
			this.radialLineAtAngle(sec/60,skin.secondHand);
			this.radialLineAtAngle(sec/60,skin.secondDecoration);
		}
	},


	nextTick: function() {
		setTimeout("CoolClock.config.clockTracker['"+this.canvasId+"'].tick()",this.tickDelay);
	},

	stillHere: function() {
		return document.getElementById(this.canvasId) != null;
	},

	refreshDisplay: function() {
		var now = new Date();
		this.render(now.getHours(),now.getMinutes(),now.getSeconds());
	},

	tick: function() {
		if (this.stillHere()) {
			this.refreshDisplay()
			this.nextTick();
		}
	}
}



config.macros.clock2 = {
	counter: 0,
	handler: function (place,macroName,params,wikifier,paramString,tiddler) {
		var size,skin,seconds,skinData;
		for (var i=0;i<params.length;i++)
			if (/^\d+$/.exec(params[i]))
				size = params[i];
			else if (params[i] == "noSeconds")
				seconds = false;
			else if (/^\{/.exec(params[i]))
				eval("skinData = " + params[i]);
			else
				skin = params[i];
		if (skinData) {
			CoolClock.config.skins.customSkin = skinData;
			skin = "customSkin";
		}
		var canvas = createTiddlyElement(place,"canvas","clockcanvas"+this.counter);
		var clock = new CoolClock("clockcanvas"+this.counter,size,skin,seconds);
		this.counter++;
	}
}
story.permaView();
//}}}
//{{{
merge(config.commands.cancelTiddler,{

  handler_mptw_orig_closeUnsaved: config.commands.cancelTiddler.handler,

  handler: function(event,src,title) {
    this.handler_mptw_orig_closeUnsaved(event,src,title);
    if (!story.isDirty(title) && !store.tiddlerExists(title) && !store.isShadowTiddler(title))
      story.closeTiddler(title,true);
    return false;
  }

});

//}}}
Name: MptwRed
Background: #fff
Foreground: #000
PrimaryPale: #eaa
PrimaryLight: #c55
PrimaryMid: #711
PrimaryDark: #500
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
[[Ласкаво просимо!]]
[[Новини]]
//{{{

window.onClickTag_mptw_orig = window.onClickTag;
window.onClickTag = function(e) {
  window.onClickTag_mptw_orig.apply(this,arguments);
  var tag = this.getAttribute("tag");
  var title = this.getAttribute("tiddler");
  var popup = Popup.stack[Popup.stack.length-1].popup;
  createTiddlyElement(createTiddlyElement(popup,"li",null,"listBreak"),"div");
  wikify("<<newTiddler label:'New tiddler' tag: '"+tag+"'>>",createTiddlyElement(popup,"li"));
  return false;
}

//}}}
//{{{
config.fontSize={};

//configuration settings
config.fontSize.settings =
{
            defaultSize : 100,  // all sizes in %
            maxSize : 200,
            minSize : 40,
            stepSize : 10
};

//startup code
var fontSettings = config.fontSize.settings;

if (!config.options.txtFontSize)
            {config.options.txtFontSize = fontSettings.defaultSize;
            saveOptionCookie("txtFontSize");}
setStylesheet(".tiddler .viewer {font-size:"+config.options.txtFontSize+"%;}\n","fontResizerStyles");
setStylesheet("#contentWrapper .fontResizer .button {display:inline;font-size:105%; font-weight:bold; margin:0 1px; padding: 0 3px; text-align:center !important;}\n .fontResizer {margin:0 0.5em;}","fontResizerButtonStyles");

//macro
config.macros.fontSize={};
config.macros.fontSize.handler = function (place,macroName,params,wikifier,paramString,tiddler)
{

               var sp = createTiddlyElement(place,"span",null,"fontResizer");
               sp.ondblclick=this.onDblClick;
               if (params[0])
                           createTiddlyText(sp,params[0]);
  	       createTiddlyButton(sp,"↓↓↓","зменшити розмір шрифта",this.decFont);
               createTiddlyButton(sp,"100%","стандартний розмір шрифта",this.resetFont);
               createTiddlyButton(sp,"↑↑↑","збільшити розмір шрифта",this.incFont);
}

config.macros.fontSize.onDblClick = function (e)
{
             if (!e) var e = window.event;
             e.cancelBubble = true;
             if (e.stopPropagation) e.stopPropagation();
             return false;
}

config.macros.fontSize.setFont = function ()
{
               saveOptionCookie("txtFontSize");
               setStylesheet(".tiddler .viewer {font-size:"+config.options.txtFontSize+"%;}\n","fontResizerStyles");
}

config.macros.fontSize.incFont=function()
{
               if (config.options.txtFontSize < fontSettings.maxSize)
                  config.options.txtFontSize = (config.options.txtFontSize*1)+fontSettings.stepSize;
               config.macros.fontSize.setFont();
}

config.macros.fontSize.decFont=function()
{

               if (config.options.txtFontSize > fontSettings.minSize)
                  config.options.txtFontSize = (config.options.txtFontSize*1) - fontSettings.stepSize;
               config.macros.fontSize.setFont();
}

config.macros.fontSize.resetFont=function()
{

               config.options.txtFontSize=fontSettings.defaultSize;
               config.macros.fontSize.setFont();
}

config.paramifiers.font =
{
               onstart: function(v)
                  {
                   config.options.txtFontSize = v;
                   config.macros.fontSize.setFont();
                  }
};
//}}}
/***
|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.

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

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

config.commands.fullscreen =
{
            text:"",
            tooltip:"Перемикач повноекранного режиму"
};

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]||" ↕ ";
        var tooltip = params[1]||"Перемикнути повноекранний режим";
        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();
}
//}}}

//{{{

window.hideWhenLastTest = false;

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

merge(config.macros,{

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

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

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

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

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

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

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

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

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

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

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

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

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

});

//}}}
<<top>><<renameButton '↑' >>
<<toggleSideBar>><<renameButton '◊' >>
<<jump ⁞ '' top>>
<<fullscreen>><<renameButton '□' >>
//{{{
config.hoverMenu={};
//}}}

/***
HoverMenu configuration settings
***/
//{{{
config.hoverMenu.settings={
               align: 'right',    //align menu to right or left side of screen, possible values are 'right' and 'left'               
               x: 3,              // horizontal distance of menu from side of screen, increase to your liking.
               y: 158            //vertical distance of menu from top of screen at start, increase or decrease to your liking
               };
//}}}

//{{{
//continue HoverMenu plugin code
config.hoverMenu.handler=function()
{              
               if (!document.getElementById("hoverMenu"))
               {
               var theMenu = createTiddlyElement(document.getElementById("contentWrapper"), "div","hoverMenu");
               theMenu.setAttribute("refresh","content");
               theMenu.setAttribute("tiddler","HoverMenu");
               var menuContent = store.getTiddlerText("HoverMenu");
               wikify(menuContent,theMenu);
              }

	       var Xloc = this.settings.x;
	       Yloc =this.settings.y;
	       var ns = (navigator.appName.indexOf("Netscape") != -1);
	       function SetMenu(id)
                        {
		        var GetElements=document.getElementById?document.getElementById(id):document.all?document.all[id]:document.layers[id];
		        if(document.layers)GetElements.style=GetElements;
		        GetElements.sP=function(x,y){this.style[config.hoverMenu.settings.align]=x +"px";this.style.top=y +"px";};
		        GetElements.x = Xloc;
		        GetElements.y = findScrollY();
		        GetElements.y += Yloc;
		        return GetElements;
	                }
               window.LoCate_XY=function()
                        {
		        var pY =  findScrollY();
                        ftlObj.y += (pY + Yloc - ftlObj.y)/15;
		        ftlObj.sP(ftlObj.x, ftlObj.y);
		        setTimeout("LoCate_XY()", 10);
	                }
               ftlObj = SetMenu("hoverMenu");
	       LoCate_XY();
};

window.old_lewcid_hovermenu_restart = restart;
restart = function()
{
               window.old_lewcid_hovermenu_restart();
               config.hoverMenu.handler();
};

setStylesheet(
"#hoverMenu .imgLink, #hoverMenu .imgLink:hover {border:none; padding:0px; float:right; margin-bottom:2px; margin-top:0px;}\n"+
"#hoverMenu  .button, #hoverMenu  .tiddlyLink {border:none; font-weight:bold; background:#18f; color:#FFF; padding:0 5px; float:right; margin-bottom:4px;}\n"+
"#hoverMenu .button:hover, #hoverMenu .tiddlyLink:hover {font-weight:bold; border:none; color:#fff; background:#000; padding:0 5px; float:right; margin-bottom:4px;}\n"+
"#hoverMenu .button {width:100%; text-align:center}"+
"#hoverMenu { position:absolute; width:7px;}\n"+
"\n","hoverMenuStyles");


config.macros.renameButton={};
config.macros.renameButton.handler = function(place,macroName,params,wikifier,paramString,tiddler)
{

               if (place.lastChild.tagName!="BR")
                     {
                      place.lastChild.firstChild.data = params[0];
                      if (params[1]) {place.lastChild.title = params[1];}
                     }
};

config.shadowTiddlers["HoverMenu"]="<<top>>\n<<toggleSideBar>><<renameButton '>' >>\n<<jump j '' top>>\n<<saveChanges>><<renameButton s 'Save TiddlyWiki'>>\n<<newTiddler>><<renameButton n>>\n";
//}}}
//end HoverMenu plugin code

//Start ToggleSideBarMacro code
//{{{
config.macros.toggleSideBar={};

config.macros.toggleSideBar.settings={
         styleHide :  "#sidebar { display: none;}\n"+"#contentWrapper #displayArea { margin-right: 1em;}\n"+"",
         styleShow : " ",
         arrow1: "«",
         arrow2: "»"
};

config.macros.toggleSideBar.handler=function (place,macroName,params,wikifier,paramString,tiddler)
{
          var tooltip= params[1]||'Приховати/відобразити праву панель';
          var mode = (params[2] && params[2]=="hide")? "hide":"show";
          var arrow = (mode == "hide")? this.settings.arrow1:this.settings.arrow2;
          var label= (params[0]&&params[0]!='.')?params[0]+" "+arrow:arrow;
          var theBtn = createTiddlyButton(place,label,tooltip,this.onToggleSideBar,"button HideSideBarButton");
          if (mode == "hide")
             { 
             (document.getElementById("sidebar")).setAttribute("toggle","hide");
              setStylesheet(this.settings.styleHide,"ToggleSideBarStyles");
             }
};

config.macros.toggleSideBar.onToggleSideBar = function(){
          var sidebar = document.getElementById("sidebar");
          var settings = config.macros.toggleSideBar.settings;
          if (sidebar.getAttribute("toggle")=='hide')
             {
              setStylesheet(settings.styleShow,"ToggleSideBarStyles");
              sidebar.setAttribute("toggle","show");
              this.firstChild.data= (this.firstChild.data).replace(settings.arrow1,settings.arrow2);
              }
          else
              {    
               setStylesheet(settings.styleHide,"ToggleSideBarStyles");
               sidebar.setAttribute("toggle","hide");
               this.firstChild.data= (this.firstChild.data).replace(settings.arrow2,settings.arrow1);
              }

     return false;
}

setStylesheet(".HideSideBarButton .button {font-weight:bold; padding: 0 5px;}\n","ToggleSideBarButtonStyles");
//}}}
//end ToggleSideBarMacro code

//start JumpToTopMacro code
//{{{
config.macros.top={};
config.macros.top.handler=function(place,macroName)
{
               createTiddlyButton(place,"^","jump to top",this.onclick);
}
config.macros.top.onclick=function()
{
               window.scrollTo(0,0);
};

config.commands.top =
{
               text:" ^ ",
               tooltip:"jump to top"
};

config.commands.top.handler = function(event,src,title)
{
               window.scrollTo(0,0);
}
//}}}
//end JumpToStartMacro code

//start JumpMacro code
//{{{
config.macros.jump= {};
config.macros.jump.handler = function (place,macroName,params,wikifier,paramString,tiddler)
{
        var label = (params[0] && params[0]!=".")? params[0]: 'jump';
        var tooltip = (params[1] && params[1]!=".")? params[1]: 'Перейти до нотатку';
        var top = (params[2] && params[2]=='top') ? true: false;        

        var btn =createTiddlyButton(place,label,tooltip,this.onclick);
        if (top==true)
              btn.setAttribute("top","true")
}

config.macros.jump.onclick = function(e)
{
        if (!e) var e = window.event;
        var theTarget = resolveTarget(e);
        var top = theTarget.getAttribute("top");
	var popup = Popup.create(this);
	if(popup)
		{
                 if(top=="true")
                                {createTiddlyButton(createTiddlyElement(popup,"li"),'Top ↑','Top of TW',config.macros.jump.top);
                                 createTiddlyElement(popup,"hr");}
		
		story.forEachTiddler(function(title,element) {
			createTiddlyLink(createTiddlyElement(popup,"li"),title,true);
			});
                }
	Popup.show(popup,false);
	e.cancelBubble = true;
	if (e.stopPropagation) e.stopPropagation();
	return false;
}

config.macros.jump.top = function()
{
       window.scrollTo(0,0);
}
//}}}
//end JumpMacro code

//utility functions
//{{{
Popup.show = function(unused,slowly)
{
	var curr = Popup.stack[Popup.stack.length-1];
	var rootLeft = findPosX(curr.root);
	var rootTop = findPosY(curr.root);
	var rootHeight = curr.root.offsetHeight;
	var popupLeft = rootLeft;
	var popupTop = rootTop + rootHeight;
	var popupWidth = curr.popup.offsetWidth;
	var winWidth = findWindowWidth();
        if (isChild(curr.root,'hoverMenu'))
              var x = config.hoverMenu.settings.x;
        else
              var x = 0;
	if(popupLeft + popupWidth+x > winWidth)
		popupLeft = winWidth - popupWidth -x;
        if (isChild(curr.root,'hoverMenu'))
  	        {curr.popup.style.right = x + "px";}
        else
                curr.popup.style.left = popupLeft + "px";
	curr.popup.style.top = popupTop + "px";
	curr.popup.style.display = "block";
	addClass(curr.root,"highlight");
	if(config.options.chkAnimate)
		anim.startAnimating(new Scroller(curr.popup,slowly));
	else
		window.scrollTo(0,ensureVisible(curr.popup));
}

window.isChild = function(e,parentId) {
        while (e != null) {
                var parent = document.getElementById(parentId);
                if (parent == e) return true;
                e = e.parentNode;
                }
        return false;
};
//}}}













//{{{
version.extensions.ImageSizePlugin= {major: 1, minor: 2, revision: 3, date: new Date(2011,9,3)};
//}}}
//{{{
var f=config.formatters[config.formatters.findByField("name","image")];
f.match="\\[[<>]?[Ii][Mm][Gg](?:\\([^,]*,[^\\)]*\\))?\\[";
f.lookaheadRegExp=/\[([<]?)(>?)[Ii][Mm][Gg](?:\(([^,]*),([^\)]*)\))?\[(?:([^\|\]]+)\|)?([^\[\]\|]+)\](?:\[([^\]]*)\])?\]/mg;
f.handler=function(w) {
	this.lookaheadRegExp.lastIndex = w.matchStart;
	var lookaheadMatch = this.lookaheadRegExp.exec(w.source)
	if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
		var floatLeft=lookaheadMatch[1];
		var floatRight=lookaheadMatch[2];
		var width=lookaheadMatch[3];
		var height=lookaheadMatch[4];
		var tooltip=lookaheadMatch[5];
		var src=lookaheadMatch[6];
		var link=lookaheadMatch[7];

		// Simple bracketted link
		var e = w.output;
		if(link) { // LINKED IMAGE
			if (config.formatterHelpers.isExternalLink(link)) {
				if (config.macros.attach && config.macros.attach.isAttachment(link)) {
					// see [[AttachFilePluginFormatters]]
					e = createExternalLink(w.output,link);
					e.href=config.macros.attach.getAttachment(link);
					e.title = config.macros.attach.linkTooltip + link;
				} else
					e = createExternalLink(w.output,link);
			} else 
				e = createTiddlyLink(w.output,link,false,null,w.isStatic);
			addClass(e,"imageLink");
		}

		var img = createTiddlyElement(e,"img");
		if(floatLeft) img.align="left"; else if(floatRight) img.align="right";
		if(width||height) {
			var x=width.trim(); var y=height.trim();
			var stretchW=(x.substr(x.length-1,1)=='+'); if (stretchW) x=x.substr(0,x.length-1);
			var stretchH=(y.substr(y.length-1,1)=='+'); if (stretchH) y=y.substr(0,y.length-1);
			if (x.substr(0,2)=="{{")
				{ try{x=eval(x.substr(2,x.length-4))} catch(e){displayMessage(e.description||e.toString())} }
			if (y.substr(0,2)=="{{")
				{ try{y=eval(y.substr(2,y.length-4))} catch(e){displayMessage(e.description||e.toString())} }
			img.style.width=x.trim(); img.style.height=y.trim();
			if (stretchW||stretchH) config.formatterHelpers.addStretchHandlers(img,stretchW,stretchH);
		}
		if(tooltip) img.title = tooltip;

		// GET IMAGE SOURCE
		if (config.macros.attach && config.macros.attach.isAttachment(src))
			src=config.macros.attach.getAttachment(src); // see [[AttachFilePluginFormatters]]
		else if (config.formatterHelpers.resolvePath) { // see [[ImagePathPlugin]]
			if (config.browser.isIE || config.browser.isSafari) {
				img.onerror=(function(){
					this.src=config.formatterHelpers.resolvePath(this.src,false);
					return false;
				});
			} else
				src=config.formatterHelpers.resolvePath(src,true);
		}
		img.src=src;
		w.nextMatch = this.lookaheadRegExp.lastIndex;
	}
}

config.formatterHelpers.imageSize={
	tip: 'SHIFT-CLICK=show full size, CTRL-CLICK=restore initial size',
	dragtip: 'DRAG=stretch/shrink, '
}

config.formatterHelpers.addStretchHandlers=function(e,stretchW,stretchH) {
	e.title=((stretchW||stretchH)?this.imageSize.dragtip:'')+this.imageSize.tip;
	e.statusMsg='width=%0, height=%1';
	e.style.cursor='move';
	e.originalW=e.style.width;
	e.originalH=e.style.height;
	e.minW=Math.max(e.offsetWidth/20,10);
	e.minH=Math.max(e.offsetHeight/20,10);
	e.stretchW=stretchW;
	e.stretchH=stretchH;
	e.onmousedown=function(ev) { var ev=ev||window.event;
		this.sizing=true;
		this.startX=!config.browser.isIE?ev.pageX:(ev.clientX+findScrollX());
		this.startY=!config.browser.isIE?ev.pageY:(ev.clientY+findScrollY());
		this.startW=this.offsetWidth;
		this.startH=this.offsetHeight;
		return false;
	};
	e.onmousemove=function(ev) { var ev=ev||window.event;
		if (this.sizing) {
			var s=this.style;
			var currX=!config.browser.isIE?ev.pageX:(ev.clientX+findScrollX());
			var currY=!config.browser.isIE?ev.pageY:(ev.clientY+findScrollY());
			var newW=(currX-this.offsetLeft)/(this.startX-this.offsetLeft)*this.startW;
			var newH=(currY-this.offsetTop )/(this.startY-this.offsetTop )*this.startH;
			if (this.stretchW) s.width =Math.floor(Math.max(newW,this.minW))+'px';
			if (this.stretchH) s.height=Math.floor(Math.max(newH,this.minH))+'px';
			clearMessage(); displayMessage(this.statusMsg.format([s.width,s.height]));
		}
		return false;
	};
	e.onmouseup=function(ev) { var ev=ev||window.event;
		if (ev.shiftKey) { this.style.width=this.style.height=''; }
		if (ev.ctrlKey)  { this.style.width=this.originalW; this.style.height=this.originalH; }
		this.sizing=false;
		clearMessage();
		return false;
	};
	e.onmouseout=function(ev) { var ev=ev||window.event;
		this.sizing=false;
		clearMessage();
		return false;
	};
}
//}}}
config.formatters.unshift( {
    name: "inlinesliders",
    match: "\\+\\+\\+\\+|\\<slider",
    lookaheadRegExp: /(?:\+\+\+\+|<slider) (.*?)(?:>?)\n((?:.|\n)*?)\n(?:====|<\/slider>)/mg,
    handler: function(w)
    {
        this.lookaheadRegExp.lastIndex = w.matchStart;
        var lookaheadMatch = this.lookaheadRegExp.exec(w.source)
        if(lookaheadMatch && lookaheadMatch.index == w.matchStart )
            {
            var btn = createTiddlyButton(w.output,lookaheadMatch[1] + " "+"\u00BB",lookaheadMatch[1],this.onClickSlider,"button sliderButton");
	        var panel = createTiddlyElement(w.output,"div",null,"sliderPanel");
	        panel.style.display = "none";
            wikify(lookaheadMatch[2],panel);
            w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
            }
    },
    onClickSlider : function(e)
    {
        if(!e) var e = window.event;
	    var n = this.nextSibling;
        n.style.display = (n.style.display=="none") ? "block" : "none";
        return false;
    }
})
//{{{
config.formatters.unshift( {
	name: "inlinetabs",
	match: "\\<tabs",
        lookaheadRegExp: /(?:<tabs (.*)>\n)((?:.|\n)*?)(?:\n<\/tabs>)/mg,
	handler: function(w)
	{
	    this.lookaheadRegExp.lastIndex = w.matchStart;
	    var lookaheadMatch = this.lookaheadRegExp.exec(w.source)
	    if(lookaheadMatch && lookaheadMatch.index == w.matchStart)
			{
             var cookie = lookaheadMatch[1];
  	         var wrapper = createTiddlyElement(null,"div",null,cookie);
	         var tabset = createTiddlyElement(wrapper,"div",null,"tabset");
             tabset.setAttribute("cookie",cookie);
             var validTab = false;
             var firstTab = '';
             var tabregexp = /(?:<tab (.*)>)(?:(?:\n)?)((?:.|\n)*?)(?:<\/tab>)/mg;
             while((m = tabregexp.exec(lookaheadMatch[2])) != null)
                 {
		         if (firstTab == '') firstTab = m[1];
		         var tab = createTiddlyButton(tabset,m[1],m[1],story.onClickInlineTab,"tab tabUnselected");
		         tab.setAttribute("tab",m[1]);
		         tab.setAttribute("content",m[2]);
		         tab.title = m[1];
		         if(config.options[cookie] == m[1])
                     validTab = true;
                 }
             if(!validTab)
                 config.options[cookie] = firstTab;
	         w.output.appendChild(wrapper);
	         story.switchInlineTab(tabset,config.options[cookie]);
             w.nextMatch = this.lookaheadRegExp.lastIndex;
			}
	}
})

Story.prototype.switchInlineTab = function(tabset,tab)
{
    var cookie = tabset.getAttribute("cookie");
    var theTab = null
    var nodes = tabset.childNodes;
    for(var t=0; t<nodes.length; t++)
    if(nodes[t].getAttribute && nodes[t].getAttribute("tab") == tab)
        {
        theTab = nodes[t];
        theTab.className = "tab tabSelected";
        }
    else
        nodes[t].className = "tab tabUnselected"
	if(theTab)
		{
		if(tabset.nextSibling && tabset.nextSibling.className == "tabContents")
			tabset.parentNode.removeChild(tabset.nextSibling);
		var tabContent = createTiddlyElement(null,"div",null,"tabContents");
		tabset.parentNode.insertBefore(tabContent,tabset.nextSibling);
		wikify(theTab.getAttribute("content"),tabContent);
		if(cookie)
			{
			config.options[cookie] = tab;
			saveOptionCookie(cookie);
			}
		}
}
    
Story.prototype.onClickInlineTab = function(e)
{
    story.switchInlineTab(this.parentNode,this.getAttribute("tab"));
    return false;
}
//}}}
//{{{

config.InstantTimestamp = {

  
  timeFormat: 'DD/0MM/YY 0hh:0mm',
  dateFormat: '0DD/0MM/YY',

  translations: [
    [/^!ts?$/img,  "'!!{{ts{'+now.formatString(config.InstantTimestamp.timeFormat)+'}}}'"],
    [/^!ds?$/img,  "'!!{{ds{'+now.formatString(config.InstantTimestamp.dateFormat)+'}}}'"],

    
    [/\{ts?\}(?!\}\})/ig,"'{{ts{'+now.formatString(config.InstantTimestamp.timeFormat)+'}}}'"],
    [/\{ds?\}(?!\}\})/ig,"'{{ds{'+now.formatString(config.InstantTimestamp.dateFormat)+'}}}'"]

  ],

  excludeTags: [
    "noAutoCorrect",
    "noTimestamp",
    "html",
    "CSS",
    "css",
    "systemConfig",
    "systemConfigDisabled",
    "zsystemConfig",
    "Plugins",
    "Plugin",
    "plugins",
    "plugin",
    "javascript",
    "code",
    "systemTheme",
    "systemPalette"
  ],

  excludeTiddlers: [
    "StyleSheet",
    "StyleSheetLayout",
    "StyleSheetColors",
    "StyleSheetPrint"
    
  ]

};

TiddlyWiki.prototype.saveTiddler_mptw_instanttimestamp = TiddlyWiki.prototype.saveTiddler;
TiddlyWiki.prototype.saveTiddler = function(title,newTitle,newBody,modifier,modified,tags,fields,clearChangeCount,created) {

  tags = tags ? tags : []; 
  tags = (typeof(tags) == "string") ? tags.readBracketedList() : tags;
  var conf = config.InstantTimestamp;

  if ( !tags.containsAny(conf.excludeTags) && !conf.excludeTiddlers.contains(newTitle) ) {

    var now = new Date();
    var trans = conf.translations;
    for (var i=0;i<trans.length;i++) {
      newBody = newBody.replace(trans[i][0], eval(trans[i][1]));
    }
  }

  
  return this.saveTiddler_mptw_instanttimestamp(title,newTitle,newBody,modifier,modified,tags,fields,clearChangeCount,created);
}


setStylesheet(".ts,.ds { font-style:italic; }","instantTimestampStyles");

//}}}
config.macros.top={};
config.macros.top.handler=function(place,macroName) {
  createTiddlyButton(place,"↑ Вгору ↑","Перейти до початку поточної сторінки",this.onclick);
}
config.macros.top.onclick=function() {
  window.scrollTo(0,0);
};
config.commands.top = {
  text:" ^ ",
  tooltip:"jump to top"
};
config.commands.top.handler = function(event,src,title) {
  window.scrollTo(0,0);
}
//{{{

var MINS  = 60 * 1000;
var HOURS = 60 * MINS;
var DAYS  = 24 * HOURS;

if (!config.lessBackups) {
  config.lessBackups = {
    
    modes: [
      ["YYYY",  365*DAYS], 
      ["MMM",   31*DAYS],  
      ["ddd",   7*DAYS],   
      //["d0DD",  1*DAYS], 
      ["h0hh",  24*HOURS], 
      ["m0mm",  1*HOURS],  
      ["s0ss",  1*MINS],   
      ["latest",0]         
    ]
  };
}

window.getSpecialBackupPath = function(backupPath) {

  var now = new Date();

  var modes = config.lessBackups.modes;

  for (var i=0;i<modes.length;i++) {

    
    var specialBackupPath = backupPath.replace(/(\.)([0-9]+\.[0-9]+)(\.html)$/,
        '$1'+now.formatString(modes[i][0]).toLowerCase()+'$3')

    
    try {
      if (config.browser.isIE) {
        var fsobject = new ActiveXObject("Scripting.FileSystemObject")
        var fileExists  = fsobject.FileExists(specialBackupPath);
        if (fileExists) {
          var fileObject = fsobject.GetFile(specialBackupPath);
          var modDate = new Date(fileObject.DateLastModified).valueOf();
        }
      }
      else {
        netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
        var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
        file.initWithPath(specialBackupPath);
        var fileExists = file.exists();
        if (fileExists) {
          var modDate = file.lastModifiedTime;
        }
      }
    }
    catch(e) {
      
      return backupPath;
    }

    var expiry = new Date(modDate + modes[i][1]);
    if (!fileExists || now > expiry)
      return specialBackupPath;
  }
}


window.getBackupPath_mptw_orig = window.getBackupPath;
window.getBackupPath = function(localPath) {
  return getSpecialBackupPath(getBackupPath_mptw_orig(localPath));
}

//}}}
*Новини
**[[Стрічка новин|Новини]]
**[[Календар подій]]
*Про ліцей
**[[Наша візитка]]
**[[Історія закладу]]
**[[Інноваційна діяльність]]
*Педагогічний колектив
**[[Адміністрація]]
**[[Професійні педагогічні спільноти]]
*Прозорість управління
**[[Нормативні документи]]
**[[Фінансова звітність]]
**[[Публічна інформація]]
*Освітній процес
**[[Інтелект та обдарованість]]
**[[Учнівське самоврядування]]
**[[Проєктно-дослідницька діяльність]]
**[[Національно-патріотичне виховання]]
**[[Критерії оцінювання|Критерії оцінювання навчальних досягнень]]
**[[Профорієнтаційна сторінка]]
**[[Морально-етичне виховання]]
**[[Клуби та студії]]
**[[СпортLife]]
**[[Соціально-психологічна підтримка]]
**[[Протидія булінгу]]
*Методична робота
**[[На допомогу вчителю]]
**[[Підвищення кваліфікації]]
**[[Атестація педпрацівників]]
**[[Основні методичні заходи]]
**[[Педагогічний Олімп]]
**[[Методичні лайфхаки]]
*Інформаційна сторінка
**[[Батькам]]
**[[Учням]]
<<accordion>>
__''Наша адреса''__:<br>37500 м.Лубни Полтавської області, вул. Монастирська, 36 
[[Показати на мапі|https://goo.gl/maps/GUg2HkRZ2Yf4PjNK7]]
__''Телефони''__:<br>(053615)-71-799, 63-002, 70-838
__''Електронна пошта''__:<br>[[schoolsuncity@ukr.net|mailto:schoolsuncity@ukr.net]]
----
| !Зроблено у [[TiddlyWiki|http://www.tiddlywiki.com]] <<version>> |
<html><div align="center"><input type="button" value="Написати вебмайстру" onClick="location.href='mailto:a_farisey@ukr.net&subject=schoolsuncity.ho.ua';"</div></html>
<!--{{{-->
<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml' />
<!--}}}-->
//{{{

(function($){

merge(config.macros,{
  mptwCollapse: {
    handler: function(place,macroName,params) {
      createTiddlyButton(place, params[0] == '+' ? '\u25AD' : '\u25AC', 'collapse/uncollapse', function(){
        $(story.findContainingTiddler(place)).toggleClass('collapsed');
      });
    }
  }
});

/* this doesn't work unless you have a modified ViewTempate */
config.shadowTiddlers["MptwCollapsePluginStyles"] = ""
  +".collapsed .uncollapsedView { display:none;       }"
  +".collapsedView              { display:none;       }"
  +".collapsed .collapsedView   { display:block;      }"
  +".tiddler.collapsed          { padding-bottom:1em; }"
  +".tiddler.collapsed .title   { font-size:100%;     }"
;

store.addNotification("MptwCollapsePluginStyles",refreshStyles);

})(jQuery);

//}}}
//{{{
var originalReadOnly = readOnly;
var originalShowBackstage = showBackstage;

config.options.chkHttpReadOnly = true;  
showBackstage = false;
readOnly = (window.location.protocol !== "file:");

config.options.chkInsertTabs = false;   
config.views.wikified.defaultText = "";
config.views.editor.defaultText = "";
config.options.chkSaveBackups = true;
config.options.txtBackupFolder = 'backup';
config.options.chkAutoSave = (window.location.protocol == "file:"); 
config.mptwVersion = "2.7.3";
config.macros.mptwVersion={handler:function(place){wikify(config.mptwVersion,place);}};
if (config.options.txtTheme == '')
  config.options.txtTheme = 'MptwTheme';
config.shadowTiddlers.GettingStarted += "\n\nSee also [[MPTW]].";
config.shadowTiddlers.OptionsPanel = config.shadowTiddlers.OptionsPanel.replace(/(\n\-\-\-\-\nAlso see \[\[AdvancedOptions\]\])/, "{{select{<<selectTheme>>\n<<selectPalette>>}}}$1");
config.mptwDateFormat = 'DD.MM.YY';
config.mptwJournalFormat = 'Нотаток від DD.0MM.YYYY';
config.mptwJournalTags = '0MM YYYY';

//}}}
|Name|MptwRounded|
|Description|Mptw Theme with some rounded corners (Firefox only)|
|ViewTemplate|MptwTheme##ViewTemplate|
|EditTemplate|MptwTheme##EditTemplate|
|PageTemplate|MptwTheme##PageTemplate|
|StyleSheet|##StyleSheet|

!StyleSheet
/*{{{*/
[[StyleSheetShortcuts]]
[[MptwTheme##StyleSheet]]
.viewer tr.oddRow { background-color: #ffe; }
.viewer tr.evenRow { background-color: #eee; }
.tiddler,
.sliderPanel,
.button,
.tiddlyLink,
.tabContents
{ -moz-border-radius: 1em; }

.tab {
	-moz-border-radius-topleft: 0.5em;
	-moz-border-radius-topright: 0.5em;
}
#topMenu {
	-moz-border-radius-bottomleft: 2em;
	-moz-border-radius-bottomright: 2em;
}

/*}}}*/
|Name|MptwStandard|
|Description|Mptw Theme with the default TiddlyWiki PageLayout and Styles|
|ViewTemplate|MptwTheme##ViewTemplate|
|EditTemplate|MptwTheme##EditTemplate|
|Name|MptwTheme|
|Description|Mptw Theme including custom PageLayout|
|PageTemplate|##PageTemplate|
|ViewTemplate|##ViewTemplate|
|EditTemplate|##EditTemplate|
|StyleSheet|##StyleSheet|

http://mptw.tiddlyspot.com/#MptwTheme ($Rev: 1829 $)

!PageTemplate
<!--{{{-->
<div class='header' style='background: url(pict/TitleBG.jpg) top left repeat'>
	<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='topMenu' refresh='content' -->
<!-- tiddler='MainMenu'></div> -->
<div id="topMenu" refresh="content" tiddler="TopMenu">;</div>
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
<div id='sidebar'>
	<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
	<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea'>
	<div id='messageArea'></div>
	<div id='tiddlerDisplay'></div>
	<div id='ContentFooter' refresh='content' tiddler='contentFooter'></div>
</div>
<!--}}}-->

!ViewTemplate
<!--{{{-->
<div class="uncollapsedView">
[[MptwTheme##ViewTemplateToolbar]]
<span macro="tiddler BackgroundColors" style="display:none"></span>
<div class='titleContainer'>
	<div class='title' macro='view title'></div>
</div>
</div>
<div class='subtitle'>
    <!--
	(updated <span macro='view modified date {{config.mptwDateFormat?config.mptwDateFormat:"MM/0DD/YY"}}'></span>
	by <span macro='view modifier link'></span>)
    -->
	<!--
	(<span macro='message views.wikified.createdPrompt'></span>
	<span macro='view created date {{config.mptwDateFormat?config.mptwDateFormat:"MM/0DD/YY"}}'></span>)
	-->
</div>

<div macro="showWhen tiddler.tags.containsAny(['css','html','pre','systemConfig']) && !tiddler.text.match('{{'+'{')">
	<div class='viewer'><pre macro='view text'></pre></div>
</div>
<div macro="else">
	<div class='viewer' macro='view text wikified'></div>
</div>

</div>
<div class="collapsedView">
	<span class='toolbar'>
		<span macro='mptwCollapse +'></span>
	</span>
<span class='title' macro='view title'></span>
</div>
<!--}}}-->

!ViewTemplateToolbar
<!--{{{-->
<div class='toolbar'>
	<span macro="showWhenTagged systemConfig">
	</span>
	<span macro="showWhenTagged systemTheme"><span macro="applyTheme"></span></span>
	<span macro="showWhenTagged systemPalette"><span macro="applyPalette"></span></span>
	<span macro="showWhen tiddler.tags.contains('css') || tiddler.title == 'StyleSheet'"><span macro="refreshAll"></span></span>
	<span style="padding:1em;"></span>
	<span macro='toolbar +editTiddler deleteTiddler -closeTiddler </span> 
	<!--span macro='mptwCollapse -'></span-->
</div>
<!--}}}-->

!EditTemplate
<!--{{{-->
<div class="toolbar" macro="toolbar +saveTiddler cancelTiddler deleteTiddler"></div>
<div class="title" macro="view title"></div>
<div class="editLabel">Заголовок нотатку</div><div class="editor" macro="edit title"></div>
<div macro='annotations'></div>
<div class="editLabel">Теги (ключові слова)</div><div class="editor" macro="edit tags"></div>
<div class="editLabel">Зміст нотатку</div><div class="editor" macro="edit text"></div>
<div class="editorFooter"><span macro="message views.editor.tagPrompt"></span><span macro="tagChooser"></span></div>
<!--}}}-->

!StyleSheet
/*{{{*/

/* a contrasting background so I can see where one tiddler ends and the other begins */
body {background-image: url(pict/BodyBG.jpg);
background-repeat: repeat; background-position: left; backgound-color: transparent; font-family: Helvetica;}

/* sexy colours and font for the header */
.headerForeground {
	color: [[ColorPalette::PrimaryPale]];
}
.headerShadow, .headerShadow a {
	color: [[ColorPalette::PrimaryMid]];
}

/* separate the top menu parts */
.headerForeground, .headerShadow {
	padding: 1em 1em 0;
}

.headerForeground, .headerShadow {
	font-family: 'Trebuchet MS', sans-serif;
	font-weight:bold;
}
.headerForeground .siteSubtitle {
	color: [[ColorPalette::PrimaryLight]];
}
.headerShadow .siteSubtitle {
	color: [[ColorPalette::PrimaryMid]];
}

/* make shadow go and down right instead of up and left */
.headerShadow {
	left: 0px;
	top: 0px;
}

/* prefer monospace for editing */
.editor textarea, .editor input {
	font-family: 'Consolas', monospace;
	background-color:[[ColorPalette::TertiaryPale]];
}


/* sexy tiddler titles */
.title {
	font-size: 200%;
	color: black;
	font-family: Verdana, 'Times New Roman', sans-serif;
}

/* more subtle tiddler subtitle */
.subtitle {
	padding:0px;
	margin:0px;
	padding-left:1em;
	font-size: 90%;
	color: [[ColorPalette::TertiaryMid]];
}
.subtitle .tiddlyLink {
	color: [[ColorPalette::TertiaryMid]];
}

/* a little bit of extra whitespace */
.viewer {
	padding-bottom:3px;
}

/* don't want any background color for headings */
h1,h2,h3,h4,h5,h6 {
	background-color: transparent;
	color: blue;
}

/* give tiddlers 3d style border and explicit background */
.tiddler {
	background: [[ColorPalette::Background]];
	border-right: 2px [[ColorPalette::TertiaryMid]] solid;
	border-bottom: 2px [[ColorPalette::TertiaryMid]] solid;
	margin-bottom: 1em;
	padding:1em 2em 2em 1.5em;
}

/* make options slider look nicer */
#sidebarOptions .sliderPanel {
	border:solid 1px [[ColorPalette::PrimaryLight]];
}

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

/* this means you can put line breaks in SidebarOptions for readability */
#sidebarOptions br {
	display:none;
}

/* undo the above in OptionsPanel */
#sidebarOptions .sliderPanel br {
	display:inline;
}

/*1*/
/* horizontal main menu stuff */
#displayArea {
	margin: 1em 11em 0em 12em; /* use the freed up space */
}
#topMenu br {
	display: none;
}
topMenu {
	background: [[ColorPalette::PrimaryLight]];
	color:[[ColorPalette::PrimaryPale]];
}
#topMenu {
	padding:2px;
}
#topMenu .button, #topMenu .tiddlyLink, #topMenu a {
	margin-left: 0.5em;
	margin-right: 0.5em;
	padding-left: 3px;
	padding-right: 3px;
	background: blue;
	color: yellow;
	font-size: 150%;
}
#topMenu .button:hover, #topMenu .tiddlyLink:hover {
	background: white;
	color: blue;
}

/* make 2.2 act like 2.1 with the invisible buttons */
.toolbar {
	visibility:hidden;
}
.selected .toolbar {
	visibility:visible;
}

/* experimental. this is a little borked in IE7 with the button 
 * borders but worth it I think for the extra screen realestate */
.toolbar { float:right; }

/* fix for TaggerPlugin. from sb56637. improved by FND */
.popup li .tagger a {
   display:inline;
}

/* makes theme selector look a little better */
#sidebarOptions .sliderPanel .select .button {
  padding:0.5em;
  display:block;
}
#sidebarOptions .sliderPanel .select br {
	display:none;
}

/* make it print a little cleaner */
@media print {
	#topMenu {
		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;
	}
	.tagglyTagging .button, .tagglyTagging .hidebutton {
		display: none ! important;
	}
	.headerShadow {
		visibility: hidden ! important;
	}
	.tagglyTagged .quickopentag, .tagged .quickopentag {
		border-style: none ! important;
	}
}

/* get user styles specified in StyleSheet */
#siteFooter {text-align:center; clear: both; padding: 2em; height: 3em;}
[[StyleSheet]]

/*}}}*/
|Name|MptwTrim|
|Description|Mptw Theme with a reduced header to increase useful space|
|ViewTemplate|MptwTheme##ViewTemplate|
|EditTemplate|MptwTheme##EditTemplate|
|StyleSheet|MptwTheme##StyleSheet|
|PageTemplate|##PageTemplate|

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

<!-- horizontal MainMenu -->
<div id='topMenu' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<span refresh='content' tiddler='SiteTitle' style="padding-left:1em;font-weight:bold;"></span>:
<span refresh='content' tiddler='MainMenu'></span>
</div>
<div id='sidebar'>
	<div id='sidebarOptions'>
		<div refresh='content' tiddler='SideBarOptions'></div>
		<div style="margin-left:0.1em;"
			macro='slider chkTabSliderPanel SideBarTabs {{"tabs \u00bb"}} "Show Timeline, All, Tags, etc"'></div>
	</div>
</div>
<div id='displayArea'>
	<div id='messageArea'></div>
	<div id='tiddlerDisplay'></div>
	<div id='ContentFooter' refresh='content' tiddler='contentFooter'></div>
</div>
//{{{

config.options.txtTheme = 'MptwRoundTheme';
config.options.txtUserName = 'Master'
config.options.chkSaveBackups = true;
config.options.chkAutoSave = false;
config.options.chkRegExpSearch = false;
config.options.chkCaseSensitiveSearch = false;
config.options.txtBackupFolder = 'backups';
config.options.chkAnimate = true;
//}}}
//{{{
version.extensions.newDocument = {major: 1, minor: 7, revision: 0, date: new Date(2007,3,30)};

config.macros.newDocument = {
	newlabel: "new document",
	newprompt: "Create a new TiddlyWiki 'starter' document",
	newdefault: "new.html",
	allparam: "all",
	saveaslabel: "save as...",
	saveasprompt: "Save current TiddlyWiki to a different file",
	printparam: "print",
	snapparam: "snap",
	snaplabel: "create a snapshot",
	snapprompt: "Роздрукувати поточний нотаток",
	snapdefault: "snapshot.html",
	snapID: "contentWrapper",
	snapIDprompt: "Please enter a DOM element ID for the desired content",
	snapIDerrmsg: "Unrecognized document element ID: '%0'",
	askparam: "ask",
	hereparam: "here",
	labelparam: "label:",
	promptparam: "prompt:",
	fileprompt: "Please enter a filename",
	filter: "includeNew",
	filterprompt: "Match one or more tags:\n(space-separated, use [[...]] around tags containing spaces)",
	filtererrmsg: "Error in tag filter '%0'",
	snapmsg: "Document snapshot written to %1",
	okmsg: "%0 tiddlers written to %1",
	failmsg: "An error occurred while creating %0"
};

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

	var path=getLocalPath(document.location.href);
	var slashpos=path.lastIndexOf("/"); if (slashpos==-1) slashpos=path.lastIndexOf("\\"); 
	if (slashpos!=-1) path = path.substr(0,slashpos+1); 

	if (params[0] && params[0].substr(0,config.macros.newDocument.labelparam.length)==config.macros.newDocument.labelparam)
		var label=params.shift().substr(config.macros.newDocument.labelparam.length)
	if (params[0] && params[0].substr(0,config.macros.newDocument.promptparam.length)==config.macros.newDocument.promptparam)
		var prompt=params.shift().substr(config.macros.newDocument.promptparam.length)
	var filename=params.shift(); if (!filename) filename=config.macros.newDocument.newdefault;
	if (params[0]==config.macros.newDocument.snapparam || params[0]==config.macros.newDocument.printparam) {
		var printmode=(params[0]==config.macros.newDocument.printparam);
		params.shift();
		if (!label) var label=config.macros.newDocument.snaplabel;
		if (!prompt) var prompt=config.macros.newDocument.snapprompt;
		var defaultfile=config.macros.newDocument.snapdefault;
		var snapID=config.macros.newDocument.snapID;
		if (params[0]) var snapID=params.shift();
	}
	if (params[0]==config.macros.newDocument.allparam) {
		if (!label) var label=config.macros.newDocument.saveaslabel;
		if (!prompt) var prompt=config.macros.newDocument.saveasprompt;
		var defaultfile=getLocalPath(document.location.href);
		var slashpos=defaultfile.lastIndexOf("/"); if (slashpos==-1) slashpos=defaultfile.lastIndexOf("\\");
		if (slashpos!=-1) defaultfile=defaultfile.substr(slashpos+1); 
	}
	if (!prompt) var prompt=config.macros.newDocument.newprompt;
	if (!label) var label=config.macros.newDocument.newlabel;
	if (!defaultfile) var defaultfile=config.macros.newDocument.newdefault;

	var btn=createTiddlyButton(place,label,prompt,onClickNewDocument);
	btn.path=path;
	btn.file=filename;
	btn.defaultfile=defaultfile;
	btn.snapID=snapID; 
	btn.printmode=printmode;
	btn.filter=params.length?params:[config.macros.newDocument.filter]; 
}

window.onClickNewDocument=function(e)
{
	if (!e) var e = window.event; var btn=resolveTarget(e);
	var okmsg=config.macros.newDocument.okmsg;
	var failmsg=config.macros.newDocument.failmsg;
	var count=0;
	var out="";
	if (btn.snapID) { 
		var snapID=btn.snapID;
		if (btn.snapID==config.macros.newDocument.askparam)
			snapID=prompt(config.macros.newDocument.snapIDprompt,config.macros.newDocument.snapID);
		if (btn.snapID==config.macros.newDocument.hereparam)
			{ var here=story.findContainingTiddler(btn); if (here) snapID=here.id; }
		if (!document.getElementById(snapID)) { 
			if (snapID) 
				displayMessage(config.macros.newDocument.snapIDerrmsg.format([snapID]));
			e.cancelBubble = true; if (e.stopPropagation) e.stopPropagation(); return(false);
		}
		var styles=document.getElementsByTagName("style");
		out+="<html>\n<head>\n<style>\n";
		for(var i=0; i < styles.length; i++)
			out +="/* stylesheet from tiddler:"+styles[i].getAttribute("id")+" */\n"+styles[i].innerHTML+"\n\n";
		out+="</style>\n</head>\n<body>\n\n"+document.getElementById(snapID).innerHTML+"\n\n</body>\n</html>";
		okmsg=config.macros.newDocument.snapmsg;
	} else { 
		var sourcefile=getLocalPath(document.location.href);
		var source=loadFile(sourcefile);
		if(source==null) { alert(config.messages.cantSaveError); return null; }
		source=updateMarkupBlock(source,"PRE-HEAD");
		source=updateMarkupBlock(source,"POST-HEAD");
		source=updateMarkupBlock(source,"PRE-BODY");
		source=updateMarkupBlock(source,"POST-BODY");
		var posOpeningDiv=source.indexOf(startSaveArea);
		var posClosingDiv=source.lastIndexOf(endSaveArea);
		if((posOpeningDiv==-1)||(posClosingDiv==-1)) { alert(config.messages.invalidFileError.format([sourcefile])); return; }
		var match=btn.filter;
		if (match[0]==config.macros.newDocument.askparam) { 
			var newfilt=prompt(config.macros.newDocument.filterprompt,config.macros.newDocument.filter);
			if (!newfilt) return;  
			match=newfilt.readMacroParams();
		}
		var storeAreaDivs=[];
		var tiddlers=store.getTiddlers('title');
		for (var i=0; i<tiddlers.length; i++)
			if (match[0]==config.macros.newDocument.allparam || (tiddlers[i].tags && tiddlers[i].tags.containsAny(match)) )
				storeAreaDivs.push(store.getSaver().externalizeTiddler(store,tiddlers[i]));
		out+=source.substr(0,posOpeningDiv+startSaveArea.length);
		out+=convertUnicodeToUTF8(storeAreaDivs.join("\n"))+"\n\t\t";
		out+=source.substr(posClosingDiv);
		count=storeAreaDivs.length;
	}
	if (btn.printmode) {
		var win=window.open("","_blank","");
		win.document.open();
		win.document.writeln(out);
		win.document.close();
		win.focus(); 
		win.print(); 
	} else {
		var filename=btn.file;
		if (filename==config.macros.newDocument.askparam)
			filename=promptForFilename(config.macros.newDocument.fileprompt,btn.path,btn.defaultfile);
		if (!filename) return; 
		var slashpos=filename.lastIndexOf("/"); if (slashpos==-1) slashpos=filename.lastIndexOf("\\");
		if (slashpos==-1) filename=btn.path+filename;
		var ok=saveFile(filename,out);
		var msg=ok?okmsg.format([count,filename]):failmsg.format([filename]);
		var link=ok?"file:///"+filename.replace(/\\/g,'/'):""; 
		clearMessage(); displayMessage(msg,link);
	}
	e.cancelBubble = true; if (e.stopPropagation) e.stopPropagation(); return(false);
}
//}}}

//{{{
function promptForFilename(msg,path,file)
{
	if(window.Components) { 
		try {
			netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
			var nsIFilePicker = window.Components.interfaces.nsIFilePicker;
			var picker = Components.classes['@mozilla.org/filepicker;1'].createInstance(nsIFilePicker);
			picker.init(window, msg, nsIFilePicker.modeSave);
			var thispath = Components.classes['@mozilla.org/file/local;1'].createInstance(Components.interfaces.nsILocalFile);
			thispath.initWithPath(path);
			picker.displayDirectory=thispath;
			picker.defaultExtension='html';
			picker.defaultString=file;
			picker.appendFilters(nsIFilePicker.filterAll|nsIFilePicker.filterText|nsIFilePicker.filterHTML);
			if (picker.show()!=nsIFilePicker.returnCancel) var result=picker.file.persistentDescriptor;
		}
		catch(e) { alert('error during local file access: '+e.toString()) }
	}
	else { 
		try { 
			var s = new ActiveXObject('UserAccounts.CommonDialog');
			s.Filter='All files|*.*|Text files|*.txt|HTML files|*.htm;*.html|';
			s.FilterIndex=3; 
			s.InitialDir=path;
			s.FileName=file;
			if (s.showOpen()) var result=s.FileName;
		}
		catch(e) { var result=prompt(msg,path+file); } 
	}
	return result;
}
//}}}
//{{{
merge(config.macros, {
  newHere: {
    handler: function(place,macroName,params,wikifier,paramString,tiddler) {
      wikify("<<newTiddler "+paramString+" tag:[["+tiddler.title+"]]>>",place,null,tiddler);
}
  },
  newJournalHere: {
    handler: function(place,macroName,params,wikifier,paramString,tiddler) {
	wikify("<<newJournal "+paramString+" >>",place,null,tiddler);      
    }
  }
});

//}}}
//{{{

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

//}}}
<<option txtUserName>>
<<option chkSaveBackups>> Резервная копия
<<option chkAutoSave>> Автосохранение
<<option chkAnimate>> Анимация
----
[[Начальные настройки|GettingStarted]]
[[Расширенные настройки|AdvancedOptions]]

//{{{
config.renameTags = {

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

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

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

  storeMethods: {

    saveTiddler_orig_renameTags: TiddlyWiki.prototype.saveTiddler,

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

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

    removeTiddler_orig_renameTags: TiddlyWiki.prototype.removeTiddler,

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

  },

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

config.renameTags.init();

//}}}
//{{{
merge(config.commands,{

  saveCloseTiddler: {
    text: 'зберегти і закрити',
    tooltip: 'Save changes to this tiddler and close it',
    handler: function(ev,src,title) {
      var closeTitle = title;
      var newTitle = story.saveTiddler(title,ev.shiftKey);
      if (newTitle)
        closeTitle = newTitle;
      return config.commands.closeTiddler.handler(ev,src,closeTitle);
    }
  },

  cancelCloseTiddler: {
    text: 'скасувати і закрити',
    tooltip: 'Undo changes to this tiddler and close it',
    handler: function(ev,src,title) {
      return config.commands.closeTiddler.handler(ev,src,title);
    }
  }

});

//}}}
/%
!info
|Name|SetTiddlerBackground|
|Source|http://www.TiddlyTools.com/#SetTiddlerBackground|
|Version|2.0.0|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|Type|transclusion|
|Description|set tiddler background and font color CSS attributes|
Usage
<<<
{{{
<<tiddler SetTiddlerBackground with: bgstyle fgstyle matchtag class>>
}}}
*''bgstyle'' and ''fgstyle'' (optional, but specify at least one)<br>are CSS background style attributes (most often color values, e.g., #rgb or #rrggbb)
*''matchtag'' (optional)<br>is a tag value that allows selective control of tiddler background/foreground colors
*''class'' (optional)<br>is the class of the tiddler element to which the fgstyle/bgstyle will be applied Default is 'viewer'.  Use 'title' to set the background of the tiddler's 'title' area instead of its 'viewer' area.
The bgstyle and fgstyle assignments are only performed if the tiddler has the matching tag (or if no matchtag value is specified).  Also, to set either bgstyle or fgstyle (but not both), you can use a dash ('-') as a placeholder for the value you do NOT want to set.  For example:
{{{
<<tiddler SetTiddlerBackground with: #F00 - urgent>>
}}}
sets the bgstyle (but NOT the fgstyle) to RED for only those tiddlers tagged with 'urgent'.  Also, note that in that instead of using #RGB color definitions, you can also use CSS color keywords (i.e., 'red', 'yellow', 'green') or *any* other valid CSS value that can be applied to the 'background' style attribute.  For example, to use a background image for any tiddler tagged with 'wallpaper', you can write:
{{{
<<tiddler SetTiddlerBackground with: url("images/bg.jpg") - wallpaper>>
}}}
You can use this script several times in a row to define a set of tag-to-color mappings, stored in a *single* convenient tiddler (e.g, [[BackgroundColors]]), containing something like this:
{{{
<<tiddler SetTiddlerBackground with: red - urgent>>
<<tiddler SetTiddlerBackground with: yellow - active>>
<<tiddler SetTiddlerBackground with: green - done>>
}}}
To apply the set of tag-based color mappings, embed:
{{{
<<tiddler BackgroundColors>> (in tiddler content) OR
<span macro='tiddler BackgroundColors' style='display:none'></span> (in ViewTemplate, for all tiddlers)
}}}
and then set the desired tag value(s) onto specific tiddlers.  To add more color mappings, just edit the [[BackgroundColors]] tiddler and then start tagging tiddlers accordingly.
<<<
!end
!show
<<tiddler {{
	if ('$1'!='$'+'1' && '$1'!='-') var bg='$1';
	if ('$2'!='$'+'2' && '$2'!='-') var fg='$2';
	if ('$3'!='$'+'3' && '$3'!='-') var tag='$3';
	if ('$4'!='$'+'4' && '$4'!='-') var c='$4'; else var c='viewer';
	var here=story.findContainingTiddler(place);
	var t=store.getTiddler(here?here.getAttribute('tiddler'):'');
	if (!tag||t&&t.isTagged(tag)) {
		var e=here;
		if (c!='tiddler') {
			var elems=e.getElementsByTagName('*');
			for (var i=0; i<elems.length; i++)
				if (hasClass(elems[i],c)) { var e=elems[i]; break; }
		}
		if (e&&bg) { e.style.backgroundImage='none'; e.style.background=bg; }
		if (e&&fg) { e.style.color=fg; }
	}
'';}}>>
!end
%/<<tiddler {{var src='SetTiddlerBackground'; src+(tiddler&&tiddler.title==src?'##info':'##show');}}
	with: [[$1]] [[$2]] [[$3]] [[$4]]>>
| <<search>> |h
| @@font-size:1.5em;Шрифт:@@<br><<fontSize>> |h
| [img(90%,)[Гаряча лінія з питань протидії торгівлі людьми та консультування мігрантів|pict/527.jpg][https://www.527.org.ua/]] |h
| [img(90%,)[Психологічна допомога в ліцеї "Європейський". Психологічна допомога педагогічним працівникам ліцею, учням та їх батькам проводиться щоденно в кабінеті психолога. Години прийому 12:00-16:00|pict/psyhelp.jpg]] |h
| [img(100%,)[Шкільний чат-бот #ПроБулінг допоможе розпізнати ознаки булінгу, пояснить чим відрізняється булінг від конфлікту,  що робити, коли тебе булять, а також де шукати допомогу, якщо тебе ображають в кіберпросторі.|pict/tg.png][http://t.me/ProBullyingBot]] |h
| [img(100%,)[Шкільний ютуб-канал|pict/yt1.png][https://www.youtube.com/c/SolarTVLubny]] |h
| [img(100%,)[Ютуб-канал кафедри іноземної мови|pict/yt2.png][https://www.youtube.com/channel/UC1bRlpUzJ6cnKiKPwMMjqCA]] |h
| [img(100%,)[Фейсбук-сторінка|pict/fb.png][https://www.facebook.com/suncity-six]] |h
| [[Літературний сайт Володимира Малика|http://malyk.ho.ua/]] |h
| [[HUMAN - Дистанційне навчання|https://www.human.ua/]] |h
| [[Лубенська міська рада|http://lubnyrada.gov.ua/]] |h
| [[Міністерство освіти і науки України|http://www.mon.gov.ua/]] |h
| [[Український центр оцінювання якості освіти|http://www.testportal.gov.ua/]] |h
| [[Харківський регіональний центр оцінювання якості освіти|https://zno-kharkiv.org.ua/]] |h
| [[Освітній портал|http://www.osvita.org.ua/]] |h
| [[Професійно-технічна освіта в Україні|http://www.proftekhosvita.org.ua]] |h
| [[Вищі навчальні заклади України|http://www.mon.gov.ua/main.php?query=nz]] |h
| [img(100%,)[Державна служба якості освіти|pict/dsyao.jpg][http://www.sqe.gov.ua/]] |h
| [img(100%,)[ГО Ла-Страда|pict/la-strada.jpg][http://la-strada.org.ua/]] |h
| [img(100%,)[Я маю право|pict/pravo.jpg][http://pravo.minjust.gov.ua/]] |h
| [img(100%,)[Безоплатна правова допомога|pict/legalaid.jpg][http://legalaid.gov.ua/]] |h
//{{{
if(!version.extensions.SimpleSearchPlugin) { 
version.extensions.SimpleSearchPlugin = { installed: true };

if(!config.extensions) { config.extensions = {}; }

config.extensions.SimpleSearchPlugin = {
	heading: "Результати пошуку",
	containerId: "searchResults",
	btnCloseLabel: "закрити",
	btnCloseTooltip: "Відмовитись від перегляду результатів пошуку",
	btnCloseId: "search_close",
	btnOpenLabel: "Відкрити всі результати",
	btnOpenTooltip: "Відкрити всі результати пошуку",
	btnOpenId: "search_open",

	displayResults: function(matches, query) {
		story.refreshAllTiddlers(true); 
		var el = document.getElementById(this.containerId);
		query = '"""' + query + '"""'; 
		if(el) {
			removeChildren(el);
		} else { //# fallback: use displayArea as parent
			var container = document.getElementById("displayArea");
			el = document.createElement("div");
			el.id = this.containerId;
			el = container.insertBefore(el, container.firstChild);
		}
		var msg = "!" + this.heading + "\n";
		if(matches.length > 0) {
			msg += "''" + config.macros.search.successMsg.format([matches.length.toString(), query]) + ":''\n";
			this.results = [];
			for(var i = 0 ; i < matches.length; i++) {
				this.results.push(matches[i].title);
				msg += "* [[" + matches[i].title + "]]\n";
			}
		} else {
			msg += "''" + config.macros.search.failureMsg.format([query]) + "''"; // XXX: do not use bold here!?
		}
		createTiddlyButton(el, this.btnCloseLabel, this.btnCloseTooltip, config.extensions.SimpleSearchPlugin.closeResults, "button", this.btnCloseId);
		wikify(msg, el);
		if(matches.length > 0) { 
			createTiddlyButton(el, this.btnOpenLabel, this.btnOpenTooltip, config.extensions.SimpleSearchPlugin.openAll, "button", this.btnOpenId);
		}
	},

	closeResults: function() {
		var el = document.getElementById(config.extensions.SimpleSearchPlugin.containerId);
		removeNode(el);
		config.extensions.SimpleSearchPlugin.results = null;
		highlightHack = null;
	},

	openAll: function(ev) {
		story.displayTiddlers(null, config.extensions.SimpleSearchPlugin.results);
		return false;
	}
};

config.shadowTiddlers.StyleSheetSimpleSearch = "/*{{{*/\n" +
	"#" + config.extensions.SimpleSearchPlugin.containerId + " {\n" +
	"\toverflow: auto;\n" +
	"\tpadding: 5px 1em 10px;\n" +
	"\tbackground-color: #a2dcde;\n" +
	"}\n\n" +
	"#" + config.extensions.SimpleSearchPlugin.containerId + " h1 {\n" +
	"\tmargin-top: 0;\n" +
	"\tborder: none;\n" +
	"}\n\n" +
	"#" + config.extensions.SimpleSearchPlugin.containerId + " ul {\n" +
	"\tmargin: 0.5em;\n" +
	"\tpadding-left: 1.5em;\n" +
	"}\n\n" +
	"#" + config.extensions.SimpleSearchPlugin.containerId + " .button {\n" +
	"\tdisplay: block;\n" +
	"\tborder-color: blue;\n" +
	"\tpadding: 5px;\n" +
	"\tbackground-color: [[ColorPalette::TertiaryLight]];\n" +
	"}\n\n" +
	"#" + config.extensions.SimpleSearchPlugin.containerId + " .button:hover {\n" +
	"\tborder-color: [[ColorPalette::SecondaryMid]];\n" +
	"\tbackground-color: [[ColorPalette::SecondaryLight]];\n" +
	"}\n\n" +
	"#" + config.extensions.SimpleSearchPlugin.btnCloseId + " {\n" +
	"\tfloat: right;\n" +
	"\tmargin: -5px -1em 5px 5px;\n" +
	"}\n\n" +
	"#" + config.extensions.SimpleSearchPlugin.btnOpenId + " {\n" +
	"\tfloat: left;\n" +
	"\tmargin-top: 5px;\n" +
	"}\n" +
	"/*}}}*/";
store.addNotification("StyleSheetSimpleSearch", refreshStyles);

Story.prototype.search = function(text, useCaseSensitive, useRegExp) {
	highlightHack = new RegExp(useRegExp ? text : text.escapeRegExp(), useCaseSensitive ? "mg" : "img");
	var matches = store.search(highlightHack, null, "excludeSearch");
	var q = useRegExp ? "/" : "'";
	config.extensions.SimpleSearchPlugin.displayResults(matches, q + text + q);
};

TiddlyWiki.prototype.search = function(searchRegExp, sortField, excludeTag, match) {
	var candidates = this.reverseLookup("tags", excludeTag, !!match);
	var primary = [];
	var secondary = [];
	var tertiary = [];
	for(var t = 0; t < candidates.length; t++) {
		if(candidates[t].title.search(searchRegExp) != -1) {
			primary.push(candidates[t]);
		} else if(candidates[t].tags.join(" ").search(searchRegExp) != -1) {
			secondary.push(candidates[t]);
		} else if(candidates[t].text.search(searchRegExp) != -1) {
			tertiary.push(candidates[t]);
		}
	}
	var results = primary.concat(secondary).concat(tertiary);
	if(sortField) {
		results.sort(function(a, b) {
			return a[sortField] < b[sortField] ? -1 : (a[sortField] == b[sortField] ? 0 : +1);
		});
	}
	return results;
};

} 
//}}}

<<newJournal tag:Нотаток Новина {{config.messages.dates.months[new Date().getMonth()]+new Date().getFullYear()}} {{new Date().getFullYear()}}>> <<saveChanges>>
[img(100%,)[pict/logo6.jpg]]
/* give tiddlers 3d style border and explicit background */
.tiddler {
	background: url(pict/TiddlerBG.jpg) top left repeat;
	border-right: 4px [[ColorPalette::TertiaryMid]] solid;
	border-bottom: 4px [[ColorPalette::TertiaryMid]] solid;
	margin-bottom: 1em;
	padding:1em 2em 2em 1.5em;
}

#topMenu .button, #topMenu .tiddlyLink, #topMenu a {
	margin-left: 0em;
	margin-right: 0em;
	padding-left: 0px;
	padding-right: 0px;
	background: transparent;
	color: blue;
	font-size: 150%;
}
#topMenu .button:hover, #topMenu .tiddlyLink:hover {
	background: white;
	color: blue;
}

/*Invisible table*/

.viewer .invisibletable table { 
border-color: transparent;
}

.viewer .invisibletable table td { 
font-size: 1em;
font-family: Verdana;
border-color: transparent;
padding: 10px 10px 10px 10px;
vertical-align: top;
} 

.viewer .invisibletable table th { 
color: #005566;
background-color: white;
border-color: transparent;
font-family: Verdana;
font-size: 1.2em;
font-weight: bold;
padding: 10px 10px 10px 10px;
vertical-align: top;
}
//{{{
version.extensions.tiddlerList = {major: 2, minor: 3, revision: 0, date: new Date("Jan 08, 2008")};
// template = [header, item, separator, group, footer]
config.macros.tiddlerList={
 formats : {list:true, nlist:true, span:true, stack:true, csv:true, table:true},
 templates : {
 list : [ "%0\n", "* %0\n", "", "%group\n", "%0\n"],
 nlist : [ "%0", "# %0\n", "", "%group\n", "%0\n"],
 span : [ "%0", "%0", " ", "%group", "%0"],
 stack : [ "%0", "%0", "\n", "%group", "%0"],
 csv : [ "%0", "%0", ", ", "%0", "%0\n"],
 table : ["|!%0|\n", "|%0|\n", "", "|%group|\n", "|%0|\n"]
 },
 dateFormat : "DD MMM YYYY"
}

if (typeof gCurrentTiddler == 'undefined')
 var gCurrentTiddler;

config.macros.tiddlerList.handler = function(place,macroName,params,wikifier,paramString,tiddler)
{
 // Some globals
 var count=0, groupCount=0, theGroup="", lastGroup="", firstInGroup = false;
 var currentTiddler = tiddler;
 gCurrentTiddler = tiddler;
 var listWikiText="";
 var formats = this.formats;
 
 // SQL-Like parameters
 var parameters = paramString.parseParams("name",null,true);
 var pTags = parameters[0]["tags"]?parameters[0]["tags"][0].split(","):[];
 var pOrder = parameters[0]["order"]?parameters[0]["order"][0]:"title";
 var pTop = parameters[0]["top"]?parameters[0]["top"][0]:-1;
 var pText = parameters[0]["text"]?parameters[0]["text"][0]:"";
 var pTitle = parameters[0]["title"]?parameters[0]["title"][0]:"";
 var pSearch = parameters[0]["search"]?parameters[0]["search"][0]:"";
 var pFilter = parameters[0]["filter"]?parameters[0]["filter"][0]:"";
 var pHeader = parameters[0]["header"]?paramFormat(parameters[0]["header"][0]):"";
 var pFooter = parameters[0]["footer"]?paramFormat(parameters[0]["footer"][0]):"";
 var pGroup = parameters[0]["group"]?parameters[0]["group"][0]:"";
 var pDateFormat = parameters[0]["dateFormat"]?parameters[0]["dateFormat"][0]:this.dateFormat;
 var pCustomParameter = parameters[0]["customParameter"]?parameters[0]["customParameter"][0]:"";
 var pFormat = parameters[0]["format"]?parameters[0]["format"][0]:"list";
 pFormat = formats[pFormat]?pFormat:"list"
 
 // Separator
 var pSeparator = parameters[0]["separator"]?paramFormat(parameters[0]["separator"][0]):(parameters[0]["seperator"]?paramFormat(parameters[0]["seperator"][0]):this.templates[pFormat][2])

 // Template for group
 var pGroupTemplate = this.templates[pFormat][3];
 if (parameters[0]["groupTemplate"])
 pGroupTemplate = paramFormat(parameters[0]["groupTemplate"][0])
 pGroupTemplate = pGroupTemplate.replace("$))", ">>")
 
 // Template for group footer
 var pGroupFooterTemplate = "";
 if (parameters[0]["groupFooterTemplate"])
 pGroupFooterTemplate = paramFormat(parameters[0]["groupFooterTemplate"][0])
 pGroupFooterTemplate = pGroupFooterTemplate.replace("$))", ">>")
 
 // Template for item
 var pItemTemplate = this.templates[pFormat][1];
 if (parameters[0]["itemTemplate"])
 pItemTemplate = paramFormat(parameters[0]["itemTemplate"][0])
 pItemTemplate = pItemTemplate.replace("$))", ">>").replace("%link", "%0").replace("%item", "%1").replace("%abstract", "%2").replace("%text", "%3").replace("%created", "%4").replace("%modified", "%5").replace("%modifier", "%6").replace("%group", "%7").replace("%title", "%8").replace("%tags", "%9").replace("%nolink", "%10").replace("%custom", "%11")
 // Template for footer
 var pFooterTemplate = this.templates[pFormat][4].replace("%count", "%1")

 // Get all tiddlers
 var tiddlers = store.reverseLookup("tags","excludeLists",false);

 // Sorting
 if(!pOrder)
 pOrder = "title";
 if (pOrder.match(/^\-/i)) {
 pOrder = pOrder.substr(1)
 var sortDesc = true;
 }
 // Sorting on a standard field
 if (pOrder.match(/(title)|(text)|(modifier)|(modified)|(created)|(tags)/))
  if (sortDesc)
   tiddlers.sort(function (a,b) {if(a[pOrder] == b[pOrder]) return(0); else return (a[pOrder] > b[pOrder]) ? -1 : +1; });
  else
  tiddlers.sort(function (a,b) {if(a[pOrder] == b[pOrder]) return(0); else return (a[pOrder] < b[pOrder]) ? -1 : +1; });
 else
  if (sortDesc)
   tiddlers.sort(function (a,b) {if(a.fields[pOrder] == b.fields[pOrder]) return(0); else return (a.fields[pOrder] > b.fields[pOrder]) ? -1 : +1; });
  else
   tiddlers.sort(function (a,b) {if(a.fields[pOrder] == b.fields[pOrder]) return(0); else return (a.fields[pOrder] < b.fields[pOrder]) ? -1 : +1; });

 // Header
 if (pHeader)
 listWikiText += formatItem(this.templates[pFormat][0], [pHeader], pFormat)
 
 for(var t=0; t<tiddlers.length; t++) {
 tiddler = tiddlers[t];
 if (pText!="" && tiddler.text=="") tiddler.text=store.getValue(tiddler, 'text')
 if (pTop==-1 || count<pTop) {
 if (pText=="" || tiddler.text.match(pText)) {
 if (pTitle=="" || tiddler.title.match(pTitle)) {
 if (pSearch=="" || (tiddler.title.match(pSearch) || tiddler.text.match(pSearch))) {
 if (pFilter=="" || eval(pFilter)) {
 if (pTags.length==0 || compareArrays(tiddler.tags, pTags, "all")) {
 count++;
 if (tiddler.text=="") tiddler.text=store.getValue(tiddler, 'text')
 // Grouping
 if (pGroup) {
 theGroup = eval(pGroup);
 if(theGroup != lastGroup) {
 groupCount++;firstInGroup = true;
 if (pGroupFooterTemplate && groupCount>1)
 listWikiText += pGroupFooterTemplate.replace("%group", theGroup)
 listWikiText += pGroupTemplate.replace("%group", theGroup)
 lastGroup = theGroup;
 } else
  firstInGroup = false;
 }
 // Separators
 if (count>1 && !firstInGroup) listWikiText += pSeparator;
 //Plaintext title
 var noLink = tiddler.title.match(config.textPrimitives.wikiLink)?"~" + tiddler.title:tiddler.title;
 // Custom parameter
 if (pCustomParameter)
 var custom="";
 try {
 custom = eval(pCustomParameter)
 } catch (e) {}
 // List individual tiddler

 if (!parameters[0]["debug"])
 var strItem = formatItem(pItemTemplate,["[[" + tiddler.title + "]]",count,tiddler.text.substr(0,tiddler.text.search("\n")),tiddler.text,tiddler.created.formatString(pDateFormat),tiddler.modified.formatString(pDateFormat),tiddler.modifier,theGroup,tiddler.title,tiddler.tags.join(" "),noLink,custom], pFormat)
 else
 var strItem = formatItem(pItemTemplate,["[[Читати повністю|" + tiddler.title + "]]",count,tiddler.text.substr(0,tiddler.text.search("\n")),tiddler.text,tiddler.created.formatString(pDateFormat),tiddler.modified.formatString(pDateFormat),tiddler.modifier,theGroup,tiddler.title,tiddler.tags.join(" "),noLink,custom], pFormat)

 for (var fld in tiddler.fields) strItem = strItem.replace('%field.' + fld, tiddler.fields[fld]);
 listWikiText += strItem
 }
 }
 }
 }
 }
 }
 }
 
 // Last group footer
 if (pGroup && pGroupFooterTemplate && count>0)
 listWikiText += pGroupFooterTemplate.replace("%group", theGroup)

 // Footer
 if (pFooter) {
 pFooter = pFooter.replace("%count", count)
 listWikiText += formatItem(pFooterTemplate, [pFooter], pFormat)
 }
 
 // Render result
 wikify(listWikiText,place, null, currentTiddler)
 
 // Local functions
 
 function paramFormat(param) {
 // Allow "\n" in non evalled parameters
 return param.replace(/\\n/g, "\n");
 }
 
 function formatItem(template, values, format) {
 // Fill template with values (depending on list format)
 if (format.match(/table/) && values[0].match(/\|/))
 return ("%0\n").format(values)
 else
 return template.format(values)
 }
 
 function compareArrays(array, values, logic) {
 // Compare items in array with AND("all") or OR("any") logic
 var matches=0;
 for(var v=0; v<values.length; v++) 
 if(values[v].replace(/^\s+|\s+$/g,"").match(/^\-/) && !array.contains(values[v].replace(/^\s+|\s+$/g,"").substr(1)))
 matches++;
 else if (array.contains(values[v]))
 matches++;
 return ((logic=="all" && matches==values.length) || (logic!="all" && matches>0))
 }
 
}

String.prototype.prettyTrim = function(len,prefix,postfix) {
 var result = this.trim().replace(/\r\n/g,' ').replace(/\n/g,' ');
 if (!prefix) prefix = '';
 if (!postfix) postfix = '';
 if (result.length > len - 3)
 return prefix + result.substr(0,len) + '...' + postfix;
 else if (result.length > 0)
 return prefix + result + postfix;
 else
 return result;
}

//}}}
//{{{
config.messages.dates.months = ["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"];
config.messages.dates.days = ["Неділя","Понеділок","Вівторок","Середа","Четвер","П`ятница","Субота"];
config.messages.dates.shortMonths = ["Січ","Лют","Бер","Кві","Тра","Чер","Лип","Сер","Вер","Жов","Лис","Гру"];
config.messages.dates.shortDays = ["Нд","Пн","Вт","Ср","Чт","Пт","Сб"];
config.messages.dates.daySuffixes = [
	"-е","-е","-е","-е","-е","-е","-е","-е","-е","-е",
	"-е","-е","-е","-е","-е","-е","-е","-е","-е","-е",
	"-е","-е","-е","-е","-е","-е","-е","-е","-е","-е",
	"-е"];
config.messages.dates.am = "ранку";
config.messages.dates.pm = "дня";

merge(config.macros.search,{
	label: "Пошук по сайту ",
	prompt: "Пошук по матеріалах сайту",
	accessKey: "F",
	successMsg: "Знайдено %0 нотатків з текстом %1",
	failureMsg: "Не знайдено жодного нотатку з текстом %0"});

merge(config.macros.timeline,{
	dateFormat: "0DD.0MM.YYYY"});

merge(config.macros.saveChanges,{
	label: " Зберегти зміни",
	prompt: "",
	accessKey: "S"});

merge(config.macros.newJournal,{
	label: " Створити нотаток ",
	prompt: "Створити новий нотаток з поточною датою",
	accessKey: "J"});

merge(config.macros.options,{
	wizardTitle: "Расширенные пункты настройки",
	step1Title: "Эти настройки Ваша программа просмотра сохраняет с помощью cookies",
	step1Html: "<input type='hidden' name='markList'></input><br><input type='checkbox' checked='false' name='chkUnknown'>Показать настройки без описания</input>",
	unknownDescription: "//(unknown)//",
	listViewTemplate: {
		columns: [
			{name: 'Option', field: 'option', title: "Возможности", type: 'String'},
			{name: 'Description', field: 'description', title: "Описание", type: 'WikiText'},
			{name: 'Name', field: 'name', title: "Имя", type: 'String'}],
		rowClasses: [{className: 'lowlight', field: 'lowlight'} ]}
	});

merge(config.macros.annotations,{});

merge(config.commands.closeTiddler,{
	text: "",
	tooltip: "Закрити цей нотаток"});

merge(config.commands.closeOthers,{
	text: "закрыти інші",
	tooltip: "Закрити всі інші нотатки"});

merge(config.commands.editTiddler,{
	text: "правка",
	tooltip: "Виправити цей нотаток",
	readOnlyText: "переглянути",
	readOnlyTooltip: "Перегляд коду цього нотатку"});

merge(config.commands.saveTiddler,{
	text: "зберегти",
	tooltip: "Зберегти зміни"});

merge(config.commands.cancelTiddler,{
	text: "скасувати",
	tooltip: "Скасувати зміни у цьому нотатку",
	warning: "Ви дійсно впевнені, що готові втратити всі Ваші зміни нотатку '%0'?",
	readOnlyText: "повернутися",
	readOnlyTooltip: "Перегляд цього нотатку у нормальному режимі"});

merge(config.commands.deleteTiddler,{
	text: "",
	tooltip: "Видалити цей нотаток",
	warning: "Ви впевнені, що хочете видалити нотаток '%0'?"});

merge(config.commands.jump,{
	text: "",
	tooltip: "Перехід на інший відкритий нотаток"});

//}}}</search></calendar></calendar></tabs>
//{{{
//replaces toolbar buttons with icons.
//for each command that you want to use an icon, add a line like the following in a systemConfig tiddler, specifying the icon image location:
//config.commands.editTiddler.imgLoc= "jump.bmp";
//No need to edit the ViewTemplate! If an image location is specified, then the icon will be used for that command!

config.macros.toolbar.createCommand = function(place,commandName,tiddler,theClass)
{
	if(typeof commandName != "string")
		{
		var c = null;
		for(var t in config.commands)
			if(config.commands[t] == commandName)
				c = t;
		commandName = c;
		}
	if((tiddler instanceof Tiddler) && (typeof commandName == "string"))
		{
		var title = tiddler.title;
		var command = config.commands[commandName];
		var ro = tiddler.isReadOnly();
		var shadow = store.isShadowTiddler(title) && !store.tiddlerExists(title);
		var text = ro && command.readOnlyText ? command.readOnlyText : command.text;
		var tooltip = ro && command.readOnlyTooltip ? command.readOnlyTooltip : command.tooltip;
		if((!ro || (ro && !command.hideReadOnly)) && !(shadow && command.hideShadow))
		    {
			    var btn = createTiddlyButton(null,text,tooltip,this.onClickCommand);
			    btn.setAttribute("commandName", commandName);
			    btn.setAttribute("tiddler", title);
			    if(theClass)
				            addClass(btn,theClass);
                             place.appendChild(btn);
                            if(command.imgLoc)
                                   btn.innerHTML = "<img src='"+command.imgLoc+"'>";

		     }
       }
}

setStylesheet(".toolbarImg {vertical-align: middle; cursor:pointer;}\n","commandIconStyles"); 
//}}}

//{{{

config.macros.emptyTrash = 
{
	tag: "Кошик",
	movedMsg: "Нотаток '%0' був перенесений у %1",
	label: "Очистити кошик",
	tooltip: "Видалити нотатки, відмічені як %0, старші за %1 дні",
	emptyMsg: "Кошик порожній.",
	noneToDeleteMsg: "Нотатків, старших за %0 дні, не знайдено.",
	confirmMsg: "Будуть видалені наступні нотатки:\n\n'%0'\n\nПродовжити?",
	deletedMsg: "Видалено: '%0'",

	handler: function ( place,macroName,params,wikifier,paramString,tiddler )
	{
		var namedParams = (paramString.parseParams(daysOld))[0];
		var daysOld = namedParams['daysOld'] ? namedParams['daysOld'][0] : 0; // default
		var buttonTitle = namedParams['title'] ? namedParams['title'][0] : this.label;
		createTiddlyButton ( place, buttonTitle, this.tooltip.format([ config.macros.emptyTrash.tag,daysOld ]),
		this.emptyTrash( daysOld ));
	},

	emptyTrash: function( daysOld )
	{
		return function()
		{
			var collected = [];
			var compareDate = new Date();
			compareDate.setDate( compareDate.getDate() - daysOld );
			store.forEachTiddler(function ( title,tiddler )
			{
				if ( tiddler.tags.contains( config.macros.emptyTrash.tag ) && tiddler.modified < compareDate )
					collected.push( title );
			});

			if ( collected.length == 0 )
			{
				if ( daysOld == 0 )
					displayMessage( config.macros.emptyTrash.emptyMsg );
				else
					displayMessage( config.macros.emptyTrash.emptyMsg.format( [daysOld] ) );
			}
			else {
				if (	confirm( config.macros.emptyTrash.confirmMsg.format( [collected.join( "', '" )] ) ) )
				{
					for ( var i=0;i<collected.length;i++ )
					{
						store.removeTiddler( collected[i] );
						displayMessage( config.macros.emptyTrash.deletedMsg.format( [collected[i]] ) );
					}
				}
			}
			// remove Trash tiddler if no trash remains
			if ( store.getTaggedTiddlers( config.macros.emptyTrash.tag ).length == 0 ) {
				story.closeTiddler( config.macros.emptyTrash.tag,true,false);
				store.removeTiddler( config.macros.emptyTrash.tag );
			}
			else
				story.refreshTiddler( config.macros.emptyTrash.tag,false,true );
			store.setDirty( true );
		}
	}
}

////////////////// hijack delete command

config.macros.emptyTrash.orig_deleteTiddler_handler = config.commands.deleteTiddler.handler;
config.commands.deleteTiddler.handler = function( event,src,title )
	{
		// if tiddler exists (i.e., not a NEW, unsaved tiddler in edit mode) and not bypassing Trash (holding CTRL key)
		if ( store.tiddlerExists( title ) && !event.ctrlKey )
		{
			// if Trash tiddler doesn't exist yet, create it now...
			if (!store.tiddlerExists( config.macros.emptyTrash.tag ))
				store.saveTiddler( config.macros.emptyTrash.tag,config.macros.emptyTrash.tag,
					"<<emptyTrash>>","TrashPlugin",new Date(),null );
			// set tags on tiddler
			store.setTiddlerTag( title,1,config.macros.emptyTrash.tag );
			store.setTiddlerTag( title,1,"excludeMissing" );
			var tiddler=store.fetchTiddler(title);
			if (tiddler.tags.contains( "systemConfig" ))
				store.setTiddlerTag( title,1,"systemConfigDisable" );
			// close tiddler, autosave file (if set), and give user feedback
			story.closeTiddler( title,true,event.shiftKey || event.altKey );
			if( config.options.chkAutoSave )
				saveChanges();
			displayMessage(config.macros.emptyTrash.movedMsg.format( [ title,config.macros.emptyTrash.tag ] ));
		}
		else {
			config.macros.emptyTrash.orig_deleteTiddler_handler.apply( this, arguments );
		}
		story.refreshTiddler( config.macros.emptyTrash.tag,false,true );
		return false;
	};
//}}}
!<<view title link>> @@color:green;(<<view created date>>)@@
<<view text wikified>>
<<view text wikified>>
//{{{
version.extensions.YouTubeVideoDisplayPlugin = { major:1, minor:0, revision:6, date:new Date(2012,06,01), source:"http://tiddlywiki.secret-hq.com/#YouTubeVideoDisplayPlugin" };
//}}}

//{{{
config.shadowTiddlers["YouTubeVideoDisplayPlugin_StyleSheet"] = "/*{{{*/"+"\n";
config.shadowTiddlers["YouTubeVideoDisplayPlugin_StyleSheet"] += ".ytvdRight {"+"\n";
config.shadowTiddlers["YouTubeVideoDisplayPlugin_StyleSheet"] += "  float:right;"+"\n";
config.shadowTiddlers["YouTubeVideoDisplayPlugin_StyleSheet"] += "  text-align:right;"+"\n";
config.shadowTiddlers["YouTubeVideoDisplayPlugin_StyleSheet"] += "  margin:8px;"+"\n";
config.shadowTiddlers["YouTubeVideoDisplayPlugin_StyleSheet"] += "}"+"\n";
config.shadowTiddlers["YouTubeVideoDisplayPlugin_StyleSheet"] += "\n";
config.shadowTiddlers["YouTubeVideoDisplayPlugin_StyleSheet"] += ".ytvdLeft {"+"\n";
config.shadowTiddlers["YouTubeVideoDisplayPlugin_StyleSheet"] += "  float:left;"+"\n";
config.shadowTiddlers["YouTubeVideoDisplayPlugin_StyleSheet"] += "  text-align:left;"+"\n";
config.shadowTiddlers["YouTubeVideoDisplayPlugin_StyleSheet"] += "  margin:8px;"+"\n";
config.shadowTiddlers["YouTubeVideoDisplayPlugin_StyleSheet"] += "}"+"\n";
config.shadowTiddlers["YouTubeVideoDisplayPlugin_StyleSheet"] += "\n";
config.shadowTiddlers["YouTubeVideoDisplayPlugin_StyleSheet"] += ".ytvdCenter {"+"\n";
config.shadowTiddlers["YouTubeVideoDisplayPlugin_StyleSheet"] += "  margin:8px auto;"+"\n";
config.shadowTiddlers["YouTubeVideoDisplayPlugin_StyleSheet"] += "  text-align:center;"+"\n";
config.shadowTiddlers["YouTubeVideoDisplayPlugin_StyleSheet"] += "}"+"\n";
config.shadowTiddlers["YouTubeVideoDisplayPlugin_StyleSheet"] += "/*}}}*/";
//}}}

//{{{
store.addNotification("YouTubeVideoDisplayPlugin_StyleSheet",refreshStyles);
//}}}

//{{{
config.shadowTiddlers["YouTubeVideoDisplayPlugin_Player"] = "<html>";
config.shadowTiddlers["YouTubeVideoDisplayPlugin_Player"] += "<div class=\"$youtubeVideoDisplayClass\">"+"\n";
config.shadowTiddlers["YouTubeVideoDisplayPlugin_Player"] += "<!--VIDEO EMBED CODE-->"+"\n";
config.shadowTiddlers["YouTubeVideoDisplayPlugin_Player"] += "<object width=\"$youtubeVideoWidth\" height=\"$youtubeVideoHeight\">"+"\n";
config.shadowTiddlers["YouTubeVideoDisplayPlugin_Player"] += "<param name=\"movie\" value=\"http://www.youtube.com/v/"+"$youtubeVideoID"+"?version=3"+"&hl=en&fs=1&border=1\"></param>"+"\n";
config.shadowTiddlers["YouTubeVideoDisplayPlugin_Player"] += "<param name=\"allowFullScreen\" value=\"true\"></param>"+"\n";
config.shadowTiddlers["YouTubeVideoDisplayPlugin_Player"] += "<param name=\"allowscriptaccess\" value=\"always\"></param>"+"\n";
config.shadowTiddlers["YouTubeVideoDisplayPlugin_Player"] += "<embed src=\"http://www.youtube.com/v/"+"$youtubeVideoID"+"?version=3"+"$youtubeAutostartString"+"$youtubeStartTimeString"+"$youtubePlayerColor1String$"+"$youtubePlayerColor2String"+"&hl=en&fs=1&border=0\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" allowfullscreen=\"true\" width=\"$youtubeVideoWidth\" height=\"$youtubeVideoHeight\"></embed>"+"\n";
config.shadowTiddlers["YouTubeVideoDisplayPlugin_Player"] += "</object>"+"\n";
config.shadowTiddlers["YouTubeVideoDisplayPlugin_Player"] += "<!--/VIDEO EMBED CODE-->"+"\n";
config.shadowTiddlers["YouTubeVideoDisplayPlugin_Player"] += "<br>"+"\n";
config.shadowTiddlers["YouTubeVideoDisplayPlugin_Player"] += "<a href=\"http://www.youtube.com/watch?v="+"$youtubeVideoID"+"$youtubeStartTimeURLString"+"\" target=\"_blank\">"+"Дивитись на YouTube"+"</a>"+"\n";
config.shadowTiddlers["YouTubeVideoDisplayPlugin_Player"] += "</div>";
config.shadowTiddlers["YouTubeVideoDisplayPlugin_Player"] += "</html>";
//}}}

//{{{
config.macros.youtube = {}
config.macros.youtube.handler = function(place,macroName,params,wikifier,paramString,tiddler) {
   var parsedParams = paramString.parseParams('anon',null,true,false,false);
   var youtubeVideoID = params[0];
   var youtubeAspectRatio = getParam(parsedParams,"aspect","");
   if ((youtubeAspectRatio == '') || (youtubeAspectRatio == 'null')) {
      var youtubeAspectRatio = getParam(parsedParams,"a","");
   }
   if ((youtubeAspectRatio == '') || (youtubeAspectRatio == 'null')) {
      var youtubeAspectRatio = getParam(parsedParams,"r","");
   }
   if ((youtubeAspectRatio == '') || (youtubeAspectRatio == 'null')) {
      var youtubeAspectRatio = 'widescreen';
   }
   var regexpAspectStandard = /^s.*?|4.*?$/i;
   var regexpAspectWide = /^w.*?|16.*?$/i;
   if (regexpAspectStandard.test(youtubeAspectRatio)) {
      var youtubeAspectRatio = 'standard';
   }
   else if (regexpAspectWide.test(youtubeAspectRatio)) {
      var youtubeAspectRatio = 'widescreen';
   }
   else {
      var youtubeAspectRatio = 'widescreen';
   }
   var regexpIsNumeric = /^[0-9]+$/i;
   var youtubeVideoWidth = getParam(parsedParams,"width","");
   if ((youtubeVideoWidth == '') || (youtubeVideoWidth == 'null')) {
      var youtubeVideoWidth = getParam(parsedParams,"w","");
   }
   if (!regexpIsNumeric.test(youtubeVideoWidth)) {
      var youtubeVideoWidth = '';
   }
   var youtubeVideoHeight = getParam(parsedParams,"height","");
   if ((youtubeVideoHeight == '') || (youtubeVideoHeight == 'null')) {
      var youtubeVideoHeight = getParam(parsedParams,"h","");
   }
   if (!regexpIsNumeric.test(youtubeVideoHeight)) {
      var youtubeVideoHeight = '';
   }
   if ((youtubeVideoWidth != '') && (youtubeVideoHeight == '')) {
      if (youtubeAspectRatio == 'standard') {
         var youtubeVideoHeight = youtubeVideoWidth * 3 / 4;
      }
      else if (youtubeAspectRatio == 'widescreen') {
         var youtubeVideoHeight = youtubeVideoWidth * 9 / 16;
      }
   }
   else if ((youtubeVideoWidth == '') && (youtubeVideoHeight != '')) {
      if (youtubeAspectRatio == 'standard') {
         var youtubeVideoWidth = youtubeVideoHeight * 4 / 3;
      }
      else if (youtubeAspectRatio == 'widescreen') {
         var youtubeVideoWidth = youtubeVideoHeight * 16 / 9;
      }
   }
   else if ((youtubeVideoWidth == '') && (youtubeVideoHeight == '')) {
      if (youtubeAspectRatio == 'standard') {
         var youtubeVideoWidth = '366';
         var youtubeVideoHeight = '275';
      }
      else if (youtubeAspectRatio == 'widescreen') {
         var youtubeVideoWidth = '400';
         var youtubeVideoHeight = '225';
      }
   }
   var youtubeVideoAlignment = getParam(parsedParams,"align","");
   if ((youtubeVideoAlignment == '') || (youtubeVideoAlignment == 'null')) {
      var youtubeVideoAlignment = getParam(parsedParams,"float","");
   }
   if ((youtubeVideoAlignment == '') || (youtubeVideoAlignment == 'null')) {
      var youtubeVideoAlignment = getParam(parsedParams,"f","");
   }
   if ((youtubeVideoAlignment == '') || (youtubeVideoAlignment == 'null')) {
      var youtubeVideoAlignment = getParam(parsedParams,"a","");
   }
   var regexpRight = /^r.*?|>$/i;
   var regexpLeft = /^l.*?|<$/i;
   var regexpCenter = /^c.*?|-$/i;
   if (regexpRight.test(youtubeVideoAlignment)) {
      var youtubeVideoDisplayClass = 'ytvdRight';
   }
   else if (regexpLeft.test(youtubeVideoAlignment)) {
      var youtubeVideoDisplayClass = 'ytvdLeft';
   }
   else if (regexpCenter.test(youtubeVideoAlignment)) {
      var youtubeVideoDisplayClass = 'ytvdCenter';
   }
   else { // DEFAULT ALIGNMENT IS RIGHT IF NOTHING ELSE IS SPECIFIED
      var youtubeVideoDisplayClass = 'ytvdRight';
   }
   var youtubeAutostart = getParam(parsedParams,"autostart","");
   if ((youtubeAutostart == '') || (youtubeAutostart == 'null')) {
      var youtubeAutostart = getParam(parsedParams,"autoplay","");
   }
   if ((youtubeAutostart == '') || (youtubeAutostart == 'null')) {
      var youtubeAutostart = getParam(parsedParams,"auto","");
   }
   var regexpYes = /^ye?s?|1$/i;
   var regexpNo = /^no?|0$/i;
   if (regexpYes.test(youtubeAutostart)) {
      var youtubeAutostart = '1';
   }
   else if (regexpNo.test(youtubeAutostart)) {
      var youtubeAutostart = '0';
   }
   else {
      var youtubeAutostart = '';
   }
   if (youtubeAutostart != '' || 'null') {
      var youtubeAutostartString = "&autoplay="+youtubeAutostart;
   }
   else {
      var youtubeAutostartString = '';
   }
   var youtubeStartTime = getParam(parsedParams,"time","");
   if ((youtubeStartTime == '') || (youtubeStartTime == 'null')) {
      var youtubeStartTime = getParam(parsedParams,"at","");
   }
   if ((youtubeStartTime == '') || (youtubeStartTime == 'null')) {
      var youtubeStartTime = getParam(parsedParams,"t","");
   }
   if ((youtubeStartTime == '') || (youtubeStartTime == 'null')) {
      var youtubeStartTime = getParam(parsedParams,"start","");
   }
   if ((youtubeStartTime == '') || (youtubeStartTime == 'null')) {
      var youtubeStartTime = getParam(parsedParams,"s","");
   }
   if (!regexpIsNumeric.test(youtubeStartTime)) {
      var youtubeStartTime = '';
   }
   if ((youtubeStartTime != '') && (youtubeStartTime != 'null')) {
      var youtubeStartTimeString = "&start="+youtubeStartTime;
      var youtubeStartTimeURLString = "#at="+youtubeStartTime;
   }
   else {
      var youtubeStartTimeString = '';
      var youtubeStartTimeURLString = '';
   }
   var youtubePlayerColor1 = store.getTiddlerText("ColorPalette::PrimaryDark","");
   var youtubePlayerColor2 = store.getTiddlerText("ColorPalette::PrimaryLight","");
   var regexpHexShort = /^#([0-9A-Za-z]{3})$/i;
   if (youtubePlayerColor1 != '') {
      if (!regexpHexShort.test(youtubePlayerColor1)) {
         var youtubePlayerColor1 = youtubePlayerColor1.replace(/^#([0-9A-Za-z]+)$/g,"$1");
      }
      else if (regexpHexShort.test(youtubePlayerColor1)) {
         var youtubePlayerColor1 = youtubePlayerColor1.replace(/^#(.)(.)(.)$/g,"$1$1$2$2$3$3");
      }
      var youtubePlayerColor1String = "&color1=0x"+youtubePlayerColor1;
   }
   else {
      var youtubePlayerColor1String = '';
   }
   if (youtubePlayerColor2 != '') {
      if (!regexpHexShort.test(youtubePlayerColor2)) {
         var youtubePlayerColor2 = youtubePlayerColor2.replace(/^#([0-9A-Za-z]+)$/g,"$1");
      }
      else if (regexpHexShort.test(youtubePlayerColor2)) {
         var youtubePlayerColor2 = youtubePlayerColor2.replace(/^#(.)(.)(.)$/g,"$1$1$2$2$3$3");
      }
      var youtubePlayerColor2String = "&color2=0x"+youtubePlayerColor2;
   }
   else {
      var youtubePlayerColor2String = '';
   }
   var tid = 'YouTubeVideoDisplayPlugin_Player';
   var txt = store.getTiddlerText(tid,'');
   wikify(txt.replace(/\$youtubeVideoID/g,youtubeVideoID).replace(/\$youtubeVideoWidth/g,youtubeVideoWidth).replace(/\$youtubeVideoHeight/g,youtubeVideoHeight).replace(/\$youtubeVideoDisplayClass/g,youtubeVideoDisplayClass).replace(/\$youtubeAutostartString/g,youtubeAutostartString).replace(/\$youtubeStartTimeString/g,youtubeStartTimeString).replace(/\$youtubeStartTimeURLString/g,youtubeStartTimeURLString).replace(/\$youtubePlayerColor1String/g,youtubePlayerColor1String).replace(/\$youtubePlayerColor2String/g,youtubePlayerColor2String),place);
}
//}}}
!List1
''Засідання атестаційної комісії №1''
#Ознайомлення з Наказом про створення атестаційної комісії І рівня на 2023/24 н.р.
#Розподіл обов’язків між членами атестаційної комісії
#Обговорення Положення про атестацію (Наказ МОН України № 805 від 09.09.2022 р.)
#Затвердження плану роботи атестаційної комісії
#Затвердження графіка роботи атестаційної комісії
!end
!List2
''Засідання атестаційної комісії №2''
#Затвердження списків педагогічних працівників, які атестуються у 2023/2024 навчальному році
#Затвердження строків проведення атестації педагогічних працівників
#Затвердження електронної адреси для подання атестаційних документів
#Ознайомлення педпрацівників, що атестуються з нормативною базою, щодо проходження атестації
#Затвердження графіку та відповідальних за вивчення практичного досвіду окремих педпрацівників, які атестуються
!end
!List3
''Засідання атестаційної комісії №3''
#Уточнення і затвердження списків педагогічних працівників, які виявили бажання пройти позачергову атестацію
#Обговорення навчально-методичних матеріалів про професійні досягнення педагогічних працівників, які атестуються у 2023/2024 навчальному році
#Перевірка та затвердження результатів підвищення кваліфікації педпрацівників (за атестаційний період)
!end
!List4
''Засідання атестаційної комісії №4''
#Розгляд атестаційних листів педагогічних працівників
#Прийняття рішень про результати атестації педагогічних працівників
#Підсумок роботи атестаційної комісії І рівня
!end








































































































































































































































<tabs K>
<tab 2024 рік>
<<tiddlerList tags:2024 order:-created group:"tiddler.created.formatString('MMM YYYY року')">>
</tab>
<tab 2023 рік>
<<tiddlerList tags:2023 order:-created group:"tiddler.created.formatString('MMM YYYY року')">>
</tab>
<tab 2022 рік>
<<tiddlerList tags:2022 order:-created group:"tiddler.created.formatString('MMM YYYY року')">>
</tab>
<tab 2021 рік>
<<tiddlerList tags:2021 order:-created group:"tiddler.created.formatString('MMM YYYY року')">>
</tab>
</tabs>