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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

hr {height:1px;}

a {text-decoration:none;}

dt {font-weight:bold;}

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

.txtOptionInput {width:11em;}

#contentWrapper .chkOptionInput {border:0;}

.externalLink {text-decoration:underline;}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
StyleSheet for use when a translation requires any css style changes.
This StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which need larger font sizes.
body {font-size:0.8em;}
#sidebarOptions {font-size:1.05em;}
#sidebarOptions a {font-style:normal;}
#sidebarOptions .sliderPanel {font-size:0.95em;}
.subtitle {font-size:0.8em;}
.viewer table.listView {font-size:0.95em;}
@media print {
#mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none !important;}
#displayArea {margin: 1em 1em 0em;}
noscript {display:none;} /* Fixes a feature in Firefox where print preview displays the noscript content */
<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
<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 id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
<div class='toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<div class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser excludeLists'></span></div>
To get started with this blank [[TiddlyWiki]], you'll need to modify the following tiddlers:
* [[SiteTitle]] & [[SiteSubtitle]]: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* [[MainMenu]]: The menu (usually on the left)
* [[DefaultTiddlers]]: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened
You'll also need to enter your username for signing your edits: <<option txtUserName>>
These [[InterfaceOptions]] for customising [[TiddlyWiki]] are saved in your browser

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

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

Also see [[AdvancedOptions]]
Искажённая фраза из [[поста|http://dunul-pridumal.livejournal.com/1320520.html]] Livejournal [[ssokol_real|http://ssokol_real.livejournal.com]] в коммунити [[Дунули-придумали!|http://dunul_pridumal.livejournal.com]]. На [[Свалке|Свалка]] и в интернетах обычно используется для выражение недоумения, растерянности.

''[[ex-ssokol-r|http://ex-ssokol-r.livejournal.com]]'' 21.09.2005 10:49
Девушка пишет смс, типа давай встретимся и всё такое.
А я ваще на объебосах, смотрю на телефон и ничего не понимаю :)
Пишу ей:
- ? я чёта п

Она мне потом долго не писала и не звонила :))))

На [[Свалке|Свалка]]:
''[[Дуро|Дуро]]'' 2005-09-21 14:37:17
 [quote]Девушка пишет смс, типа давай встретимся и всё такое.
А я ваще на объебосах, смотрю на телефон и ничего не понимаю :)
Пишу ей:
- ? я чёта п

Она мне потом долго не писала и не звонила :))))[/quote]

См. также [[не пони]].
См. [[Не жалей лошадей]]
[>img[ |data:image/gif;base64,R0lGODdhCAAIAJAAAAAAAAAAACH5BAEAAAAALAAAAAAIAAgAAAIHhI+py+1dAAA7][YaOdminko]]
|Description:|Closes the tiddler if you click new tiddler then cancel. Default behaviour is to leave it open|
|Author:|Simon Baird <simon.baird@gmail.com>|

  handler_mptw_orig_closeUnsaved: config.commands.cancelTiddler.handler,

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


См. [[Девур]]
<div class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div>
<div class='editorFooter'>
  <span> Введите теги. При необходимости можно использовать [[ ]].</span>
  <span macro='message views.editor.tagPrompt'></span>
  <span macro='tagChooser excludeLists'></span>
|Description:|Adds a New tiddler button in the tag drop down|
|Author:|Simon Baird <simon.baird@gmail.com>|

window.onClickTag_mptw_orig = window.onClickTag;
window.onClickTag = function(e) {
  var tag = this.getAttribute("tag");
  var title = this.getAttribute("tiddler");
  // Thanks Saq, you're a genius :)
  var popup = Popup.stack[Popup.stack.length-1].popup;
  wikify("<<newTiddler label:'New tiddler' tag:'"+tag+"'>>",createTiddlyElement(popup,"li"));
  return false;

|Description:|Allows conditional inclusion/exclusion in templates|
|Author:|Simon Baird <simon.baird@gmail.com>|
For use in ViewTemplate and EditTemplate. Example usage:
{{{<div macro="showWhenTagged Task">[[TaskToolbar]]</div>}}}
{{{<div macro="showWhen tiddler.modifier == 'BartSimpson'"><img src="bart.gif"/></div>}}}

Warning: the showWhen and hideWhen macros will blindly eval paramString.
This could be used to execute harmful javascript from a tiddler.

(TODO: Make some effort to sanitize paramString. Perhaps disallow the equals sign?)

window.hideWhenLastTest = false;

window.removeElementWhen = function(test,place) {
  window.hideWhenLastTest = test;
  if (test) {


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


|Description:|A handy way to insert timestamps in your tiddler content|
|Author:|Simon Baird <simon.baird@gmail.com>|
If you enter {ts} in your tiddler content (without the spaces) it will be replaced with a timestamp when you save the tiddler. Full list of formats:
* {ts} or {t} -> timestamp
* {ds} or {d} -> datestamp
* !ts or !t at start of line -> !!timestamp
* !ds or !d at start of line -> !!datestamp
(I added the extra ! since that's how I like it. Remove it from translations below if required)
* Change the timeFormat and dateFormat below to suit your preference.
* See also http://mptw2.tiddlyspot.com/#AutoCorrectPlugin
* You could invent other translations and add them to the translations array below.

config.InstantTimestamp = {

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

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

    // thanks Adapted Cat


  excludeTags: [

  excludeTiddlers: [
    // more?


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

  tags = tags ? tags : []; // just in case tags is null
  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]));

  // TODO: use apply() instead of naming all args?
  return this.saveTiddler_mptw_instanttimestamp(title,newTitle,newBody,modifier,modified,tags,fields,clearChangeCount,created);

// you can override these in StyleSheet
setStylesheet(".ts,.ds { font-style:italic; }","instantTimestampStyles");

|Description:|Intelligently limit the number of backup files you create|
|Author:|Simon Baird|
You end up with just backup one per year, per month, per weekday, per hour, minute, and second.  So total number won't exceed about 200 or so. Can be reduced by commenting out the seconds/minutes/hours line from modes array
Works in IE and Firefox only.  Algorithm by Daniel Baird. IE specific code by by Saq Imtiaz.

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

if (!config.lessBackups) {
  config.lessBackups = {
    // comment out the ones you don't want or set config.lessBackups.modes in your 'tweaks' plugin
    modes: [
      ["YYYY",  365*DAYS], // one per year for ever
      ["MMM",   31*DAYS],  // one per month
      ["ddd",   7*DAYS],   // one per weekday
      //["d0DD",  1*DAYS],   // one per day of month
      ["h0hh",  24*HOURS], // one per hour
      ["m0mm",  1*HOURS],  // one per minute
      ["s0ss",  1*MINS],   // one per second
      ["latest",0]         // always keep last version. (leave this).

window.getSpecialBackupPath = function(backupPath) {

  var now = new Date();

  var modes = config.lessBackups.modes;

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

    // the filename we will try
    var specialBackupPath = backupPath.replace(/(\.)([0-9]+\.[0-9]+)(\.html)$/,

    // open the file
    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 {
        var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
        var fileExists = file.exists();
        if (fileExists) {
          var modDate = file.lastModifiedTime;
    catch(e) {
      // give up
      return backupPath;

    // expiry is used to tell if it's an 'old' one. Eg, if the month is June and there is a
    // June file on disk that's more than an month old then it must be stale so overwrite
    // note that "latest" should be always written because the expiration period is zero (see above)
    var expiry = new Date(modDate + modes[i][1]);
    if (!fileExists || now > expiry)
      return specialBackupPath;

// hijack the core function
window.getBackupPath_mptw_orig = window.getBackupPath;
window.getBackupPath = function(localPath) {
  return getSpecialBackupPath(getBackupPath_mptw_orig(localPath));

|''Name:''|LoadRemoteFileThroughProxy (previous LoadRemoteFileHijack)|
|''Description:''|When the TiddlyWiki file is located on the web (view over http) the content of [[SiteProxy]] tiddler is added in front of the file url. If [[SiteProxy]] does not exist "/proxy/" is added. |
|''Date:''|mar 17, 2007|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
version.extensions.LoadRemoteFileThroughProxy = {
 major: 1, minor: 1, revision: 0, 
 date: new Date("mar 17, 2007"), 
 source: "http://tiddlywiki.bidix.info/#LoadRemoteFileThroughProxy"};

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

bidix.core.loadRemoteFile = loadRemoteFile;
loadRemoteFile = function(url,callback,params)
 if ((document.location.toString().substr(0,4) == "http") && (url.substr(0,4) == "http")){ 
 url = store.getTiddlerText("SiteProxy", "/proxy/") + url;
 return bidix.core.loadRemoteFile(url,callback,params);
''<html><a href='http://svalko.tiddlyspot.com' target="_self">Начало</a></html>'' [[Написать]] <<tiddler CallOdminko>>
Name: MptwBlack
Background: #000
Foreground: #fff
~PrimaryPale: #333
~PrimaryLight: #555
~PrimaryMid: #888
~PrimaryDark: #aaa
~SecondaryPale: #111
~SecondaryLight: #222
~SecondaryMid: #555
~SecondaryDark: #888
~TertiaryPale: #222
~TertiaryLight: #666
~TertiaryMid: #888
~TertiaryDark: #aaa
Error: #300

Name: MptwBlue
Background: #fff
Foreground: #000
~PrimaryPale: #cdf
~PrimaryLight: #57c
~PrimaryMid: #114
~PrimaryDark: #012
~SecondaryPale: #ffc
~SecondaryLight: #fe8
~SecondaryMid: #db4
~SecondaryDark: #841
~TertiaryPale: #eee
~TertiaryLight: #ccc
~TertiaryMid: #999
~TertiaryDark: #666
Error: #f88

// Pretty sure this is incomplete and experimental
// TODO: Fix it or remove it.


  mptwCollapse: {
    handler: function(place,macroName,params) {
      createTiddlyButton(place, params[0] == '+' ? '\u25AD' : '\u25AC', 'collapse/uncollapse', function(){

/* 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%;     }"



|Description:|Miscellaneous tweaks used by MPTW|
|Author:|Simon Baird <simon.baird@gmail.com>|
!!Note: instead of editing this you should put overrides in MptwUserConfigPlugin
var originalReadOnly = readOnly;
var originalShowBackstage = showBackstage;

config.options.chkHttpReadOnly = false;  // means web visitors can experiment with your site by clicking edit
readOnly = false;                        // needed because the above doesn't work any more post 2.1 (??)
showBackstage = true;                    // show backstage for same reason

config.options.chkInsertTabs = true;     // tab inserts a tab when editing a tiddler
config.views.wikified.defaultText = "";  // don't need message when a tiddler doesn't exist
config.views.editor.defaultText = "";    // don't need message when creating a new tiddler

config.options.chkSaveBackups = true;         // do save backups
config.options.txtBackupFolder = 'twbackup';  // put backups in a backups folder

config.options.chkAutoSave = (window.location.protocol == "file:"); // do autosave if we're in local file

config.mptwVersion = "2.7.4";


if (config.options.txtTheme == '')
  config.options.txtTheme = 'MptwTheme';

// add to default GettingStarted
config.shadowTiddlers.GettingStarted += "\n\nSee also [[MPTW]].";

// add select theme and palette controls in default OptionsPanel
config.shadowTiddlers.OptionsPanel = config.shadowTiddlers.OptionsPanel.replace(/(\n\-\-\-\-\nAlso see \[\[AdvancedOptions\]\])/, "{{select{<<selectTheme>>\n<<selectPalette>>}}}$1");

// these are used by ViewTemplate
config.mptwDateFormat = 'DD/MM/YY';
config.mptwJournalFormat = 'Journal DD/MM/YY';

Name: MptwGreen
Background: #fff
Foreground: #000
PrimaryPale: #9b9
PrimaryLight: #385
PrimaryMid: #031
PrimaryDark: #020
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88

Name: 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

|Description|Mptw Theme with some rounded corners (Firefox only)|



{ -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: MptwSmoke
Background: #fff
Foreground: #000
PrimaryPale: #aaa
PrimaryLight: #777
PrimaryMid: #111
PrimaryDark: #000
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88

|Description|Mptw Theme with the default ~TiddlyWiki ~PageLayout and Styles|
Name: MptwTeal
Background: #fff
Foreground: #000
PrimaryPale: #~B5D1DF
PrimaryLight: #618FA9
PrimaryMid: #1a3844
PrimaryDark: #000
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #f8f8f8
TertiaryLight: #bbb
TertiaryMid: #999
TertiaryDark: #888
Error: #f88
|Description|Mptw Theme including custom ~PageLayout|

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

<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>

	<div class='headerShadow'>
		<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
		<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
	<div class='headerForeground'>
		<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
		<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
<!-- call odminko hot spot in the top right corner
<div style='position:absolute; right:1px; top:1px;' refresh='content' tiddler='CallOdminko'></div>
<!-- horizontal MainMenu -->
<div id='topMenu' refresh='content' tiddler='MainMenu'></div>
<!-- original MainMenu menu -->
<!-- <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 id='displayArea'>
	<div id='messageArea'></div>
	<div id='tiddlerDisplay'></div>

<div class="uncollapsedView">

<div class="tagglyTagged" macro="tags"></div>

<div class='titleContainer'>
	<span class='title' macro='view title'></span>
	<span macro="miniTag"></span>

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

<div class="tagglyTagging" macro="tagglyTagging"></div>
<div class="collapsedView">
	<span class='toolbar'>
		<span macro='toolbar closeTiddler'></span>
		<span macro='mptwCollapse +'></span>
	<span class='title' macro='view title'></span>


<div class='toolbar'>
	<span macro="showWhenTagged systemConfig">
		<span macro="toggleTag systemConfigDisable . '[[disable|systemConfigDisable]]'"></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 closeTiddler closeOthers > +editTiddler permalink references jump'></span>
        <span macro='newHere label:"new here"'></span>
	<span macro='newJournalHere {{config.mptwJournalFormat?config.mptwJournalFormat:"MM/0DD/YY"}}'></span>
	<!--span macro='mptwCollapse -'></span-->

<div class="toolbar" macro="toolbar +saveTiddler saveCloseTiddler closeOthers -cancelTiddler cancelCloseTiddler deleteTiddler fields"></div>
<div class="title" macro="view title"></div>
<div class="editLabel">Title</div><div class="editor" macro="edit title"></div>
<div macro='annotations'></div>
<div class="editLabel">Content</div><div class="editor" macro="edit text"></div>
<div class="editLabel">Tags</div><div class="editor" macro="edit tags"></div>
<div class="editorFooter">
  <span macro="message views.editor.tagPrompt"></span>
  <span macro="tagChooser"></span>
<div class='editorFooter'>
  <span> Введите теги через пробел. При необходимости можно использовать &#91&#91 &#93&#93.</span>



/* a contrasting background so I can see where one tiddler ends and the other begins */
body {
	background: [[ColorPalette::TertiaryLight]];

/* 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;
.headerForeground .siteSubtitle {
	color: [[ColorPalette::PrimaryLight]];
.headerShadow .siteSubtitle {
	color: [[ColorPalette::PrimaryMid]];

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

/* prefer monospace for editing */
.editor textarea, .editor input {
	font-family: 'Consolas', monospace;

/* sexy tiddler titles */
.title {
	font-size: 250%;
	color: [[ColorPalette::PrimaryLight]];
	font-family: 'Trebuchet MS', sans-serif;

/* more subtle tiddler subtitle */
.subtitle {
	font-size: 90%;
	color: [[ColorPalette::TertiaryMid]];
.subtitle .tiddlyLink {
	color: [[ColorPalette::TertiaryMid]];

/* a little bit of extra whitespace */
.viewer {

/* don't want any background color for headings */
h1,h2,h3,h4,h5,h6 {
	background-color: transparent;
	color: [[ColorPalette::Foreground]];

/* 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 {
/* undo the above in OptionsPanel */
#sidebarOptions .sliderPanel br {

/* horizontal main menu stuff */
#displayArea {
	margin: 1em 15.7em 0em 1em; /* use the freed up space */
#topMenu br {
	display: none;
#topMenu {
	background: [[ColorPalette::PrimaryMid]];
#topMenu {
#topMenu .button, #topMenu .tiddlyLink, #topMenu a {
	margin-left: 0.5em;
	margin-right: 0.5em;
	padding-left: 3px;
	padding-right: 3px;
	color: [[ColorPalette::PrimaryPale]];
	font-size: 115%;
#topMenu .button:hover, #topMenu .tiddlyLink:hover {
	background: [[ColorPalette::PrimaryDark]];

/* make 2.2 act like 2.1 with the invisible buttons */
.toolbar {
.selected .toolbar {

/* 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 {

/* makes theme selector look a little better */
#sidebarOptions .sliderPanel .select .button {
#sidebarOptions .sliderPanel .select br {

/* 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;
	.quickopentag a.button, .miniTag {
		display: none ! important;

/* get user styles specified in StyleSheet */


|Description|Mptw Theme with a reduced header to increase useful space|


<!-- 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 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 id='displayArea'>
	<div id='messageArea'></div>
	<div id='tiddlerDisplay'></div>

|Description:|A place to put your config tweaks so they aren't overwritten when you upgrade MPTW|
See http://www.tiddlywiki.org/wiki/Configuration_Options for other options you can set. In some cases where there are clashes with other plugins it might help to rename this to zzMptwUserConfigPlugin so it gets executed last.

// example: set your preferred date format
//config.mptwDateFormat = 'MM/0DD/YY';
//config.mptwJournalFormat = 'Journal MM/0DD/YY';

// example: set the theme you want to start with
//config.options.txtTheme = 'MptwRoundTheme';

// example: switch off autosave, switch on backups and set a backup folder
//config.options.chkSaveBackups = true;
//config.options.chkAutoSave = false;
//config.options.txtBackupFolder = 'backups';

// uncomment to disable 'new means new' functionality for the new journal macro
//config.newMeansNewForJournalsToo = false;

|Description:|Creates the new here and new journal macros|
|Author:|Simon Baird <simon.baird@gmail.com>|
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+" tag:[["+tiddler.title+"]]>>",place,null,tiddler);

|Description:|If 'New Tiddler' already exists then create 'New Tiddler (1)' and so on|
|Author:|Simon Baird <simon.baird@gmail.com>|
!!Note: I think this should be in the core

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

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

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

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

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

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

  var params = this.getAttribute("params");
  var tags = params ? params.split("|") : [];
  var focus = this.getAttribute("newFocus");
  var template = this.getAttribute("newTemplate");
  var customFields = this.getAttribute("customFields");
  if(!customFields && !store.isShadowTiddler(title))
    customFields = String.encodeHashMap(config.defaultCustomFields);
  var tiddlerElem = story.getTiddler(title);
  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++)
  return false;

<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
<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 id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
|''Description:''|Extends TiddlyWiki options with non encrypted password option.|
|''Date:''|Apr 19, 2007|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0 (Beta 5)|
version.extensions.PasswordOptionPlugin = {
	major: 1, minor: 0, revision: 2, 
	date: new Date("Apr 19, 2007"),
	source: 'http://tiddlywiki.bidix.info/#PasswordOptionPlugin',
	author: 'BidiX (BidiX (at) bidix (dot) info',
	license: '[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D]]',
	coreVersion: '2.2.0 (Beta 5)'

config.macros.option.passwordCheckboxLabel = "Save this password on this computer";
config.macros.option.passwordInputType = "password"; // password | text
setStylesheet(".pasOptionInput {width: 11em;}\n","passwordInputTypeStyle");

merge(config.macros.option.types, {
	'pas': {
		elementType: "input",
		valueField: "value",
		eventName: "onkeyup",
		className: "pasOptionInput",
		typeValue: config.macros.option.passwordInputType,
		create: function(place,type,opt,className,desc) {
			// password field
			// checkbox linked with this password "save this password on this computer"
			// text savePasswordCheckboxLabel
		onChange: config.macros.option.genericOnChange

merge(config.optionHandlers['chk'], {
	get: function(name) {
		// is there an option linked with this chk ?
		var opt = name.substr(3);
		if (config.options[opt]) 
		return config.options[name] ? "true" : "false";

merge(config.optionHandlers, {
	'pas': {
 		get: function(name) {
			if (config.options["chk"+name]) {
				return encodeCookie(config.options[name].toString());
			} else {
				return "";
		set: function(name,value) {config.options[name] = decodeCookie(value);}

// need to reload options to load passwordOptions

if (!config.options['pasPassword'])
	config.options['pasPassword'] = '';

		pasPassword: "Test password"
|Description:|Provides a new date format ('pppp') that displays times such as '2 days ago'|
|Author:|Simon Baird <simon.baird@gmail.com>|
* If you want to you can rename this plugin. :) Some suggestions: LastUpdatedPlugin, RelativeDatesPlugin, SmartDatesPlugin, SexyDatesPlugin.
* Inspired by http://ejohn.org/files/pretty.js
Date.prototype.prettyDate = function() {
  var diff = (((new Date()).getTime() - this.getTime()) / 1000);
  var day_diff = Math.floor(diff / 86400);

  if (isNaN(day_diff))      return "";
  else if (diff < 0)        return "in the future";
  else if (diff < 60)       return "just now";
  else if (diff < 120)      return "1 minute ago";
  else if (diff < 3600)     return Math.floor(diff/60) + " minutes ago";
  else if (diff < 7200)     return "1 hour ago";
  else if (diff < 86400)    return Math.floor(diff/3600) + " hours ago";
  else if (day_diff == 1)   return "Yesterday";
  else if (day_diff < 7)    return day_diff + " days ago";
  else if (day_diff < 14)   return  "a week ago";
  else if (day_diff < 31)   return Math.ceil(day_diff/7) + " weeks ago";
  else if (day_diff < 62)   return "a month ago";
  else if (day_diff < 365)  return "about " + Math.ceil(day_diff/31) + " months ago";
  else if (day_diff < 730)  return "a year ago";
  else                      return Math.ceil(day_diff/365) + " years ago";

Date.prototype.formatString_orig_mptw = Date.prototype.formatString;

Date.prototype.formatString = function(template) {
  return this.formatString_orig_mptw(template).replace(/pppp/,this.prettyDate());

// for MPTW. otherwise edit your ViewTemplate as required.
// config.mptwDateFormat = 'pppp (DD/MM/YY)';
config.mptwDateFormat = 'pppp';

|Description:|Changes tag links to make it easier to open tags as tiddlers|
|Author:|Simon Baird <simon.baird@gmail.com>|
config.quickOpenTag = {

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

  createTagButton: function(place,tag,excludeTiddler) {
    // little hack so we can do this: <<tag PrettyTagName|RealTagName>>
    var splitTag = tag.split("|");
    var pretty = tag;
    if (splitTag.length == 2) {
      tag = splitTag[1];
      pretty = splitTag[0];

    var sp = createTiddlyElement(place,"span",null,"quickopentag");

    var theTag = createTiddlyButton(sp,config.quickOpenTag.dropdownChar,
    if (excludeTiddler)

  miniTagHandler: function(place,macroName,params,wikifier,paramString,tiddler) {
    var tagged = store.getTaggedTiddlers(tiddler.title);
    if (tagged.length > 0) {
      var theTag = createTiddlyButton(place,config.quickOpenTag.dropdownChar,
      theTag.className = "miniTag";

  allTagsHandler: function(place,macroName,params) {
    var tags = store.getTags(params[0]);
    var filter = params[1]; // new feature
    var ul = createTiddlyElement(place,"ul");
    if(tags.length == 0)
    for(var t=0; t<tags.length; t++) {
      var title = tags[t][0];
      if (!filter || (title.match(new RegExp('^'+filter)))) {
        var info = getTiddlyLinkInfo(title);
        var theListItem =createTiddlyElement(ul,"li");
        var theLink = createTiddlyLink(theListItem,tags[t][0],true);
        var theCount = " (" + tags[t][1] + ")";
        var theDropDownBtn = createTiddlyButton(theListItem," " +

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

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


|Description:|Allows you to easily rename or delete tags across multiple tiddlers|
|Author:|Simon Baird <simon.baird@gmail.com>|
Rename a tag and you will be prompted to rename it in all its tagged tiddlers.
config.renameTags = {

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

  removeTag: function(tag,tiddlers) {
    for (var i=0;i<tiddlers.length;i++) {

  renameTag: function(oldTag,newTag,tiddlers) {
    for (var i=0;i<tiddlers.length;i++) {
      var title = tiddlers[i].title;
      store.setTiddlerTag(title, false, oldTag); // remove old
      store.setTiddlerTag(title, true, newTag);  // add new
      store.getTiddler(title).modified = new Date(); // touch modified date

  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) {
          // then we are renaming a tag
          if (confirm(config.renameTags.prompts.rename.format([title,newTitle,tagged.length,tagged.length>1?"s":""])))

          if (!this.tiddlerExists(title) && newBody == "")
            // dont create unwanted tiddler
            return null;
      return this.saveTiddler_orig_renameTags(title,newTitle,newBody,modifier,modified,tags,fields,clearChangeCount,created,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":""])))
      return this.removeTiddler_orig_renameTags(title);


  init: function() {


Фраза с ныне не существующего сайта с вырвигразным дизайном и вопиюще безграмотными текстами. Сайт принадлежал Кировской "студии", предлагавшей изготовление сайтов на заказ и располагался он по адресу http://webstudia43.ru/
Нельзя отбрасывать и варианты , что этот кошмар был создан специально для пиара или просто для смеха. Возможно также, что это была лишь заготовка для полноценного сайта.

>''Бэд Филин'' 2010-08-16 12:30:52
>http://webstudia43.ru/ - это покруче артемия лебедева 
|Description:|Provides two extra toolbar commands, saveCloseTiddler and cancelCloseTiddler|
|Author:|Simon Baird <simon.baird@gmail.com>|
To use these add them to the commands in ToolbarCommands under EditToolbar,
or in the MptwTheme tiddler under EditTemplate.

  saveCloseTiddler: {
    text: 'done/close',
    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: 'cancel/close',
    tooltip: 'Undo changes to this tiddler and close it',
    handler: function(ev,src,title) {
      // the same as closeTiddler now actually
      return config.commands.closeTiddler.handler(ev,src,title);


|Description:|Lets you easily switch theme and palette|
|Author:|Simon Baird <simon.baird@gmail.com>|
* Borrows largely from ThemeSwitcherPlugin by Martin Budden http://www.martinswiki.com/#ThemeSwitcherPlugin
* Theme is cookie based. But set a default by setting config.options.txtTheme in MptwConfigPlugin (for example)
* Palette is not cookie based. It actually overwrites your ColorPalette tiddler when you select a palette, so beware.
* {{{<<selectTheme>>}}} makes a dropdown selector
* {{{<<selectPalette>>}}} makes a dropdown selector
* {{{<<applyTheme>>}}} applies the current tiddler as a theme
* {{{<<applyPalette>>}}} applies the current tiddler as a palette
* {{{<<applyTheme TiddlerName>>}}} applies TiddlerName as a theme
* {{{<<applyPalette TiddlerName>>}}} applies TiddlerName as a palette

config.macros.selectTheme = {
  label: {
    selectTheme:"select theme",
    selectPalette:"select palette"
  prompt: {
    selectTheme:"Select the current theme",
    selectPalette:"Select the current palette"
  tags: {

config.macros.selectTheme.handler = function(place,macroName)
  var btn = createTiddlyButton(place,this.label[macroName],this.prompt[macroName],this.onClick);
  // want to handle palettes and themes with same code. use mode attribute to distinguish

config.macros.selectTheme.onClick = function(ev)
  var e = ev ? ev : window.event;
  var popup = Popup.create(this);
  var mode = this.getAttribute('mode');
  var tiddlers = store.getTaggedTiddlers(config.macros.selectTheme.tags[mode]);
  // for default
  if (mode == "selectPalette") {
    var btn = createTiddlyButton(createTiddlyElement(popup,'li'),"(default)","default color palette",config.macros.selectTheme.onClickTheme);
  for(var i=0; i<tiddlers.length; i++) {
    var t = tiddlers[i].title;
    var name = store.getTiddlerSlice(t,'Name');
    var desc = store.getTiddlerSlice(t,'Description');
    var btn = createTiddlyButton(createTiddlyElement(popup,'li'), name?name:t, desc?desc:config.macros.selectTheme.label['mode'], config.macros.selectTheme.onClickTheme);
  return stopEvent(e);

config.macros.selectTheme.onClickTheme = function(ev)
  var mode = this.getAttribute('mode');
  var theme = this.getAttribute('theme');
  if (mode == 'selectTheme')
  else // selectPalette
  return false;

config.macros.selectTheme.updatePalette = function(title)
  if (title != "") {
    if (title != "(default)")

config.macros.applyTheme = {
  label: "apply",
  prompt: "apply this theme or palette" // i'm lazy

config.macros.applyTheme.handler = function(place,macroName,params,wikifier,paramString,tiddler) {
  var useTiddler = params[0] ? params[0] : tiddler.title;
  var btn = createTiddlyButton(place,this.label,this.prompt,config.macros.selectTheme.onClickTheme);
  btn.setAttribute('mode',macroName=="applyTheme"?"selectTheme":"selectPalette"); // a bit untidy here

config.macros.selectPalette = config.macros.selectTheme;
config.macros.applyPalette = config.macros.applyTheme;

config.macros.refreshAll = { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
  createTiddlyButton(place,"refresh","refresh layout and styles",function() { refreshAll(); });

<<tabs txtMainTab "Последние правки" "Недавнее" TabTimeline>>
<<tabs txtMainTab "Тэги" "Теги" TabTags>>
[[джля|дж]] тех, кто [[не пони]]
.siteSubtitle {font-size:1.5em;}
<<timeline modified 10 YYYY0MM0DD>>
|Description:|tagglyTagging macro is a replacement for the builtin tagging macro in your ViewTemplate|
|Author:|Simon Baird <simon.baird@gmail.com>|
See http://mptw.tiddlyspot.com/#TagglyTagging


  parseTagExpr: function(debug) {

    if (this.trim() == "")
      return "(true)";

    var anyLogicOp = /(!|&&|\|\||\(|\))/g;
    var singleLogicOp = /^(!|&&|\|\||\(|\))$/;

    var spaced = this.
      // because square brackets in templates are no good
      // this means you can use [(With Spaces)] instead of [[With Spaces]]
      replace(/\[\(/g," [[").
      replace(/\)\]/g,"]] ").
      // space things out so we can use readBracketedList. tricky eh?
      replace(anyLogicOp," $1 ");

    var expr = "";

    var tokens = spaced.readBracketedList(false); // false means don't uniq the list. nice one JR!

    for (var i=0;i<tokens.length;i++)
      if (tokens[i].match(singleLogicOp))
        expr += tokens[i];
        expr += "tiddler.tags.contains('%0')".format([tokens[i].replace(/'/,"\\'")]); // fix single quote bug. still have round bracket bug i think

    if (debug)

    return '('+expr+')';


  getTiddlersByTagExpr: function(tagExpr,sortField) {

    var result = [];

    var expr = tagExpr.parseTagExpr();

    store.forEachTiddler(function(title,tiddler) {
      if (eval(expr))

      sortField = "title";

    result.sort(function(a,b) {return a[sortField] < b[sortField] ? -1 : (a[sortField] == b[sortField] ? 0 : +1);});

    return result;

config.taggly = {

  // for translations
  lingo: {
    labels: {
      asc:        "\u2191", // down arrow
      desc:       "\u2193", // up arrow
      title:      "title",
      modified:   "modified",
      created:    "created",
      show:       "+",
      hide:       "-",
      normal:     "normal",
      group:      "group",
      commas:     "commas",
      sitemap:    "sitemap",
      numCols:    "cols\u00b1", // plus minus sign
      label:      "Tagged as '%0':",
      exprLabel:  "Matching tag expression '%0':",
      excerpts:   "excerpts",
      descr:      "descr",
      slices:     "slices",
      contents:   "contents",
      sliders:    "sliders",
      noexcerpts: "title only",
      noneFound:  "(none)"

    tooltips: {
      title:      "Click to sort by title",
      modified:   "Click to sort by modified date",
      created:    "Click to sort by created date",
      show:       "Click to show tagging list",
      hide:       "Click to hide tagging list",
      normal:     "Click to show a normal ungrouped list",
      group:      "Click to show list grouped by tag",
      sitemap:    "Click to show a sitemap style list",
      commas:     "Click to show a comma separated list",
      numCols:    "Click to change number of columns",
      excerpts:   "Click to show excerpts",
      descr:      "Click to show the description slice",
      slices:     "Click to show all slices",
      contents:   "Click to show entire tiddler contents",
      sliders:    "Click to show tiddler contents in sliders",
      noexcerpts: "Click to show entire title only"

    tooDeepMessage: "* //sitemap too deep...//"

  config: {
    showTaggingCounts: true,
    listOpts: {
      // the first one will be the default
      sortBy:     ["title","modified","created"],
      sortOrder:  ["asc","desc"],
      hideState:  ["show","hide"],
      listMode:   ["normal","group","sitemap","commas"],
      numCols:    ["1","2","3","4","5","6"],
      excerpts:   ["noexcerpts","excerpts","descr","slices","contents","sliders"]
    valuePrefix: "taggly.",
    excludeTags: ["excludeLists","excludeTagging"],
    excerptSize: 50,
    excerptMarker: "/%"+"%/",
    siteMapDepthLimit: 25

  getTagglyOpt: function(title,opt) {
    var val = store.getValue(title,this.config.valuePrefix+opt);
    return val ? val : this.config.listOpts[opt][0];

  setTagglyOpt: function(title,opt,value) {
    // create it silently if it doesn't exist
    if (!store.tiddlerExists(title)) {
      store.saveTiddler(title,title,config.views.editor.defaultText.format([title]),config.options.txtUserName,new Date(),"");

      // <<tagglyTagging expr:"...">> creates a tiddler to store its display settings
      // Make those tiddlers less noticeable by tagging as excludeSearch and excludeLists
      // Because we don't want to hide real tags, check that they aren't actually tags before doing so
      // Also tag them as tagglyExpression for manageability
      // (contributed by RA)
      if (!store.getTaggedTiddlers(title).length) {

    // if value is default then remove it to save space
    return store.setValue(title, this.config.valuePrefix+opt, value == this.config.listOpts[opt][0] ? null : value);

  getNextValue: function(title,opt) {
    var current = this.getTagglyOpt(title,opt);
    var pos = this.config.listOpts[opt].indexOf(current);
    // supposed to automagically don't let cols cycle up past the number of items
    // currently broken in some situations, eg when using an expression
    // lets fix it later when we rewrite for jquery
    // the columns thing should be jquery table manipulation probably
    var limit = (opt == "numCols" ? store.getTaggedTiddlers(title).length : this.config.listOpts[opt].length);
    var newPos = (pos + 1) % limit;
    return this.config.listOpts[opt][newPos];

  toggleTagglyOpt: function(title,opt) {
    var newVal = this.getNextValue(title,opt);

  createListControl: function(place,title,type) {
    var lingo = config.taggly.lingo;
    var label;
    var tooltip;
    var onclick;

    if ((type == "title" || type == "modified" || type == "created")) {
      // "special" controls. a little tricky. derived from sortOrder and sortBy
      label = lingo.labels[type];
      tooltip = lingo.tooltips[type];

      if (this.getTagglyOpt(title,"sortBy") == type) {
        label += lingo.labels[this.getTagglyOpt(title,"sortOrder")];
        onclick = function() {
          return false;
      else {
        onclick = function() {
          return false;
    else {
      // "regular" controls, nice and simple
      label = lingo.labels[type == "numCols" ? type : this.getNextValue(title,type)];
      tooltip = lingo.tooltips[type == "numCols" ? type : this.getNextValue(title,type)];
      onclick = function() {
        return false;

    // hide button because commas don't have columns
    if (!(this.getTagglyOpt(title,"listMode") == "commas" && type == "numCols"))
      createTiddlyButton(place,label,tooltip,onclick,type == "hideState" ? "hidebutton" : "button");

  makeColumns: function(orig,numCols) {
    var listSize = orig.length;
    var colSize = listSize/numCols;
    var remainder = listSize % numCols;

    var upperColsize = colSize;
    var lowerColsize = colSize;

    if (colSize != Math.floor(colSize)) {
      // it's not an exact fit so..
      upperColsize = Math.floor(colSize) + 1;
      lowerColsize = Math.floor(colSize);

    var output = [];
    var c = 0;
    for (var j=0;j<numCols;j++) {
      var singleCol = [];
      var thisSize = j < remainder ? upperColsize : lowerColsize;
      for (var i=0;i<thisSize;i++)

    return output;

  drawTable: function(place,columns,theClass) {
    var newTable = createTiddlyElement(place,"table",null,theClass);
    var newTbody = createTiddlyElement(newTable,"tbody");
    var newTr = createTiddlyElement(newTbody,"tr");
    for (var j=0;j<columns.length;j++) {
      var colOutput = "";
      for (var i=0;i<columns[j].length;i++)
        colOutput += columns[j][i];
      var newTd = createTiddlyElement(newTr,"td",null,"tagglyTagging"); // todo should not need this class
    return newTable;

  createTagglyList: function(place,title,isTagExpr) {
    switch(this.getTagglyOpt(title,"listMode")) {
      case "group":  return this.createTagglyListGrouped(place,title,isTagExpr); break;
      case "normal": return this.createTagglyListNormal(place,title,false,isTagExpr); break;
      case "commas": return this.createTagglyListNormal(place,title,true,isTagExpr); break;
      case "sitemap":return this.createTagglyListSiteMap(place,title,isTagExpr); break;

  getTaggingCount: function(title,isTagExpr) {
    // thanks to Doug Edmunds
    if (this.config.showTaggingCounts) {
      var tagCount = config.taggly.getTiddlers(title,'title',isTagExpr).length;
      if (tagCount > 0)
        return " ("+tagCount+")";
    return "";

  getTiddlers: function(titleOrExpr,sortBy,isTagExpr) {
    return isTagExpr ? store.getTiddlersByTagExpr(titleOrExpr,sortBy) : store.getTaggedTiddlers(titleOrExpr,sortBy);

  getExcerpt: function(inTiddlerTitle,title,indent) {
    if (!indent)
      indent = 1;

    var displayMode = this.getTagglyOpt(inTiddlerTitle,"excerpts");
    var t = store.getTiddler(title);

    if (t && displayMode == "excerpts") {
      var text = t.text.replace(/\n/," ");
      var marker = text.indexOf(this.config.excerptMarker);
      if (marker != -1) {
        return " {{excerpt{<nowiki>" + text.substr(0,marker) + "</nowiki>}}}";
      else if (text.length < this.config.excerptSize) {
        return " {{excerpt{<nowiki>" + t.text + "</nowiki>}}}";
      else {
        return " {{excerpt{<nowiki>" + t.text.substr(0,this.config.excerptSize) + "..." + "</nowiki>}}}";
    else if (t && displayMode == "contents") {
      return "\n{{contents indent"+indent+"{\n" + t.text + "\n}}}";
    else if (t && displayMode == "sliders") {
      return "<slider slide>\n{{contents{\n" + t.text + "\n}}}\n</slider>";
    else if (t && displayMode == "descr") {
      var descr = store.getTiddlerSlice(title,'Description');
      return descr ? " {{excerpt{" + descr  + "}}}" : "";
    else if (t && displayMode == "slices") {
      var result = "";
      var slices = store.calcAllSlices(title);
      for (var s in slices)
        result += "|%0|<nowiki>%1</nowiki>|\n".format([s,slices[s]]);
      return result ? "\n{{excerpt excerptIndent{\n" + result  + "}}}" : "";
    return "";

  notHidden: function(t,inTiddler) {
    if (typeof t == "string")
      t = store.getTiddler(t);
    return (!t || !t.tags.containsAny(this.config.excludeTags) ||
        (inTiddler && this.config.excludeTags.contains(inTiddler)));

  // this is for normal and commas mode
  createTagglyListNormal: function(place,title,useCommas,isTagExpr) {

    var list = config.taggly.getTiddlers(title,this.getTagglyOpt(title,"sortBy"),isTagExpr);

    if (this.getTagglyOpt(title,"sortOrder") == "desc")
      list = list.reverse();

    var output = [];
    var first = true;
    for (var i=0;i<list.length;i++) {
      if (this.notHidden(list[i],title)) {
        var countString = this.getTaggingCount(list[i].title);
        var excerpt = this.getExcerpt(title,list[i].title);
        if (useCommas)
          output.push((first ? "" : ", ") + "[[" + list[i].title + "]]" + countString + excerpt);
          output.push("*[[" + list[i].title + "]]" + countString + excerpt + "\n");

        first = false;

    return this.drawTable(place,
      this.makeColumns(output,useCommas ? 1 : parseInt(this.getTagglyOpt(title,"numCols"))),
      useCommas ? "commas" : "normal");

  // this is for the "grouped" mode
  createTagglyListGrouped: function(place,title,isTagExpr) {
    var sortBy = this.getTagglyOpt(title,"sortBy");
    var sortOrder = this.getTagglyOpt(title,"sortOrder");

    var list = config.taggly.getTiddlers(title,sortBy,isTagExpr);

    if (sortOrder == "desc")
      list = list.reverse();

    var leftOvers = []
    for (var i=0;i<list.length;i++)

    var allTagsHolder = {};
    for (var i=0;i<list.length;i++) {
      for (var j=0;j<list[i].tags.length;j++) {

        if (list[i].tags[j] != title) { // not this tiddler

          if (this.notHidden(list[i].tags[j],title)) {

            if (!allTagsHolder[list[i].tags[j]])
              allTagsHolder[list[i].tags[j]] = "";

            if (this.notHidden(list[i],title)) {
              allTagsHolder[list[i].tags[j]] += "**[["+list[i].title+"]]"
                    + this.getTaggingCount(list[i].title) + this.getExcerpt(title,list[i].title) + "\n";

              leftOvers.setItem(list[i].title,-1); // remove from leftovers. at the end it will contain the leftovers


    var allTags = [];
    for (var t in allTagsHolder)

    var sortHelper = function(a,b) {
      if (a == b) return 0;
      if (a < b) return -1;
      return 1;

    allTags.sort(function(a,b) {
      var tidA = store.getTiddler(a);
      var tidB = store.getTiddler(b);
      if (sortBy == "title") return sortHelper(a,b);
      else if (!tidA && !tidB) return 0;
      else if (!tidA) return -1;
      else if (!tidB) return +1;
      else return sortHelper(tidA[sortBy],tidB[sortBy]);

    var leftOverOutput = "";
    for (var i=0;i<leftOvers.length;i++)
      if (this.notHidden(leftOvers[i],title))
        leftOverOutput += "*[["+leftOvers[i]+"]]" + this.getTaggingCount(leftOvers[i]) + this.getExcerpt(title,leftOvers[i]) + "\n";

    var output = [];

    if (sortOrder == "desc")
    else if (leftOverOutput != "")
      // leftovers first...

    for (var i=0;i<allTags.length;i++)
      if (allTagsHolder[allTags[i]] != "")
        output.push("*[["+allTags[i]+"]]" + this.getTaggingCount(allTags[i]) + this.getExcerpt(title,allTags[i]) + "\n" + allTagsHolder[allTags[i]]);

    if (sortOrder == "desc" && leftOverOutput != "")
      // leftovers last...

    return this.drawTable(place,


  // used to build site map
  treeTraverse: function(title,depth,sortBy,sortOrder,isTagExpr) {

    var list = config.taggly.getTiddlers(title,sortBy,isTagExpr);

    if (sortOrder == "desc")

    var indent = "";
    for (var j=0;j<depth;j++)
      indent += "*"

    var childOutput = "";

    if (depth > this.config.siteMapDepthLimit)
      childOutput += indent + this.lingo.tooDeepMessage + "\n";
      for (var i=0;i<list.length;i++)
        if (list[i].title != title)
          if (this.notHidden(list[i].title,this.config.inTiddler))
            childOutput += this.treeTraverse(list[i].title,depth+1,sortBy,sortOrder,false);

    if (depth == 0)
      return childOutput;
      return indent + "[["+title+"]]" + this.getTaggingCount(title) + this.getExcerpt(this.config.inTiddler,title,depth) + "\n" + childOutput;

  // this if for the site map mode
  createTagglyListSiteMap: function(place,title,isTagExpr) {
    this.config.inTiddler = title; // nasty. should pass it in to traverse probably
    var output = this.treeTraverse(title,0,this.getTagglyOpt(title,"sortBy"),this.getTagglyOpt(title,"sortOrder"),isTagExpr);
    return this.drawTable(place,
        this.makeColumns(output.split(/(?=^\*\[)/m),parseInt(this.getTagglyOpt(title,"numCols"))), // regexp magic

  macros: {
    tagglyTagging: {
      handler: function (place,macroName,params,wikifier,paramString,tiddler) {
        var parsedParams = paramString.parseParams("tag",null,true);
        var refreshContainer = createTiddlyElement(place,"div");

        // do some refresh magic to make it keep the list fresh - thanks Saq

        var tag = getParam(parsedParams,"tag");
        var expr = getParam(parsedParams,"expr");

        if (expr) {
        else {
          if (tag) {
          else {

      refresh: function(place) {
        var title = place.getAttribute("title");
        var isTagExpr = place.getAttribute("isTagExpr") == "true";
        var showEmpty = place.getAttribute("showEmpty") == "true";
        var countFound = config.taggly.getTiddlers(title,'title',isTagExpr).length
        if (countFound > 0 || showEmpty) {
          var lingo = config.taggly.lingo;
          if (config.taggly.getTagglyOpt(title,"hideState") == "show") {
                isTagExpr ? lingo.labels.exprLabel.format([title]) : lingo.labels.label.format([title]));
            if (countFound == 0 && showEmpty)

  // todo fix these up a bit
  styles: [
"/* created by TagglyTaggingPlugin */",
".tagglyTagging { padding-top:0.5em; }",
".tagglyTagging li.listTitle { display:none; }",
".tagglyTagging ul {",
" margin-top:0px; padding-top:0.5em; padding-left:2em;",
" margin-bottom:0px; padding-bottom:0px;",
".tagglyTagging { vertical-align: top; margin:0px; padding:0px; }",
".tagglyTagging table { margin:0px; padding:0px; }",
".tagglyTagging .button { visibility:hidden; margin-left:3px; margin-right:3px; }",
".tagglyTagging .button, .tagglyTagging .hidebutton {",
" color:[[ColorPalette::TertiaryLight]]; font-size:90%;",
" border:0px; padding-left:0.3em;padding-right:0.3em;",
".tagglyTagging .button:hover, .hidebutton:hover, ",
".tagglyTagging .button:active, .hidebutton:active  {",
" border:0px; background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]];",
".selected .tagglyTagging .button { visibility:visible; }",
".tagglyTagging .hidebutton { color:[[ColorPalette::Background]]; }",
".selected .tagglyTagging .hidebutton { color:[[ColorPalette::TertiaryLight]] }",
".tagglyLabel { color:[[ColorPalette::TertiaryMid]]; font-size:90%; }",
".tagglyTagging ul {padding-top:0px; padding-bottom:0.5em; margin-left:1em; }",
".tagglyTagging ul ul {list-style-type:disc; margin-left:-1em;}",
".tagglyTagging ul ul li {margin-left:0.5em; }",
".editLabel { font-size:90%; padding-top:0.5em; }",
".tagglyTagging .commas { padding-left:1.8em; }",
"/* not technically tagglytagging but will put them here anyway */",
".tagglyTagged li.listTitle { display:none; }",
".tagglyTagged li { display: inline; font-size:90%; }",
".tagglyTagged ul { margin:0px; padding:0px; }",
".excerpt { color:[[ColorPalette::TertiaryDark]]; }",
".excerptIndent { margin-left:4em; }",
"div.tagglyTagging table,",
"div.tagglyTagging table tr,",
" {border-style:none!important; }",
".tagglyTagging .contents { border-bottom:2px solid [[ColorPalette::TertiaryPale]]; padding:0 1em 1em 0.5em;",
"  margin-bottom:0.5em; }",
".tagglyTagging .indent1  { margin-left:3em;  }",
".tagglyTagging .indent2  { margin-left:4em;  }",
".tagglyTagging .indent3  { margin-left:5em;  }",
".tagglyTagging .indent4  { margin-left:6em;  }",
".tagglyTagging .indent5  { margin-left:7em;  }",
".tagglyTagging .indent6  { margin-left:8em;  }",
".tagglyTagging .indent7  { margin-left:9em;  }",
".tagglyTagging .indent8  { margin-left:10em; }",
".tagglyTagging .indent9  { margin-left:11em; }",
".tagglyTagging .indent10 { margin-left:12em; }",
".tagglyNoneFound { margin-left:2em; color:[[ColorPalette::TertiaryMid]]; font-size:90%; font-style:italic; }",

  init: function() {
    config.shadowTiddlers["TagglyTaggingStyles"] = this.styles;



By Saq Imtiaz

// syntax adjusted to not clash with NestedSlidersPlugin
// added + syntax to start open instead of closed

config.formatters.unshift( {
  name: "inlinesliders",
  // match: "\\+\\+\\+\\+|\\<slider",
  match: "\\<slider",
  // lookaheadRegExp: /(?:\+\+\+\+|<slider) (.*?)(?:>?)\n((?:.|\n)*?)\n(?:====|<\/slider>)/mg,
  lookaheadRegExp: /(?:<slider)(\+?) (.*?)(?:>)\n((?:.|\n)*?)\n(?:<\/slider>)/mg,
  handler: function(w) {
    this.lookaheadRegExp.lastIndex = w.matchStart;
    var lookaheadMatch = this.lookaheadRegExp.exec(w.source)
    if(lookaheadMatch && lookaheadMatch.index == w.matchStart ) {
      var btn = createTiddlyButton(w.output,lookaheadMatch[2] + " "+"\u00BB",lookaheadMatch[2],this.onClickSlider,"button sliderButton");
      var panel = createTiddlyElement(w.output,"div",null,"sliderPanel");
      panel.style.display = (lookaheadMatch[1] == '+' ? "block" : "none");
      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;

|Description:|Makes a checkbox which toggles a tag in a tiddler|
|Author:|Simon Baird <simon.baird@gmail.com>|
{{{<<toggleTag }}}//{{{TagName TiddlerName LabelText}}}//{{{>>}}}
* TagName - the tag to be toggled, default value "checked"
* TiddlerName - the tiddler to toggle the tag in, default value the current tiddler
* LabelText - the text (gets wikified) to put next to the check box, default value is '{{{[[TagName]]}}}' or '{{{[[TagName]] [[TiddlerName]]}}}'
(If a parameter is '.' then the default will be used)
* TouchMod flag - if non empty then touch the tiddlers mod date. Note, can set config.toggleTagAlwaysTouchModDate to always touch mod date
|{{{<<toggleTag>>}}}|Toggles the default tag (checked) in this tiddler|<<toggleTag>>|
|{{{<<toggleTag TagName>>}}}|Toggles the TagName tag in this tiddler|<<toggleTag TagName>>|
|{{{<<toggleTag TagName TiddlerName>>}}}|Toggles the TagName tag in the TiddlerName tiddler|<<toggleTag TagName TiddlerName>>|
|{{{<<toggleTag TagName TiddlerName 'click me'>>}}}|Same but with custom label|<<toggleTag TagName TiddlerName 'click me'>>|
|{{{<<toggleTag . . 'click me'>>}}}|dot means use default value|<<toggleTag . . 'click me'>>|
* If TiddlerName doesn't exist it will be silently created
* Set label to '-' to specify no label
* See also http://mgtd-alpha.tiddlyspot.com/#ToggleTag2
!!Known issues
* Doesn't smoothly handle the case where you toggle a tag in a tiddler that is current open for editing
* Should convert to use named params

if (config.toggleTagAlwaysTouchModDate == undefined) config.toggleTagAlwaysTouchModDate = false;


  toggleTag: {

    createIfRequired: true,
    shortLabel: "[[%0]]",
    longLabel: "[[%0]] [[%1]]",

    handler: function(place,macroName,params,wikifier,paramString,tiddler) {
      var tiddlerTitle = tiddler ? tiddler.title : '';
      var tag   = (params[0] && params[0] != '.') ? params[0] : "checked";
      var title = (params[1] && params[1] != '.') ? params[1] : tiddlerTitle;
      var defaultLabel = (title == tiddlerTitle ? this.shortLabel : this.longLabel);
      var label = (params[2] && params[2] != '.') ? params[2] : defaultLabel;
      var touchMod = (params[3] && params[3] != '.') ? params[3] : "";
      label = (label == '-' ? '' : label); // dash means no label
      var theTiddler = (title == tiddlerTitle ? tiddler : store.getTiddler(title));
      var cb = createTiddlyCheckbox(place, label.format([tag,title]), theTiddler && theTiddler.isTagged(tag), function(e) {
        if (!store.tiddlerExists(title)) {
          if (config.macros.toggleTag.createIfRequired) {
            var content = store.getTiddlerText(title); // just in case it's a shadow
            store.saveTiddler(title,title,content?content:"",config.options.txtUserName,new Date(),null);
            return false;
        if ((touchMod != "" || config.toggleTagAlwaysTouchModDate) && theTiddler)
            theTiddler.modified = new Date();
        return true;


|~ViewToolbar|closeTiddler closeOthers > +editTiddler fields syncing permalink references jump|
|~EditToolbar|+saveTiddler -cancelTiddler deleteTiddler|
Description: Contains the stuff you need to use Tiddlyspot
Note, you also need UploadPlugin, PasswordOptionPlugin and LoadRemoteFileThroughProxy
from http://tiddlywiki.bidix.info for a complete working Tiddlyspot site.

// edit this if you are migrating sites or retrofitting an existing TW
config.tiddlyspotSiteId = 'svalko';

// make it so you can by default see edit controls via http
config.options.chkHttpReadOnly = false;
window.readOnly = false; // make sure of it (for tw 2.2)
window.showBackstage = true; // show backstage too

// disable autosave in d3
if (window.location.protocol != "file:")
	config.options.chkGTDLazyAutoSave = false;

// tweak shadow tiddlers to add upload button, password entry box etc
with (config.shadowTiddlers) {
	SiteUrl = 'http://'+config.tiddlyspotSiteId+'.tiddlyspot.com';
	SideBarOptions = SideBarOptions.replace(/(<<saveChanges>>)/,"$1<<tiddler TspotSidebar>>");
	OptionsPanel = OptionsPanel.replace(/^/,"<<tiddler TspotOptions>>");
	DefaultTiddlers = DefaultTiddlers.replace(/^/,"[[WelcomeToTiddlyspot]] ");
	MainMenu = MainMenu.replace(/^/,"[[WelcomeToTiddlyspot]] ");

// create some shadow tiddler content

 "| tiddlyspot password:|<<option pasUploadPassword>>|",
 "| site management:|<<upload http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/store.cgi index.html . .  " + config.tiddlyspotSiteId + ">>//(requires tiddlyspot password)//<br>[[control panel|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/controlpanel]], [[download (go offline)|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/download]]|",
 "| links:|[[tiddlyspot.com|http://tiddlyspot.com/]], [[FAQs|http://faq.tiddlyspot.com/]], [[blog|http://tiddlyspot.blogspot.com/]], email [[support|mailto:support@tiddlyspot.com]] & [[feedback|mailto:feedback@tiddlyspot.com]], [[donate|http://tiddlyspot.com/?page=donate]]|"

 "tiddlyspot password:",
 "<<option pasUploadPassword>>",

 "<<upload http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/store.cgi index.html . .  " + config.tiddlyspotSiteId + ">><html><a href='http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/download' class='button'>download</a></html>"

 "This document is a ~TiddlyWiki from tiddlyspot.com.  A ~TiddlyWiki is an electronic notebook that is great for managing todo lists, personal information, and all sorts of things.",
 "@@font-weight:bold;font-size:1.3em;color:#444; //What now?// &nbsp;&nbsp;@@ Before you can save any changes, you need to enter your password in the form below.  Then configure privacy and other site settings at your [[control panel|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/controlpanel]] (your control panel username is //" + config.tiddlyspotSiteId + "//).",
 "<<tiddler TspotControls>>",
 "See also GettingStarted.",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Working online// &nbsp;&nbsp;@@ You can edit this ~TiddlyWiki right now, and save your changes using the \"save to web\" button in the column on the right.",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Working offline// &nbsp;&nbsp;@@ A fully functioning copy of this ~TiddlyWiki can be saved onto your hard drive or USB stick.  You can make changes and save them locally without being connected to the Internet.  When you're ready to sync up again, just click \"upload\" and your ~TiddlyWiki will be saved back to tiddlyspot.com.",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Help!// &nbsp;&nbsp;@@ Find out more about ~TiddlyWiki at [[TiddlyWiki.com|http://tiddlywiki.com]].  Also visit [[TiddlyWiki.org|http://tiddlywiki.org]] for documentation on learning and using ~TiddlyWiki. New users are especially welcome on the [[TiddlyWiki mailing list|http://groups.google.com/group/TiddlyWiki]], which is an excellent place to ask questions and get help.  If you have a tiddlyspot related problem email [[tiddlyspot support|mailto:support@tiddlyspot.com]].",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Enjoy :)// &nbsp;&nbsp;@@ We hope you like using your tiddlyspot.com site.  Please email [[feedback@tiddlyspot.com|mailto:feedback@tiddlyspot.com]] with any comments or suggestions."

[[искаж.|Дезорфографирование]] - ''Унвайтер'', ''Ипшайтег''

Многие думают что ''Ипшайтег'' — это такое милое существо, живущее где-то в тропических лесах. Часто так называют любое маленькое и/или милое существо, сфотографированное крупным планом.
<<slider chkTextExp 'Unwaiter##textexplain' 'Ложный ипшайтег' 'А вы что подумали?'>>
Это распространённое заблуждение.

Слово //ипшайтег// произошло от прочитанного русскими буквами ника ''Unwaiter'' (так же ранее известного как //Нежданчик//), завсегдатая [[свалки|Свалка]], который собственно им(Ипшайтегом) и является. Ранее писался --как маленький-- с маленькой буквы.

Легенда об ипшайтеге гласит, что доведя число своих постов на Свалко до сакрального числа 777, он удалился от суеты мира, перестав размещать новые посты. Это событие было отмечено столь бурными свалочными пертурбациями, что до сих пор единственным их историческим аналогом (довольно бледным) может служить лишь Вавилонское столпотворение. Многие сходятся во мнении, что второе пришествие Ипшайтега будет означать конец сущего. В настоящее время Ипшайтег лишь в исключительных случаях сходит до комментариев к постам недалеких [[обитателей|Свалкер]] [[Свалко|Свалка]]. Известно, что он имеет несколько виртуалов и сменных ников, однако все они засекречены. Некоторые апологеты считают, что ипшайтег является единственным обитателем свалки, а все встречающиеся там ники — только его псевдонимы. Последователи сурового культа Ипшайтега полагают, что завоевание Свалко — это первый шаг Ипшайтега на пути к овладению миром.

Опасносте: Ипшайтег калечит мозг своих жертв, кусая их в плечо. Прямо через пальто.

Unwaiter замечен за [[скручиванием щодчега|Накручивать счётчик]]: при появлении на [[глагне|Глагна]] [[пста|Пост]] за [[его|И очень жалко их таких]] авторством, суммарное количество его постов не увеличивается, а остаётся равным 777.
| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |
| 01/09/2015 03:36:38 | Iam Wily | [[/|http://svalko.tiddlyspot.com/]] | [[store.cgi|http://svalko.tiddlyspot.com/store.cgi]] | . | [[index.html | http://svalko.tiddlyspot.com/index.html]] | . | ok |
| 01/09/2015 03:59:58 | Iam Wily | [[/|http://svalko.tiddlyspot.com/]] | [[store.cgi|http://svalko.tiddlyspot.com/store.cgi]] | . | [[index.html | http://svalko.tiddlyspot.com/index.html]] | . | ok |
| 01/09/2015 04:10:06 | Iam Wily | [[/|http://svalko.tiddlyspot.com/]] | [[store.cgi|http://svalko.tiddlyspot.com/store.cgi]] | . | [[index.html | http://svalko.tiddlyspot.com/index.html]] | . | ok |
| 01/09/2015 04:15:26 | Iam Wily | [[/|http://svalko.tiddlyspot.com/]] | [[store.cgi|http://svalko.tiddlyspot.com/store.cgi]] | . | [[index.html | http://svalko.tiddlyspot.com/index.html]] | . | ok |
| 01/09/2015 04:22:24 | Iam Wily | [[/|http://svalko.tiddlyspot.com/]] | [[store.cgi|http://svalko.tiddlyspot.com/store.cgi]] | . | [[index.html | http://svalko.tiddlyspot.com/index.html]] | . | ok |
| 01/09/2015 04:32:34 | Iam Wily | [[/|http://svalko.tiddlyspot.com/]] | [[store.cgi|http://svalko.tiddlyspot.com/store.cgi]] | . | [[index.html | http://svalko.tiddlyspot.com/index.html]] | . | ok |
| 01/09/2015 04:37:25 | Iam Wily | [[/|http://svalko.tiddlyspot.com/]] | [[store.cgi|http://svalko.tiddlyspot.com/store.cgi]] | . | [[index.html | http://svalko.tiddlyspot.com/index.html]] | . | ok |
| 01/09/2015 04:49:14 | Iam Wily | [[/|http://svalko.tiddlyspot.com/]] | [[store.cgi|http://svalko.tiddlyspot.com/store.cgi]] | . | [[index.html | http://svalko.tiddlyspot.com/index.html]] | . | ok |
| 01/09/2015 04:51:09 | Iam Wily | [[/|http://svalko.tiddlyspot.com/]] | [[store.cgi|http://svalko.tiddlyspot.com/store.cgi]] | . | [[index.html | http://svalko.tiddlyspot.com/index.html]] | . | ok |
| 01/09/2015 05:04:52 | Iam Wily | [[/|http://svalko.tiddlyspot.com/]] | [[store.cgi|http://svalko.tiddlyspot.com/store.cgi]] | . | [[index.html | http://svalko.tiddlyspot.com/index.html]] | . |
|''Description:''|Save to web a TiddlyWiki|
|''Date:''|Feb 24, 2008|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
version.extensions.UploadPlugin = {
	major: 4, minor: 1, revision: 3,
	date: new Date("Feb 24, 2008"),
	source: 'http://tiddlywiki.bidix.info/#UploadPlugin',
	author: 'BidiX (BidiX (at) bidix (dot) info',
	coreVersion: '2.2.0'

// Environment

if (!window.bidix) window.bidix = {}; // bidix namespace
bidix.debugMode = false;	// true to activate both in Plugin and UploadService
// Upload Macro

config.macros.upload = {
// default values
	defaultBackupDir: '',	//no backup
	defaultStoreScript: "store.php",
	defaultToFilename: "index.html",
	defaultUploadDir: ".",
	authenticateUser: true	// UploadService Authenticate User
config.macros.upload.label = {
	promptOption: "Save and Upload this TiddlyWiki with UploadOptions",
	promptParamMacro: "Save and Upload this TiddlyWiki in %0",
	saveLabel: "save to web", 
	saveToDisk: "save to disk",
	uploadLabel: "upload"	

config.macros.upload.messages = {
	noStoreUrl: "No store URL in parmeters or options",
	usernameOrPasswordMissing: "Username or password missing"

config.macros.upload.handler = function(place,macroName,params) {
	if (readOnly)
	var label;
	if (document.location.toString().substr(0,4) == "http") 
		label = this.label.saveLabel;
		label = this.label.uploadLabel;
	var prompt;
	if (params[0]) {
		prompt = this.label.promptParamMacro.toString().format([this.destFile(params[0], 
			(params[1] ? params[1]:bidix.basename(window.location.toString())), params[3])]);
	} else {
		prompt = this.label.promptOption;
	createTiddlyButton(place, label, prompt, function() {config.macros.upload.action(params);}, null, null, this.accessKey);

config.macros.upload.action = function(params)
		// for missing macro parameter set value from options
		if (!params) params = {};
		var storeUrl = params[0] ? params[0] : config.options.txtUploadStoreUrl;
		var toFilename = params[1] ? params[1] : config.options.txtUploadFilename;
		var backupDir = params[2] ? params[2] : config.options.txtUploadBackupDir;
		var uploadDir = params[3] ? params[3] : config.options.txtUploadDir;
		var username = params[4] ? params[4] : config.options.txtUploadUserName;
		var password = config.options.pasUploadPassword; // for security reason no password as macro parameter	
		// for still missing parameter set default value
		if ((!storeUrl) && (document.location.toString().substr(0,4) == "http")) 
			storeUrl = bidix.dirname(document.location.toString())+'/'+config.macros.upload.defaultStoreScript;
		if (storeUrl.substr(0,4) != "http")
			storeUrl = bidix.dirname(document.location.toString()) +'/'+ storeUrl;
		if (!toFilename)
			toFilename = bidix.basename(window.location.toString());
		if (!toFilename)
			toFilename = config.macros.upload.defaultToFilename;
		if (!uploadDir)
			uploadDir = config.macros.upload.defaultUploadDir;
		if (!backupDir)
			backupDir = config.macros.upload.defaultBackupDir;
		// report error if still missing
		if (!storeUrl) {
			return false;
		if (config.macros.upload.authenticateUser && (!username || !password)) {
			return false;
		bidix.upload.uploadChanges(false,null,storeUrl, toFilename, uploadDir, backupDir, username, password); 
		return false; 

config.macros.upload.destFile = function(storeUrl, toFilename, uploadDir) 
	if (!storeUrl)
		return null;
		var dest = bidix.dirname(storeUrl);
		if (uploadDir && uploadDir != '.')
			dest = dest + '/' + uploadDir;
		dest = dest + '/' + toFilename;
	return dest;

// uploadOptions Macro

config.macros.uploadOptions = {
	handler: function(place,macroName,params) {
		var wizard = new Wizard();
		var markList = wizard.getElement("markList");
		var listWrapper = document.createElement("div");
		var uploadCaption;
		if (document.location.toString().substr(0,4) == "http") 
			uploadCaption = config.macros.upload.label.saveLabel;
			uploadCaption = config.macros.upload.label.uploadLabel;
				{caption: uploadCaption, tooltip: config.macros.upload.label.promptOption, 
					onClick: config.macros.upload.action},
				{caption: this.cancelButton, tooltip: this.cancelButtonPrompt, onClick: this.onCancel}
	options: [
	refreshOptions: function(listWrapper) {
		var opts = [];
		for(i=0; i<this.options.length; i++) {
			var opt = {};
			opt.option = "";
			n = this.options[i];
			opt.name = n;
			opt.lowlight = !config.optionsDesc[n];
			opt.description = opt.lowlight ? this.unknownDescription : config.optionsDesc[n];
		var listview = ListView.create(listWrapper,opts,this.listViewTemplate);
		for(n=0; n<opts.length; n++) {
			var type = opts[n].name.substr(0,3);
			var h = config.macros.option.types[type];
			if (h && h.create) {
	onCancel: function(e)
		return false;
	wizardTitle: "Upload with options",
	step1Title: "These options are saved in cookies in your browser",
	step1Html: "<input type='hidden' name='markList'></input><br>",
	cancelButton: "Cancel",
	cancelButtonPrompt: "Cancel prompt",
	listViewTemplate: {
		columns: [
			{name: 'Description', field: 'description', title: "Description", type: 'WikiText'},
			{name: 'Option', field: 'option', title: "Option", type: 'String'},
			{name: 'Name', field: 'name', title: "Name", type: 'String'}
		rowClasses: [
			{className: 'lowlight', field: 'lowlight'} 

// upload functions

if (!bidix.upload) bidix.upload = {};

if (!bidix.upload.messages) bidix.upload.messages = {
	//from saving
	invalidFileError: "The original file '%0' does not appear to be a valid TiddlyWiki",
	backupSaved: "Backup saved",
	backupFailed: "Failed to upload backup file",
	rssSaved: "RSS feed uploaded",
	rssFailed: "Failed to upload RSS feed file",
	emptySaved: "Empty template uploaded",
	emptyFailed: "Failed to upload empty template file",
	mainSaved: "Main TiddlyWiki file uploaded",
	mainFailed: "Failed to upload main TiddlyWiki file. Your changes have not been saved",
	//specific upload
	loadOriginalHttpPostError: "Can't get original file",
	aboutToSaveOnHttpPost: 'About to upload on %0 ...',
	storePhpNotFound: "The store script '%0' was not found."

bidix.upload.uploadChanges = function(onlyIfDirty,tiddlers,storeUrl,toFilename,uploadDir,backupDir,username,password)
	var callback = function(status,uploadParams,original,url,xhr) {
		if (!status) {
		if (bidix.debugMode) 
		// Locate the storeArea div's 
		var posDiv = locateStoreArea(original);
		if((posDiv[0] == -1) || (posDiv[1] == -1)) {
	if(onlyIfDirty && !store.isDirty())
	// save on localdisk ?
	if (document.location.toString().substr(0,4) == "file") {
		var path = document.location.toString();
		var localPath = getLocalPath(path);
	// get original
	var uploadParams = new Array(storeUrl,toFilename,uploadDir,backupDir,username,password);
	var originalPath = document.location.toString();
	// If url is a directory : add index.html
	if (originalPath.charAt(originalPath.length-1) == "/")
		originalPath = originalPath + "index.html";
	var dest = config.macros.upload.destFile(storeUrl,toFilename,uploadDir);
	var log = new bidix.UploadLog();
	log.startUpload(storeUrl, dest, uploadDir,  backupDir);
	if (bidix.debugMode) 
		alert("about to execute Http - GET on "+originalPath);
	var r = doHttp("GET",originalPath,null,null,username,password,callback,uploadParams,null);
	if (typeof r == "string")
	return r;

bidix.upload.uploadRss = function(uploadParams,original,posDiv) 
	var callback = function(status,params,responseText,url,xhr) {
		if(status) {
			var destfile = responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:")));
		} else {
	// do uploadRss
	if(config.options.chkGenerateAnRssFeed) {
		var rssPath = uploadParams[1].substr(0,uploadParams[1].lastIndexOf(".")) + ".xml";
		var rssUploadParams = new Array(uploadParams[0],rssPath,uploadParams[2],'',uploadParams[4],uploadParams[5]);
		var rssString = generateRss();
		// no UnicodeToUTF8 conversion needed when location is "file" !!!
		if (document.location.toString().substr(0,4) != "file")
			rssString = convertUnicodeToUTF8(rssString);	
	} else {

bidix.upload.uploadMain = function(uploadParams,original,posDiv) 
	var callback = function(status,params,responseText,url,xhr) {
		var log = new bidix.UploadLog();
		if(status) {
			// if backupDir specified
			if ((params[3]) && (responseText.indexOf("backupfile:") > -1))  {
				var backupfile = responseText.substring(responseText.indexOf("backupfile:")+11,responseText.indexOf("\n", responseText.indexOf("backupfile:")));
			var destfile = responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:")));
		} else {
	// do uploadMain
	var revised = bidix.upload.updateOriginal(original,posDiv);

bidix.upload.httpUpload = function(uploadParams,data,callback,params)
	var localCallback = function(status,params,responseText,url,xhr) {
		url = (url.indexOf("nocache=") < 0 ? url : url.substring(0,url.indexOf("nocache=")-1));
		if (xhr.status == 404)
		if ((bidix.debugMode) || (responseText.indexOf("Debug mode") >= 0 )) {
			if (responseText.indexOf("Debug mode") >= 0 )
				responseText = responseText.substring(responseText.indexOf("\n\n")+2);
		} else if (responseText.charAt(0) != '0') 
		if (responseText.charAt(0) != '0')
			status = null;
	// do httpUpload
	var boundary = "---------------------------"+"AaB03x";	
	var uploadFormName = "UploadPlugin";
	// compose headers data
	var sheader = "";
	sheader += "--" + boundary + "\r\nContent-disposition: form-data; name=\"";
	sheader += uploadFormName +"\"\r\n\r\n";
	sheader += "backupDir="+uploadParams[3] +
				";user=" + uploadParams[4] +
				";password=" + uploadParams[5] +
				";uploaddir=" + uploadParams[2];
	if (bidix.debugMode)
		sheader += ";debug=1";
	sheader += ";;\r\n"; 
	sheader += "\r\n" + "--" + boundary + "\r\n";
	sheader += "Content-disposition: form-data; name=\"userfile\"; filename=\""+uploadParams[1]+"\"\r\n";
	sheader += "Content-Type: text/html;charset=UTF-8" + "\r\n";
	sheader += "Content-Length: " + data.length + "\r\n\r\n";
	// compose trailer data
	var strailer = new String();
	strailer = "\r\n--" + boundary + "--\r\n";
	data = sheader + data + strailer;
	if (bidix.debugMode) alert("about to execute Http - POST on "+uploadParams[0]+"\n with \n"+data.substr(0,500)+ " ... ");
	var r = doHttp("POST",uploadParams[0],data,"multipart/form-data; ;charset=UTF-8; boundary="+boundary,uploadParams[4],uploadParams[5],localCallback,params,null);
	if (typeof r == "string")
	return r;

// same as Saving's updateOriginal but without convertUnicodeToUTF8 calls
bidix.upload.updateOriginal = function(original, posDiv)
	if (!posDiv)
		posDiv = locateStoreArea(original);
	if((posDiv[0] == -1) || (posDiv[1] == -1)) {
	var revised = original.substr(0,posDiv[0] + startSaveArea.length) + "\n" +
				store.allTiddlersAsHtml() + "\n" +
	var newSiteTitle = getPageTitle().htmlEncode();
	revised = revised.replaceChunk("<title"+">","</title"+">"," " + newSiteTitle + " ");
	revised = updateMarkupBlock(revised,"PRE-HEAD","MarkupPreHead");
	revised = updateMarkupBlock(revised,"POST-HEAD","MarkupPostHead");
	revised = updateMarkupBlock(revised,"PRE-BODY","MarkupPreBody");
	revised = updateMarkupBlock(revised,"POST-SCRIPT","MarkupPostBody");
	return revised;

// UploadLog
// config.options.chkUploadLog :
//		false : no logging
//		true : logging
// config.options.txtUploadLogMaxLine :
//		-1 : no limit
//      0 :  no Log lines but UploadLog is still in place
//		n :  the last n lines are only kept
//		NaN : no limit (-1)

bidix.UploadLog = function() {
	if (!config.options.chkUploadLog) 
		return; // this.tiddler = null
	this.tiddler = store.getTiddler("UploadLog");
	if (!this.tiddler) {
		this.tiddler = new Tiddler();
		this.tiddler.title = "UploadLog";
		this.tiddler.text = "| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |";
		this.tiddler.created = new Date();
		this.tiddler.modifier = config.options.txtUserName;
		this.tiddler.modified = new Date();
	return this;

bidix.UploadLog.prototype.addText = function(text) {
	if (!this.tiddler)
	// retrieve maxLine when we need it
	var maxLine = parseInt(config.options.txtUploadLogMaxLine,10);
	if (isNaN(maxLine))
		maxLine = -1;
	// add text
	if (maxLine != 0) 
		this.tiddler.text = this.tiddler.text + text;
	// Trunck to maxLine
	if (maxLine >= 0) {
		var textArray = this.tiddler.text.split('\n');
		if (textArray.length > maxLine + 1)
			this.tiddler.text = textArray.join('\n');		
	// update tiddler fields
	this.tiddler.modifier = config.options.txtUserName;
	this.tiddler.modified = new Date();
	// refresh and notifiy for immediate update
	store.notify(this.tiddler.title, true);

bidix.UploadLog.prototype.startUpload = function(storeUrl, toFilename, uploadDir,  backupDir) {
	if (!this.tiddler)
	var now = new Date();
	var text = "\n| ";
	var filename = bidix.basename(document.location.toString());
	if (!filename) filename = '/';
	text += now.formatString("0DD/0MM/YYYY 0hh:0mm:0ss") +" | ";
	text += config.options.txtUserName + " | ";
	text += "[["+filename+"|"+location + "]] |";
	text += " [[" + bidix.basename(storeUrl) + "|" + storeUrl + "]] | ";
	text += uploadDir + " | ";
	text += "[[" + bidix.basename(toFilename) + " | " +toFilename + "]] | ";
	text += backupDir + " |";

bidix.UploadLog.prototype.endUpload = function(status) {
	if (!this.tiddler)
	this.addText(" "+status+" |");

// Utilities

bidix.checkPlugin = function(plugin, major, minor, revision) {
	var ext = version.extensions[plugin];
	if (!
		(ext  && 
			((ext.major > major) || 
			((ext.major == major) && (ext.minor > minor))  ||
			((ext.major == major) && (ext.minor == minor) && (ext.revision >= revision))))) {
			// write error in PluginManager
			if (pluginInfo)
				pluginInfo.log.push("Requires " + plugin + " " + major + "." + minor + "." + revision);
			eval(plugin); // generate an error : "Error: ReferenceError: xxxx is not defined"

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

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

bidix.initOption = function(name,value) {
	if (!config.options[name])
		config.options[name] = value;

// Initializations

// require PasswordOptionPlugin 1.0.1 or better
bidix.checkPlugin("PasswordOptionPlugin", 1, 0, 1);

// styleSheet
setStylesheet('.txtUploadStoreUrl, .txtUploadBackupDir, .txtUploadDir {width: 22em;}',"uploadPluginStyles");

	txtUploadStoreUrl: "Url of the UploadService script (default: store.php)",
	txtUploadFilename: "Filename of the uploaded file (default: in index.html)",
	txtUploadDir: "Relative Directory where to store the file (default: . (downloadService directory))",
	txtUploadBackupDir: "Relative Directory where to backup the file. If empty no backup. (default: ''(empty))",
	txtUploadUserName: "Upload Username",
	pasUploadPassword: "Upload Password",
	chkUploadLog: "do Logging in UploadLog (default: true)",
	txtUploadLogMaxLine: "Maximum of lines in UploadLog (default: 10)"

// Options Initializations

// Backstage
	uploadOptions: {text: "upload", tooltip: "Change UploadOptions and Upload", content: '<<uploadOptions>>'}


<div style="position: relative; top:4px; left:50%; width:330px; margin-left:-165px; text-align:center; font-weight:bold; border:4px solid #C21039;">
<abbr title='Возьми с полки пирожок. Там джва - крайний не бери!'>Позджравляю, %username%, </abbr><abbr title='И теперь обязан на ней жениться! Муаха-ха-ха-ха... то есть мяу'> ты нашёл Одминку</abbr>!<br>
<span style="font-weight:normal;">Ты можешь резвицца здесь как хочешь, но имей в виду, что сохранить результат без пароля не удастся.</span>
|Имя|<<option txtUserName>>|
|Пароль|<<option pasUploadPassword>>|
|color:black;! Добавить статью ||color:black;! Сохранить на сервере ||color:black;! Backup с @@color:#C62121;сервера@@ на локальный диск |
| <<newTiddler>> |~| <<upload http://svalko.tiddlyspot.com/store.cgi index.html . .  svalko>> |~| [[Backup|http://svalko.tiddlyspot.com/download]] |
<<slider chkTiddlerListz 'YaOdminko##odminkolistz' 'Списки тиддлеров' 'Йа тултибчег!'>>
<<tabs txtMainTab "Timeline" "По времени" TabTimeline "Все" "Все тиддлеры (почти - см. ниже)" TabAll "Пропущенные" "Тиддлеры, на которые есть ссылки, но нет самих тиддлеров" TabMoreMissing "Бессылочные" "Тиддлеры, на которые нет ссылок" TabMoreOrphans "Тэги" "Все теги (почти - см. ниже)" TabTags "Системные" "Тиддлеры, используемые системой для работы (Shadowed)" TabMoreShadowed>>
[[Список тиддлеров и тегов, скрытых из всех других списков|excludeLists]]
Чтобы они снова показывались в списках убрать из них тег [[excludeLists]].
<<slider chkSettingzBtn 'YaOdminko##odminkosettingz' 'Настройки' 'Редко используемые настройки'>>
[[Настройки TiddlySpot'а|!!http://svalko.tiddlyspot.com/controlpanel]]
[[Backup wiki локально|http://svalko.tiddlyspot.com/download]]
[[Справка по разметке|http://tiddlywiki.org/#Markup]]
[[Статьи на глагне при старте|DefaultTiddlers]]
[[Расширенные настройки wiki|AdvancedOptions]]
| Выбор темы <<selectTheme>> | Выбор палитры <<selectPalette>> | [[Настройка палитры|ColorPalette]] |
[[Импортировать тиддлеры из другой wiki|ImportTiddlers]]
[[Опции upload'а|UploadOptions]]

showBackstage = false;
config.messages.externalLinkTooltip="Внешняя ссылка %0";
См. [[Макросы]]
Произошло из фотокомикса о жизни зелёного земноводного.
>''атаке'' 2010-12-21 19:07:55
<<slider chkTextExp 'А впрочем пофиг##textexplain' 'Текстовая версия' 'Текстовое описание на случай, если картинка недоступна'>>
На первой фотографии лягушка как бы привстаёт на одной лапе и говорит:"а знаете ли вы?"
На второй  - та же лягушка лежит на спине с безучастным видом сложив передние лапки на животе - "''а впрочем пофиг.''"
Данный экземпляр как нельзя лучше выражает одну из отличительных особенностей [[Свалки|Свалка]] - неограниченно [[пофигистичное|А впрочем пофиг]] отношение населяющей её [[публики|Свалкер]] абсолютно ко всему. Своего рода свалкодзен.
Несколько наблюдений:
*Здесь бесполезно пытаться хамить, оскорблять и наезжать на кого бы то ни было - всё это будет тщательнейшим образом проигнорировано. В особо запущенных случаях грубияна могут пожалеть.
*Троллям здесь ловить вообще нечего - на них самих здесь смотрят как на еду.
*Тут не ждут какой-либо реакции на сообщения или иной креатив. По крайне мере адекватной. В 98,738% случаев комментарий на [[Свалке|Свалка]] - это "глас вопиющего в пустыне". В оставшихся процентах может завязаться свалконаучная дискуссия. Иногда весьма занятная. Если вы получили хоть какую-то реакцию на ваше сообщение на [[Свалке|Свалка]] - это уже повод для гордости - значит вы чего-то добились в этой жизни.
*Любые вопросы и просьбы на Свалке игнорируются массово и с использованием новейших отечественных и зарубежных айнанэ-технологий. Даже если кто-то из затаившихся удосужится написать ответ, проверить его правильность всё равно не получится. Если же кто-то окажется настолько упо--рот--ным и сумеет его опровергнуть, [[его такого|И очень жалко их таких]] ждёт всё тот же [[итог|А впрочем пофиг]]. Здесь не бывает срачей.
*Даже на содержимое самого поста часто никто не обращает внимания. Первым же комментом к посту может быть совершенно никак не связанная с ним реплика и именно она задаст тему дальнейшего обсуждения.
*Не один форсер был доведён до слёз, пытаясь добиться хоть какого-то результата на Свалке. В особо упоротых случаях их жалели так же как грубиянов.
Однако всё вышенаписанное не касается администрации ресурса. Практически любое их действие встречает недовольство обывателей. Вот лишь несколько причин, вызывающих волны говнометания:
*[[отсутствие опрувов|Где апрувы?]];
*мало опрувов;
*много опрувов;
*[[качество опрувов|Хуйни наопрувили]];
*[[былотуты|Было тут]];
Следует особо подчеркнуть, что получение негатива от [[Свалкеров|Свалкер]] - исключительная привилегия администрации. Особой чести удостоился увгн [[Fojjer]] - в его честь даже запилена специальная кнопочка на глагне. Обычные [[смертные|Свалкер]] могут невозбранно творить на [[Свалке|Свалка]] всё, что им заблагорассудится.
Полный вариант: //Застрелиться? Ну а может лучше Настя?//
Фраза со знаменитой фотографии классичесткой ТП с пистолетом у виска и розовыми надписями.
>Семаргл 2010-04-03 11:54:07
//англ. ''approve'' - одобрять, утверждать; [[дезорф.|Дезорфографирование]] - аппрув, опрув, опрувэ и т. д.//

Деятельность [[апрувера|Апрувер]] по извлечению [[хуеты|Опять хуеты наопрувили]] из [[премода|Премод]]. Конечным продуктом этой деятельности является [[пост|Пост]].
Иногда [[апрув|Апрув]] употребляется как синоним [[поста|Пост]], но это не совсем корректно.

При длительном отсутствии [[апрувов|Апрув]] у [[свалкеров|Свалкер]] начинается ломка и включается режим "[[Гджэ опрувэ?|Где апрувы?]]"
//[[дезорф.|Дезорфографирование]]// - опрувер, аппрувер и т. д.

1. Генератор [[апрувов|Апрув]].
2. Человек, cпециально надрессированный на поиск [[хуеты|Опять хуеты наопрувили]] в [[премоде|Премод]] с перерабатывании её в [[пост|Пост]].
3. Человек, имеющий доступ в [[апруверную|Апруверная]] и умеет пользоваться [[Апрувалкой|Апрувалка]].

В настоящее время на [[cвалке|Свалка]] насчитывается X [[апруверов|Апрувер]]. Или даже Y. Однако активными являются лишь 2...3. Остальные законсервированы в специальных криоконтейнерах и приводятся в действие только для проведения [[профилактических мероприятий|Баня]].

Список наиболее отличившихся [[апруверов|Апрувер]] можно найти здесь: <<tag апрувер>>.

[[Знаете ли вы|А впрочем пофиг]]:
''approver'' - лицо, признающееся в совершении преступления и оговаривающее другого с целью смягчения своей участи. [[пруф1|http://www.lingvo-online.ru/ru/Translate/en-ru/approver]] [[пруф2|https://slovari.yandex.ru/approver/%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B4/]]
Полный вариант:
>БЛЯДЬ! БЛЯДЬ! БЛЯДЬ! Как это всё заебало!
Фраза с четырёхпанельного недокомикса о жизни чаек. Возможно, это была попытка кратко пересказать рассказ «Чайка Джонатан Ливингстон».
>''свободный радикал'' 2010-02-22 00:52:09
<<slider chkTextExp 'БББКЭВЗ##textexplain' 'Текстовая версия' 'Текстовое описание на случай, если картинка недоступна'>>
Содержимое комикса по панелям:
>1 - чайка летит
>2 - чайка летит
>3 - чайка корчится и делает вид, что её тошнит. При этом она орёт:"БЛЯДЬ! БЛЯДЬ! БЛЯДЬ! Как это всё заебало!"
>4 - чайка летит
Полная версия: //Бесплатно онлайн без регистрации и СМС//
Сокращённо: //БОБРИС//

Пародия на зазывные слоганы сайтов, предлагающих скачать песню/киношку/игрушку/прожку/нужноеподчеркнутьненужноезачеркнуть.
В подавляющем большинстве случаев либо следует требование установить --специальную программу для скачивания-- компьютерный вирус самостоятельно, либо скачиваемое установит его не менее самостоятельно. Перед началом скачивания несчастному --халявщику-- --хацкеру-- пользователю придётся просмотреть пару десятков выскакивающих реклам порносайтов, аккуратно закрыть их, следя за тем, чтобы случайно не закрыть окно с вожделенной ссылкой, подождать 30-секундный таймер, ввести капчу и, если повезёт, получить-таки ссылку на что-то, что, если повезёт, окажется тем, что хотелось. Если не повезёт, сервис выдаст "File not found" и покажет ещё пяток реклам на бис.

На [[Свалко|Свалка]] обычно употребляется когда приводится ссылка на нечто подобное обсуждаемому. Бесплатность, необходимость регистрации или СМС роли не играет.

Достоверно первое использование установить --невозможно-- сложно.
Претендент на первенство:
>''Ляпкин-Тяпкин'' 2010-02-15 14:16:05
>хотелось бы предложить вот что.
>создать очередную гребанную автозамену.
>Суть такова: ко всяким словам типа посмотреть бесплатно онлайн, скачать бесплатно онлайн, загрузить бесплатно онлайн, увидеть бесплатно онлайн и тд добавлять "бесплатно онлайн"
>''Негодуэ'' 2010-07-16 13:41:29
<<slider chkTextExp 'Богородица вернись##textexplain' 'Текстовая версия' 'Текстовое описание на случай, если картинка недоступна'>>
С фотографии бетонный забор, на котором синими кривыми буквами кто-то написал:
За забором видно недостроенное кирпичное здание с белыми колоннами. Возможно какой-то храм.
[[Старый|https://d3.ru/20385/#297136]] [[интернет-мем|http://lurkmore.to/Что_будет,_если_в_унитаз_поезда_на_полном_ходу_бросить_лом?]], нашедший живой отклик на [[Свалке|Свалка]].
Здесь лом бросают в унитазы [[самолётов|http://svalko.org/104656.html]], маточных и имперских корабей, велосипедов, пароходов, подводных лодок, поездов, рейсовых автобусов и прочих средств передвижения. Брошенный лом бережно извлекают и сушат до следующего использования.
Чаще всего используются [[урановые ломы|http://lurkmore.to/Урановые_ломы]]. Говорят, что несмотря на всю опасность данного процесса, урановый лом придаёт приятный, можно сказать интимный, зеленовато-синий оттенок объекту, в который он был брошен.
''петя'' 2008-09-22 19:49:49
Вот я интересуюсь, а что будет если лом бросить на полном ходу в унитаз самолёта? 
ya_frosia: Связка ломов, как правило, тонет.
alexei: ya_frosia: Но в ртути прекрасно плавает.
zoogenic: alexei: Но если ломы урановые, то и во ртути тонут.
alexei: zoogenic: сам топи урановые ломы в ртути.
[[дезорф.|Дезорфографирование]] - ''Былотуд''

Аналог "баяна" на [[Свалке|Свалка]].
В случае обнаружения повторного [[апрува|Апрув]] какого-либо креатива, принято вежливо намекнуть об этом автору [[поста|Пост]] и всем окружающим, снабдив свой намёк ссылкой на пруф.
Крики "Былотуд!!!" без пруфа считаются признаком плохого воспитания, не понимания сути [[Свалки|Свалка]] и [[не одобряются|Не благословляется]].
([[дезорф.|Дезорфографирование]] В [[дж]]рова)
См. [[Завтра воскресенье]]
Произошло из попытки квазидеанонимизации увгна [[храча|храч]] увгном ''ебатьколотить''.
>''ебатьколотить'' 2013-04-06 04:39:11
>слыш, храчь, ''ужы фсе джва года знают'' чшто ты [[бипокот|Бип O`Koт]]
Квазидеанонимизации не вышло, но с тех пор когда очередному йузеру хотят показать, что его свалколичность раскрыта, употребляют эту фразу. При этом указывать что именно все уже два года знают, совершенно не обязательно. Все же и так знают. [[Джва года]].
Свалко поддерживает [[Аштара Шерана|http://lurkmore.to/Аштар_Шеран]], [[Птаага|http://lurkmore.to/Птааг]], [[Ящериков|http://lurkmore.to/Ящерики]], ''Овладёванных'' и другую нечисть, пропагандируемую сайтом [[Вселенных Людей|http://www.angely-sveta.ru/russian/default_ru.htm]], — весьма забавная бредятина о материнских кораблях, чипах и еще много какой ерунде с корявым русским языком и картинками, которые рисовали дети 3-4х лет.

Начало инфицирования (овладёвывания) [[Свалки|Свалка]]:
''Tira'' 2007-05-31 20:24:15
Слегка изменённая фраза из тупого анекдота, неожиданно нашедшего очень живой отклик в душах [[свалконавтов|Свалкер]].

''Медведъ'' 2009-07-18 16:29:27

Накануне Нового Года возвращается бабушка с рынка с полными авоськами продуктов.
Проходя мимо елки на городской площади, остановилась и стала внимательно разглядывать водящих хоровод и поющих песенки детей в масках зайчиков, медвежат и лисичек. Смотрела-смотрела, покачала головой и сказала: "НЕ, ВСЕ РАВНО ЗАМЕТНО, ЧТО ЛЮДИ", и пошла домой. 
Поисходит из переделанного трёхпанельного [[комикса про всепожирающего отца|http://svalko.org/data/2010_09_28_10_29_rom_naurunappula_com_nn_1_325_003_s_otsikko_on_liian_pitka_kuvailtavaksi_eli_vitut_642897.jpg]] из серии Insane Comics.
>''атаке'' 2010-05-13 01:11:12
<<slider chkTextExp 'ГП##textexplain' 'Текстовая версия' 'Текстовое описание на случай, если картинка недоступна'>>
1-я панель - Сын говорит папе:"я прочитал на ГП что я инфекция".
2-я панель - Театральная пауза. Сын и отец смотрят друг на друга.
3-я панель - Отец заглатывает сына целиком.
Разумеется в [[комментариях|Комментарии]] несколько раз попытались пошутить на тему заглатывания, но основное внимание [[свалкеров|Свалкер]] привлекла загадочная аббревиатура "ГП". Было предложено несколько вариантов различной степени правдоподобности, кое-кто даже не поленился сходить на sokr.ru и перепостить результаты своих изысканий, однако загадка не разгадана до сих пор.
Задумка простая: сделать справочник мемов и идиом, регулярно встречающихся на Свалке. Некоторые из них имеют многолетнюю историю и непонятны новичкам. А старожилам трудно найти источники.
Стилистика статей - как на лурке. Факты > Лулзы. Лулзы по желанию. Каждое явление должно быть описано максимально конкретно:
*откуда взялось;
*что обозначает;
*примеры использования.
Остальное - по мере возникновения вдохновения.

Особенности движка:
Статья тут называется "тиддлер". Так что выражения "добавить статью" и "добавить тиддлер" обозначают одно и то же.
Картинки можно вставлять только хотлинками. Движок не умеет их заливать и хранить.
Поскольку этот движок не умеет прятать служебную информацию от зрителей, применён грязный хак: с главной убраны все списки, кроме тегов. Из этого следует, что если создать статью и не добавить на неё теги или ссылки из других статей, то её никто не найдёт. Так что хотя бы один тег у каждой статьи должен быть.
Служебным тиддлерам (как этот) нужно добавлять теги //excludeLists excludeSearch excludeMissing// чтобы они не светились в поиске и автосписках.
Движок вообще ничего не умеет прятать т. к. состоит из JavaScript чуть менее, чем полностью. И эту статью любой кулксакеп может найти в скачанном файле. Мораль: не пишите в вику ничего, чего не стали бы писать на глагне.
Пока пользуемся версией от TiddlySpot'а, сохранять можно только на их сервер. Другие сохранения не поддерживаются и могут похерить вику. Бекапы делаются на ваш локальный НЖМД. Для этого а админке есть специальная кнопачька. Использовать File -> Save As... нельзя т. к. что-то там рушится в движке.
Когда решим отвязаться от TiddlySpot'а - будем разбираться по месту что и как.
Системы контроля доступа у TiddlySpot'а нет. Так что при одновременном редактировании чьи-то правки обязательно пропадут. Мораль: делайте локальные бекапы и договаривайтесь кто когда правит.
Полная версия: //Знаете; очень глухое место. Меня здесь уже 27 раз насиловали...//
Фраза с психоделичной картинки:
>''Дебильный никогенератор'' 2010-10-21 09:45:16
<<slider chkTextExp 'Глухое место##textexplain' 'Текстовая версия' 'Текстовое описание на случай, если картинка недоступна'>>
Возле дерева в летнем парке стоит темноволосая женщина (девушка?) в красном платье. Рядом с ней нарисован маленький рыжий мальчик в жёлтой майке и красных шортах с белыми полосками. Вся картина слегка размыта и затемнена по периметру (боке), что, в комплексе, напоминает эффект "сфумато". Из-за размытия и тени, выражение лица женщины не разобрать. Лицо мальчика обращено к женщине снизу вверх и выражает его недовольство. Руками мальчик тянется к женщине.
Фигура мальчика выделяется своей резкостью на фоне размытого остального изображения.
Белым текстом набраны реплики (орфоргафия и пунктауция сохранены).
//Женщина (набрано капителью):// Знаете; очень глухое место. Меня здесь уже 27 раз насиловали...
//Мальчик:// Добрый вечер...//
Не смотря на обилие [[жыра|Жыр]], начиная с грамотного [[блюра|Ебануть блюра]] и использования [[капителя|https://ru.wikipedia.org/wiki/Капитель_(шрифт)]] с нетривиальной пунктуацией и заканчивая общей упоротостью, произведение пользуется довольно скромной популярностью. Вероятно градус диссонанса сильно превышает разумные пределы.
Универсальное угощение, отлично подходящее для любого застолья по любому поводу.
Голубцы на [[Свалке|Свалка]] бывают только с [[говном|Иван Семеныч]].
В правом верхнем углу на [[глагне|Глагна]] [[Свалки|Свалка]] присутствуют никому непонятные графики ГОДУЭ, ЕБАНЭ и СРАЧЭ. Клик по ним приводит на [[страницу|http://svalko.org/trends.html]] с зашкаливающим уровнем [[шизофазии|https://ru.wikipedia.org/wiki/Шизофазия]] и не менее непонятными графиками в дополнение к уже упомянутым: БОРОДЭ и ГОВНЭ.
Однако здесь всё же приведены краткие описания:
*ЕБАНЭ - Индекс ебанения;
*ГОДУЭ - Доброиндекс;
*СРАЧЭ - Индекс срачеобразования;
*БОРОДЭ - Индекс боянной активности;
*ГОВНЭ - Качественная оценка контента.
!!!Официальная версия:
За нищенскую зарплату позитронными пряниками, выплачиваемую магнатами [[Свалки|Свалка]], [[Свинодемон]] обязался вести еженедельную свалкоаналитическую сводку. Сводка ведется по индексам Единого Базового Аналитического Национального Экскремента (ЕБАНЭ), Годового ОдноДецимального индекса Уверенной Экспансии ящериков (ГОДУЭ), Среднего Российского Атомного Человеческого Эрзац-пайка (СРАЧЭ), Байконурского Отцовского Родительского Особого Детского Ээээ бабла (БОРОДЭ), а также Газпром-Овулятивного Внешнего Народного Экспорта (ГОВНЭ). Завершая этот раздел стоит отметить, что хозяева Свинодемона, видимо, его недокармливают, поскольку выдаваемые им графики и цифры до сих по непонятны никому из плебеев Свалки.
<<slider chkTextExp 'Графики##textexplain' 'На самом деле' 'Скандалы, интриги, расследования'>>
''[[Рвун Чехлов]]'' 2014-01-05 21:00:37
Решив поддержать научную деательность увгна sk я провёл небольшое исследование на тему того, откуда берутся эти картинки. И выяснил, что на сайте зачем-то лежит их архив за целых полгода, аж с 16.06.2013.
В связи с чем было произведено немедленное их скачивание и онемирование. Результат прилагается:
См. [[Сокал]]
>''Ятасука Накомоде'' 2010-07-27 14:35:33
<<slider chkTextExp 'Гудок жать##textexplain' 'Текстовая версия' 'Текстовое описание на случай, если картинка недоступна'>>
На фотографии изображена приборная панель и руль автомобиля. Причём руль имеет довольно необычный способ установки - всего на одном Г-образном держателе.
Уже во втором [[камете|Комментарии]] был задан закономерный вопрос:
>''Летающий Китаец'' 2010-07-27 14:46:13
>А куда в неё гудок жать?
Вопрос сразу же был активно поддержан большинством [[свалкеров|Свалкер]] и с тех пор изображение любого механизма тщательно рассматривается на предмет куда там жать в гудок.
См. [[Сокал]]
Результат народной [[хуй-редупликации|Дезорфографирование]].
''Даниил Хармс'' 2011-03-16 21:57:23
<<slider chkTextExp 'Гуси-хуюси##textexplain' 'Текстовая версия' 'Текстовое описание на случай, если картинка недоступна'>>
На фото изображена плохо окрашенная, выцветшая стена, по всей видимости, металлических гаражей. На стене кто-то написал "ГУСИ-ХУЮСИ".
На траве перед стеной слева направо проходят, собственно, обозначенные пернатые.
@@ Джве симпы каждому, кто найдёт в 5 ГБ говна сцылы на события, описанные в данной статье! @@

В девичестве - ''Devoor''
Канонiчный свалковский нуб, зо[[бан|Баня]]еный за "случайный [[первонах|Баня]]", на что не преминул разразиться словесным поносом, но уже в [[премодии|Премод]].
''Devoor'' 2011-06-25 21:35:00

Блять, у вас в каментах полный пиздец, люди страдают любой хернёй, какая даже не всякому в голову придёт, и при этом вы сходу баните айпи за один случайный первонах??? Совсем больные что ли? Тут, блять, боянист на боянисте сидит и боянистом погоняет и ничего, всё в ажуре. Первонах — такой же очередной боян!
Мне-то на вас плевать (как и вам на меня), одним сайтом со всякой развлекательной копипастой больше, одним меньше. Но нахрена страдать такой хернёй, где логика блять? 
Словоизвержение попало на глагну, и, после небольшого форсинга, [[не ник, а хуй знает что|Не ники, а хуй знает что]] автора стал мемом. Не меньше [[джвух лет|Джва года]] редкий пост на [[Свалке|Свалка]] обходился без первого комментария с размышлениями о необходимости зо[[бан|Баня]]ивания Девура. Постепенно данное явление приобрело название "''задевуривание''" и заменило собой первонахи.
Некоторые [[свалкеры|Свалкер]], по всей видимости позавидовав такой популярности, пытались переделать --[[про гусей|Переделать про гусей]]-- этот мем под свой [[не ник, а хуй знает что|Не ники, а хуй знает что]]. Так появились: //[[заебуривание|http://svalko.org/312445.html#c312454]]//, //[[затабакеривание|http://svalko.org/354468.html#c354469]]//, //[[зажомопопынивание|http://svalko.org/419493.html#c419499]]//, //[[запётрисаевичкоржикование|http://svalko.org/312534.html#c312537]]// и несколько других.

Впоследствии виновник торжества всё-таки вернулся на [[Свалку|Свалка]], подивился своей славе, попытался [[доказать всем|А впрочем пофиг]], что это он, а не [[хуй с горы|Хуй с горы]] и растворился где-то на просторах [[Турции|http://svalko.org/304228.html#c304372]].

На данный момент актуальность мема практически исчерпана.
//науч. - [[эрратив, какография|https://ru.wikipedia.org/wiki/%D0%AD%D1%80%D1%80%D0%B0%D1%82%D0%B8%D0%B2]]//

Весьма популярное на [[Свалке|Свалка]] намеренное (не путать с неграмотностью) отступление от норм языка c целью потешить.
Корни этого явления, вероятно, следует искать в [[кащенитском|https://lurkmore.co/%D0%9A%D0%B0%D1%89%D0%B5%D0%BD%D0%B8%D0%B7%D0%BC#.D0.9F.D0.BE.D1.81.D1.82.D1.80.D0.BE.D0.B5.D0.BD.D0.B8.D0.B5]] и [[падонкаффскам|http://lurkmore.to/%D0%AF%D0%B7%D1%8B%D0%BA_%D0%BF%D0%B0%D0%B4%D0%BE%D0%BD%D0%BA%D0%BE%D0%B2]] сленге, однако за время использования на [[свалке|Свалка]] он претерпел значительные мутации.

Некоторые характерные приёмы, используемые для [[дезорфографирования|Дезорфографирование]]:
*Произвольная расстановка пробелов и знаков пре пинания в предложении так, чтобы при этом образовывались новые слова и новый смысл на писанного. Хаотичное бес с мысленное раз, биение с лов вы даёт нубов и тех, кто-та кине поня л в чём [[сцоль|Соль]].
*Слияние некоторых предлогов со словами с образованием новых устойчивых конструкций: //вжыгули//, //пованглийски//, //непанда//...
*Замена окончаний слов с "...с" или "...з" на "...э": //[[арбуэ|Арбуэ]]//, //афтобуэ//, //прогноэ//, //вопроэ//...
*Каг слышыцца таг и пишыцца.
*Озвончивание согласных: //[[нед|Ну или нет]]//, //пиго//, //гогно//, //каг//, //голога//...
*Хуй-редупликация: //[[оранж|Оранж]]-хуеранж//, //йогурт-хуёгурт//...
Так же [[свалкеры|Свалкер]] не чураются использовать словечки с [[Упячки|http://upyachka.ru]] и пдражть [[Вонни|http://lurkmore.to/%D0%92%D0%BE%D0%BD%D0%BD%D0%B8]], однако особого распространения на [[Свалке|Свалка]] такие эрративы не получили.

Происхождение самого термина "дезорфографирование":
''храч'' 2014-09-25 03:13:05
&gt; ни чего сверхъестественного
&gt; После двадцатой партии, он
&gt; Красота то какая
&gt; Я почему то решил
&gt; или что то в этом роде
&gt; а там ни чего
&gt; по ближе к окошку


я тут, понимаешь, трачу драгоценные минуты своей жизни, пытаясь понатуральнее ''дезорфографировать'' каждый камент, а у людей прирождённый талант. ЗАВИСТЬ!11адин
Первого сентября все [[свалкоюзеры|Свалкер]] принудительно празднуют [[День Школоты]]. В этот день [[Свинодемон]] кастует особо извращенную автозамену, превращающую и без того [[не шибко грамотные|Дезорфографирование]] [[посты|Пост]] и [[комменты|Комментарии]] [[свалкоюзеров|Свалкер]] в абсолютно нечитаемый школояз:
*«''-тся''» заменяются на «''-ться''»
*«''-ешь''» — на «''-иш''»
и т. д.
Рандомно включается лИрУ-сПиК и высираются тонны смайликов. Выглядит всё это так, что [[больно глазам|Возможно анонимные наркоманы смогут вам помочь]]. 
Приплыло на [[Свалку|Свалка]] из этих ваших энторнетов.
По[[дж]]робное описание соуса имеется на [[Лурке|http://lurkmore.to/%D0%9A%D0%BE%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D1%8B]].

Письмо в компанию по разработке компьютерных игр «[[Мистленд|http://web.archive.org/web/20010531011312/www.mistgames.ru/team/any.shtml]]»:
Здраствуйте. Я, Кирилл. Хотел бы чтобы вы сделали игру, 3Д-экшон суть такова... Пользователь может играть лесными эльфами, охраной дворца и злодеем. И если пользователь играет эльфами то эльфы в лесу, домики деревяные набигают солдаты дворца и злодеи. Можно грабить корованы... И эльфу раз лесные то сделать так что там густой лес... А движок можно поставить так что вдали деревья картинкой, когда подходиш они преобразовываются в 3-хмерные деревья[1]. Можно покупать и т.п. возможности как в Daggerfall. И враги 3-хмерные тоже, и труп тоже 3д. Можно прыгать и т.п. Если играть за охрану дворца то надо слушаться командира, и защищать дворец от злого (имя я не придумал) и шпионов, партизанов эльфов, и ходит на набеги на когото из этих (эльфов, злого...). Ну а если за злого... то значит шпионы или партизаны эльфов иногда нападают, пользователь сам себе командир может делать что сам захочет прикажет своим войскам с ним самим напасть на дворец и пойдет в атаку. Всего в игре 4 зоны. Т.е. карта и на ней есть 4 зоны, 1 - зона людей (нейтрал), 2- зона императора (где дворец), 3-зона эльфов, 4 - зона злого... (в горах, там есть старый форт...)

Так же чтобы в игре могли не только убить но и отрубить руку и если пользователя не вылечат то он умрет, так же выколоть глаз но пользователь может не умереть а просто пол экрана не видеть, или достать или купить протез, если ногу тоже либо умреш либо будеш ползать либо на коляске котаться, или самое хорошее... поставить протез. Сохранятся можно...

P.S. Я ''джва года'' хочу такую игру.

Вобще, сей [[потрясающий|Трясущееся зрелище]] своей [[безграмотностью|Дезорфографирование]] перл породил множество словечек, охотно используемых не только на [[Свалке|Свалка]], но и вообще во всём русскоязычном интернете. Тут и //корованы//, и //набигающие//, и //3Д-экшон//, и //суть такова//...
Фраза с китайского плаката, по традиции, переведённого на русский самими китайцами:
>''Мцырь'' 2009-12-10 10:27:06
<<slider chkTextExp 'Для горла хорошо. Кровь пойдет.##textexplain' 'Текстовая версия' 'Текстовое описание на случай, если картинка недоступна'>>
[[Орфография|Дезорфографирование]] сохранена.

''Чай из траво''
Сырой материал : траво из китае
Назначение: ''Для горла хорошо. Кровь пойдет''.
''Предупреждение гриппу.''
Праздник любви, добра и розового скина.
Отмечатся на [[Свалке|Свалка]] первый понедельник каждого месяца. В этот день интер-фэйс [[уютненькой|Свалка]] окрашивается в гламурный розовый цвет с сердечками, а также пропадает кнопка КГ/АМ, лишая [[злодеев|Вячеслав Долбоносов]] возможности поставить плохую оценку посту. В хх[[комментах|комментарии]] все поз[[дж]]равляют друг друга и лезут целоваться. [[Ну или не лезут|Ну или нет]]. 
См. [[В дрова]]
''Дура''. Он же ''Дуро''. Он же ''megath''. Он же ''Мегас''.
Основатель [[Свалки|Свалка]].
Вопреки расхожим мнениям — это мужик (какой-никакой, но мужик). За всю [[хуйню|Хуйни наопрувили]], что [[затаившиеся|Затаившийся]] читают каждый день, нужно благодарить именно этого человека.
Кстати, именно ему постоянно нужно [[5 рублей на хостенх|Накати пятачину]].

''Дуро'', сцуко, скромный, поэтому писал статью не он, а один из [[комментных|Комментарии]] [[наркоманов|Возможно анонимные наркоманы смогут вам помочь]].
Просьба к [[затаившимся|Свалкер]] сделать какую-либо часть [[картинки|Пикча]] или всю её размытой.
С большинстве графических редакторов инструмент, делающий такую операцию называется, ЧСХ - ''Blur''.

В чём интерес или PROFIT этой операции - неизвестно.
Существуют приёмы, которые, при правильном применении, создают имитацию "игрушечности" объектов на фотографии. Важной частью процесса при этом является размытие переднего и заднего планов имитирующее малую глубину резкости, как при макрофотографии или съёмке на малых дистанциях. Однако на [[Свалке|Свалка]] блюр ебашат кто как может.
В качестве одобрения результата используется, например, фраза:
>Ебанули наотличненько!

Одно время просьбы ебануть блюра были довольно популярны, но позже уступили пальму своим поcледовательницам [[сделайте тудасюдаку|Сделать тудасюдаку]] и [[переделайте про гусей|Переделать про гусей]].

Предположительно, явление берёт начало с [[поста|Пост]]
>''Ятасука Накомоде'' 2009-05-27 14:36:50
<<slider chkTextExp 'Ебануть блюра##textexplain' 'Текстовая версия' 'Текстовое описание на случай, если картинка недоступна'>>
На фотографии большой настоящий грузовик вёз на себе маленький, игрушечный.
Одним из первых [[камментов|Комментарии]] был:
>''клюкед'' 2009-05-27 18:15:32
>Мне лень. Пизданите, кто-нибудь блюра сверху и снизу.
Что было незамедлительно удовлетворено [[увнгом|увгн]] ''птицеёб''ом.

Опытные [[затаившиеся|Свалкер]] подсказывают, что
>//Нет, там несколько раньше был [[пост|Пост]] с фоточками машин, людишек и прочего говна. На всех был блюр сверху и снизу.//
Однако розыскать сей [[пост|Пост]] в [[5 ГБ говна]] до сих пор не удалось.
Заключительная фраза для любого [[камента|Комментарии]]. [[Если вы понимаете о чём я]].

>''Нижеследущий'' 2010-12-03 14:24:49
>Если в конце любого предложения добавлять ", если вы понимаете о чём я", то все сразу же начнут понимать о чём ты. 

Сокращённо - //ЕВПОЧЯ//.
См. [[Жыр]]
Полный вариант:
>Это же такой жыр, если попытаться понять!
Комментарий [[клюкеда|клюкед]] к [[зааппрувленному|Апрув]] им унылому скриншоту, на котором многие даже не нашли в чём прикол.
>''Д-р. зульт'' 2010-11-20 01:18:54
>Але почему на картне нет электронов и трамваев????
>//клюкед: хотел было выпилить, но ''это же такой жыр, если попытаться понять''//

Полный вариант:
>Вот уже последний лист осенний
>Держится за сук едва-едва
>Хорошо, что завтра воскресенье
>можно наебениться в дрова!
Слова из песни "[[Дрова|http://www.landyshi.ru/pub/05-Drova.mp3]]" [[группы|https://ru.wikipedia.org/wiki/Ландыши_(группа)]] "[[Ландыши|http://www.landyshi.ru/]]".
Успешно легли на четырёхпанельный комикс, сделанный из знаменитого в узких кругах [[Staredad|http://lurkmore.to/Staredad]]
>''ЫНГЭ'' 2010-02-16 09:44:54
<<slider chkTextExp 'Завтра воскресенье##textexplain' 'Текстовая версия' 'Текстовое описание на случай, если картинка недоступна'>>
На первых трёх панелях отец сидел отвернувшись, читая газету и рассуждая о сложившихся обстоятельствах (первые три строчки куплета), а на последней [[картинке|Пикча]] как бы внезапно оборачивался с предложением, собственно, наебениться.
[[Свалкерам|Свалкер]] понравилось и уже стало традицией примеривать данное четверостишие к любым комиксам, независимо от их содержания и количества панелей.
Так же, среди [[свалкосотруднеков|Свалкосотрудник]] стало традицией по пятницам и субботам напоминать [[дж]]руг [[дж]]ругу в [[каментах|Комментарии]], [[чш|Дезорфографирование]]то уже завтравоскресенье и пора бы принять --меры-- [[дж]]ля скорейшего достижения [[соответствующего состояния|В дрова]]. Таким образом "завтравоскресенье" стало обозначать [[дж]]ва дня недели.
Посетитель [[Свалки|Свалка]].
На [[главной странице|http://svalko.org]] над [[постами|Пост]] выводится надпись //"Сейчас на cвалко ''затаилось'' 53 человека".//
Разница между [[затаившимися|Затаившийся]] и [[свалкерами|Свалкер]] в том, что [[первые|Затаившийся]] - это вообще любые посетители [[Свалки|Свалка]], а [[вторые|Свалкер]] - это те, кто принимает непосредственное участие в жизни [[ресурса|Свалка]].
Не всякий [[затаившийся|Затаившийся]] - [[свалкер|Свалкер]], но каждый [[свалкер|Свалкер]] - [[затаившийся|Затаившийся]].
''Жомопопын'' 2012-11-08 20:30:43
<<slider chkTextExp 'Здесь запрещено блять##textexplain' 'Текстовая версия' 'Текстовое описание на случай, если картинка недоступна'>>
На фото изображен [[штендер|https://ru.wikipedia.org/wiki/Штендер]] в сугробе. Часть текста внизу штендера закрыта снегом сугроба.
Используется для выражения неудовольствия и как просьба прекратить совершаемое.
>''Booooo'' 2010-06-09 13:48:26
На фотографии с изображением двух Y-образных труб, извращённый ум увидел половой акт. Однако [[свалкеров|Свалкер]] заинтересовали не скабрезные ассоциации, а содержимое указанных труб. В [[каментах|Комментарии]] было высказанно множество предположений. В том числе про [[голубцы|Голубцы]] и неонку. Однако победила всё же пара зерно-цемент.
Фраза с плаката:
>''~RiF'' 2009-07-16 13:40:37
<<slider chkTextExp 'И очень жалко их таких##textexplain' 'Текстовая версия' 'Текстовое описание на случай, если картинка недоступна'>>
Плакат изображает человека, сидящего перед компьютером. Внутри контура головы человека нарисован чёрт, а на экране, по всей видимости, написаны основные моменты паранойи автора. Сам плакат черно-белый, размещён на чём-то вроде доски объявлений на деревянном заборе.
Текст на плакате:
>У молодёжи происходит разрушение целостной картины мира, разорванность восприятия окружающей действительности, ощущение жизни как компьютерной игры, в которой всё можно многократно начать заново. И молодые люди постепенно становятся биороботами, ''и очень жалко их таких''.
>Имя Ибрагим вам о чём-нибудь говорит?
См. [[Кандибобер]]
Гений народной целительной диетологии, угощающий всех желающих голубцами с говном. На Свалке является частым гостем, появляясь неожиданно, но всегда в нужный час. Приход Ивана Семёныча в комменты считается добрым знаком и знаменует собой истинный пир духа для настоящих гурманов и ценителей жанра «дегенеративный диалог».
''Дохтур'' 2008-01-18 17:06:28
Бойтесь Иван Семёныча! 
Универсальный ответ на любую загадку, шараду, ребус, кроссворд.
''grasskiler'' 2008-12-08 08:06:01
<<slider chkTextExp 'Камень##textexplain' 'Текстовая версия' 'Текстовое описание на случай, если картинка недоступна'>>
Скан заметки в газете.
В "Телесемь" ''№46'' мы разыгра-
ли набор для игры в пинг-понг,
предложив нашим юным читате-
лям "Телевичка" найти ответ на
головоломку "Грызуны полетели!
Неужели на юг?". Правильный
ответ - ''КАМЕНЬ.'' Наш приз
- набор для пинг-понга
- достается Тарасу
Из видеоролика, в котором берут интервью на улице у странной тётки, отвечающеий какой-то бред на простой вопрос.
>''машанигилист'' 2010-03-20 20:12:59
- Людей с какими редкими именами вы встречали в жизни, и кто были эти люди?
- Как вам сказать… я прожила довольно долгую жизнь… ''Ибрагим'' вам что-нибудь говорит? Прекрасное имя. Аллах акбар. Я прошла афганскую войну. И я желаю всем мужчинам пройти ее. Мужчина определяется делом, а не словом. И если я ношу ''кандибобер'' на голове, это не значит, что я женщина или балерина. 
Видео из [[поста|Пост]] уже выпилили с Youtube, но оно легко ищется по слову "[[кандибобер|http://www.youtube.com/results?search_query=%D0%BA%D0%B0%D0%BD%D0%B4%D0%B8%D0%B1%D0%BE%D0%B1%D0%B5%D1%80]]".
Подробности имеются на [[Лурке|http://lurkmore.to/%D0%9A%D0%B0%D0%BD%D0%B4%D0%B8%D0%B1%D0%BE%D0%B1%D0%B5%D1%80]].
[[Дезорф.|Дезорфографирование]] - карлег

Персонаж, регулярно появляющийся в [[каментах|Комментарии]], несмотря на свой почтенный возраст.
''holsten'' 2005-10-03 12:10:22

Началось по обыкновению все ОЧЕНЬ плохо. Итак, Эмоция присылает мне сообщение по ICQ:

20.05.2005 15:43:28, Emotion
от бородатых анекдотов таких людей на anekdot.ru хочется биться в истерике: "Пришел в общест. баню карлик
- О! Привет, привет! Ой извените сдрасти, сдрасти!
(кто не понял он хуй пожимал)"

И, чтобы все стало ЕЩЕ хуже, я ему ответил:

20.05.2005 15:44:12, jager
Надо было лучше стиль выдержать: "Пришел в общест. баню карлик
- О! Привет, привет! Ой извените сдрасти, сдрасти!
(он хуй пожимал!)"

20.05.2005 15:45:36, Emotion
Пришел в общест. баню карлик. Хуй всем пожал.
(кто не понял о! привет, привет! ой извените сдрасти, сдрасти!)

Я, разумеется, умер от смеха, и разослал кругу подписчиков ОЧЕНЬ плохо, после чего стало ВООБЩЕ жутко.

20.05.2005 15:54:12, Shere Khan
пришел в общественную баню, хуй всем пожал!
(кто не понел карлик)

20.05.2005 15:57:12, Emotion
в бане карлика хуем пожал.
(кто не понял, здрасти, здрасти)

20.05.2005 15:58:03, Shere Khan
карлик всем хуй пожал (кто не понял, он в баню пришел)

20.05.2005 16:01:04, ~MaJIeHbKa9I™©
карлик пришел в баню, а поздороваться не с кем!
(кто не понял, баня женской оказалась)

20.05.2005 16:03:47, _~DiamonD_
пришел карлик в баню
и всем подрочил
(кто не понял - у него синдром паркинсона)

20.05.2005 16:03:37, jager
- Извените, могу я с вами поздороваться?

20.05.2005 16:03:34, ~MaJIeHbKa9I™©
Пришел, увидел, пожал! (С) карлик, кто не понел

20.05.2005 16:09:15, Shere Khan
пришел карлик в женскую баню, пожал всем сикель (никто не понял)

20.05.2005 16:12:25, _~DiamonD_
- просто у нас такая традиция.. мы каждый раз под новый год с моим другом-карликом ходим в баню....
(кто не понел - это фильм такой был!!)

20.05.2005 16:14:18, Emotion
мы каждый год с другом играем в карликов.
(кто не понял - мы в бане друг другу хуй жмём)

20.05.2005 16:11:47, jager
Приходит карлик в баню с баяном...

20.05.2005 16:17:02, Emotion
мы с другом карлики.
в бане нас никто не понял. 
Чуть позже карлик [[обзавёлся тапками|http://svalko.org/36056.html?page=0#c]] и с тех пор с ними не расстаётся.
''Карлик'' 2005-10-12 14:36:19
2[[Unwaiter]] - это ты чейта маими тапками раскамандывался?
Постепенно за карликов начали принимать любого человека, который ниже чего-то/кого-то другого: азиатов, детей, просто человка рядом с чем-то большим.
Из [[комментария|Комментарии]]
>''Порудчик Рижский'' 2009-10-29 05:02:21
>извините нет возможности качественно отрисовать хуй
Автор извинялся за результат своего творчества из предыдущего [[камента|Комментарии]].
>''Порудчик Рижский'' 2009-10-29 05:02:21
Не смотря на то, что всем, в общем-то, [[положить|А впрочем пофиг]] этот самый некачественно отрисованный на качество его отрисовки, сама фраза, что называется пошла в народ.
С тех пор любой отрисованый хуй придирчиво оценивается по критерию качества отрисовки, да и другим рисункам достаётся иногда. А приписка к своему творчеству «//извините, не было возможности качественно отрисовать...//» служит легитимным объяснением своего рукожопства.
Приписка к засылаемой [[хуете|Опять хуеты наопрувили]] надежде, что она сподвигнет [[апрувера|Апрувер]] к [[апруву|Апрув]]. Иногда срабатывает.
''N-chan'' 2010-06-07 11:37:40
Аппрувь, [[Клюкед|клюкед]] :3 
В период становления Свалки модераторы, щедро используя [[бан|Баня]] и [[автозамену|Ёбаная автозамена]], люто расправлялись с первонахами и прочим тяжелым наследием эпохи [[падонков|https://lurkmore.to/падонки]]. Cо временем в комментах сложилась особая тусовка, чуть более, чем наполовину состоящая из [[алкашей и наркоманов|Возможно анонимные наркоманы смогут вам помочь]]. Также сложился определенный формат общения, подразумевающий предельную тупость и идиотизм высказываний, цель которого — вечный лулз. Все вышеназванное, а таже возможность менять ники и писать от чужого имени, привело к тому, что комменты на [[Свалке|Свалка]] зачастую доставляют больше, чем сами [[посты|Пост]].

Основными развлечениями [[посетителей Свалки|Свалкер]] является сочинение комментов на тему поста с использованием максимального числа свалкомемов, чтение по ролям и поиск [[Невидимой тележки|Невидимая тележка]] на [[фотографиях|Пикча]]. С тех пор, как движок начал позволять [[простым смертным|Свалкер]] вставку [[картинок|Пикча]] в [[поцтинги|Пост]], логично появились комбо и фотожабы. Комментарии постоянно перетекают из поста в пост, обрастая новыми персонажами и непрерывно повышая градус идиотизма. Нередки, однако, случаи, когда обмен абсурдными комментариями перерастает в серьезную научную дискуссию. Старые посты не закрываются, поэтому можно откомментировать тему десятилетней давности, неуклонно распространяя градус идиотизма во времени.

''ХЗ кто'' 2009-07-04 22:35:17
Скажите, а почему все свалкеры такие шизонутые. Почему они так тупо тупо шутят, что даже смишно? Почему показав ваши каменты моему другу, юзающему интернет раз в пол-года он посмотрев на меня как на идиота сказал: "и ты всё это читаешь?". Какого черта, я вас спрашиваю, вы все такие упоротые машу вать?!!!!!!!1111
''Возничтожение'' 2015-03-30 00:36:39
3аходет девушка в трансформаторную будку...видет там реле)))))))Дотронулась двушка до реле...её током и убило)))))))Проснулась девушка...оглядываеться вокруг)))))))Видет девушка реле...видет ''кошку туркале''.
Неизвестный науке вид кошки. Всё, что о ней известно - изложено непосредственно в [[псто|Пост]]. Никакой другой информации обнаружить до сих пор не удалось.
Несмотря на довольно слабый интерес к проблеме в комментариях к ориджинал [[псто|Пост]], неопределённость продолжает будоражить умы [[свалкеров|Свалкер]]. В каждой кошке им видится туркале, а любой намёк на электричество, немедленно вызывает к жизни обсуждения реле и девушки.
Все попытки формализовать и дать более-менее чёткое определение //туркале// разбились об остутствие каких-либо свидетельств.
[[Увгн|увгн]] спрятавшийся на [[ником|Не ники, а хуй знает что]] ''Возничтожение'', более под этим ником на связь не выходил.
Один из немногих троллей, оставивших хоть какой-то след на [[Свалке|Свалка]].
>''Лена Анциферова'' 2008-12-29 02:46:03
>И над чем вы тут ржёте?
>Ох,и ответила бы вам еще, да воспитание не позволяет!
Разумеется тут же развернулась небольшая дискуссия о поведении воспитания Лены Анциферовой и почему оно ей что-то не позволяет.

На данный момент об этой Лене помнят только совсем седые старожилы Свалки.

Народное творчество:
>Крайне воспитанная особа, снизошедшая до того, чтобы оставить на свалко несколько комментариев, в которых была отчётлива видна заоблачная бездна воспитания и хороших манер. Является эталоном воспитания на свалко, и нет на свете свалкера, имеющего воспитание более 1 Л. А.
>''почтальон'' 2009-07-03 16:03:31
Надпись на импровизированной табличке рядом с детской аппликацией.
На самом деле расшифровывается как //Муниципальное учреждение дополнительного образования детей "Центр дополнительного образования детей"//, но это никому не интересно.

Употребляется к месту и не к месту. Второе чаще.

Так же, [[свалкосотруднеги|Свалкосотрудник]] вспомнили ещё "ПеДОбраз из МУДО" (Педагог дополнительного образования из муниципального учреждения дополнительного образования), но этого вообще никто не заметил.
Движок [[Свалки|Свалка]] содержит механизм, известный под названием «[[йобаная автозамена™|Ёбаная автозамена]]», заменяющий определённые сочетания символов в тексте на что-то другое.
Вот некоторые из таких сочетаний:
:Срачеобразующая фича: ''%username%'' в тексте заменяется на имя [[свалкера|Свалкер]], читающего этот текст, что иногда воспринимается новичками как личное оскорбление. С некоторых пор для ослабления шизоидного эффекта, имя, вставленное с помощью ''%username%'', снабжается припиской //<nowiki><!-- ноебали --></nowiki>// в [[соусе|Соус]] страницы.

; ***SPAM***
:''***SPAM***'' в тексте заменяется на какой-нибудь кретинический спамерский заголовок типа: «67-летний пенсионер срёт кирпичами в метро». Макрос берет начало с запотсщенного скриншота @@(джве симпы за соус)@@, на котором было окно почтовика с двумя спамерскими сообщениями, в топики которых заботливый почтовый сервер вставил «***SPAM***» (для автоматической фильтрации клиентом).

; Фонтан
: См. [[Фонтан]]
1. Знаменитый в прошлом [[индийский актёр|https://ru.wikipedia.org/wiki/Чакраборти,_Митхун]], которого [[свалкеры|Свалкер]] видят в любом индусе.

2. Герой, обитавший некогда на Свалко. Был очень активен в [[комментах|Комментарии]]. Не имеет отношения к реальному индийскому актеру Митхуну Чакраборти, за исключением расовой и профессиональной принадлежности, а также дикой внешности.

Первое упоминание: http://svalko.org/69254.html
Подборочка креатива: http://www.webpark.ru/comment/33356 (http://svalko.org/90497.html)
>''Иван Сусанин'' 2010-06-01 23:30:40
Надпись на деревянной линейке, обозначающая [[город|https://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B6%D0%B3%D0%B0#.D0.9F.D1.80.D0.BE.D0.BC.D1.8B.D1.88.D0.BB.D0.B5.D0.BD.D0.BD.D0.BE.D1.81.D1.82.D1.8C]], в котором располагается завод-изготовитель мебели и канцтоваров из дерева.

Не смотря на то, что основным объектом на картинке в [[псто|Пост]] были часы, у которых часы и минуты показываются на стрелочных [[амперметрах|http://licrym.org/index.php/%D0%90%D0%BD%D0%B0%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2%D1%8B%D0%B5_%D1%87%D0%B0%D1%81%D1%8B]], а деревянная линейка была приложена исключительно [[джля|дж]] масштаба, именно линейка, а точнее надпись на ней привлекла наибольшее внимание [[свалочной публики|Свалкер]].

"Можга" оказалось годным аналогом и заменой "мозгу". Например «взрыв можга».
Так же - //Dead astronaut, астронаут// и т.п.
>''атаке'' 2010-10-17 15:39:55
<<slider chkTextExp 'Мёртвый астронавт##textexplain' 'Текстовая версия' 'Текстовое описание на случай, если картинка недоступна'>>
Комикс, нарисованный кем-то в тетради в клеточку.
На всех четырёх панелях комикса изображён один и тот же белый астронаут в скафандре на чёрном фоне, символизирющем, очевидно, бездны космоса. На первом кадре имеется сам астронаут и над ним название произведения - "DEAD ASTRONAUT COMICS". На остальных кадрах лишь слегка меняется положение персонажа.
Несмотря на бессловесность, сей персонаж регулярно появляется в фотожабах.
[[Коммент|Комментарии]] [[клюкеда|клюкед]] во время [[свалкопьянки|Свалкопьянка]] 2012 года.
Что это значит - знает лишь [[клюкед]].
>''клюкед'' 2012-04-29 17:23:31
>Миасо еще есть треть гдето. Будет торчать еще часа 2-3
Награда, которую принято реквестировать за [[правильный ответ|Камень]] на любой вопрос или загадку.
[[Дж|дж]]ля сообщений об ошибках и реквестирования новых статей и дополнений в эту вику, зопилен специальный а[[дж]]рес: на деревню ''svalko.org@mail.ru''. Тема на [[Свалке|Свалка]]: http://svalko.org/513556.html

Реквесты вида "//а нопешыте пра миня//" или "//напишите про вот эту невъебенномегакрутую хуйню//" не рассматриваются, не удовлетворяются и уничтожаются автоматически.

Правильный реквест должен, по возможности, содержать:
*Название реквестируемого;
*Сцыла на место рождения реквестируемого;
*[[Не ник, а хуй знает что|Не ники, а хуй знает что]] автора реквестируемого;
*Дату рождения реквестируемого;
*Краткое описание явления - больше фактов меньше лулзов;
*Примеры использования;
*Комментарии - смехуёчки во все поля;
*[[Не ник, а хуй знает что|Не ники, а хуй знает что]] реквестирующего.

Администрацыя вики может:
*зопелить статью;
*не зопелить статью;
*исправить ошибки в реквесте;
*написать реквестируемое по-своему;
*ответить на реквест;
*[[не ответить на реквест|А впрочем пофиг]].
<<tabs txtMainTab "Список статей, которых не хватает уже сейчас" "На них есть ссылки, но нет самих статей" TabMoreMissing>>
Также огромное спасибо всем, кто сюда что-то когда-то постил, и тем, кто постил тем, кто постил, а также - авторам )))
Полная версия: //"Плачу 20 гиней! Только молю, не жалей лошадей!"//

Фраза из комикса.
>''Mikluha'' 2010-04-19 15:54:43
<<slider chkTextExp 'Не жалей лошадей##textexplain' 'Текстовая версия' 'Текстовое описание на случай, если картинка недоступна'>>
Содержимое комикса:
На первой панели английский седой джентльмен бежит за каретой с знаком "такси" на крыше, запряжённой двумя лошадьми, едущей по булыжной мостовой. Джентльмен кричит:"Срочно! ПЛАЧУ 20 ГИНЕЙ! Только молю, не жалей лошадей!"
Далее следуют три панели, где показано лицо джентльмена, на нице которого постепенно появляется всё большее непонимание.
На последней панели рядом с каретой повсюду валяются окровавленные куски лошадей и посреди них весьма довольный извозчик продолжает [[махать|Смешно размахивая руками]] топором.
''Культ Невидимой Тележки'' — мем, возникший на [[Свалке|Свалка]] во время первого пришествия [[Ипшайтега|Unwaiter]] в Москву. Культ пропагандирует идею того, что на каждой картинке есть своя невидимая тележка. Адепты культа пририсовывают к существующим картинкам невидимые тележки, просто для лулзов. 
Местное народное развлечение - искать негра на любой [[картинке|Пикча]].
Считается, что, кроме [[невидимой тележки|Невидимая тележка]] и [[невидимого Гитлера|Гитлер]], на всех групповых фотографиях можно найти негра. Благодаря своей естественной цветовой маскировке, он может скрываться в тёмных местах фотографии.
Хотя обсуждение чернокожих товарищей встречается чуть ли не со дня основания [[Свалки|Свалка]], целенаправленно искать их начали, по всей видимости, с этого [[псто|Пост]]:
>''~GrassKiller'' 2008-12-14 05:35:47
[[Обнаружение негра на глагне|http://svalko.org/163586.html#c163776]], казалось бы, должно закрыть тему с поисками африканцев, но не тут-то было.

Объявление о факте нахождения негра без предоставления [[пруфов|Красные овалы]] не считается и расценивается накручивание [[щодчега|Счётчик]].
[[Каммент|Комментарии]] тов. ''Бутрона'' к видео о [[кандибобере|Кандибобер]].

''Бутрон'' 2010-03-20 21:35:32

Некрасиво, безнравственно, а может и противоправно выкладывать в Интернет видеосюжеты с явно больными людьми. Если бы Вы страдали шизофренией, Вам бы понравилось, если б над вами смеялись посетители Ютюба, или, хуже того, Свалки?
Очевидно, Свалка не та, что была раньше.

Начало сей тирады неимоверно доставило [[свалкерам|Свалкер]] и породило бесчисленное множество пародий.
Очевидно - любое животное, не являющееся пандой.
Как ни странно, иногда это вызывает разногласия среди [[свалкеров|Свалкер]]

Первое упоминание, внезапно, обнаруживается в [[посте|Пост]] с [[gif-видео|gif-анимация]] про [[енота|Енот рад]], ворующего съестное из корзинки для пикника.
>''Дебильный никогенератор'' 2010-04-07 13:55:42
>''Наум Приходящий'' 2010-04-07 14:14:50
>Непанда поркур детектед. Где посмотреть фуллНД?
В дальнейших [[комментариях|Комментарии]] развернулась нешуточная свалконаучная дискуссия на тему что есть ''непанда'' и является ли он(а|о) [[енотом|Енот рад]].
С тех пор, все животные появляющиеся в [[постах|Пост]] и [[каментах|Комментарии]] на [[Свалке|Свалка]] придирчиво проверяются ''непанда'' ли они.
Для непосвящённых добавление этой фразы к [[каменту|Комментарии]] выглядит как неуверенность в собственных словах, однако настоящие [[свалкеры|Свалкер]] знают, что на самом деле это является проявлением своего рода свалко-дзен.
В данной фразе нашли отражение два свойства, присущих настоящим [[свалкерам|Свалкер]]:
*[[пофигизм|А впрочем пофиг]] - автору откровенно пофиг написал ли он умную вещь или тупню, правду или вымысел, смешно это или нет...
*ненавязывание другим своего мнения - автор понимает, что  он не может знать всё обо всём и допускает, что найдётся кто-то более информированный, чем он сам.
[[Ну или нет]].
Из отзывов о расширении "Nothing" для браузера Google Chrome, которое делает... ничего.
''bl4a'' 2010-02-01 11:14:31


Перевод избранных комментов:
великолепный функционал.
делает в точносто то, что обещает!
мне в жизи не надо ничего другого.
не могу разобраться с интерфейсом, сложновато...
наконец-то нечто, что не разочарует никого!
эпик вин
нет ничего невозможного? Вы это сделали!
серьёзно, можно посмотреть код?
ни единого бага!
жду с нетерпением версии 2.0
работает как обещано, быстродействие браузера не пострадало!
не понимаю, как я вообще хром без него использовал.
теперь ничего не работает!
''не могу поверить, что это бесплатно. Обычно компании за это берут деньги.''

Некоторое время фраза пользовалась у [[свалкеров|Свалкер]] популярностью, но постепенно о ней забыли. Хотя до сих пор иногда она всё-таки проскакивает в [[каментах|Комментарии]].
Женщина, которую никто не видел, но которая всем «сделала хорошо». Владеет небольшим супермаркетом, в котором и работает. После рекламе магазинчика на [[Свалке|Свалка]] принимает непосредственное участие в разведении идиотии и лулзов в [[комментах|Комментарии]].

По [[последним данным|http://svalko.org/96492.html]] было установлено, что Оля в девичестве имела фамилию Кебаб. Тогда же она делала первые маркетинговые шаги в своем начинании, «делая хорошо» за 50 уев в час.

''[[Unwaiter]]'' 2007-07-20 08:50:25
Родилось из обсуждения [[gif|gif-анимация]]'ки со спускаемым на воду кораблём. В момент, собственно, спуска, вместе с брызгами во все стороны полетели обломки досок, которые отчётливо запечатлелись на пути к видеокамере.
''Andina'' 2013-06-05 16:31:00
[[Свалкеры|Свалкер]], иногда отличающиеся выдающимися способностями к анализу причинно-следственных связей, немедленно (не прошло и 15 минут) озаботились:
''ХуйЗнаетЧто'' 2013-06-05 16:43:57
оператору песда??!!?
С тех пор, если в [[посте|Пост]] действие происходит в пределах видимости оператора (то есть практически всегда), [[свалкеры|Свалкер]] живо интересуются его судьбой.
>''Д-р. дер'' 2010-10-11 10:21:39
Родилось стихийно, но скоропостижно - уже во втором [[комментарии|Комментарии]] читаем:
>''ыббер'' 2010-10-11 10:39:27
>кто отщедрот?
Немедленно нашёлся и он:
>''Отщедрот'' 2010-10-11 10:41:47
>Это я. Спасибопожалусто.
Пишется слитно. Употребляется в значении "кто", а не "как". Может использоваться как обзывательство.
См. [[Сокал]]
Чтобы дать [[затаившимся|Затаившийся]] возможность заливать картинки в [[комментарии|Комментарии]], автора [[сайта|Свалка]] прикрутили так называемую //заливалку// ([[дезорф.|Дезорфографирование]] //золевалка//, //золивалка//, //золевалко// т. п.)
Однако способ взимодействия и само нахождение золевалки оказались достаточно неочевидными, что регулярно порождает просьбу показать её самую.
Так же, сабж находится на странице добавления [[комментария|Комментарии]], хотя неопытные [[свалкеры|Свалкер]] склонны её не замечать.

Предположительно, золевалку начали показывать где-то тут:
>''пельмешко'' 2008-12-05 13:23:06
>sceptic, нужно ткнуть на "показать золевалку" :-)
//[[дезорф.|Дезорфографирование]] - псто//

1. Результат жизнедеятельности [[апрувера|Апрувер]].
2. Креатив, засланный [[затаившимся|Затаившийся]] в [[премодие|Премод]] и получивший [[одобрение|Апрув]] [[апрувера|Апрувер]].
3. Какая-то хуйня на самом верху нашего уютного чатега.

Появляется на [[главной странице|http://svalko.org]] и снабжается средствами [[дж]]ля комментирования и оценки всеми [[затаившимися|Затаившийся]].
Вариант: //прикол в цифрах//.
''Qrot'' 2006-11-03 12:59:47
Ввиду природной ненаблюдательности и приобретенной мозговой деменции большинства [[свалкочитателей|Затаившийся]], первой реакицей на данный [[пост|Пост]] была:«//А в чем прикол?//». Прикол же, очевидно, заключался в том, что буквы на номерах автомобилей складывались в незатейлевые слова «//ссу//» и «//сру//». Прозрение [[юзеров|Свалкер]] вылилось в тупейший флэшмоб, выразившийся в длинющей ленте дегенеративных комментов вида: «//А! Прекол-то — в номерах!//», «//Кажется, прикол в номерах//» и т. д.

Обычно фраза употребляется в двух случаях:
*Если на картинке есть цифры;
*Если смехуёчки в посте --отсутствуют-- --не обнаружены-- не очевидны.
Но это [[не обязательно|А впрочем пофиг]].

Интересно, что если в посте прикол действительно в цифрах, то среди [[наркотических|Возможно анонимные наркоманы смогут вам помочь]] [[питекантропов|Свалкосотрудник]], населяющих [[Свалку|Свалка]] обязательно найдется один наиболее остроумный, который откомментится:«//Прикол в буквах!//». 
>''Дебильный никогенератор'' 2010-11-02 21:25:53
<<slider chkTextExp 'Просто молодчина##textexplain' 'Текстовая версия' 'Текстовое описание на случай, если картинка недоступна'>>
На картинке в [[посте|Пост]] предлагалось слепить из пластилина человека со всеми внутреностями. Особым оптимизмом и уверенностью в способностях читателей выделилась заключающая фраза "Если получится - ты просто молодчина!"
1. Из белого пластилина слепи скелет, как на рисунке.
2. Вылепи синие легкие, красное сердце, коричневую печень и зелёный желудок с кишечником.
3. Уложи их на скелете так, как нарисовано на третьей картинке.
4. Теперь загни ребра и соедини их посередине.
5. А теперь заверни человечка в тонкую пластилиновую "кожу" и разгладь швы.
Если получится - ты просто молодчина!
В комментариях [[увгн]] [[Unwaiter]] привёл недостающие рисунки.
>''Unwaiter'' 2010-11-03 11:26:15
Один из [[администраторов|Апрувер]] Свалки, почётный [[апрувер|Апрувер]], по нечетным - местный Гугл.
Первоначально, когда ещё был обычным [[Свалкером|Свалкер]], увлёкся реквестированием недостающих тегов к постам прошлых лет. За что был замечен администрацией --схвачен и посажен-- и приглашён в опруверную, в которой и пребывает по сей день. Не смотря на это, на Свалке до сих остаётся небольшое количество постов без тегов.
Поговаривают, что [[РЧ|Рвун Чехлов]] закачал всю [[Свалку|Свалка]] себе в моск и проиндексировал. Поэтому легко находит любой [[былотуд|Было тут]] как самостоятельно, так и по просьбам страждущих.

--Из протокола следователя--Страницы истории:
*[[2009-12-11|http://svalko.org/146209.html#c146414]] - как бы первое подключение к Свалке, хотя [[все уже джва (или сколько там уже натикало) года знают|Все уже два года знают]]. 
*[[2013-01-10|http://svalko.org/333651.html#c333665]] - приглашение в апруверы.
*[[2013-01-28|http://svalko.org/336336.html]] - первый апрув.
*и животноводство!
Свалка, Свалко - анонимный дегенеративный говноблог из 90-х с ручной премодерацией.

Чем Свалка отличается от других говноблогов?
*На Свалке отсутствует какая-либо тематика. --Приветствуется-- Допускается обсуждение чего угодно, что не противоречит сами знаете чему.
*На Свалке отсутствует регистрация, но можно поклянчить у [[администрации|Админ]] инвайты.
*[[Нет никакого контроля|А впрочем пофиг]] за тем кто и что пишет. Нет даже капчи. Несмотря на это, количество неадекватов и спамботов, сумевших пробраться в каменты на удивление мизерно. Совсем уж непотребные вещи админы [[трут|Каменты трут]] вручную.
*Нет рекламы.
*Есть соль.
*И [[жыр|Жыр]].

[[Свалка]] лишена контента, который так привлекает офисный планктон: сисек-писек, политики, горячих новостей, чернухи, рекламы и прочей некрокопрофилии, а также мерзеньких приколов (типа прыгающего по экрану гей-порно, которое нельзя закрыть из-за подленького жабаскрипта). Посты не имеют общей определенной тематики: попасть на Свалку может и смешное видео, и просто интересная статья, и анекдот из серии «физики шутят». Одобренные [[модераторами|Апрувер]] [[посты|Пост]] попадают на [[главную|Глагна]], на всеобщее обозрение, незааппрувленные — со временем переносятся [[Свинодемоном|Свинодемон]] на [[Тёмную сторону|Тёмная сторона]], где их ждет вечное --забвение-- хранение.
Непосредственный учаснег жизни [[Свалки|Свалка]]. Является одновременно как источником этой жизни, так и продуктом её ([[Свалки|Свалка]]) жизнедеятельности. В соответствии с принципом [[увгн]]а [[Гейзенберга|https://ru.wikipedia.org/wiki/Принцип неопределённости#.D0.9F.D1.80.D0.B8.D0.BD.D1.86.D0.B8.D0.BF_.D0.BD.D0.B5.D0.BE.D0.BF.D1.80.D0.B5.D0.B4.D0.B5.D0.BB.D1.91.D0.BD.D0.BD.D0.BE.D1.81.D1.82.D0.B8_.D0.B2_.D0.BF.D0.BE.D0.BF.D1.83.D0.BB.D1.8F.D1.80.D0.BD.D0.BE.D0.B9_.D0.BB.D0.B8.D1.82.D0.B5.D1.80.D0.B0.D1.82.D1.83.D1.80.D0.B5]].
Отличается [[упоротостью|Возможно анонимные наркоманы смогут вам помочь]] и [[пофигизмом|А впрочем пофиг]].
Особо активных и креативных [[свалкеров|Свалкер]] принято обозначать [[свалкосотрудниками|Свалкосотрудник]].
[[Свалкер]], познавший [[сцоль|Соль]] и имеющий достаточно [[зерна или цемента|Зерно или цемент]]. [[Свалкосотрудник]] активно постит (Также огромное спасибо всем, кто сюда что-то когда-то постил, и тем, кто постил тем, кто постил, а также - авторам ))) ) годный [[конь-тент|Дезорфографирование]] и участвует в свалконаучных дискуссиях.
[[Свалкосотрудник]] - не обязательно [[апрувер|Апрувер]], им может быть любой [[свалкер|Свалкер]], удовлетворяющий вышеописанным критериям.
1. Искусственный интеллект на службе [[свалкеров|Свалкер]]. В его обязанности входит очистка премода от протухших постов, прятанье длинных веток комментариев, а так же «йобаная автозамена».
Неоднократно замечен в предвзятости и ангажированности, [[что бы это ни значило|Смешно размахивая руками]].
Свинодемон также известен своими высокоинтеллектуальными комментариями к незааппрувленным постам. Первоначально имел крайне ограниченный словарный запас
<<slider chkSlider1 'Свинодемон##old' 'Список 1' 'Лексикон Свинодемона до прозрения'>>
*КТО ТУД?!!!
*аналогичный случай произошёл с г-ном Unwaiter’ом, только я забыл какой.
*-? Я ЧОТО П
*look at you, hacker
но, благодаря дрессировке хозяинами, внезапно 11/12/13 [[прозрел|http://dark.side.of.svalko.org/121659.html]] и теперь [[фонтанирует|Фонтан]] свалкомемами почём зря.
<<slider chkSlider2 'Свинодемон##new' 'Список 2' 'Вокабулярий Свинодемона 2.0'>>
*Оператору песда.
*Блять! Не получилось.
*Вообще ружъё.
*Математики поймут.
*Фу ну блин!
*Математики поймут.
*0NLY ~C3R741N ~P30PL3 ~C4N ~R3AD 7H15.
*Не смог различить пикчу.
*Амрщ кпрвр вдт.
*Это же такой жыр, если попытаться понять!
*Гавна какая!
*Это тебе сам чёрт подсказал!
*Тебе никто не поверит!
*Кто из них Толян?
*Говорят что поргугальский.
*Смаж петли, заебал!
*Не ходи по рыбе!
*У вас тут не ники, а хуй знает что!
*Фонтан выключить забыли.
*Я не умею опрувить, я же кот. Ну, или не кот…
*Я не могу, мне в бассейн.
*Проворный пиздюк.
*Здесь запрещено блять.
*Всё равно заметно, что люди.
*Купил мужик шляпу, а она ему как раз.
*А потом он их сожрал.
*Яйца крепче стали.
*Ебать он высокий!
*Этого могло не случиться!
*Некрасиво, безнравственно и противоправно.
*Чудовищный сука хаос!
*передние глаза не видят, потому что они — ноздри.
*Остерегайся удара зюзьгой!
*С гитарой помогло!
*Вижу тележку!
*Наркотики? Жду.
*Мужчина, вы не внушаете мне доверия!
*Возможно АНОНИМНЫЕ НАРКОМАНЫ смогут Вам помочь.
*Прикол в цифрах?
*Ему так удобно.
*Пахнет Нобелефкой…
*Ещё можно про гусей переделать…
*Вот так вот.
*ХАХАХАХАХА!!! то есть «мяу»
*ХАХАХАХАХА!!! то есть «хр-хр»
*Сегодня — наркоман, завтра — защитник Родины!
*Нашёл негра!
*Много смешно!
*Енот рад.
*В любом случае, четыре китайца сделали бы это быстрее и дешевле.
*Ему так удобно.
*И очень жалко их таких…
*Дед, прекрати!
*Я на фотке слева.
*Оператору песда.
*Знаете, очень глухое место…
*У нас в армии и не такое бывало.
*А я ваще Свинадеман.
*Наркоманов не стрижём.
*Прямо сейчас стоит у катализатора.
*Вот так и мы. Рождаемся, живем и умираем.
*Устроили, блин, свалку…
*Хорошо, что завтра воскресенье!
*Судоходна ли река?
*Извините, у нас метро.
*Гномам не наливать!
*А знаете ли вы… а впрочем пофиг.
2. Считатель насранного в [[каментах|Комментарии]].

3. Мифический персонаж, от имени которого а[[дж]]мины беспредельничают в [[премодии|Премод]].

Зафиксировано несколько попыток завязать беседу со Свинодемоном:
''Волкопонин'' 2014-08-21 19:52:28
Увгн Свинодемон!
А не подскажете ли, сколько сейчас насрано?
''Рвун Чехлов'' 2014-03-08 18:20:36
Спокойствие, только спокойствие. Я всего лишь пообщался с увгном Свинодемоном, и в результате решил процитировать его мнение по некоторым вопросам.
''[[Devoor|Девур]]'' 2012-08-20 23:30:57
а Свинодемон всё насратое счетает
ну скажы ты уже, придёжь на свалкопианко или нет
хватит счетать кто скока носрал, сичазжы отвечай, Свинодемон - ты придёжь на свалкопианко или нет?????777777семьсемьсемь

''ХЗ никто'' 2010-01-12 12:14:29
//Откорней Докончиков: [[очень жалко вас таких|И очень жалко их таких]]. [[Свинодемон]] - робот, что хочет, то и пишет//
>''Fojjer'' 2009-11-25 09:20:22
<<slider chkTextExp 'Синий карандаш##textexplain' 'Текстовая версия' 'Текстовое описание на случай, если картинка недоступна'>>
На [[картинке|Пикча]] в левом нижнем углу был изображён медведь с веткой малины в лапе, а в правом верхнем - кочка, поросшая травой, что, по всей видимости должно обознаяать берлогу. Между этими двумя объектами располагалось квадратное поле, аккуратно разлинованное сеткой, визуально - как в школьных тетрадях.
Подпись под картинкой-загадкой:
>Возьми синий карандаш и нарисуй путь медведя к берлоге.
Закономерно возникает как минимум два вопроса:
1. На квадратном поле не наблюдается никаких препятствий, за исключением, быть может, едва заметной точки недалеко от левого нижнего угла. В чём по[[дж]]вох? Какие правила?
2. Почему карандаш должен быть именно синий?
[[Свалкеры|Свалкер]] разразились бурным потоком креатива в [[каментах|Комментарии]], но с течением времени про синий карандаш все забыли. [[Ну или почти все|Ну или нет]].

Отдельное удовольствие олдфагам доставила [[пикча|Пикча]] [[заапрувленная|Апрув]] несколькими годами позже:
>''Бип O`Koт'' 2015-04-30 11:53:05
<<slider chkTextExp 'Синий карандаш##textexplain2' 'Текстовая версия' 'Текстовое описание на случай, если картинка недоступна'>>
На [[картинке|Пикча]] нарисованы три синих карандаша разный размеров, а читателю предлагалось ответить на вопрос "Какого цвета самый длинный карандаш?"
Полный вариант - //Побежать, смешно размахивая руками//.
Наиболее часто встрачющийся вариант ответа в тесте "Любите ли вы хурму".
>''Зигмунд Фрейд'' 2009-06-23 03:35:35
<<slider chkTextExp 'Смешно размахивая руками##textexplain' 'Текстовая версия' 'Текстовое описание на случай, если картинка недоступна'>>
Тест был представлен в виде скана какой-то газеты. Рубрика "Уголок самопознания".

Содержимое теста:

''1. Вам кажется, что вы отвратительно выглядите, но тут кто-то делает вам комплимент. Ваша реакция?''

''А.'' Вздрагиваете от неожиданности. Ведт вы думали, что находитесь в комнате в одиночестве.
''Б.'' Вам приятно, но вы постараетесь это скрыть под напускным эпилептическим припадком.
''В.'' Вы начинаете покрывать страстными поцелуями свое прекрасное тело.

''2. Вам оторвало голову пропеллером самолета. Как вы поступите?''

''А.'' Упадете на взлетное поле, обливаясь кровью.
''Б.'' Смешно побежите прочь от самолета, размахивая руками, словно безголовая курица.
''В.'' Постараетесь сохранять спокойствие.

''3. Вы принимаете душ и вдруг слышите телефонный звонок. Ваши действия?''

''А.'' Вы продолжаете мыться в душе, делая вид, будто намыливаете подмышки.
''Б.'' Смешно выбегаете из душа, размахивая руками.
''В.'' Спрашиваете совета окружающих.

''4. У вас большие оттопыренные уши. Какой пункт вы выберете?''

''А.'' Пункт А.
''Б.'' Пункт Б.
''В.'' Пункт А.

''Преобладают ответы А.'' Вы независимы, мнение других о хурме для вас ничего не значит.
''Преобладают ответы Б.'' В непривычной ситуации вы можете растеряться и смешно побежать, размахивая руками.
''Преобладают ответы В.'' Вы сангвиник, что бы это ни значило.
Родилось из обсуждения картинки с несколькими строчками, накорябанными неровным (детским?) почерком. 
>''grasskiller'' 2010-07-11 13:26:40
<<slider chkTextExp 'Сокал##textexplain' 'Текстовая версия' 'Текстовое описание на случай, если картинка недоступна'>>
Содержимое записки (орфография соблюдена):
Царь убил сокола.
Царь гурусти ат тогошто он
убил сокола.
Я почуствала что грусьть.
И что пичаль.

Хотя слово "сокола" написано орфографически правильно, из-за особенностей почерка (буквы "о" и "л" расположены слишком близко друг к другу и фактически сливаются) оно автоматически читается как "сокал".
Так же, из этого [[поста|Пост]] пошло в народ "[[гурусти|Гурусти]]" и "что [[грусьть|Грусьть]] и что [[пичаль|Пичаль]]".

В [[камментах|Комментарии]] к изображениям птиц регулярно возникают свалконаучные споры к какому виду отнести представленное пернатое - [[Чолузь]] это или [[Сокал]].
Фраза из [[футера|Если вы понимаете о чём я]] [[сайта|http://svalko.org]].
Сам "синий скин", по всей видимости начался здесь:
>''Татьяна'' 2004-11-12 17:03:02
>Сразу предупреждаю: этот пост не читать ибо я скину тестирую!
С какого-то момента среди [[свалкеров|Свалкер]] завелась мода благодарить Татьяну за синий скин. Обычно сия благодарность идёт "довеском" к любым другим благодарностям. [[Но это не обязательно|Ну или нет]].
На фотографии таблички, вероятно из тайской гостиницы:
>''Zoltar'' 2007-10-01 17:38:48
<<slider chkTextExp 'Спасибо пожалуйста##textexplain' 'Текстовая версия' 'Текстовое описание на случай, если картинка недоступна'>>
запрещать покупать еду снаружи
или на пляж потому что нечистий
может быть ты понос спасибо пожалуйста

запрещать брать лежок в бассейн и
гамак из пространство гостинице
если видеть мы нужный штраф 500 бат
спасибо пошалуйста
Вследствие очередного приступа [[дезорфоргафии|Дезорфографирование]] у [[свалкеров|Свалкер]] пробел между этими словами был ликвидирован, хотя не возбраняется и раздельное написание.
[[Аналогичный случай произошёл|Свинодемон]] и со словами "простите" и "извините".
Часто, [[джля|дж]] выражения максимальной воспитанности, употребляется полный комплекс: "праститиизвинити спасибопожалуста".
Из анекдота
''Дебильный никогенератор'' 2010-10-20 22:11:13

Замучила одного мужика бессонница. Вышел на улицу он, сел на скамеечку и заплакал. Подходит к нему алкаш и спрашивает:
- Что рыдаешь?
- Да не спится мне.
- О, ну это ерунда. Я тоже так раньше говорил. А потом ''раз - и спился нахуй!''
Первоначально имелась в виду [[парковка возле ОАО Катализатор|http://wikimapia.org/#lat=54.8521614&lon=83.0590761&z=17&l=1&m=a&v=2]] в Новосибирске.
Началось всё с [[поста|Пост]]:
''whatever'' 2007-08-06 16:44:13
не фотошоп. прямо сейчас стоит у Катализатора. 
<<slider chkTextExp 'Стоит у катализатора##textexplain' 'Текстовая версия' 'Текстовое описание на случай, если картинка недоступна'>>
Фотография автомобиля с номером ''о000оо''
С тех пор фраза «//стоит у катализатора//» предъявляется сомневающимся для подтверждения истинности написанного или изображенного в посте или комментах. Сам катализатор также превратился в самостоятельного персонажа, у которого постоянно что-то стоит.
Стриказой называют любое живое (иногда мертвое) существо (иногда вещество), изображение которого попало на [[Cвалку|Свалка]]. Если изображенный предмет хотя бы отдаленно напоминает членистоногое, он относится к виду Классической стриказы.
''Unwaiter'' 2005-06-08 11:20:57
Ага, классная стриказа.
''Unwaiter'' 2005-06-08 16:06:22
"Стриказа" в картинках: Найдено картинок 1.
--Вечно--юный читатель "Телевичка", способный дать правильный [[ответ|Камень]] на любой вопрос.
Первый пост на [[Свалке|Свалка]], датированный 2003-08-16, что можно считать днём рождения Свалки.
Несмотря на дату, [[Свалка]] считается [[говноблогом из 90-х|Свалка]].

''Мегас'' 2003-08-16 15:04:54

Технология воровства шапок в общественных уборных у сидящих на толчке в
кабинке пришла, мне кажется, из армии.
Для тех, кто уж совсем не знаком с этой технологией, поясню. В
общественном сортире, чаще всего на вокзале, прогуливается вдоль кабинок
злоумышленник, заглядывая поверх дверок, якобы выискивая свободную. На
самом деле он, как в супермаркете, знакомится с представленным
ассортиментом головных уборов. Улучив момент протягивает клешню, срывает
шапку и быстро удаляется. Хотя может и не спешить. Жертва реагирует
конечно бурно, но вяло. По причине спущенности штанов.
В армии всплеск воровства шапок (пилоток, фуражек – зависит от сезона)
приходится на приближение дембеля (потребность в обновлении гардероба) и
прибытие в часть молодых бойцов (читай – комплектов нового
обмундирования) Конечно, дедушка дембель может просто подойти к молодому
солдату и предложить махнуться необходимой частью гардероба. И боец с
радостью это сделает. Дедушке ехать домой, а ему какая разница в чем
кантоваться? Возникает одно «но». Если к бойцу подойдет офицер
(замполит, например), и поинтересуется, кто ему устроил такой
замечательный гешефт – списанную пидерку вместо новенькой шапки – солдат
дембеля сдаст и будет прав. Не зря в армии бытует пословица: «Меня не
интересует, где ты это возьмешь. Хоть у меня своруй, но, чтобы я не
Поэтому гешефт проще произвести в туалете. За закрытыми, так сказать,
дверями. Что бы и молодой солдат мог не поступаясь совестью, а честно
глядя в глаза офицеру, сказать: «Спиздили!»
Может, я и зря все это говорю. Кто служил – тому объяснять ничего не
надо. А кто с армией не знаком, могут счесть это клеветой на наши
доблестные вооруженные силы. Но что делать, если армия – это отражение
государства? А государство наше – отражение жопы в луже в дождливый
В оправдание надо конечно сказать, что случаи эти не часты, не
повсеместны, и борьба с ними ведется. В нашем отдельно взятом войсковом
подразделении, во время очередного всплеска воровства обмундирования у
молодых бойцов, ответственным по борьбе был назначен замполит капитан
Волнистый. Для поколения next объясняю, что замполит – это офицер,
ответственный за идеологическую подготовку бойцов. Для господ, давно
живущих за рубежом – капеллан.
Имея такую фамилию, он просто не мог не иметь кличку Попугайчик. Росту
был крайне маленького, сутул, руки сложены обычно за спиной, а
подбородок задран кверху. Ярый борец с неуставными взаимоотношениями, то
есть с дедовщиной. Любимая реплика: «Не моги обидеть молодого солдата!»
Любимый метод борьбы: во время завтрака, когда бойцы, которым осталось
меньше ста дней до приказа, по давней традиции отдают свою порцию масла
молодым, застать их за этим неприличным занятием и заставить масло
публично съесть. Нет большего бесчестья для дембеля. И большего облома
для молодого, который на это масло уже оттопырил губу. Поэтому любили
Попугайчика все.
Несмотря на усиленную идеологическую обработку дембелей и недавно
прибывшего молодого пополнения уже через неделю диффузия обмундирования
достигла своего беспредела. Участились случаи воровства шапок в туалете.
Нужна была показательная поимка и порка преступника. И тогда…
Тогда Попугайчик предпринял беспрецедентный шаг. Он решил использовать
себя в качестве наживки. Или живца? Вообщем, подсадной утки.
Достать старое солдатское хэбэ и накинуть его сверху для маскировки на
офицерский китель – не проблема. Новенькую солдатскую шапку пятьдесят
шестого размера, куда входила не только голова, но и плечи замполита, он
выпросил у старшины под слово чести офицера о сохранности и возврате.
Теперь надо оборудовать засидку. Или засаду? Вообщем в туалете казармы
на восемь кабинок с металлическими, открывающимися наружу дверьми в
полтора метра высотой, он оборудовал боевой пост. Поставил в одной из
кабинок табуреточку поверх очка, облачился в хэбэ и шапку, вооружился
газетой «Красная Звезда» и чекушкой, и стал ждать.
Все это делалось, естественно, в глубокой тайне.
Примерно через час в эту тайну были посвящены все. Выходящих из туалета
шепотом спрашивали: «Ну, как там наш попугайчик?» «Бздит! - отвечали.
То есть, конечно, бдит!»
Пользуясь безнаказанностью, в туалете курили, матерились, рассказывали
крамольные политические анекдоты и другими способами проявляли свою
политическую безграмотность.
А в казарме уже заключались пари, сколько замполит высидит в засаде. И
удастся ли ему кого нибудь поймать. «А шо, хто-то еще не у курсе?»
И тогда Коля Холин, сержант, отличник, и т.д., и вообще очень
спокойный и уравновешенный парень, ярый противник всяческих авантюр
вдруг предложил: «А мажем на латунную гвардейку, что я шапку с замполита
сниму?» Столь неожиданное предложение было с восторгом принято. Сразу
же нашелся готовый пожертвовать свой нагрудный знак «Гвардия» ради
такого благого дела.
Реальных свидетелей всего дальнейшего немного, но слова их достойны
доверия. Замполит в ожидании злоумышленника уговорил чекушку и задремал.
Не теряя, ес-сно, бздительности. На шапку никто не покушался. Хлопнула
дверка соседней кабинки. А примерно через минуту рука сдернула с головы
замполита шапку.
Вот он, момент истины! Замполит был к этому готов! Преступник ведь
строит свой расчет на беспомощности и безштанности жертвы? А тут мы, в
штанах и полной боевой готовности! Волнистый что есть силы саданул
дверь, готовясь схватить преступника за руку. Дверь странным образом не
поддалась. Потому что была приперта снаружи здоровым дрыном. К чести
замполита, он не растерялся. Не задумываясь о причине неоткрывания
двери, он с криком: «Шапка! Шапка!!!» вскочил на табуреточку, чтоб
хотя бы в спину увидеть убегающего преступника.
Но туалет был девственно чист. Никто никуда не убегал. Попугайчик застыл
на табуреточке, размышляя о причине своего провала. В это время в
соседней кабинке встал, шурша газетой и подтягивая штаны, сержант Холин
и сочувственно так сказал: «Чего, товарищ капитан? Шапку украли? Совсем
уже обурели!» Вышел из кабинки, «увидел» дрын и со словами: «У-у, как
вас замуровали, демоны! Сейчас я вас ослобоню» ликвидировал следы своего
Когда замполит в задумчивости покинул кабинку, Холин посмотрел на
табуреточку, на старое солдатское хэбэ и спросил: «Вас что, товарищ
капитан, в звании понизили?» Расстроенный неудачей Попугайчик даже не
отреагировал на это хамство и покинул туалет.
А Холин достал из-за трубы слива новенькую шапку пятьдесят шестого
размера и пошел получать латунную гвардейку, которой ему так не хватало
до полной дембельской экипировки.
Замполит долго оправдывался перед старшиной за утерю имущества и
восстановил свою офицерскую честь посредством бутылки водки.
Холин с помощью иголки с ниткой и подходящего чурбака изготовил из шапки
замечательную дембельскую «папаху» и вытравил хлоркой на подкладке номер
своего военного билета. Как и положено.
Родилось в [[каментах|Комментарии]] к фотографии большого кучевого облака над Лос-Анджелесом, напоминающего взрыв.
Началось всё с невинного
>''qt'' 2009-12-17 13:39:37
>wow! потрясаюещее зрелище! оно потрясает своим потрисающим потрясом! уже два года хотел посмотреть!
Затем, традиционно, добавили
>''шибко вакуумный'' 2009-12-17 14:04:15
>потряси зрелище! потряси зрелище, сцуко!
Как обычно, у кого-то [[не фаерфогз|Не файрфокс]]
>''пальто'' 2009-12-17 15:20:56
>а у меня зрелище не трясётся.
>что я делаю не так?
[[И всё заверте...|http://lurkmore.to/_/46482#mws_Y0KtFwB]]

Не смотря на то, что в [[псто|Пост]]-источнике картинка статичная, упоминание трясущегося зрелища можно найти в [[камментах|Комментарии]] практически к любой дёрганой [[гиф-онемации|gif-анимация]].

Примеры трясущихся зрелищ имеются и в более ранней истории [[Свалки|Свалко]], но тогда ещё никто не знал как это называется. [[Суровые времена]] были, довоенные.
''Тёмная Сторона [[Свалки|Свалка]]'' или ''Центр баянной Галактики'' — последнее пристанище отверженных или не дождавшихся [[аппрува|Апрув]] [[постов|Пост]]: боянов, [[неформата|Остервенелый хентай]], [[тупни|- ? я чото п]] и прочего КГ/АМ’а. Унылое и мрачное место, куда не заглядывает даже поисковый робот. Повелителем Темной Стороны по праву является [[Свинодемон]].
Из сборника притч о Сисадмине и Учителе, многие из которых заканчивались словами "ушёл просветлённый".
>''Бипокот'' 2010-11-04 10:22:33
Однажды Сисадмин пожаловался Учителю:
– Наш Техдиректор не хочет выполнять требования безопасности. Всем положено иметь антивирус, а он не ставит. Как на него повлиять?
– Попробуй его убедить, – сказал Инь Фу Во.
Сисадмин ушёл убеждать, но вскоре вернулся разочарованным:
– Я не смог убедить его, Учитель.
– Почему так случилось? – спросил Инь Фу Во и сразу же заметил. – Но только ответь честно, без пристрастия и обиды.
Сисадмин подумал, опустил глаза и тихо сказал:
– Наверное потому, что он знает об информационной безопасности больше меня.
– Ну, если Техдиректор знает больше тебя, что совсем не удивительно, – заметил Учитель, – то ему виднее, где нужен антивирус, а где нет.
– А как же тогда Политика безопасности! – воскликнул Сисадмин.
– А кто писал эту Политику?
Сисадмин потупился и сказал:
– Я.
Учитель мудро промолчал, и Сисадмин ушёл просветлённый.
Слово, которое --нельзя-- трудно --произносить-- написать на Свалке. Другие названия явления: «//феномен цыгана//» и «//Мегах@ита Мегаса//». Происхождение феномена восходит к посту
''ЫМЫч'' 2005-02-22 12:21:30

Ледянной фонтан..
Суперское зрелище.
По ссылкам находились ныне исчезнувшие фотографии замёрзшего фонтана, который автор назвал ледяным стаканом. Среди завсегдатаев разгорелся спор о том, почему же с фонтаном это произошло, который продолжался потом долгое время в комментариях к другим постам. В комментариях его называли «петросян», «пропан-бутан», «аэроплан» и т. п. Из-за принципа неопределенности Гайзенберга, ''Запрещенное Слово'' иногда заменяется на совсем с ним не рифмующееся [[unwaiter|Unwaiter]]. С тех пор и повелось.

Существует даже специальное [[руководство|http://svalko.org/80683.html]], обобщившее многочисленные придумывания рифмы к запретному слову. Замену осуществляет выращенный в специальных условиях и помещенный на Свалке Искусственный Интеллект, известный также под названием «йобаной автозамены™». В былые времена умельцы умудрялись писать Запрещенное Слово при помощи различных ухищрений, например, «O|O[]|-|TАН», однако мощь Искуственного Интеллекта такова, что в настоящее время он с легкостью выявляет подобные штуки. С тех пор на разных сайтах иногда появляются тексты, где слова порой совершенно несоответствуют смыслу, что нельзя не заметить:
Знаю: истина не в винах!
Спирт течёт в моей крови, нах.
«Пропан-Бутан любви» его зачах.
Отправлен был в отставку. Нах.
>''Fojjer'' 2007-12-25 14:54:21
По сообщениям сотрудников зоопарка, слон Батыр произносил около 20 «слов» на русском и казахском языках (в том числе, обсценную лексику), подражательных звуков и коротких фраз[6]. Полный список слов и словосочетаний, которые произносил Батыр:

* «Баты́р» — отрывисто (хобот во рту);
* «Я» — очень отрывисто и в сочетании со своим именем, при длительном произношении, так что «Я-Баты́р» звучало почти слитно;
* «Ба́ты́р» — задумчиво-ласково и протяжно (хобот во рту);
* «Батыр, Батыр, Батыр…» — бегая по вольеру (хобот во рту);
* «Воды́» (хобот во рту);
* «Хоро́ший» (хобот во рту);
* «Батыр хоро́ший» (хобот во рту);
* «Ой-ё-ёй» (очень звонко — хобот во рту);
* «Дурак» — редко и отрывисто (хобот во рту);
* «Плохой» — редко (хобот во рту);
* «Батыр плохой» — редко (хобот во рту);
* «Иди́» (хобот во рту);
* «Иди (на) хуй» — первый и единственный раз во время съёмки телепередачи (хобот во рту);
* «Хуй» — редко и отрывисто (хобот во рту);
* «Ба́-ба» (хобот во рту);
* «Да́» (хобот во рту);
* «Дай» (хобот во рту);
* «Дай-дай-дай» (хобот во рту);
* «Раз-два-три» — кружась и пританцовывая (хобот во рту);
* свист человека;
* слова человеческой речи, произносимые на частотах инфразвукового диапазона;
* имитация резкого скрежета резины или пенопласта по стеклу;
* писк крыс или мышей;
* лай собак;
* естественные трубные звуки слонов.


Некогда люто доставивший [[свалкерам|Свалкер]] высер ныне практически забыт, но изредка всё ещё вспоминается --саксаулами-- свалксакалами в [[каментах|Комментарии]].
Из комментариев:

>''kolotilka'' 2010-08-20 20:49:34

''Крази Нимашыны'' 2010-08-21 03:14:36
акстате.миня вот сейчас асинило нимнога...вот на последней фотге написано"''хуй-пацаны''"...не кажетсо ли вам,что "хуй-пацаны" могут каким-либо образом причастны к небезызызвесным"гей-славянам",причом "гей-славяны"давно вымерле,а "хуй-пацаны"дасихпор рисуют жывапись наскальную...[[я чото п|- ? я чото п]]...
[[Ягоды|https://ru.wikipedia.org/wiki/%D0%A5%D1%83%D1%80%D0%BC%D0%B0]], пользующиеся популярностью у [[свалкосотруднегов|Свалкер]] как минимум по двум причинам:
#Тест "[[Любите ли вы хурму|Смешно размахивая руками]]"
#Видеопособие [[группы|https://ru.wikipedia.org/wiki/%D0%9D%D0%9E%D0%9C]] [[НОМ|http://www.nomspb.ru/]] по [[вырезанию идеальных геометрических фигур из хурмы|http://www.youtube.com/watch?v=pjOiiWys354]].
См. [[Для горла хорошо. Кровь пойдет.]]
Практически единодушный результат разгадывания [[свалкерами|Свалкер]] ребуса:
>''qt'' 2010-08-01 12:47:32
<<slider chkTextExp 'Чолузь##textexplain' 'Текстовая версия' 'Текстовое описание на случай, если картинка недоступна'>>
В ребусе был изображён дом с 6 окнами.
В окнах нарисовано следующее:
1 - флаг с цифрой "4" на нём
2 - мяч с жирно обведённым контуром
3 - занавески, образующие своими краями букву "Л"
4 - извилистые линии, возможно трещины, образующие букву "У"
5 - рубашка с цифрой "3" на ней
6 - что-то непонятное, но жирный выведена буква "Ь"
Поскольку правильный ответ, всё-таки, "голубь", чолузя так же причислили в отряду пернатых.

В [[камментах|Комментарии]] к изображениям птиц регулярно возникают свалконаучные споры к какому виду отнести представленное пернатое - [[Чолузь]] это или [[Сокал]].
Фраза с фотографии объявления.
>''Booooo'' 2010-10-07 10:55:30
<<slider chkTextExp 'Эффект ужаса##textexplain' 'Текстовая версия' 'Текстовое описание на случай, если картинка недоступна'>>
Содержание объявления ([[правильнописание|Дезорфографирование]] сохранено):
__Уважаемые соседи!__

Телекабели, которые
свисают с крыши к Вашим
ТВ (инд. телеантен) -
нужно закрепить или убрать
(если они не нужны).
Т.к. когда ветер - они
б'ют по рамам и стеклам
ваших соседей и создают
''эффект УЖАСА''.
Ночью спать не возможно.


Юбилеем на [[Свалке|Свалка]] называют случай, когда [[свалкер|Свалкер]], в силу кривости рук (или корявости [[браузера|Не файрфокс]]), постит один и тот же [[коммент|Комментарии]] два (и более) раза подряд. Если у кого-то в [[комментах|Комментарии]] вдруг случился юбилей, то юбиляра надо обязательно поздравить. [[Наебениваться|Завтра воскресенье]] по этому случаю не обязательно. 
''клюкед'' 2008-08-27 18:41:46
Про ясновидящих:

- Алло, это предсказательница Мария?
- Да, Иван Петрович.
- Но я не Иван Петрович!
- ''Я знаю''. 
Один из способов [[дезорфографирования|Дезорфографирование]] текста, популярный на [[Свалке|Свалка]].
Началось всё, надо полагать, с исторического [[письма|Джва года]] некоего [[Кирилла|Ибрагим]] палец которого, вероятно, от сильного волнения, вызванного страстым желанием и утомлённостью от ожидания в течение джвух лет, соскользнул с клавиши "д" вправо.
Поначалу "дж" использовалось в своём канонiческом виде "[[Джва года]] жду //чего-нибудь//". Причём абсолютно не важно сколько времени автор ждёт этого //чего-нибудь// и ждёт ли вообще. Даже если идея посетила [[комментатора|Свалкер]] непосредственно перед написанием послания, добавление "//[[Джва года]] жду//" всегда придаёт сообщению вес и основательность.
Позже "дж" распространилось на "тжри". А ещё позже и на все остальные слова, содержащие в себе букву "д".
Несколько примеров: [[джрова|Дрова]], ''дж''ля, ''дж''руга и ''дж''аже ''дж''дать
Конкретное место рождения фразы установить врядли возможно.
Сначала было "''не понял''".
Потом, в результате раннего, ещё падонкаффкого [[дезорфоргафирования|Дезорфографирование]], получилось "''не понил''".
Много позже, после многочисленных лингвистических извращений, выкристаллизовалось "''не пони''". Что случилось довольно органично на фоне заката разгула [[понелюбов|пони]] на [[Свалко|Свалка]].
>Я не пони [[куда в неё гудок жать|Гудок жать]]
Для обозначения факта осознания чего-либо, вполне возможно использование слова "пони", однако при этом необходимо соблюдать определённую осторожность, чтобы не совершать ошибок начинающих [[дезорфографистов|Дезорфографирование]] - следить, чтобы его нельзя было спутать с обычным "[[пони]]".
Если это не повлечёт именение смысла (или если наплевать), можно даже по-хулигански использовать тире:
>Я пони и [[ушёл просветлённый|Ушёл просветлённый]]
>Я - пони, вы тут все упоротые!
В некоторых случаях возможно [[дезорофографировать|Дезорфографирование]] соседние слова для создания ещё большей радости у читателя:
>Кот не пони, это [[карлег|Карлик]] был.
См. также [[пони]]
//Уважаемый господин// == //ув. г-н// == ''увгн''
Вариант вежливого обращения к собеседнику, принятый на [[Свалке|Свалка]]. Является проявлением воспитанности, уважения и знания норм свалкосветского этикета.

*''мнувгн'' - многоуважаемый господин
*''неувгн'', ''нувгн'' - неуважаемый господин
*''увгжа'' - уважаемая госпожа

[[Дж|дж]]ля тех, у кого "господа в Париже", можно расшифровывать как "уважаемый гражданин"