Welcome to TiddlyWiki created by Jeremy Ruston, Copyright © 2007 UnaMesa Association
Background: #fff
Foreground: #000
PrimaryPale: #8cf
PrimaryLight: #18f
PrimaryMid: #04b
PrimaryDark: #014
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
/*{{{*/
body {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
a {color:[[ColorPalette::PrimaryMid]];}
a:hover {background-color:[[ColorPalette::PrimaryMid]]; color:[[ColorPalette::Background]];}
a img {border:0;}
h1,h2,h3,h4,h5,h6 {color:[[ColorPalette::SecondaryDark]]; background:transparent;}
h1 {border-bottom:2px solid [[ColorPalette::TertiaryLight]];}
h2,h3 {border-bottom:1px solid [[ColorPalette::TertiaryLight]];}
.button {color:[[ColorPalette::PrimaryDark]]; border:1px solid [[ColorPalette::Background]];}
.button:hover {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::SecondaryLight]]; border-color:[[ColorPalette::SecondaryMid]];}
.button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::SecondaryDark]];}
.header {background:[[ColorPalette::PrimaryMid]];}
.headerShadow {color:[[ColorPalette::Foreground]];}
.headerShadow a {font-weight:normal; color:[[ColorPalette::Foreground]];}
.headerForeground {color:[[ColorPalette::Background]];}
.headerForeground a {font-weight:normal; color:[[ColorPalette::PrimaryPale]];}
.tabSelected{color:[[ColorPalette::PrimaryDark]];
background:[[ColorPalette::TertiaryPale]];
border-left:1px solid [[ColorPalette::TertiaryLight]];
border-top:1px solid [[ColorPalette::TertiaryLight]];
border-right:1px solid [[ColorPalette::TertiaryLight]];
}
.tabUnselected {color:[[ColorPalette::Background]]; background:[[ColorPalette::TertiaryMid]];}
.tabContents {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::TertiaryPale]]; border:1px solid [[ColorPalette::TertiaryLight]];}
.tabContents .button {border:0;}
#sidebar {}
#sidebarOptions input {border:1px solid [[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel {background:[[ColorPalette::PrimaryPale]];}
#sidebarOptions .sliderPanel a {border:none;color:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:hover {color:[[ColorPalette::Background]]; background:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:active {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::Background]];}
.wizard {background:[[ColorPalette::PrimaryPale]]; border:1px solid [[ColorPalette::PrimaryMid]];}
.wizard h1 {color:[[ColorPalette::PrimaryDark]]; border:none;}
.wizard h2 {color:[[ColorPalette::Foreground]]; border:none;}
.wizardStep {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];
border:1px solid [[ColorPalette::PrimaryMid]];}
.wizardStep.wizardStepDone {background:[[ColorPalette::TertiaryLight]];}
.wizardFooter {background:[[ColorPalette::PrimaryPale]];}
.wizardFooter .status {background:[[ColorPalette::PrimaryDark]]; color:[[ColorPalette::Background]];}
.wizard .button {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryLight]]; border: 1px solid;
border-color:[[ColorPalette::SecondaryPale]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryPale]];}
.wizard .button:hover {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Background]];}
.wizard .button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::Foreground]]; border: 1px solid;
border-color:[[ColorPalette::PrimaryDark]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryDark]];}
.wizard .notChanged {background:transparent;}
.wizard .changedLocally {background:#80ff80;}
.wizard .changedServer {background:#8080ff;}
.wizard .changedBoth {background:#ff8080;}
.wizard .notFound {background:#ffff80;}
.wizard .putToServer {background:#ff80ff;}
.wizard .gotFromServer {background:#80ffff;}
#messageArea {border:1px solid [[ColorPalette::SecondaryMid]]; background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]];}
#messageArea .button {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::SecondaryPale]]; border:none;}
.popupTiddler {background:[[ColorPalette::TertiaryPale]]; border:2px solid [[ColorPalette::TertiaryMid]];}
.popup {background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]]; border-left:1px solid [[ColorPalette::TertiaryMid]]; border-top:1px solid [[ColorPalette::TertiaryMid]]; border-right:2px solid [[ColorPalette::TertiaryDark]]; border-bottom:2px solid [[ColorPalette::TertiaryDark]];}
.popup hr {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::PrimaryDark]]; border-bottom:1px;}
.popup li.disabled {color:[[ColorPalette::TertiaryMid]];}
.popup li a, .popup li a:visited {color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:active {background:[[ColorPalette::SecondaryPale]]; color:[[ColorPalette::Foreground]]; border: none;}
.popupHighlight {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
.listBreak div {border-bottom:1px solid [[ColorPalette::TertiaryDark]];}
.tiddler .defaultCommand {font-weight:bold;}
.shadow .title {color:[[ColorPalette::TertiaryDark]];}
.title {color:[[ColorPalette::SecondaryDark]];}
.subtitle {color:[[ColorPalette::TertiaryDark]];}
.toolbar {color:[[ColorPalette::PrimaryMid]];}
.toolbar a {color:[[ColorPalette::TertiaryLight]];}
.selected .toolbar a {color:[[ColorPalette::TertiaryMid]];}
.selected .toolbar a:hover {color:[[ColorPalette::Foreground]];}
.tagging, .tagged {border:1px solid [[ColorPalette::TertiaryPale]]; background-color:[[ColorPalette::TertiaryPale]];}
.selected .tagging, .selected .tagged {background-color:[[ColorPalette::TertiaryLight]]; border:1px solid [[ColorPalette::TertiaryMid]];}
.tagging .listTitle, .tagged .listTitle {color:[[ColorPalette::PrimaryDark]];}
.tagging .button, .tagged .button {border:none;}
.footer {color:[[ColorPalette::TertiaryLight]];}
.selected .footer {color:[[ColorPalette::TertiaryMid]];}
.sparkline {background:[[ColorPalette::PrimaryPale]]; border:0;}
.sparktick {background:[[ColorPalette::PrimaryDark]];}
.error, .errorButton {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Error]];}
.warning {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryPale]];}
.lowlight {background:[[ColorPalette::TertiaryLight]];}
.zoomer {background:none; color:[[ColorPalette::TertiaryMid]]; border:3px solid [[ColorPalette::TertiaryMid]];}
.imageLink, #displayArea .imageLink {background:transparent;}
.annotation {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border:2px solid [[ColorPalette::SecondaryMid]];}
.viewer .listTitle {list-style-type:none; margin-left:-2em;}
.viewer .button {border:1px solid [[ColorPalette::SecondaryMid]];}
.viewer blockquote {border-left:3px solid [[ColorPalette::TertiaryDark]];}
.viewer table, table.twtable {border:2px solid [[ColorPalette::TertiaryDark]];}
.viewer th, .viewer thead td, .twtable th, .twtable thead td {background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::Background]];}
.viewer td, .viewer tr, .twtable td, .twtable tr {border:1px solid [[ColorPalette::TertiaryDark]];}
.viewer pre {border:1px solid [[ColorPalette::SecondaryLight]]; background:[[ColorPalette::SecondaryPale]];}
.viewer code {color:[[ColorPalette::SecondaryDark]];}
.viewer hr {border:0; border-top:dashed 1px [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::TertiaryDark]];}
.highlight, .marked {background:[[ColorPalette::SecondaryLight]];}
.editor input {border:1px solid [[ColorPalette::PrimaryMid]];}
.editor textarea {border:1px solid [[ColorPalette::PrimaryMid]]; width:100%;}
.editorFooter {color:[[ColorPalette::TertiaryMid]];}
#backstageArea {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::TertiaryMid]];}
#backstageArea a {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstageArea a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; }
#backstageArea a.backstageSelTab {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
#backstageButton a {background:none; color:[[ColorPalette::Background]]; border:none;}
#backstageButton a:hover {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstagePanel {background:[[ColorPalette::Background]]; border-color: [[ColorPalette::Background]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]];}
.backstagePanelFooter .button {border:none; color:[[ColorPalette::Background]];}
.backstagePanelFooter .button:hover {color:[[ColorPalette::Foreground]];}
#backstageCloak {background:[[ColorPalette::Foreground]]; opacity:0.6; filter:'alpha(opacity:60)';}
/*}}}*/
/*{{{*/
* html .tiddler {height:1%;}
body {font-size:.75em; font-family:arial,helvetica; margin:0; padding:0;}
h1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;}
h1,h2,h3 {padding-bottom:1px; margin-top:1.2em;margin-bottom:0.3em;}
h4,h5,h6 {margin-top:1em;}
h1 {font-size:1.35em;}
h2 {font-size:1.25em;}
h3 {font-size:1.1em;}
h4 {font-size:1em;}
h5 {font-size:.9em;}
hr {height:1px;}
a {text-decoration:none;}
dt {font-weight:bold;}
ol {list-style-type:decimal;}
ol ol {list-style-type:lower-alpha;}
ol ol ol {list-style-type:lower-roman;}
ol ol ol ol {list-style-type:decimal;}
ol ol ol ol ol {list-style-type:lower-alpha;}
ol ol ol ol ol ol {list-style-type:lower-roman;}
ol ol ol ol ol ol ol {list-style-type:decimal;}
.txtOptionInput {width:11em;}
#contentWrapper .chkOptionInput {border:0;}
.externalLink {text-decoration:underline;}
.indent {margin-left:3em;}
.outdent {margin-left:3em; text-indent:-3em;}
code.escaped {white-space:nowrap;}
.tiddlyLinkExisting {font-weight:bold;}
.tiddlyLinkNonExisting {font-style:italic;}
/* the 'a' is required for IE, otherwise it renders the whole tiddler in bold */
a.tiddlyLinkNonExisting.shadow {font-weight:bold;}
#mainMenu .tiddlyLinkExisting,
#mainMenu .tiddlyLinkNonExisting,
#sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;}
#sidebarTabs .tiddlyLinkExisting {font-weight:bold; font-style:normal;}
.header {position:relative;}
.header a:hover {background:transparent;}
.headerShadow {position:relative; padding:4.5em 0em 1em 1em; left:-1px; top:-1px;}
.headerForeground {position:absolute; padding:4.5em 0em 1em 1em; left:0px; top:0px;}
.siteTitle {font-size:3em;}
.siteSubtitle {font-size:1.2em;}
#mainMenu {position:absolute; left:0; width:10em; text-align:right; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;}
#sidebar {position:absolute; right:3px; width:16em; font-size:.9em;}
#sidebarOptions {padding-top:0.3em;}
#sidebarOptions a {margin:0em 0.2em; padding:0.2em 0.3em; display:block;}
#sidebarOptions input {margin:0.4em 0.5em;}
#sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;}
#sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;}
#sidebarOptions .sliderPanel input {margin:0 0 .3em 0;}
#sidebarTabs .tabContents {width:15em; overflow:hidden;}
.wizard {padding:0.1em 1em 0em 2em;}
.wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0em 0em 0em 0em; margin:0.4em 0em 0.2em 0em;}
.wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0em 0em 0em 0em; margin:0.4em 0em 0.2em 0em;}
.wizardStep {padding:1em 1em 1em 1em;}
.wizard .button {margin:0.5em 0em 0em 0em; font-size:1.2em;}
.wizardFooter {padding:0.8em 0.4em 0.8em 0em;}
.wizardFooter .status {padding:0em 0.4em 0em 0.4em; margin-left:1em;}
.wizard .button {padding:0.1em 0.2em 0.1em 0.2em;}
#messageArea {position:fixed; top:2em; right:0em; margin:0.5em; padding:0.5em; z-index:2000; _position:absolute;}
.messageToolbar {display:block; text-align:right; padding:0.2em 0.2em 0.2em 0.2em;}
#messageArea a {text-decoration:underline;}
.tiddlerPopupButton {padding:0.2em 0.2em 0.2em 0.2em;}
.popupTiddler {position: absolute; z-index:300; padding:1em 1em 1em 1em; margin:0;}
.popup {position:absolute; z-index:300; font-size:.9em; padding:0; list-style:none; margin:0;}
.popup .popupMessage {padding:0.4em;}
.popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0em;}
.popup li.disabled {padding:0.4em;}
.popup li a {display:block; padding:0.4em; font-weight:normal; cursor:pointer;}
.listBreak {font-size:1px; line-height:1px;}
.listBreak div {margin:2px 0;}
.tabset {padding:1em 0em 0em 0.5em;}
.tab {margin:0em 0em 0em 0.25em; padding:2px;}
.tabContents {padding:0.5em;}
.tabContents ul, .tabContents ol {margin:0; padding:0;}
.txtMainTab .tabContents li {list-style:none;}
.tabContents li.listLink { margin-left:.75em;}
#contentWrapper {display:block;}
#splashScreen {display:none;}
#displayArea {margin:1em 17em 0em 14em;}
.toolbar {text-align:right; font-size:.9em;}
.tiddler {padding:1em 1em 0em 1em;}
.missing .viewer,.missing .title {font-style:italic;}
.title {font-size:1.6em; font-weight:bold;}
.missing .subtitle {display:none;}
.subtitle {font-size:1.1em;}
.tiddler .button {padding:0.2em 0.4em;}
.tagging {margin:0.5em 0.5em 0.5em 0; float:left; display:none;}
.isTag .tagging {display:block;}
.tagged {margin:0.5em; float:right;}
.tagging, .tagged {font-size:0.9em; padding:0.25em;}
.tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;}
.tagClear {clear:both;}
.footer {font-size:.9em;}
.footer li {display:inline;}
.annotation {padding:0.5em; margin:0.5em;}
* html .viewer pre {width:99%; padding:0 0 1em 0;}
.viewer {line-height:1.4em; padding-top:0.5em;}
.viewer .button {margin:0em 0.25em; padding:0em 0.25em;}
.viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;}
.viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;}
.viewer table, table.twtable {border-collapse:collapse; margin:0.8em 1.0em;}
.viewer th, .viewer td, .viewer tr,.viewer caption,.twtable th, .twtable td, .twtable tr,.twtable caption {padding:3px;}
table.listView {font-size:0.85em; margin:0.8em 1.0em;}
table.listView th, table.listView td, table.listView tr {padding:0px 3px 0px 3px;}
.viewer pre {padding:0.5em; margin-left:0.5em; font-size:1.2em; line-height:1.4em; overflow:auto;}
.viewer code {font-size:1.2em; line-height:1.4em;}
.editor {font-size:1.1em;}
.editor input, .editor textarea {display:block; width:100%; font:inherit;}
.editorFooter {padding:0.25em 0em; font-size:.9em;}
.editorFooter .button {padding-top:0px; padding-bottom:0px;}
.fieldsetFix {border:0; padding:0; margin:1px 0px 1px 0px;}
.sparkline {line-height:1em;}
.sparktick {outline:0;}
.zoomer {font-size:1.1em; position:absolute; overflow:hidden;}
.zoomer div {padding:1em;}
* html #backstage {width:99%;}
* html #backstageArea {width:99%;}
#backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em 0.3em 0.5em;}
#backstageToolbar {position:relative;}
#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em 0.3em 0.5em;}
#backstageButton {display:none; position:absolute; z-index:175; top:0em; right:0em;}
#backstageButton a {padding:0.1em 0.4em 0.1em 0.4em; margin:0.1em 0.1em 0.1em 0.1em;}
#backstage {position:relative; width:100%; z-index:50;}
#backstagePanel {display:none; z-index:100; position:absolute; width:90%; margin:0em 3em 0em 3em; padding:1em 1em 1em 1em;}
.backstagePanelFooter {padding-top:0.2em; float:right;}
.backstagePanelFooter a {padding:0.2em 0.4em 0.2em 0.4em;}
#backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}
.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
/*}}}*/
/***
StyleSheet for use when a translation requires any css style changes.
This StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which 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 1em;}
/* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */
noscript {display:none;}
}
/*}}}*/
<!--{{{-->
<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
<div id='sidebar'>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
<!--{{{-->
<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
/*{{{*/
// may be required for mikes comments plugi
//window.saveChanges = function(){};
setStylesheet(
"label {width:8em; float:left; text-align:right; width:9em; font-size:1.1em; padding:3px; height:1.5em: top:-20px; margin: 0px -2px 0 0;}"+
// "div.wizardFooter {padding-left:0em}"+
"div.wizardStep > input {display:fixed; padding:3px; margin-bottom:5px; margin-top:0px; margin-right:0px}",
'labelStyles');
config.backstageTasks.remove("upgrade");
config.backstageTasks.remove("save");
config.backstageTasks.remove("sync");
// ccAutoSave config//
config.options.chkAutoSave = true;
if(!config.extensions) { config.extensions = {}; } //# obsolete from v2.4.2
config.extensions.ServerSideSavingPlugin = {
adaptor: config.adaptors.cctiddly
};
window.ccTiddlyVersion = '1.8.2';
window.workspacePermission= {};
window.url = "http://milchflasche.byethost31.com/";
window.workspace = "";
window.fullUrl = window.url;
window.useModRewrite = 1;
//if (config.options.txtTheme == "")
//config.options.txtTheme = 'purpleTheme';
workspacePermission.upload = 1;workspacePermission.anonC = 0 ;
workspacePermission.anonR = 1;
workspacePermission.anonU = 0;
workspacePermission.anonD = 0;
workspacePermission.userC = 0 ;
workspacePermission.userR = 1;
workspacePermission.userU = 0;
workspacePermission.userD = 0;
workspacePermission.canCreateWorkspace = 1;
window.workspace_delete = "A";
window.workspace_udate = "A";
var serverside={
url:"http://milchflasche.byethost31.com/", //server url, for use in local TW or TW hosted elsewhere
workspace:"",
queryString:"",
debug:0, //debug mode, display alert box for each action
passwordTime:0, //defines how long password variable store in cookie. 0 = indefinite
messageDuration:5000, //displayMessage autoclose duration (in milliseconds), 0=leave open
loggedIn:0,
can_create_account:"1",
openId:"1"
};
config.defaultCustomFields = {"server.host":window.url, "server.type":"cctiddly", "server.workspace":window.workspace};
config.shadowTiddlers.OptionsPanel = "[[help|Help]] <br />[[settings|AdvancedOptions]]<br /><<ccOptions>>";
readOnly =false;
config.options.chkHttpReadOnly = false; //make it HTTP writable by default
config.options.chkSaveBackups = false; //disable save backup
//config.options.chkAutoSave = true; //disable autosave
config.options.chkUsePreForStorage = false;
/*}}}*/
powerpapepowerpape
(this content is a work in progress)
!!!ccTiddly Tiddlers
[[AnonDefaultTiddlers]]
Allows you to specify a different set of tiddlers to be loaded for anonymous users. Logged in users will be shown the [[DefaultTiddlers]].
[[ccAssignments]]
!!! Predefined ccTiddly Tags
!!!!wizard
Displays the tiddler without showing the date editor tags or title.
!!!!private
Only administrators of a workspace can read tiddlers tagged private.
!!! Working Offline :
To take a copy of a ccTiddly workspace offline add &standalone=1 to the end of the URI and you will be prompted to download an offline file.
More info on Osmosoft can be found at [[osmosoft.com|http://osmosoft.com/]]
!!!{{{<<ccUpload>>}}}
If enabled on the server users can upload files to the ccTiddly server
!!!{{{<<ccLogin>>}}}
Displays the login box if the users is not logged in, if the user is logged in they are shown a logout button
!!!{{{<<ccLoginStatus>>}}}
As with {{{<<ccLogin>>}}} except this displays a link to the login tiddler so can be used where space is tight.
!!!{{{<<ccCreateWorkspace>>}}}
Allows users with permission to create a workspace and define its permissions.
!!!{{{<<ccEditWorkspace>>}}}
Allows admin users to change the permission of a workspace.
!!!{{{<<ccAdmin>>}}}
Allows admin users to add and remove admin users for a workspace.
!!!{{{<<ccVersion>>}}}
Allows users to confirm which version of ccTiddly they are using.
!!!{{{<<today>>}}}
Shows current date.
!!!{{{<<version>>}}}
This macro shows the version number of the current TiddlyWiki document.
!!!{{{<<Alltags>>}}}
Lists all tags. Clicking on a tag lists all the tiddlers assigned that tag.
!!!{{{<<List [type]>>}}}
Parameters : (all (default), missing, orphans, shadowed, touched, filter)
!!!{{{<<Timeline [date] [length] [format]>>}}}
The timeline macro creates a list of tiddlers sorted by a date specified.
Example :
{{{<<timeline "modified" "0" "ddd, YYYY-0MM-0DD">>}}}
Produces :
<<timeline "modified" "0" "ddd, YYYY-0MM-0DD">>
!!!{{{<<Slider cookie tiddler label tooltip>>}}}
The slider macro allows embedding tiddlers within another tiddler, with the option to toggle the visibility of the transcluded contents.
* cookie: variable to save the state of the slider
* tiddler: name of the tiddler to include in the slider
* label: title text of the slider
* tooltip: tooltip text of the slider
Example
{{{<<slider chkTestSlider [[OptionsPanel]] "Options" "Open advanced options">>}}}
Produces :
<<slider chkTestSlider [[OptionsPanel]] "Options" "Open advanced options">>
!!!{{{<<Tabs>>}}}
The tabs macro creates an area where it displays one of several tiddlers alternately, as the user clicks on the tab labels at the top.
It is used like this:
{{{<<tabs ID Label1 Tip1 Tiddler1 Label2 Tip2 Tiddler2 [Label3 ...]>>}}}
produces :
<<tabs ID Label1 Tip1 Tiddler1 Label2 Tip2 Tiddler2 [Label3 ...]>>
* ID: specifies the name of a cookie used to save the information about which tab was displayed last.
* Label1, Label2, ... define the labels that are displayed at the top of the area for each tab
* Tip1, Tip2, ... define tooltips that explain, somewhat more verbosely than the labels, what you can expect to find on each tab.
* Tiddler1, Tiddler2, ... name the tiddlers that are displayed on each tab.
Obviously, there must be exactly three strings for each tab.
The syntax for the tabs macro looks like this:
{{{<<tabs txt[cookieName]
"[label]" "[title]" [[tiddler]]
"[label]" "[title]" [[tiddler]]
...
>>}}}
produces :
<<tabs txt[cookieName]
"[label]" "[title]" [[tiddler]]
"[label]" "[title]" [[tiddler]]
...
>>
!!!{{{<<Tagging [tag]>>}}}
This macro generates a list of tiddlers that carry the specified tag.
<<tagging [tag]>>
If the tag parameter is not specified, the current tiddler's name will be used instead.
!!!{{{<<Tagchooser>>}}}
!!!{{{<<NewJournal>>}}}
This macro generates a button to create a journal tiddler, using the current time and date as title.
It is otherwise identical to the NewTiddler macro.
Example :
{{{<<newJournal [date format]>>}}}
Produces :
<<newJournal [date format]>>
The optional parameter can be used to specify a custom date format.
In addition, all of the NewTiddler macro's parameters are valid.
!!!{{{<<NewTiddler>>}}}
Usage
<<newTiddler [parameters]>>
Parameters
This macro uses named parameters. All parameters are optional.
|Parameter|Description|
|label |button label|
|prompt|button tooltip|
|title|title for the new tiddler (defaults to "New Tiddler")|
|text|contents for the new tiddler|
|tag|tag to be applied to the new tiddler (parameter can be used repeatedly to specify multiple tags)|
|accessKey|single letter to use as access key to trigger the button|
|focus|which of the editable fields to default the focus to (e.g. "title", "text", "tags")|
|template|template tiddler to use to display the new tiddler (defaults to EditTemplate)|
|fields|custom fields to be assigned to the new tiddler, in name:value;name:value; format|
Only fields contained as input fields in the specified template can be primed with an initial value.
[edit] Example
<<newTiddler
label:"New Tiddler"
text:"Hello world."
tag:"test"
tag:"an example"
accessKey:"1"
focus:"tags"
>>
!!!{{{<<Savechanges>>}}}
!!!{{{<<Search>>}}}
This macro creates an input field to perform full-text searches on a TiddlyWiki document's tiddler contents.
[edit] Usage
Example :
{{{<<search [value]>>}}}
Produces :
<<search [value]>>
By specifiying the value parameter, the search form can be "preloaded" with the desired term.
[edit] Options
This section is still incomplete. You can help by contributing to its expansion.
Please improve the article, or discuss the issue on the talk page.
* case-sensitive
* regular expressions
!!!{{{<<Gradient>>}}}
The Gradient macro allows simple horizontal and vertical coloured gradients. They are constructed from coloured HTML elements, and don't require any images to work.
The Gradient macro is an extended macro that processes the text after it up until the next '
>>
' sequence. It looks like this:
Example :
{{{<<gradient vert #ffffff #ffdddd #ff8888>>gradient fill>>}}}
Produces :
<<gradient vert #ffffff #ffdddd #ff8888>>gradient fill>>
The first parameter can be vert or horiz to indicate the direction of the gradient. The following parameters are two or more colours (CSS RGB(r,g,b) format is also acceptable). The macro constructs a smooth linear gradient between each of the colours in turn.
Inline CSS definitions can be added to gradient fills like this:
Example :
{{{<<gradient vert #000000 #660000 #aa2222>>color:#ffffff;font-size:12pt;Darkness>>}}}
Produces :
<<gradient vert #000000 #660000 #aa2222>>color:#ffffff;font-size:12pt;Darkness>>
!!!{{{<<Closeall>>}}}
!!!{{{<<Permaview>>}}}
Changes the browser address bar to a permalink to the current Tiddler or the set of open tiddlers. It is used with the ToolbarMacro like this:
Example :
{{{<<toolbar permalink>>}}}
Produces :
<<toolbar permalink>>
!!!{{{<<Toolbar>>}}}
The ToolbarMacro is used in the TemplateMechanism to define the toolbar that appearthat appear either in EditMode or in ViewMode. The arguments to the ToolbarMacro is a list of command names, as discussed in the CommandMechanism..
You can precede a command name with a "+" to specify a default command that is automatically chosen when a tiddler is double-clicked, or the ctrl-Enter key combination pressed. Similarly, precede it with "-" to specify a command to be chosen when the Escape key is pressed.
!!!{{{<<Annotations>>}}}
!!!{{{<<Edit>>}}}
The command <<edit>> switches from ViewMode to EditMode. The EditMacro is either a double mouse click inside the tiddler or the entry 'edit' in the tiddler's Toolbar. It is used in ViewTemplate as ToolbarMacro like this:
Example :
{{{<<toolbar +editTiddler>>}}}
Produces :
<<toolbar +editTiddler>>
!!!{{{<<Message>>}}}
!!!{{{<<Refreshdisplay>>}}}
!!!{{{<<View fieldname how...>>}}}
Retrieves a specified field (given by fieldname) from the tiddler to be displayed and outputs its value in one of the following ways (the optional //how// parameter):
* (unspecified): render as is (without formatting)
* link: format as a link (using createTiddlyLink)
* wikified: format using all the normal rendering rules
* date: expects a value of the form YYYYMMDDHHMM and outputs it using either a specified format (...) or config.views.wikified.dateFormat
The standard field names are:
* title - the tiddler title
* tiddler - the tiddler title (as well)
* text - the text of the tiddler
* modifier - the person who last modified it
* modified - date&time of last modification
* created - when it was created
* tags - the tiddler tags
If your tiddlers contain custom fields, they could be specified as well.
The view macro is used extensively in the standard tiddler rendering templates (ViewTemplate and EditTemplate).
~TiddlyWiki is a single html file containing all the characteristics of a wiki - all the content, all the functionality (including editing, saving, tagging and searching) and the style sheet. Because it's a single file, it's very portable - you can email it, put it on a web server or share it via a USB stick. ccTiddly provides a serverside backend to ~TiddlyWiki so you can store your content on the web and access it from anywhere.
Together the two provide a powerful combination which allows you to collaborate with your colleages online, you can then tear a copy of all the work to take on a plane or train journey. When you have found an internet connection again you can sync your changes with the online copy and you will be notified of any conflicts.
Some things you could do with ccTiddly workspace include:
* A team/public Website
* A Blog
* A personal notebook
* A GTD ("Getting Things Done") productivity tool
* A collaboration/communication tool
* A TeamTasks implementation
* For building websites (this site is a TiddlyWiki file!)
* For rapid prototyping
* ...and much more!
You can import and export data to and from all sorts of places. Check out the backstage > import options. There's a more detailed list of features here.
<<slider cctHelpIntro [[ccTiddly Introduction]] "ccTiddly Introduction »" "A introduction to the basics of TiddlyWiki.">>
<<slider cctHelpFormatting [[TiddlyWiki Formatting Guide]] "Tiddly Wiki Formatting Guide »" "A basic guide to TiddlyWiki formatting.">>
<<slider cctHelpccTiddlyMacros [[ccTiddly Macros]] "ccTiddly Macros »" "A Guide to all the ccTiddly Macros">>
<<slider cctHelpTiddlyWikiMacros [[TiddlyWiki Macros]] "TiddlyWiki Macros »" "A Guide to all the TiddlyWiki Macros">>
Please see the TiddlyWiki community wiki documentation : http://tiddlywiki.org/wiki/TiddlyWiki_Markup
powerpape
<div class='toolbar' macro='toolbar closeTiddler closeOthers'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
|~ViewToolbar|closeTiddler closeOthers +editTiddler > fields syncing permalink revisions references jump|
|~EditToolbar|+saveTiddler -cancelTiddler deleteTiddlerHosted|
powerpape
|''Description:''|TeamTasks |
|''Type:''|tiddlywiki|
|''URL:''|http://getteamtasks.com/teamtasks.html|
|''image:''|http://127.0.0.1/teamtasks.jpg|
|''Workspace:''|Main|
|''Description:''|Life Stream |
|''Type:''|tiddlywiki|
|''URL:''|http://simonmcmanus.com|
|''image:''|http://127.0.0.1/simonmcmanustheme.jpg|
|''Workspace:''|Main|
|''Description:''|Visual TW |
|''Type:''|tiddlywiki|
|''URL:''|http://visualtw.ouvaton.org/VisualTW.html|
|''Workspace:''|Main|
|''Description:''|LocalccTiddly|
|''Type:''|cctiddly|
|''URL:''|http://127.0.0.1/Trunk/|
|''Workspace:''|martin|
|''Description:''|TiddlyThemes |
|''Type:''|tiddlywiki|
|''URL:''|http://tiddlythemes.com|
|''Workspace:''|Main|
|''Description:''|TiddlyTools |
|''Type:''|TiddlyWiki|
|''URL:''|http://tiddlytools.com|
|''Workspace:''|Main|
|''Description:''|TiddlyVault |
|''Type:''|TiddlyWiki|
|''URL:''|http://tiddlyvault.tiddlyspot.com/|
|''Workspace:''|Main|
|''Description:''|MonkeyPirate|
|''Type:''|tiddlywiki|
|''URL:''|http://mptw.tiddlyspot.com/empty.html|
|''Workspace:''|Main|
powerpape
/***
|''Name''|ServerSideSavingPlugin|
|''Description''|server-side saving|
|''Author''|FND|
|''Version''|0.3.2|
|''Status''|@@experimental@@|
|''Source''|http://svn.tiddlywiki.org/Trunk/association/plugins/ServerSideSavingPlugin.js|
|''License''|[[Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]]|
|''Requires''|[[ServerConfig]]|
|''Keywords''|serverSide|
!Notes
This plugin relies on a dedicated configuration plugin to be present.
The specific nature of this plugins depends on the respective server.
!Revision History
!!v0.1 (2008-11-24)
* initial release
!!v0.2 (2008-12-01)
* added support for local saving
!!v0.3 (2008-12-03)
* added Save to Web macro for manual synchronization
!To Do
* conflict detection/resolution
* rename to ServerLinkPlugin?
* attempt to determine default adaptor (and defaultCustomFields) from systemServer tiddlers
* handle deleting/renaming (e.g. by hijacking the respective commands and creating a log)
!Code
***/
//{{{
if(!version.extensions.ServerSideSavingPlugin) { //# ensure that the plugin is only installed once
version.extensions.ServerSideSavingPlugin = { installed: true };
if(!config.extensions) { config.extensions = {}; } //# obsolete from v2.4.2
(function(plugin) { //# set up alias
if(!plugin || !plugin.adaptor) {
throw "Missing dependency: ServerConfig";
}
plugin = {
adaptor: plugin.adaptor, //# N.B.: expects config.extensions.ServerSideSavingPlugin.adaptor to be set
locale: {
saved: "%0 saved successfully",
saveError: "Error saving %0: %1",
deleted: "Removed %0",
deleteError: "Error removing %0: %1",
deleteLocalError: "Error removing %0 locally",
removedNotice: "This tiddler has been deleted."
},
sync: function() {
store.forEachTiddler(function(title, tiddler) {
if(tiddler.fields.deleted) {
plugin.removeTiddler(tiddler);
} else if(tiddler.isTouched() && tiddler.getServerType() && tiddler.fields["server.host"]) {
plugin.saveTiddler(tiddler);
}
});
},
saveTiddler: function(tiddler) {
var adaptor = new this.adaptor();
var context = {
tiddler: tiddler,
changecount: tiddler.fields.changecount
};
context.workspace = tiddler.fields["server.workspace"];
var req = adaptor.putTiddler(tiddler, context, {}, this.saveTiddlerCallback);
return req ? tiddler : false;
},
saveTiddlerCallback: function(context, userParams) {
var tiddler = context.tiddler;
if(context.status) {
if(tiddler.fields.changecount == context.changecount) { //# check for changes since save was triggered
tiddler.clearChangeCount();
} else if(tiddler.fields.changecount > 0) {
tiddler.fields.changecount -= context.changecount;
}
displayMessage(plugin.locale.saved.format([tiddler.title]));
store.setDirty(false);
} else {
displayMessage(plugin.locale.saveError.format([tiddler.title, context.statusText]));
}
},
removeTiddler: function(tiddler) {
var adaptor = new this.adaptor();
context = { tiddler: tiddler };
context.workspace = tiddler.fields["server.workspace"];
var req = adaptor.deleteTiddler(tiddler, context, {}, this.removeTiddlerCallback);
return req ? tiddler : false;
},
removeTiddlerCallback: function(context, userParams) {
var tiddler = context.tiddler;
if(context.status) {
if(tiddler.fields.deleted) {
store.deleteTiddler(tiddler.title);
} else {
displayMessage(plugin.locale.deleteError.format([tiddler.title]));
}
displayMessage(plugin.locale.deleted.format([tiddler.title]));
store.setDirty(false);
} else {
displayMessage(plugin.locale.deleteLocalError.format([tiddler.title, context.statusText]));
}
}
};
config.macros.saveToWeb = { // XXX: hijack existing sync macro?
locale: {
btnLabel: "save to web",
btnTooltip: "synchronize changes",
btnAccessKey: null
},
handler: function(place, macroName, params, wikifier, paramString, tiddler) {
createTiddlyButton(place, this.locale.btnLabel, this.locale.btnTooltip,
plugin.sync, null, null, this.locale.btnAccessKey);
}
};
// hijack saveChanges to trigger remote saving
plugin.saveChanges = saveChanges;
saveChanges = function(onlyIfDirty, tiddlers) {
if(window.location.protocol == "file:") {
plugin.saveChanges.apply(this, arguments);
} else {
plugin.sync();
}
};
// override removeTiddler to flag tiddler as deleted
TiddlyWiki.prototype.removeTiddler = function(title) { // XXX: should override deleteTiddler instance method?
var tiddler = this.fetchTiddler(title);
if(tiddler) {
tiddler.tags = ["excludeLists", "excludeSearch", "excludeMissing"];
tiddler.text = plugin.locale.removedNotice;
tiddler.fields.deleted = true; // XXX: rename to removed/tiddlerRemoved?
tiddler.incChangeCount();
this.notify(title, true);
this.setDirty(true);
}
};
})(config.extensions.ServerSideSavingPlugin); //# end of alias
// override saveTiddler to fix core bug (ticket #769) -- XXX: to be fixed in TiddlyWiki v2.4.2
Story.prototype.saveTiddler = function(title,minorUpdate)
{
var tiddlerElem = this.getTiddler(title);
if(tiddlerElem) {
var fields = {};
this.gatherSaveFields(tiddlerElem,fields);
var newTitle = fields.title || title;
if(!store.tiddlerExists(newTitle))
newTitle = newTitle.trim();
if(store.tiddlerExists(newTitle) && newTitle != title) {
if(!confirm(config.messages.overwriteWarning.format([newTitle.toString()])))
return null;
}
if(newTitle != title)
this.closeTiddler(newTitle,false);
tiddlerElem.id = this.tiddlerId(newTitle);
tiddlerElem.setAttribute("tiddler",newTitle);
tiddlerElem.setAttribute("template",DEFAULT_VIEW_TEMPLATE);
tiddlerElem.setAttribute("dirty","false");
if(config.options.chkForceMinorUpdate)
minorUpdate = !minorUpdate;
if(!store.tiddlerExists(newTitle))
minorUpdate = false;
var newDate = new Date();
var extendedFields = store.tiddlerExists(newTitle) ? store.fetchTiddler(newTitle).fields : (newTitle!=title && store.tiddlerExists(title) ? store.fetchTiddler(title).fields : merge({},config.defaultCustomFields));
for(var n in fields) {
if(!TiddlyWiki.isStandardField(n))
extendedFields[n] = fields[n];
}
var tiddler = store.saveTiddler(title,newTitle,fields.text,minorUpdate ? undefined : config.options.txtUserName,minorUpdate ? undefined : newDate,fields.tags,extendedFields);
autoSaveChanges(null,[tiddler]);
return newTitle;
}
return null;
};
} //# end of "install only once"
//}}}
/***
|''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. |
|''Version:''|1.1.0|
|''Date:''|mar 17, 2007|
|''Source:''|http://tiddlywiki.bidix.info/#LoadRemoteFileHijack|
|''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|
***/
//{{{
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);
}
//}}}
/***
|Name|TaggedTemplateTweak|
|Source|http://www.TiddlyTools.com/#TaggedTemplateTweak|
|Documentation|http://www.TiddlyTools.com/#TaggedTemplateTweakInfo|
|Version|1.4.1|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides|Story.prototype.chooseTemplateForTiddler()|
|Description|use alternative ViewTemplate/EditTemplate for tiddler's tagged with specific tag values|
This tweak extends story.chooseTemplateForTiddler() so that ''whenever a tiddler is marked with a specific tag value, it can be viewed and/or edited using alternatives to the standard tiddler templates.''
!!!!!Documentation
>see [[TaggedTemplateTweakInfo]]
!!!!!Revisions
<<<
2008.08.29 [1.4.1] corrected handling for tiddlers with no matching tagged template when non-default theme is in effect (e.g., use "MyTheme##ViewTemplate").
| please see [[TaggedTemplateTweakInfo]] for previous revision details |
2007.06.11 [1.0.0] initial release
<<<
!!!!!Code
***/
//{{{
version.extensions.TaggedTemplateTweak= {major: 1, minor: 4, revision: 1, date: new Date(2008,8,29)};
Story.prototype.taggedTemplate_chooseTemplateForTiddler = Story.prototype.chooseTemplateForTiddler
Story.prototype.chooseTemplateForTiddler = function(title,template)
{
// get default template from core
var coreTemplate=this.taggedTemplate_chooseTemplateForTiddler.apply(this,arguments);
// if the tiddler doesn't exist yet or is untagged, return core result
var tiddler=store.getTiddler(title);
if (!tiddler || !tiddler.tags.length)
return coreTemplate;
// split core template into theme prefix and template name
var theme="";
var template=coreTemplate;
var parts=template.split(config.textPrimitives.sectionSeparator);
if (parts[1]) { theme=parts[0]; template=parts[1]; }
else theme=config.options.txtTheme||""; // fallback if theme is not specified
theme+=config.textPrimitives.sectionSeparator;
// look for template whose prefix matches a tag on this tiddler (if any)
for (i=0; i<tiddler.tags.length; i++) {
var t=tiddler.tags[i]+template; // add tag prefix to template
var c=t.substr(0,1).toUpperCase()+t.substr(1); // capitalized for WikiWord title
if (store.getTiddlerText(theme+t)) { return theme+t; } // theme##tagTemplate
if (store.getTiddlerText(theme+c)) { return theme+c; } // theme##TagTemplate
if (store.getTiddlerText(t)) { return t; } // tagTemplate
if (store.getTiddlerText(c)) { return c; } // TagTemplate
}
return coreTemplate; // no matching tag, return core result
}
/***
|Name|TaggedTemplateTweak|
|Source|http://www.TiddlyTools.com/#TaggedTemplateTweak|
|Documentation|http://www.TiddlyTools.com/#TaggedTemplateTweakInfo|
|Version|1.4.1|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides|Story.prototype.chooseTemplateForTiddler()|
|Description|use alternative ViewTemplate/EditTemplate for tiddler's tagged with specific tag values|
This tweak extends story.chooseTemplateForTiddler() so that ''whenever a tiddler is marked with a specific tag value, it can be viewed and/or edited using alternatives to the standard tiddler templates.''
!!!!!Documentation
>see [[TaggedTemplateTweakInfo]]
!!!!!Revisions
<<<
2008.08.29 [1.4.1] corrected handling for tiddlers with no matching tagged template when non-default theme is in effect (e.g., use "MyTheme##ViewTemplate").
| please see [[TaggedTemplateTweakInfo]] for previous revision details |
2007.06.11 [1.0.0] initial release
<<<
!!!!!Code
***/
//{{{
version.extensions.TaggedTemplateTweak= {major: 1, minor: 4, revision: 1, date: new Date(2008,8,29)};
Story.prototype.taggedTemplate_chooseTemplateForTiddler = Story.prototype.chooseTemplateForTiddler
Story.prototype.chooseTemplateForTiddler = function(title,template)
{
// get default template from core
var coreTemplate=this.taggedTemplate_chooseTemplateForTiddler.apply(this,arguments);
// if the tiddler doesn't exist yet or is untagged, return core result
var tiddler=store.getTiddler(title);
if (!tiddler || !tiddler.tags.length)
return coreTemplate;
// split core template into theme prefix and template name
var theme="";
var template=coreTemplate;
var parts=template.split(config.textPrimitives.sectionSeparator);
if (parts[1]) { theme=parts[0]; template=parts[1]; }
else theme=config.options.txtTheme||""; // fallback if theme is not specified
theme+=config.textPrimitives.sectionSeparator;
// look for template whose prefix matches a tag on this tiddler (if any)
for (i=0; i<tiddler.tags.length; i++) {
var t=tiddler.tags[i]+template; // add tag prefix to template
var c=t.substr(0,1).toUpperCase()+t.substr(1); // capitalized for WikiWord title
if (store.getTiddlerText(theme+t)) { return theme+t; } // theme##tagTemplate
if (store.getTiddlerText(theme+c)) { return theme+c; } // theme##TagTemplate
if (store.getTiddlerText(t)) { return t; } // tagTemplate
if (store.getTiddlerText(c)) { return c; } // TagTemplate
}
return coreTemplate; // no matching tag, return core result
}
//}}}
config.macros.taggedTabs={};
config.macros.taggedTabs.handler=function(place,macroName,params,wikifier,paramString,tiddler,errorMsg){
var params = paramString.parseParams("taggedTabset",null,true,false,false);
var tagged = store.getTaggedTiddlers(params[1].value,"title").reverse();
var cookie = "taggedTabs";
var wrapper = createTiddlyElement(null,"div",null,"tabsetWrapper taggedTabset" + cookie);
var tabset = createTiddlyElement(wrapper,"div",null,"tabset");
var validTab = false;
tabset.setAttribute("cookie",cookie);
for(var t=0; t<tagged.length; t++) {
var label = tagged[t].title;
if(label=='ccLogin')
tabLabel = config.macros.ccLogin.buttonLogin;
else
tabLabel = label;
var prompt = tagged[t].title;
var tab = createTiddlyButton(tabset,tabLabel,prompt,config.macros.tabs.onClickTab,"tab tabUnselected");
tab.setAttribute("tab",label);
tab.setAttribute("content",label);
if(config.options[cookie] == label)
validTab = true;
}
if(!validTab)
config.options[cookie] = tagged[0].title;
place.appendChild(wrapper);
config.macros.tabs.switchTab(tabset, config.options[cookie]);
setStylesheet("div.tiddler .tab {font-size:1.2em; font-weight:bold;padding-left:2em; padding-right:2em; margin-left:0px; margin-right:1em; padding-bottom:2px}"+
"div.tiddler .wizard { margin:0px; }"+
" div.tabContents .wizard { margin:0px; }"+
".tabsetWrapper .wizard h1 {display:none}"+
".tabsetWrapper .wizard h2 {padding:0.5em}"+
".viewer {float:right; width:90%;}"+
"div.viewer div.tabsetWrapper{width:90%}"+
"a.tabSelected{ filter:'alpha(opacity:60)'; }"+
"div.tabset {padding:0px}"+
"div.tabContents {padding:0px; background:transparent}",
"taggedTabs");
};
//}}}
powerpape
/***
|''Name:''|smmTheme|
|''Author:''|Saq Imtiaz and Simon McManus|
|''Source''|http://svn.tiddlywiki.org/Trunk/association/serversides/cctiddly/Trunk/tiddlers/themes/smmTheme.tiddler|
|''~CodeRepository:''|http://svn.tiddlywiki.org/Trunk/association/serversides/cctiddly/Trunk/tiddlers/themes/smmTheme.tiddler|
|''License:''|[[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]] |
|''~CoreVersion:''|2.4.1|
|''~PageTemplate:''|##PageTemplate|
|''~tabs:''|##tabs|
|''~OptionsPanel:''|##OptionsPanel|
|''~StyleSheet:''|##StyleSheet|
|''~taskViewTemplate:''|##taskViewTemplate|
|''~taskEditTemplate:''|##taskEditTemplate|
|''~EditTemplate:''|##EditTemplate|
|''~ViewTemplate:''|##ViewTemplate|
***/
!PageTemplate
<!--{{{-->
<div class='header' macro='gradient vert #111 #222'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span><div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
</div>
<div id='bodywrapper'>
<div id='sidebar'>
<div id='sidebarOptions' refresh='content' force='true' tiddler='smmTheme##SideBarOptions'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<div id='contentFooter' macro='gradient vert #222 #111'></div>
</div>
<!--}}}-->
!taskViewTemplate
<!--{{{-->
<div class='toolbar' macro='toolbar closeTiddler closeOthers +editTiddler > fields syncing permalink references jump'></div>
<div class='title' macro='view title'>Task : </div>
<div class='task'>
<table>
<tr>
<td class='taskbody' width=100%><div class='viewer' macro='view text wikified'></div></td>
<td class='taskControls' valign='top'><div class='taskControls' macro='tiddler TaskTiddlerControls'></td>
</tr>
</table>
</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='tagClear'></div>
<!--}}}-->
!taskEditTemplate
<!--{{{-->
<div class="editor">
<div class='toolbar' macro='toolbar[[ToolbarCommands::EditToolbar]]'></div>
<div class='title edit' macro='edit title'></div>
<div class='task'>
<table>
<tr>
<td class='taskbody' width=100% height=100%><div class='viewer edit' macro='edit text wikified'></div></div></td>
<td class='taskControls' valign=top><div class='taskControls' macro='tiddler TaskTiddlerControls'></td>
</tr>
</table>
</div>
<div class='subtitle'>Last edited by: <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='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser'></span></div>
<div class='tagClear'></div>
</div>
<!--}}}-->
!EditTemplate
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]]'></div>
<div class='editor' macro='edit title'></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser'></span></div>
<!--}}}-->
!ViewTemplate
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='subtitle'>Last edited by: <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='tagClear'></div>
<!--}}}-->
!wizardViewTemplate
<!--{{{-->
<div class='toolbar' macro='toolbar closeTiddler closeOthers'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
!OptionsPanel
[[help|Help]] <br />[[settings|AdvancedOptions]]<br /><<ccOptions>>
!tabs
<<tabs txtMainTab "Timeline" "Timeline" TabTimeline "All" "All tiddlers" TabAll "Tags" "All tags" TabTags "More" "More lists" TabMore>>
!SideBarOptions
<<search {{config.options.search}}>><<closeAll>><<newTiddler label:{{config.macros.newTiddler.label}} text:{{config.macros.newTiddler.text}} title:{{config.macros.newTiddler.title}} tag:"">
<<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel {{config.macros.ccOptions.options}} 'change TiddlyWiki Options'>><<slider 'chkLoginStatus' 'LoginStatus' {{config.macros.ccLoginStatus.status}} 'Login to make changes'>><<slider chkSliderTabs SideBarTabs {{config.theme.contentTiddler}} {{config.theme.contentTiddlerTooltip}}>>
!StyleSheet
/***
General
***/
/*{{{*/
.tiddler .button:hover {
background-color:#222;
}
.tiddler .button {
border:1px solid black;
line-height:2;
margin:5px;
padding:8px;
}
#contentWrapper .tiddler .button {
margin-left:20px;
}
body .chkOptionInput {
width:auto;
float:right;
}
#contentWrapper .wizard .txtOptionInput {
width:7em;
}
body{
background: #111;
color:white;
// background-image:url(http://friendster.bigoo.ws/content/layout/film-cartoon/film-cartoon_111.jpg);
// background-image:url(http://g.editingmyspace.com/shay773/halloweenbackgrounds/BG1.gif);
}
#backstageCloak {
opacity:0.9; filter:'alpha(opacity:90)';
background:#222;
}
#messageArea {
border:0px;
color:white;
background-color:#222;
}
#messageArea .button{
background:none;
}
#mainMenu br {
display:none;
}
h1 {
color:white;
}
#contentWrapper{
position:relative;
margin: 2.5em auto;
width:780px;
line-height: 1.6em;
border:1px solid #111;
font-size: 11px;
font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;
height:1%;
background-color:#222;
}
.clearAll{
clear:both;
}
.tagClear{
clear:none;
}
/*}}}*/
/*{{{*/
.siteTitle {
font-family: 'Trebuchet MS' sans-serif;
font-weight: bold;
position:relative;
top:20px;
left :20px;
font-size: 32px;
color:#eee;
}
.siteSubtitle {
padding-top:15px;
font-size: 1.0em;
display:block;
color: #999; margin-top:0.5em !important; margin-top:1em; margin-left:3em;
}
#displayArea {
margin-left:1.35em;
margin-right:16.3em;
margin-top:0;
padding-top:1em;
padding-bottom:10px;
}
.tabUnselected {
background:#222 none repeat scroll 0%;
color:#999;
}
#sidebar {
position:inherit;
float:right;
display:inline;
}
#tiddlerDisplay .tagging, #tiddlerDisplay .tagged {
background-color:#222;
border:none;
float:none;
}
.sliderPanel .tabsetWrapper .tabContents {
border-right:none;
border-color:#999;
background-color:#111;
}
#sidebarOptions .sliderPanel a{
padding:3px;
margin:0px;
border:2px;
background-color:#111;
}
.tabsetWrapper {
position :relative;
}
#sidebar {
padding-left:0.5em;
background-color:#222;
padding-top:1em;
}
#sidebarOptions a {
margin:17px;
display:block;
margin:0.5em 0em;
padding:0.3em 0.6em;
}
.popup li a {
padding:12px;
}
#tiddlerDisplay .toolbar a.button, #sidebarOptions a, .toolbar .popup li a, #mainMenu a, #sidebarOptions .sliderPanel input {
background-color:#111;
color:#999;
border:1px solid #111;
}
.wizard .txtOptionInput {
text-align:right;
}
a:hover {
background-color:#222;
color:#eee
}
#tiddlerDisplay .toolbar a.button:hover, #sidebarOptions a:hover, #mainMenu a:hover, #sidebarOptions .sliderPanel input:hover {
border:1px dotted #000;
background-color:#222;
color:white;
}
#mainMenu a {
padding:8px 15px 8px 15px;
margin:10px;
line-height:40px;
border:0px solid #eee;
}
#contentWrapper #mainMenu {
position:static;
width:100%;
float:left;
text-align:left;
padding-top:20px;
}
.editor textarea, .editor input, input, body select {
border:1px solid #222;
background-color:#333;
color:#999;
padding:3px;
margin:3px;
}
#sidebarOptions input {
border:1px solid #999;
background-color:#00000;
width:10em;
}
#sidebarTabs {
margin:0px;
padding:0px
}
#sidebarTabs .tabContents {
color:#eee;
background:#111;
}
.tagged li
{
display: inline;
}
.tiddler .button {
color:white;
padding:0.4em 0.9em 0.4em 0.9em;
margin:0px 0px 0px 7px;
}
#sideBarOptions .searchButton {
display:none;
}
#sidebar .sliderPanel {
border-color:-moz-use-text-color #222 -moz-use-text-color -moz-use-text-color;
border-style:none solid none none;
border-width:0 1px 0 0;
margin-bottom:0.8em;
margin-left:5px;
padding:0;
margin-left:0px;
}
#sidebarOptions .searchButton {
display:none;
}
.title {
color:#C0C0C0;
}
.subtitle, .subtitle a {
color: #999;
font-size: 1em;margin:0.2em;
font-variant: small-caps;
}
.wizard .button:hover{
background-color:#333;
border:1px solid #444;
color:white;
}
.selected .toolbar a {
color:#999;
}
.selected .toolbar a:hover {
color:#222;
background:transparent;
border:1px solid #fff;
}
.viewer pre {
background:#111111 none repeat scroll 0 0;
border:1px solid #FFEE88;
}
* html .viewer pre {
margin-left: 0em;
}
* html .editor textarea, * html .editor input {
width: 98%;
}
a,#sidebarOptions .sliderPanel a, #topMenu a, #topMenu .button {
color:green;
background-color:transparent;
}
#sidebarOptions .sliderPanel a:hover, #topMenu a, #topMenu .button:hover {
color:white;
background-color:transparent;
border:0px;
}
#topMenu a, #topMenu .button, .wizard .button {
padding: 5px 15px;
margin:9px;
border:1px solid #999;
font-weight:bold;
line-height:40px;
top:1em;
color:#eee;
background-color:#222;
}
#topMenu br {
display:none;
}
#topMenu a:hover, #topMenu .button:hover {
background-color:#222;
}
.tagging, .tagged {
border: 1px solid #eee;
}
.highlight, .marked {
background:transparent;
color:#111;
border:none;
text-decoration:underline;
}
.tagging .button:hover, .tagged .button:hover, .tagging .button:active, .tagged .button:active {
border: none;
background:transparent;
text-decoration:underline;
color:#222;
}
.tiddler {
padding-bottom: 40px;
}
.viewer th, thead td {
background: #222;
border:none;
color: #fff;
}
.viewer table {
border:1px dotted #222;
}
table.twtable {
border-collapse:seperate;
}
.viewer pre {
border: 1px solid #999;
}
.viewer hr {
border-top: dashed 1px #999;
}
.tabSelected {
background:#111 none repeat scroll 0%;
border:1px solid #111;
border-bottom:1px solid black;
color:#999;
}
.tabContents {
background:#f7f7f7;
border:0px;
}
.viewer code {
background:##222 none repeat scroll 0%;
color:#999;
}
h1,h2,h3,h4,h5 {
color: #555; border-color:#333; background: transparent; padding-bottom:2px; font-family: Arial, Helvetica, sans-serif;
}
h1 {
font-size:18px;
}
h2 {
font-size:16px;
}
h3 {
font-size: 14px;
}
#contentFooter {
background:#999;
clear: both;
padding: 0.5em 1em;
}
.wizard input {
border:1px solid #333;
}
#sidebarOptions input {
border: 1px solid #222;
}
.annotation {
background-color:green;
border:1px solid white;
color:white;
}
.wizardFooter .button{
background:#222;
margin:3px;
padding:0.5em;
padding-left:1.5em;
padding-right:1.5em;
color:white;
border:1px solid #333;
}
table, .viewer td, .viewer tr, .twtable td, .twtable tr {
border:0px solid #666666;
}
.tagging .listTitle, .tagged .listTitle, .txtMainTab .tabContents li {
color:white;
}
body .wizardFooter {
background:none;
font-weight:bold;}
.wizardStep {
border:none;
background-color:none;
}
body .wizard {
width:80%;
padding:10px;
border:1px solid #EBE6F5;
}
.wizard th{
background:#222;
color:#888;
padding:3px;
margin:40px;
};
.wizard, listView twtable {
border:0px;
};
.wizard {
padding : 4px 14px 4px 14px;
font-weight:bold;
color:#292929;
border:solid 0px #292929;
margin-top:1px;
}
.viewer .wizard, body .wizard{
background:#111;
margin:2em;
border:0px;
border:1px solid #333;
color:#777;
}
.wizard h1{
color:#999;
}
.wizard h2{
padding:4px;
color:white;
}
body .wizardStep{
color:#999;
border:0px;
margin:0m;
background:none;
}
body select {
border:0px;
padding:3px;
margin:4px;
}
#backstagePanel {
border:0px;
background:none;
width:60%;
position:fixed
padding:0px;
margin:0px;
margin-top:-36px;
}
#sidebar .sliderPanel {
background-color:#222;
font-size:1em;
}
.viewer .wizardStep table {
border:0px;
}
.viewer th, .viewer td, .viewer tr, .viewer caption, .twtable th, .twtable td, .twtable tr, .twtable caption {
border:0px;
padding:0px;
margin:0px;
}
.viewer .sortable td {
padding:12px;
margin:21px;
}
.title {
color:#C0C0C0;
padding:10px;
}
.viewer table, table.twtable {
border-collapse:seperated;
border:0px;
}
.viewer th, .viewer thead td, .twtable th, .twtable thead td {
border:0px;
color:white;
}
.twtable th{
background-color:#333;
padding:15px;
margin:15px;
}
table.sortable td.sortedCol {
background-color:#333;
}
#backstageArea a:hover, #backstageArea a.backstageSelTab {
background-color:#111;
color:white;
}
/*}}}*/
[[StyleSheet]]
/***
|''Name:''|purpleTheme|
|''Description:''|A theme with lots of white space and a clean and elegant purple presentation|
|''Author:''|Saq Imtiaz and Simon McManus|
|''License:''|[[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]] |
|''Source''|http://svn.tiddlywiki.org/Trunk/association/serversides/cctiddly/Trunk/tiddlers/themes/purpleTheme.tiddler|
|''CodeRepository''|http://svn.tiddlywiki.org/Trunk/association/serversides/cctiddly/Trunk/tiddlers/themes/purpleTheme.tiddler|
|''~CoreVersion:''|2.4.1|
|''~PageTemplate:''|##PageTemplate|
|''~tabs:''|##tabs|
|''~OptionsPanel:''|##OptionsPanel|
|''~SideBarTabs:''|##SideBarTabs|
|''~StyleSheet:''|##StyleSheet|
|''~taskViewTemplate:''|##taskViewTemplate|
|''~taskEditTemplate:''|##taskEditTemplate|
|''~EditTemplate:''|##EditTemplate|.wizzz
|''~ViewTemplate:''|##ViewTemplate|
***/
!PageTemplate
<!--{{{-->
<div id='bodywrapper'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
<div id='sidebar'>
<div id='sidebarOptions' refresh='content' force='true' tiddler='purpleTheme##SideBarOptions'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<div id='contentFooter' macro='gradient vert #eee #ccc'></div>
</div>
<!--}}}-->
!EditTemplate
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]]'></div>
<div class='editor' macro='edit title'></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser'></span></div>
<!--}}}-->
!ViewTemplate
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='tagClear'></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>
<hr />
<!--}}}-->
!tabs
<<tabs txtMainTab "Timeline" "Timeline" TabTimeline "All" "All tiddlers" TabAll "Tags" "All tags" TabTags "More" "More lists" TabMore>>
!SideBarOptions
<<search {{config.options.search}}>><<closeAll>><<newTiddler label:{{config.macros.newTiddler.label}} text:{{config.macros.newTiddler.text}} title:{{config.macros.newTiddler.title}} tag:"">
<<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel {{config.macros.ccOptions.options}} 'change TiddlyWiki Options'>><<slider 'chkLoginStatus' 'LoginStatus' {{config.macros.ccLoginStatus.status}} 'Login to make changes'>><<slider chkSliderTabs SideBarTabs {{config.theme.contentTitle}} {{config.theme.contentTiddlerTooltip}}>>
!StyleSheet
/***
General
***/
/*{{{*/
body, html{
background-color: #999999;
color:#333;
// background:url(http://www.thefabricdeli.com/assets/images/qud21112-purple.jpg);
// background:url(http://mr-pc.org/inc/paisleyTileSmall.png);
}
#backstageCloak {
opacity:0.8; filter:'alpha(opacity:70)';
background:black;
}
.tiddler .button {
line-height:4;
margin:5px;
padding:8px;
}
body .chkOptionInput {
width:auto;
float:right;
}
#contentWrapper .wizard .txtOptionInput {
width:7em;
}
.wizard .txtOptionInput{
text-align:right;
border:1px solid #ccc;
}
#contentWrapper .sliderPanel .tabsetWrapper .tabContents {
border:0px;
background-color:white;
}
.header {
background-color:#eee;
}
#messageArea {
border:1px solid white;
background-color:#eee;
}
#messageArea .button {
background:none;
}
h1 {
color:black;
}
#contentWrapper {
position:relative;
margin: 2.5em auto;
width:780px;
line-height: 1.6em;
border:1px solid #ccc;
font-size: 11px;
font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;
height:1%;
// display:table;
background-color:#eee;
}
.clearAll{
clear:both;
}
.tagClear{
clear:none;
}
/*}}}*/
/*{{{*/
.siteTitle {
font-family: 'Trebuchet MS' sans-serif;
font-weight: bold;
position:relative;
top:20px;
left :20px;
font-size: 32px;
color:Purple;
}
.siteSubtitle {
padding-top:15px;
font-size: 1.0em;
display:block;
color: #999; margin-top:0.5em !important; margin-top:1em; margin-left:3em;
padding-top:3em;
}
#displayArea {
margin-left:1.35em;
margin-right:16.3em;
margin-top:0;
padding-top:1em;
padding-bottom:10px;
}
#sidebarOptions input {
border:1px solid #ddd;
}
div.tabset {
margin-bottom:1px;
}
.tabUnselected {
background:#ddd none repeat scroll 0%;
color:#999;
border:1px solid #ccc;
}
#sidebar {
position:inherit;
float:right;
display:inline;
}
#tiddlerDisplay .tagging, #tiddlerDisplay .tagged {
background-color:#eee;
border:none;
float:none;
}
.sliderPanel .tabsetWrapper .tabContents {
border-right:none;
border-color:#999;
background-color:#999;
}
#sidebarOptions .sliderPanel a {
padding:3px;
margin:0px;
border:2px;
background-color:#999;
}
.tabsetWrapper {
position :relative;
}
#sidebar{
padding-left:0.5em;
background-color:#eee;
padding-top:1em;
}
#sidebarOptions a {
margin:17px;
display:block;
margin:0.5em 0em;
padding:0.3em 0.6em;
}
.popup li a {
margin:0px;
padding:0px;
display:inline;
color:black;
}
.popup {
background-color:white;
border:1px solid purple;
}
.popup li a:hover {
display:inline;
margin:0px;
padding:0px;
background-color:white;
color:purple;
}
.popup li {
margin:0px;
padding:5px;
background-color:#eee;
}
.popup li:hover {
background-color:white;
}
#tiddlerDisplay .toolbar a.button, #sidebarOptions a, .toolbar .popup li a, #mainMenu a, .tiddler .button, #sidebarOptions .sliderPanel input {
border:1px solid white;
background-color:white;
color:purple;
}
#tiddlerDisplay .toolbar a.button:hover, #sidebarOptions a:hover, #mainMenu a:hover, .tiddler .button, #sidebarOptions .sliderPanel input:hover
{
border:1px solid #ccc;
}
#sidebarOptions a:hover {
border-right:1px solid white;
}
.tagged ul {
list-style: none;
}
.tagged li {
display: inline;
}
.zoomer {
background:none; color:#ddd;
border:2px solid #ddd;
}
a:active{
border:1px solid red;
background-color:#eee;
color:[[ColorPalette::smmLight1]]
}
a:hover {
background-color:#eee;
color:[[ColorPalette::smmLight1]]
}
#backstageArea,#backstageArea a {
background:transparent;
color:white;
}
#mainMenu a {
padding:8px 15px 8px 15px;
margin:10px;
line-height:40px;
border:1px solid #eee;
}
#contentWrapper #mainMenu{
position:static;
width:100%;
float:left;
text-align:left;
padding-top:20px;
}
.editor textarea, .editor input, input, body select {
border:1px solid #ccc;
background-color:white;
color:#999;
padding:3px;
margin:3px;
}
#sidebarOptions input {
width:85%;
margin-left:-0.1em;}
#sidebarTabs {
margin:0px;
padding:0px
}
#sidebarTabs .tabContents {
color:[[ColorPalette::smmLight1]];
background:#999;
}
#contentWrapper .tiddler .button {
margin:0.4em;
padding:0.4em 0.8em;
}
#sideBarOptions .searchButton{
display:none;
}
#sidebar .sliderPanel {
margin-left:5px;
border:0px;
padding:0em;
border-right:1px solid #eee;
margin-bottom:0.8em;
}
#sidebarOptions .searchButton {
display:none;
}
.title {
color:#C0C0C0;
}
.subtitle, .subtitle a {
color: #999;
font-size: 1em;margin:0.2em;
font-variant: small-caps;
}
* html .viewer pre {
margin-left: 0em;
}
* html .editor textarea, * html .editor input {
width: 98%;
}
a,#sidebarOptions .sliderPanel a, #topMenu a, #topMenu .button {
color:purple;
background-color:transparent;
}
#sidebarOptions .sliderPanel a:hover, #topMenu a, #topMenu .button:hover {
color:black;
background-color:transparent;
border:0px;
}
#topMenu a, #topMenu .button {
padding: 5px 15px;
margin:9px;
border:1px solid #999;
font-weight:bold;
line-height:40px;
top:1em;
color:[[ColorPalette::smmLight1]];
background-color:#eee;
}
#topMenu br {
display:none;
}
#topMenu a:hover, #topMenu .button:hover {
background-color:#eee;
}
.tagging, .tagged {
border: 0px dotted [[ColorPalette::smmLight1]];
}
.highlight, .marked {
background:transparent;
color:#999;
border:none;
text-decoration:underline;
}
.tagging .button:hover, .tagged .button:hover, .tagging .button:active, .tagged .button:active {
border: none;
background:transparent;
text-decoration:underline;
color:#eee;
}
.viewer th, thead td {
background: #eee;
border:none;
color: #fff;
}
.viewer table {
border:1px solid #eee;
}
table.twtable {
border-collapse:seperate;
}
.viewer pre {
background-color:white;
border: 1px dotted #999;
}
hr {
border: dotted 1px #ccc;
}
#sidebarOptions .sliderPanel .tabUnselected {
background:#eee none repeat scroll 0%;
border:0px solid #999;
color:#999;
}
.tabSelected, #sidebarOptions .sliderPanel .tabSelected {
background:white none repeat scroll 0%;
border:1px solid #ddd;
border-bottom:1px solid white;
color:#999;
}
.tabContents {
background:#f7f7f7;
border:0px;
}
.viewer code {
background:##eee none repeat scroll 0%;
color:#999;
}
h1,h2,h3,h4,h5 {
color: #555;
border-color:#333;
background: transparent;
padding-bottom:2px;
font-family: Arial, Helvetica, sans-serif;
}
h1 {
font-size:18px;
}
h2 {
font-size:16px;
border-bottom:1px solid #FFF;
}
h3 {
font-size: 14px;
border-bottom:1px solid #FFF;
}
.annotation {
background-color:purple;
border:1px solid white;
color:white;
}
#contentFooter {
background:#999;
clear: both;
padding: 0.5em 1em;
}
.button, .wizard .button:hover {
border:0px;
}
.sliderPanel input {
border:1px solid #777;
background-color:white;
color:#777;
}
#contentWrapper .tiddler .button:hover {
border:1px solid;
}
table, .viewer td, .viewer tr, .twtable td, .twtable tr {
border:0px solid #666666;
}
body .wizardFooter {
margin:0px;
padding-top:0px;
background:white;
font-weight:bold;
padding-left:10em;
}
.wizardStep {
padding:0px;
border:none;
background-color:none;
}
.wizard th{
background:white;
color:#888;
padding:3px;
margin:40px;
};
.wizard, listView twtable {
border:0px;
};
.wizard {
color:#292929;
}
.viewer .wizard, body .wizard{
background:white;
margin:2em;
border:1px solid #CCCCCC;
color:#999;
}
.wizard h1 {
color:#999;
padding-top:10px;
padding-bottom:10px;
}
.wizard h2 {
color:black;
}
body .wizardStep {
color:#999;
border:0px;
margin:0m;
background:white;
}
body select {
border:0px;
padding:3px;
margin:4px;
}
#backstageArea a:hover {
background-color:white;
}
#backstagePanel {
background:none;
width:60%;
position:fixed
padding:0px;
margin:0px;
margin-top:-36px;
}
#backstageToolbar a.backstageSelTab {
background-color:white;
border:1px solid white;
}
#sidebar .sliderPanel {
background-color:#eee;
font-size:1em;
}
.viewer .wizardStep table {
border:0px;
}
.viewer th, .viewer td, .viewer tr, .viewer caption, .twtable th, .twtable td, .twtable tr, .twtable caption {
border:0px;
padding:0px;
margin:0px;
}
.viewer .sortable td {
padding:12px;
margin:21px;
}
.title {
color:#777;
padding:0px;
}
.viewer table, table.twtable {
border-collapse:seperated;
border:0px;
}
.viewer th, .viewer thead td, .twtable th, .twtable thead td {
border:0px;
background-color:white;
color:black;
}
.twtable th{
background-color:#eee;
padding:15px;
margin:15px;
}
table.sortable td.sortedCol {
background-color:white;
}
/*}}}*/
[[StyleSheet]]
powerpape
// ccFile //
//{{{
config.macros.ccFile = {};
var iFrameLoad=function(w){
var uploadIframe = document.getElementById('uploadIframe');
var a = createTiddlyElement(null, "div");
a.innerHTML = uploadIframe.contentDocument.body.innerHTML;
removeChildren(w.formElem.placeholder);
w.formElem.placeholder.parentNode.appendChild(a);
var statusArea = w.formElem.placeholder;
document.getElementById("ccfile").value="";
};
config.macros.ccFile.handler=function(place,macroName,params,wikifier,paramString,tiddler, errorMsg){
var w = new Wizard();
w.createWizard(place,config.macros.ccFile.wizardTitleText);
config.macros.ccFile.refresh(w);
};
config.macros.ccFile.refresh=function(w){
params = {};
params.w = w;
params.e = this;
var me = config.macros.ccFile;
doHttp('GET',url+'/handle/listFiles.php?workspace='+workspace,'',null,null,null,config.macros.ccFile.listAllCallback,params);
w.setButtons([
{caption: me.buttonDeleteText, tooltip: me.buttonDeleteTooltip, onClick: function(w){
config.macros.ccFile.delFileSubmit(null, params);
return false;
}},
{caption: me.buttonUploadText, tooltip: me.buttonUploadTooltip, onClick: function(e){
config.macros.ccFile.addFileDisplay(null, params); return false
} }
]);
};
config.macros.ccFile.delFileSubmit=function(e, params) {
var listView = params.w.getValue("listView");
var rowNames = ListView.getSelectedRows(listView);
for(var e=0; e < rowNames.length; e++)
doHttp('POST',url+'/handle/listFiles.php','action=DELETEFILE&file='+rowNames[e]+'&workspace='+workspace,null,null,null,config.macros.ccFile.delFileCallback,params);
return false;
};
config.macros.ccFile.delFileCallback=function(status,params,responseText,uri,xhr){
config.macros.ccFile.refresh(params.w);
};
config.macros.ccFile.addFileDisplay = function(e, params){
var frm = params.w.formElem;
if(navigator.appName=="Microsoft Internet Explorer"){
encType = frm.getAttributeNode("enctype");
encType.value = "multipart/form-data";
}
frm.setAttribute("enctype","multipart/form-data");
frm.setAttribute("method","POST");
frm.action=window.url+"/handle/upload.php";
frm.id="ccUpload";
frm.target="uploadIframe";
frm.name = "uploadForm";
frm.parentNode.appendChild(frm);
params.w.addStep("ss", "<input id='ccfile' class='input' type='file' name='userFile'/>"+"<input type='hidden' name='placeholder'/>");
var workspaceName=createTiddlyElement(null,'input','workspaceName','workspaceName');
workspaceName .setAttribute('name','workspace');
workspaceName.type="HIDDEN";
workspaceName.value=workspace;
frm.appendChild(workspaceName);
createTiddlyElement(frm,'br');
var saveTo=createTiddlyElement(null,"input","saveTo","saveTo");
var iframe=document.createElement("iframe");
iframe.style.display="none";
iframe.id='uploadIframe';
iframe.name='uploadIframe';
iframe.onload = function() {
iFrameLoad(params.w);
}
frm.appendChild(iframe);
createTiddlyElement(frm,"div",'uploadStatus');
params.w.setButtons([
{caption: config.macros.ccFile.buttonCancelText, tooltip: config.macros.ccFile.buttonCancelTooltip, onClick: function(){config.macros.ccFile.refresh(params.w);}
},
{caption: config.macros.ccFile.buttonUploadText, tooltip: config.macros.ccFile.buttonUploadTooltip, onClick: function(){params.w.formElem.submit();}
}]);
};
function addOption(selectbox,text,value ){
var optn = document.createElement("OPTION");
optn.text = text;
optn.value = value;
selectbox.options.add(optn);
}
config.macros.ccFileImageBox = function(image){
var full = image.src;
setStylesheet(
"#errorBox .button {padding:0.5em 1em; border:1px solid #222; background-color:#ccc; color:black; margin-right:1em;}\n"+
"html > body > #backstageCloak {height:"+window.innerHeight*2+"px;}"+
"#errorBox {border:1px solid #ccc;background-color: #fff; color:#111;padding:1em 2em; z-index:9999;}",'errorBoxStyles');
var box = document.getElementById('errorBox') || createTiddlyElement(document.body,'div','errorBox');
box.innerHTML = "<a style='float:right' href='javascript:onclick=ccTiddlyAdaptor.hideError()'>"+ccTiddlyAdaptor.errorClose+"</a><h3>"+image.src+"</h3><br />";
box.style.position = 'absolute';
box.style.width= "800px";
var img = createTiddlyElement(box, "img");
img.src = full;
ccTiddlyAdaptor.center(box);
ccTiddlyAdaptor.showCloak();
}
config.macros.ccFile.listAllCallback = function(status,params,responseText,uri,xhr){
var me = config.macros.ccFile;
var out = "";
var adminUsers = [];
if(xhr.status!=200){
params.w.addStep(me.errorPermissionDeniedTitle, me.errorPermissionDeniedView);
return true;
}
try{
var a = eval(responseText);
for(var e=0; e < a.length; e++){
out += a[e].username;
adminUsers.push({
htmlName: "<html><a href='"+a[e].url+"' target='new'>"+a[e].filename+"</a></html>",
name: a[e].filename,
wikiText:'<html><img onclick="config.macros.ccFileImageBox(this)"; src="'+a[e].url+'" style="width: 70px; "/></html>',
URI:a[e].url,
lastVisit:a[e].lastVisit,
fileSize:a[e].fileSize
});
}
}catch (ex){
params.w.setButtons([
{caption: me.buttonUploadText, tooltip: me.buttonUploadTooltip, onClick: function(w){
config.macros.ccFile.addFileDisplay(e, params);
} }]);
}
params.w.addStep(me.wizardStepText+workspace, "<input type='hidden' name='markList'></input>");
var markList = params.w.getElement("markList");
var listWrapper = document.createElement("div");
markList.parentNode.insertBefore(listWrapper,markList);
var listView = ListView.create(listWrapper,adminUsers,config.macros.ccFile.listAdminTemplate);
//params.w.setValue("listAdminView",listAdminView);
params.w.setValue("listView",listView);
};
config.macros.ccFile.addFileCallback = function(status,params,responseText,uri,xhr){
config.macros.ccFile.refresh(params.w);
};
//}}}
//{{{
// ccAbout //
config.macros.ccAbout={};
config.macros.ccAbout.handler=function(place,macroName,params,wikifier,paramString,tiddler,errorMsg){
var w = new Wizard();
var me = config.macros.ccAbout;
w.createWizard(place,me.stepAboutTitle);
w.addStep(null, me.stepAboutTextStart + window.ccTiddlyVersion + "<br /><br />" + me.stepAboutTextEnd);
};
//}}}
// ccAdaptorCommandsPlugin //
function ccTiddlyAdaptor(){}
merge(ccTiddlyAdaptor,{
errorTitleNotSaved:"<h1>Your changes were NOT saved.</h1>",
errorTextSessionExpired:"Your Session has expired. <br /> You will need to log into the new window and then copy your changes from this window into the new window. ",
errorTextConfig:"There was a conflict when saving. <br /> Please open the page in a new window to see the changes.",
errorTextUnknown:"An unknown error occured.",
errorClose:"close",
buttonOpenNewWindow:"Open a Window where I can save my changes .... ",
buttonHideThisMessage:"Hide this message",
msgErrorCode:"Error Code : "
});
if(!config.extensions) { config.extensions = {}; } //# obsolete from v2.4.2
config.extensions.ServerSideSavingPlugin = {
adaptor: config.adaptors.cctiddly
};
//{{{
config.commands.revisions = {};
merge(config.commands.revisions,{
text: "revisions",
tooltip: "View another revision of this tiddler",
loading: "loading...",
done: "Revision downloaded",
revisionTooltip: "View this revision",
popupNone: "No revisions",
revisionTemplate: "%0 r:%1 m:%2",
dateFormat:"YYYY mmm 0DD 0hh:0mm"
});
config.commands.deleteTiddlerHosted = {};
merge(config.commands.deleteTiddlerHosted,{
text: "delete",
tooltip: "Delete this tiddler",
warning: "Are you sure you want to delete '%0'?",
hideReadOnly: true,
done: "Deleted "
});
// Ensure that the plugin is only installed once.
if(!version.extensions.AdaptorCommandsPlugin) {
version.extensions.AdaptorCommandsPlugin = {installed:true};
// implementing closeTiddler without the clearMessage();
Story.prototype.closeTiddler = function(title,animate,unused)
{
var tiddlerElem = this.getTiddler(title);
if(tiddlerElem) {
this.scrubTiddler(tiddlerElem);
if(config.options.chkAnimate && animate && anim && typeof Slider == "function")
anim.startAnimating(new Slider(tiddlerElem,false,null,"all"));
else {
removeNode(tiddlerElem);
forceReflow();
}
}
};
function getServerType(fields)
{
if(!fields)
return null;
var serverType = fields['server.type'];
if(!serverType)
serverType = fields['wikiformat'];
if(!serverType)
serverType = config.defaultCustomFields['server.type'];
if(!serverType && typeof RevisionAdaptor != 'undefined' && fields.uuid)
serverType = RevisionAdaptor.serverType;
return serverType;
}
function invokeAdaptor(fnName,param1,param2,context,userParams,callback,fields)
{
var serverType = getServerType(fields);
if(!serverType)
return null;
var adaptor = new config.adaptors[serverType];
if(!adaptor)
return false;
if(!config.adaptors[serverType].prototype[fnName])
return false;
adaptor.openHost(fields['server.host']);
adaptor.openWorkspace(fields['server.workspace']);
var ret = false;
if(param1)
ret = param2 ? adaptor[fnName](param1,param2,context,userParams,callback) : adaptor[fnName](param1,context,userParams,callback);
else
ret = adaptor[fnName](context,userParams,callback);
return ret;
}
//# Returns true if function fnName is available for the serverType specified in fields
//# Used by (eg): config.commands.download.isEnabled
function isAdaptorFunctionSupported(fnName,fields)
{
var serverType = getServerType(fields);
if(!serverType || !config.adaptors[serverType])
return false;
if(!config.adaptors[serverType].isLocal && !fields['server.host'])
return false;
var fn = config.adaptors[serverType].prototype[fnName];
return fn ? true : false;
}
config.commands.revisions.isEnabled = function(tiddler)
{
return isAdaptorFunctionSupported('getTiddlerRevisionList',tiddler.fields);
};
config.commands.revisions.handler = function(event,src,title)
{
var tiddler = store.fetchTiddler(title);
userParams = {};
userParams.tiddler = tiddler;
userParams.src = src;
userParams.dateFormat = config.commands.revisions.dateFormat;
var revisionLimit = 10;
if(!invokeAdaptor('getTiddlerRevisionList',title,revisionLimit,null,userParams,config.commands.revisions.callback,tiddler.fields))
return false;
event.cancelBubble = true;
if(event.stopPropagation)
event.stopPropagation();
return true;
};
config.commands.revisions.callback = function(context,