/fancybox.html
HTML | 11772 lines | 10528 code | 1235 blank | 9 comment | 0 complexity | c44cc56437b15b0f38227dbf36502abb MD5 | raw file
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
- <head>
- <script id="versionArea" type="text/javascript">
- //<![CDATA[
- var version = {title: "TiddlyWiki", major: 2, minor: 6, revision: 2, date: new Date("Jan 6, 2011"), extensions: {}};
- //]]>
- </script>
- <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
- <meta name="copyright" content="
- TiddlyWiki created by Jeremy Ruston, (jeremy [at] osmosoft [dot] com)
- Copyright (c) Jeremy Ruston 2004-2007
- Copyright (c) UnaMesa Association 2007-2011
- Redistribution and use in source and binary forms, with or without modification,
- are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this
- list of conditions and the following disclaimer in the documentation and/or other
- materials provided with the distribution.
- Neither the name of the UnaMesa Association nor the names of its contributors may be
- used to endorse or promote products derived from this software without specific
- prior written permission.
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND ANY
- EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
- TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
- DAMAGE.
- " />
- <!--PRE-HEAD-START-->
- <!--{{{-->
- <link rel="shortcut icon" href="/recipes/fancybox_public/tiddlers/favicon.ico" />
- <link href="/bags/fancybox_public/tiddlers.atom" rel="alternate"
- type="application/atom+xml" title="fancybox's public feed" />
- <!--}}}-->
- <!--PRE-HEAD-END-->
- <title> fancybox - a TiddlySpace </title>
- <style id="styleArea" type="text/css">
- #saveTest {display:none;}
- #messageArea {display:none;}
- #copyright {display:none;}
- #storeArea {display:none;}
- #storeArea div {padding:0.5em; margin:1em 0em 0em 0em; border-color:#fff #666 #444 #ddd; border-style:solid; border-width:2px; overflow:auto;}
- #shadowArea {display:none;}
- #javascriptWarning {width:100%; text-align:center; font-weight:bold; background-color:#dd1100; color:#fff; padding:1em 0em;}
- </style>
- <!--POST-HEAD-START-->
- <!--POST-HEAD-END-->
- </head>
- <body onload="main();" onunload="if(window.unload) unload();">
- <!--PRE-BODY-START-->
- <!--PRE-BODY-END-->
- <div id="copyright">
- Welcome to TiddlyWiki created by Jeremy Ruston; Copyright © 2004-2007 Jeremy Ruston, Copyright © 2007-2011 UnaMesa Association
- </div>
- <noscript>
- <div id="javascriptWarning">
- This page requires JavaScript to function properly.<br /><br />
- If you do not use JavaScript you may still <a href="http://fancybox.tiddlyspace.com/recipes/fancybox_private/tiddlers">browse
- the content of this wiki</a>.
- </div>
- </noscript>
- <div id="saveTest"></div>
- <div id="backstageCloak"></div>
- <div id="backstageButton"></div>
- <div id="backstageArea"><div id="backstageToolbar"></div></div>
- <div id="backstage">
- <div id="backstagePanel"></div>
- </div>
- <div id="contentWrapper"></div>
- <div id="contentStash"></div>
- <div id="shadowArea">
- <div title="MarkupPreHead">
- <pre><!--{{{-->
- <link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml' />
- <!--}}}-->
- </pre>
- </div>
- <div title="ColorPalette">
- <pre>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
- </pre>
- </div>
- <div title="StyleSheetColors">
- <pre>/*{{{*/
- 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]];}
- .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)';}
- /*}}}*/</pre>
- </div>
- <div title="StyleSheetLayout">
- <pre>/*{{{*/
- * 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: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: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: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 0; font-size:.9em;}
- .editorFooter .button {padding-top:0px; padding-bottom:0px;}
- .fieldsetFix {border:0; padding:0; margin: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;}
- #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;}
- /*}}}*/
- </pre>
- </div>
- <div title="StyleSheetLocale">
- <pre>/***
- 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;}
- /*}}}*/</pre>
- </div>
- <div title="StyleSheetPrint">
- <pre>/*{{{*/
- @media print {
- #mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none !important;}
- #displayArea {margin: 1em 1em 0em;}
- noscript {display:none;} /* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */
- }
- /*}}}*/</pre>
- </div>
- <div title="PageTemplate">
- <pre><!--{{{-->
- <div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
- <div class='headerShadow'>
- <span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
- <span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
- </div>
- <div class='headerForeground'>
- <span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
- <span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
- </div>
- </div>
- <div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
- <div id='sidebar'>
- <div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
- <div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
- </div>
- <div id='displayArea'>
- <div id='messageArea'></div>
- <div id='tiddlerDisplay'></div>
- </div>
- <!--}}}--></pre>
- </div>
- <div title="ViewTemplate">
- <pre><!--{{{-->
- <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>
- <!--}}}--></pre>
- </div>
- <div title="EditTemplate">
- <pre><!--{{{-->
- <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>
- <!--}}}--></pre>
- </div>
- <div title="GettingStarted">
- <pre>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>></pre>
- </div>
- <div title="OptionsPanel">
- <pre>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]]</pre>
- </div>
- <div title="ImportTiddlers">
- <pre><<importTiddlers>></pre>
- </div>
- </div>
- <!--POST-SHADOWAREA-->
- <div id="storeArea">
- <div title="01.jpg" creator="pmario" modifier="pmario" created="201101271327" modified="201102222351" tags="attachment panorama reference thumb" server.title="01.jpg" server.page.revision="255486" server.etag=""fancybox_public/01.jpg/255486;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="17273cb2721d12e442843de46ba5b6c2174ffe22" changecount="8" info="Some Info text\snSecond Line" label="San Benedicto Island" slide="01.jpg">
- <pre>!labelX
- The label is stored in the tiddler custom field
- !usage
- {{{[img[01.jpg]]}}}
- [img[01.jpg]]
- !notes
- attached by FileDropPlugin
- !type
- image/jpg
- !file
- ./thumbs/01.jpg
- !url
- http://fancybox-thumbs.tiddlyspace.com/01.jpg
- !link
- [[San Benedicto Island|http://fancybox-pics.tiddlyspace.com/01.jpg]]
- !end
- </pre>
- </div>
- <div title="02.jpg" creator="pmario" modifier="pmario" created="201101271327" modified="201102222327" tags="attachment thumb" server.title="02.jpg" server.page.revision="261782" server.etag=""fancybox_public/02.jpg/261782;679c808ea83728c9f0922e0ac831727f87829617"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="c38208842cc7c77ea197cb30d787609c12cf1fdf">
- <pre>!label
- !usage
- {{{[img[02.jpg]]}}}
- [img[02.jpg]]
- !notes
- attached by FileDropPlugin
- !type
- image/jpg
- !file
- ./thumbs/02.jpg
- !url
- http://fancybox-thumbs.tiddlyspace.com/02.jpg
- !link
- [[02.jpg|http://fancybox-pics.tiddlyspace.com/02.jpg]]
- !end
- </pre>
- </div>
- <div title="03.jpg" creator="pmario" modifier="pmario" created="201101271327" modified="201102222328" tags="attachment thumb" server.title="03.jpg" server.page.revision="261783" server.etag=""fancybox_public/03.jpg/261783;679c808ea83728c9f0922e0ac831727f87829617"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="114722c51943e6de8dffa6aaa207bea8dcba2fe6">
- <pre>!label
- !usage
- {{{[img[03.jpg]]}}}
- [img[03.jpg]]
- !notes
- attached by FileDropPlugin
- !type
- image/jpg
- !file
- ./thumbs/03.jpg
- !url
- http://fancybox-thumbs.tiddlyspace.com/03.jpg
- !link
- [[03.jpg|http://fancybox-pics.tiddlyspace.com/03.jpg]]
- !end
- </pre>
- </div>
- <div title="04.jpg" creator="pmario" modifier="pmario" created="201101271327" modified="201102222328" tags="attachment thumb" server.title="04.jpg" server.page.revision="261784" server.etag=""fancybox_public/04.jpg/261784;679c808ea83728c9f0922e0ac831727f87829617"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="fe52207214bf881c18e5425c1d281b3798764276">
- <pre>!label
- !usage
- {{{[img[04.jpg]]}}}
- [img[04.jpg]]
- !notes
- attached by FileDropPlugin
- !type
- image/jpg
- !file
- ./thumbs/04.jpg
- !url
- http://fancybox-thumbs.tiddlyspace.com/04.jpg
- !link
- [[04.jpg|http://fancybox-pics.tiddlyspace.com/04.jpg]]
- !end
- </pre>
- </div>
- <div title="05.jpg" creator="pmario" modifier="pmario" created="201101271327" modified="201102222329" tags="attachment thumb" server.title="05.jpg" server.page.revision="261785" server.etag=""fancybox_public/05.jpg/261785;679c808ea83728c9f0922e0ac831727f87829617"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="71399b52d14b062055505beb353c421d3b9af2cf">
- <pre>!label
- !usage
- {{{[img[05.jpg]]}}}
- [img[05.jpg]]
- !notes
- attached by FileDropPlugin
- !type
- image/jpg
- !file
- ./thumbs/05.jpg
- !url
- http://fancybox-thumbs.tiddlyspace.com/05.jpg
- !link
- [[05.jpg|http://fancybox-pics.tiddlyspace.com/05.jpg]]
- !end
- </pre>
- </div>
- <div title="05slide.jpg" creator="pmario" modifier="pmario" created="201102111153" modified="201102111153" tags="attachment" server.title="05slide.jpg" server.page.revision="249043" server.etag=""fancybox_public/05slide.jpg/249043;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="6bb4fbcbfea4e535239f91d6038294fa4a4c77b4">
- <pre>!usage
- {{{[img[05slide.jpg]]}}}
- [img[05slide.jpg]]
- !notes
- !type
- image/jpg
- !file
- ./pics/05.jpg
- !url
- http://fancybox-pics.tiddlyspace.com/05.jpg
- !link
- [[05slide.jpg|http://fancybox-pics.tiddlyspace.com/05.jpg]]
- !end
- </pre>
- </div>
- <div title="06.jpg" creator="pmario" modifier="pmario" created="201101271327" modified="201102222326" tags="attachment panorama reference thumb" server.title="06.jpg" server.page.revision="261786" server.etag=""fancybox_public/06.jpg/261786;679c808ea83728c9f0922e0ac831727f87829617"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="936f3c107efe4211f749cea78277d188924517c4">
- <pre>!label
- The Lobster
- !usage
- {{{[img[06.jpg]]}}}
- [img[06.jpg]]
- !slide
- 06slide.jpg
- !notes
- attached by FileDropPlugin
- !type
- image/jpg
- !file
- ./thumbs/06.jpg
- !url
- http://fancybox-thumbs.tiddlyspace.com/06.jpg
- !link
- [[06.jpg|http://fancybox-pics.tiddlyspace.com/06.jpg]]
- !end
- </pre>
- </div>
- <div title="06slide.jpg" creator="pmario" modifier="pmario" created="201102072057" modified="201102072057" tags="attachment" server.title="06slide.jpg" server.page.revision="245583" server.etag=""fancybox_public/06slide.jpg/245583;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="54a809f8cd6950b3dfe827224b296a65e621ac67">
- <pre>!usage
- {{{[img[06slide.jpg]]}}}
- [img[06slide.jpg]]
- !notes
- attached by FileDropPlugin
- !type
- image/jpg
- !file
- ./pics/06.jpg
- !url
- http://fancybox-pics.tiddlyspace.com/06.jpg
- !link
- [[Lobster|http://fancybox-pics.tiddlyspace.com/06.jpg]]
- !end
- </pre>
- </div>
- <div title="07.jpg" creator="pmario" modifier="pmario" created="201101271327" modified="201102222326" tags="attachment manual thumb" server.title="07.jpg" server.page.revision="261787" server.etag=""fancybox_public/07.jpg/261787;679c808ea83728c9f0922e0ac831727f87829617"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="9d4f058ac8294b3d62d79da43cc07fd5c252ca71">
- <pre>!label
- Strobe Fish
- !usage
- {{{[img[07.jpg]]}}}
- [img[07.jpg]]
- !notes
- attached by FileDropPlugin
- !type
- image/jpg
- !file
- ./thumbs/07.jpg
- !url
- http://fancybox-thumbs.tiddlyspace.com/07.jpg
- !link
- [[07.jpg|http://fancybox-pics.tiddlyspace.com/07.jpg]]
- !end
- </pre>
- </div>
- <div title="08.jpg" creator="pmario" modifier="pmario" created="201101271327" modified="201102222326" tags="attachment manual thumb" server.title="08.jpg" server.page.revision="261788" server.etag=""fancybox_public/08.jpg/261788;679c808ea83728c9f0922e0ac831727f87829617"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="97b7f0c527be5112fabee71f8a607c24cd8a42e7">
- <pre>!label
- Octopus
- !usage
- {{{[img[08.jpg]]}}}
- [img[08.jpg]]
- !notes
- attached by FileDropPlugin
- !type
- image/jpg
- !file
- ./thumbs/08.jpg
- !url
- http://fancybox-thumbs.tiddlyspace.com/08.jpg
- !link
- [[08.jpg|http://fancybox-pics.tiddlyspace.com/08.jpg]]
- !end
- </pre>
- </div>
- <div title="09.jpg" creator="pmario" modifier="pmario" created="201101271327" modified="201102222328" tags="attachment thumb" server.title="09.jpg" server.page.revision="261789" server.etag=""fancybox_public/09.jpg/261789;679c808ea83728c9f0922e0ac831727f87829617"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="7b64b98add773c98e3c83be1c7f1c0542d1da27e">
- <pre>!label
- !usage
- {{{[img[09.jpg]]}}}
- [img[09.jpg]]
- !notes
- attached by FileDropPlugin
- !type
- image/jpg
- !file
- ./thumbs/09.jpg
- !url
- http://fancybox-thumbs.tiddlyspace.com/09.jpg
- !link
- [[09.jpg|http://fancybox-pics.tiddlyspace.com/09.jpg]]
- !end
- </pre>
- </div>
- <div title="10.jpg" creator="pmario" modifier="pmario" created="201101271327" modified="201102222328" tags="attachment thumb" server.title="10.jpg" server.page.revision="261790" server.etag=""fancybox_public/10.jpg/261790;679c808ea83728c9f0922e0ac831727f87829617"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="27616138348a3409888b6b586e3c93fedb147d24">
- <pre>!label
- !usage
- {{{[img[10.jpg]]}}}
- [img[10.jpg]]
- !notes
- attached by FileDropPlugin
- !type
- image/jpg
- !file
- ./thumbs/10.jpg
- !url
- http://fancybox-thumbs.tiddlyspace.com/10.jpg
- !link
- [[10.jpg|http://fancybox-pics.tiddlyspace.com/10.jpg]]
- !end
- </pre>
- </div>
- <div title="11.jpg" creator="pmario" modifier="pmario" created="201101271327" modified="201102222326" tags="attachment panorama thumb" server.title="11.jpg" server.page.revision="261791" server.etag=""fancybox_public/11.jpg/261791;679c808ea83728c9f0922e0ac831727f87829617"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="8c638bf7799466856b4265001b2c49320177d2b1">
- <pre>!label
- San Benedicto Island Sunset
- !usage
- {{{[img[11.jpg]]}}}
- [img[11.jpg]]
- !notes
- attached by FileDropPlugin
- !type
- image/jpg
- !file
- ./thumbs/11.jpg
- !url
- http://fancybox-thumbs.tiddlyspace.com/11.jpg
- !link
- [[11.jpg|http://fancybox-pics.tiddlyspace.com/11.jpg]]
- !end
- </pre>
- </div>
- <div title="12.jpg" creator="pmario" modifier="pmario" created="201101271327" modified="201102222328" tags="attachment thumb" server.title="12.jpg" server.page.revision="261792" server.etag=""fancybox_public/12.jpg/261792;679c808ea83728c9f0922e0ac831727f87829617"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="becf503db0e0ef6469ceffdd65882abe556a9774">
- <pre>!label
- !usage
- {{{[img[12.jpg]]}}}
- [img[12.jpg]]
- !notes
- attached by FileDropPlugin
- !type
- image/jpg
- !file
- ./thumbs/12.jpg
- !url
- http://fancybox-thumbs.tiddlyspace.com/12.jpg
- !link
- [[12.jpg|http://fancybox-pics.tiddlyspace.com/12.jpg]]
- !end
- </pre>
- </div>
- <div title="13.jpg" creator="pmario" modifier="pmario" created="201101271327" modified="201102222329" tags="attachment thumb" server.title="13.jpg" server.page.revision="261793" server.etag=""fancybox_public/13.jpg/261793;679c808ea83728c9f0922e0ac831727f87829617"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="1a98a0fcc4cd3767496c5b7bc0c098bb6df44c29">
- <pre>!label
- !usage
- {{{[img[13.jpg]]}}}
- [img[13.jpg]]
- !notes
- attached by FileDropPlugin
- !type
- image/jpg
- !file
- ./thumbs/13.jpg
- !url
- http://fancybox-thumbs.tiddlyspace.com/13.jpg
- !link
- [[13.jpg|http://fancybox-pics.tiddlyspace.com/13.jpg]]
- !end
- </pre>
- </div>
- <div title="@news" creator="fancybox" modifier="fancybox" created="201101211613" modified="201101211613" tags="list" server.title="@news" server.page.revision="47550" server.etag=""fancybox_public/%40news/47550;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="661a1b3592e66afa62d728501c6c5895ffaf8ccb">
- <pre>Have fun with @FanxyBox </pre>
- </div>
- <div title="About" creator="pmario" modifier="pmario" created="201102131915" modified="201102211548" tags="mainMenu topMenu" server.title="About" server.page.revision="261794" server.etag=""fancybox_public/About/261794;679c808ea83728c9f0922e0ac831727f87829617"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" sort.topmenu="0000" _hash="84c40df5d775847664e5a678690d0460f81ad328">
- <pre>!Info
- FancyBox site adds FancyBoxPlugin@fancybox for easy usage with TW. It includes the ~FancyBox library from fancybox.net. Have fun!
- /%===== Do not use these examples. Look at [[Examples]] instead !%/<<tiddler DifferentTransitions>><<tiddler DifferentTitles>>
- <<tiddler ImageGallery>>
- <<tiddler ManualCalls>>
- !~HowToo's
- See [[HowToo's]] for detailed information!</pre>
- </div>
- <div title="AttachFileMIMETypes" creator="pmario" modifier="pmario" created="201102072259" modified="201102072259" server.title="AttachFileMIMETypes" server.page.revision="245734" server.etag=""fancybox_private/AttachFileMIMETypes/245734;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_private" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_private" server.permissions="read, write, create, delete" server.content-type="" _hash="634022a843b6e8cfdb474d292238853292f720cf">
- <pre>text/plain
- .txt .text .js .vbs .asp .cgi .pl
- ----
- text/html
- .htm .html .hta .htx .mht
- ----
- text/comma-separated-values
- .csv
- ----
- text/javascript
- .js
- ----
- text/css
- .css
- ----
- text/xml
- .xml .xsl .xslt
- ----
- image/gif
- .gif
- ----
- image/jpeg
- .jpg .jpe .jpeg
- ----
- image/png
- .png
- ----
- image/bmp
- .bmp
- ----
- image/tiff
- .tif .tiff
- ----
- audio/basic
- .au .snd
- ----
- audio/wav
- .wav
- ----
- audio/x-pn-realaudio
- .ra .rm .ram
- ----
- audio/x-midi
- .mid .midi
- ----
- audio/mp3
- .mp3
- ----
- audio/m3u
- .m3u
- ----
- video/x-ms-asf
- .asf
- ----
- video/avi
- .avi
- ----
- video/mpeg
- .mpg .mpeg
- ----
- video/quicktime
- .qt .mov .qtvr
- ----
- application/pdf
- .pdf
- ----
- application/rtf
- .rtf
- ----
- application/postscript
- .ai .eps .ps
- ----
- application/wordperfect
- .wpd
- ----
- application/mswrite
- .wri
- ----
- application/msexcel
- .xls .xls3 .xls4 .xls5 .xlw
- ----
- application/msword
- .doc
- ----
- application/mspowerpoint
- .ppt .pps
- ----
- application/x-director
- .swa
- ----
- application/x-shockwave-flash
- .swf
- ----
- application/x-zip-compressed
- .zip
- ----
- application/x-gzip
- .gz
- ----
- application/x-rar-compressed
- .rar
- ----
- application/octet-stream
- .com .exe .dll .ocx
- ----
- application/java-archive
- .jar</pre>
- </div>
- <div title="AttachFilePlugin" creator="pmario" modifier="pmario" created="201102072259" modified="201102072259" tags="systemConfig" server.title="AttachFilePlugin" server.page.revision="245735" server.etag=""fancybox_private/AttachFilePlugin/245735;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_private" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_private" server.permissions="read, write, create, delete" server.content-type="" _hash="9078408df7f276d0b62e4aeea5a4b3fb172d17c6">
- <pre>/***
- |Name|AttachFilePlugin|
- |Source|http://www.TiddlyTools.com/#AttachFilePlugin|
- |Documentation|http://www.TiddlyTools.com/#AttachFilePluginInfo|
- |Version|4.0.0|
- |Author|Eric Shulman|
- |License|http://www.TiddlyTools.com/#LegalStatements|
- |~CoreVersion|2.1|
- |Type|plugin|
- |Requires|AttachFilePluginFormatters, AttachFileMIMETypes|
- |Description|Store binary files as base64-encoded tiddlers with fallback links for separate local and/or remote file storage|
- Store or link binary files (such as jpg, gif, pdf or even mp3) within your TiddlyWiki document and then use them as images or links from within your tiddler content.
- > Important note: As of version 3.6.0, in order to //render// images and other binary attachments created with this plugin, you must also install [[AttachFilePluginFormatters]], which extends the behavior of the TiddlyWiki core formatters for embedded images ({{{[img[tooltip|image]]}}}), linked embedded images ({{{[img[tooltip|image][link]]}}}), and external/"pretty" links ({{{[[label|link]]}}}), so that these formatter will process references to attachment tiddlers as if a normal file reference had been provided. |
- !!!!!Documentation
- >see [[AttachFilePluginInfo]]
- !!!!!Inline interface (live)
- >see [[AttachFile]] (shadow tiddler)
- ><<tiddler AttachFile>>
- !!!!!Revisions
- <<<
- 2009.06.04 [4.0.0] changed attachment storage format to use //sections// instead of embedded substring markers.
- |please see [[AttachFilePluginInfo]] for additional revision details|
- 2005.07.20 [1.0.0] Initial Release
- <<<
- !!!!!Code
- ***/
- // // version
- //{{{
- version.extensions.AttachFilePlugin= {major: 4, minor: 0, revision: 0, date: new Date(2009,6,4)};
- // shadow tiddler
- config.shadowTiddlers.AttachFile="<<attach inline>>";
- // add 'attach' backstage task (insert before built-in 'importTask')
- if (config.tasks) { // for TW2.2b or above
- config.tasks.attachTask = {
- text: "attach",
- tooltip: "Attach a binary file as a tiddler",
- content: "<<attach inline>>"
- }
- config.backstageTasks.splice(config.backstageTasks.indexOf("importTask"),0,"attachTask");
- }
- config.macros.attach = {
- // // lingo
- //{{{
- label: "attach file",
- tooltip: "Attach a file to this document",
- linkTooltip: "Attachment: ",
- typeList: "AttachFileMIMETypes",
- titlePrompt: " enter tiddler title...",
- MIMEPrompt: "<option value=''>select MIME type...</option><option value='editlist'>[edit list...]</option>",
- localPrompt: " enter local path/filename...",
- URLPrompt: " enter remote URL...",
- tiddlerErr: "Please enter a tiddler title",
- sourceErr: "Please enter a source path/filename",
- storageErr: "Please select a storage method: embedded, local or remote",
- MIMEErr: "Unrecognized file format. Please select a MIME type",
- localErr: "Please enter a local path/filename",
- URLErr: "Please enter a remote URL",
- fileErr: "Invalid path/file or file not found",
- tiddlerFormat: '!usage\n{{{%0}}}\n%0\n!notes\n%1\n!type\n%2\n!file\n%3\n!url\n%4\n!data\n%5\n',
- //}}}
- // // macro definition
- //{{{
- handler:
- function(place,macroName,params) {
- if (params && !params[0])
- { createTiddlyButton(place,this.label,this.tooltip,this.toggleAttachPanel); return; }
- var id=params.shift();
- this.createAttachPanel(place,id+"_attachPanel",params);
- document.getElementById(id+"_attachPanel").style.position="static";
- document.getElementById(id+"_attachPanel").style.display="block";
- },
- //}}}
- //{{{
- createAttachPanel:
- function(place,panel_id,params) {
- if (!panel_id || !panel_id.length) var panel_id="_attachPanel";
- // remove existing panel (if any)
- var panel=document.getElementById(panel_id); if (panel) panel.parentNode.removeChild(panel);
- // set styles for this panel
- setStylesheet(this.css,"attachPanel");
- // create new panel
- var title=""; if (params && params[0]) title=params.shift();
- var types=this.MIMEPrompt+this.formatListOptions(store.getTiddlerText(this.typeList)); // get MIME types
- panel=createTiddlyElement(place,"span",panel_id,"attachPanel",null);
- var html=this.html.replace(/%id%/g,panel_id);
- html=html.replace(/%title%/g,title);
- html=html.replace(/%disabled%/g,title.length?"disabled":"");
- html=html.replace(/%IEdisabled%/g,config.browser.isIE?"disabled":"");
- html=html.replace(/%types%/g,types);
- panel.innerHTML=html;
- if (config.browser.isGecko) { // FF3 FIXUP
- document.getElementById("attachSource").style.display="none";
- document.getElementById("attachFixPanel").style.display="block";
- }
- return panel;
- },
- //}}}
- //{{{
- toggleAttachPanel:
- function (e) {
- if (!e) var e = window.event;
- var parent=resolveTarget(e).parentNode;
- var panel = document.getElementById("_attachPanel");
- if (panel==undefined || panel.parentNode!=parent)
- panel=config.macros.attach.createAttachPanel(parent,"_attachPanel");
- var isOpen = panel.style.display=="block";
- if(config.options.chkAnimate)
- anim.startAnimating(new Slider(panel,!isOpen,e.shiftKey || e.altKey,"none"));
- else
- panel.style.display = isOpen ? "none" : "block" ;
- e.cancelBubble = true;
- if (e.stopPropagation) e.stopPropagation();
- return(false);
- },
- //}}}
- //{{{
- formatListOptions:
- function(text) {
- if (!text || !text.trim().length) return "";
- // get MIME list content from text
- var parts=text.split("\n----\n");
- var out="";
- for (var p=0; p<parts.length; p++) {
- var lines=parts[p].split("\n");
- var label=lines.shift(); // 1st line=display text
- var value=lines.shift(); // 2nd line=item value
- out +='<option value="%1">%0</option>'.format([label,value]);
- }
- return out;
- },
- //}}}
- // // interface definition
- //{{{
- css:
- ".attachPanel { display: none; position:absolute; z-index:10; width:35em; right:105%; top:0em;\
- background-color: #eee; color:#000; font-size: 8pt; line-height:110%;\
- border:1px solid black; border-bottom-width: 3px; border-right-width: 3px;\
- padding: 0.5em; margin:0em; -moz-border-radius:1em;-webkit-border-radius:1em; text-align:left }\
- .attachPanel form { display:inline;border:0;padding:0;margin:0; }\
- .attachPanel select { width:99%;margin:0px;font-size:8pt;line-height:110%;}\
- .attachPanel input { width:98%;padding:0px;margin:0px;font-size:8pt;line-height:110%}\
- .attachPanel textarea { width:98%;margin:0px;height:2em;font-size:8pt;line-height:110%}\
- .attachPanel table { width:100%;border:0;margin:0;padding:0;color:inherit; }\
- .attachPanel tbody, .attachPanel tr, .attachPanel td { border:0;margin:0;padding:0;color:#000; }\
- .attachPanel .box { border:1px solid black; padding:.3em; margin:.3em 0px; background:#f8f8f8; \
- -moz-border-radius:5px;-webkit-border-radius:5px; }\
- .attachPanel .chk { width:auto;border:0; }\
- .attachPanel .btn { width:auto; }\
- .attachPanel .btn2 { width:49%; }\
- ",
- //}}}
- //{{{
- html:
- '<form>\
- attach from source file\
- <input type="file" id="attachSource" name="source" size="56"\
- onChange="config.macros.attach.onChangeSource(this)">\
- <div id="attachFixPanel" style="display:none"><!-- FF3 FIXUP -->\
- <input type="text" id="attachFixSource" style="width:90%"\
- title="Enter a path/file to attach"\
- onChange="config.macros.attach.onChangeSource(this);">\
- <input type="button" style="width:7%" value="..."\
- title="Enter a path/file to attach"\
- onClick="config.macros.attach.askForFilename(document.getElementById(\'attachFixSource\'));">\
- </div><!--end FF3 FIXUP-->\
- <div class="box">\
- <table style="border:0"><tr style="border:0"><td style="border:0;text-align:right;width:1%;white-space:nowrap">\
- embed data <input type=checkbox class=chk name="useData" %IEdisabled% \
- onclick="if (!this.form.MIMEType.value.length)\
- this.form.MIMEType.selectedIndex=this.checked?1:0; ">&nbsp;\
- </td><td style="border:0">\
- <select size=1 name="MIMEType" \
- onchange="this.title=this.value; if (this.value==\'editlist\')\
- { this.selectedIndex=this.form.useData.checked?1:0; story.displayTiddler(null,config.macros.attach.typeList,2); return; }">\
- <option value=""></option>\
- %types%\
- </select>\
- </td></tr><tr style="border:0"><td style="border:0;text-align:right;width:1%;white-space:nowrap">\
- local link <input type=checkbox class=chk name="useLocal"\
- onclick="this.form.local.value=this.form.local.defaultValue=this.checked?config.macros.attach.localPrompt:\'\';">&nbsp;\
- </td><td style="border:0">\
- <input type=text name="local" size=15 autocomplete=off value=""\
- onchange="this.form.useLocal.checked=this.value.length" \
- onkeyup="this.form.useLocal.checked=this.value.length" \
- onfocus="if (!this.value.length) this.value=config.macros.attach.localPrompt; this.select()">\
- </td></tr><tr style="border:0"><td style="border:0;text-align:right;width:1%;white-space:nowrap">\
- remote link <input type=checkbox class=chk name="useURL"\
- onclick="this.form.URL.value=this.form.URL.defaultValue=this.checked?config.macros.attach.URLPrompt:\'\';\">&nbsp;\
- </td><td style="border:0">\
- <input type=text name="URL" size=15 autocomplete=off value=""\
- onfocus="if (!this.value.length) this.value=config.macros.attach.URLPrompt; this.select()"\
- onchange="this.form.useURL.checked=this.value.length;"\
- onkeyup="this.form.useURL.checked=this.value.length;">\
- </td></tr></table>\
- </div>\
- <table style="border:0"><tr style="border:0"><td style="border:0;text-align:right;vertical-align:top;width:1%;white-space:nowrap">\
- notes&nbsp;\
- </td><td style="border:0" colspan=2>\
- <textarea name="notes" style="width:98%;height:3.5em;margin-bottom:2px"></textarea>\
- </td><tr style="border:0"><td style="border:0;text-align:right;width:1%;white-space:nowrap">\
- attach as&nbsp;\
- </td><td style="border:0" colspan=2>\
- <input type=text name="tiddlertitle" size=15 autocomplete=off value="%title%"\
- onkeyup="if (!this.value.length) { this.value=config.macros.attach.titlePrompt; this.select(); }"\
- onfocus="if (!this.value.length) this.value=config.macros.attach.titlePrompt; this.select()" %disabled%>\
- </td></tr></tr><tr style="border:0"><td style="border:0;text-align:right;width:1%;white-space:nowrap">\
- add tags&nbsp;\
- </td><td style="border:0">\
- <input type=text name="tags" size=15 autocomplete=off value="" onfocus="this.select()">\
- </td><td style="width:40%;text-align:right;border:0">\
- <input type=button class=btn2 value="attach"\
- onclick="config.macros.attach.onClickAttach(this)"><!--\
- --><input type=button class=btn2 value="close"\
- onclick="var panel=document.getElementById(\'%id%\'); if (panel) panel.parentNode.removeChild(panel);">\
- </td></tr></table>\
- </form>',
- //}}}
- // // control processing
- //{{{
- onChangeSource:
- function(here) {
- var form=here.form;
- var list=form.MIMEType;
- var theFilename = here.value;
- var theExtension = theFilename.substr(theFilename.lastIndexOf('.')).toLowerCase();
- // if theFilename is in current document folder, remove path prefix and use relative reference
- var h=document.location.href; folder=getLocalPath(decodeURIComponent(h.substr(0,h.lastIndexOf("/")+1)));
- if (theFilename.substr(0,folder.length)==folder) theFilename='./'+theFilename.substr(folder.length);
- else theFilename='file:///'+theFilename; // otherwise, use absolute reference
- theFilename=theFilename.replace(/\\/g,"/"); // fixup: change \ to /
- form.useLocal.checked = true;
- form.local.value = theFilename;
- form.useData.checked = !form.useData.disabled;
- list.selectedIndex=1;
- for (var i=0; i<list.options.length; i++) // find matching MIME type
- if (list.options[i].value.indexOf(theExtension)!=-1) { list.selectedIndex = i; break; }
- if (!form.tiddlertitle.disabled)
- form.tiddlertitle.value=theFilename.substr(theFilename.lastIndexOf('/')+1); // get tiddlername from filename
- },
- //}}}
- //{{{
- onClickAttach:
- function (here) {
- clearMessage();
- // get input values
- var form=here.form;
- var src=form.source; if (config.browser.isGecko) src=document.getElementById("attachFixSource");
- src=src.value!=src.defaultValue?src.value:"";
- var when=(new Date()).formatString(config.macros.timeline.dateFormat);
- var title=form.tiddlertitle.value;
- var local = form.local.value!=form.local.defaultValue?form.local.value:"";
- var url = form.URL.value!=form.URL.defaultValue?form.URL.value:"";
- var notes = form.notes.value;
- var tags = "attachment excludeMissing "+form.tags.value;
- var useData=form.useData.checked;
- var useLocal=form.useLocal.checked;
- var useURL=form.useURL.checked;
- var mimetype = form.MIMEType.value.length?form.MIMEType.options[form.MIMEType.selectedIndex].text:"";
- // validate checkboxes and get filename
- if (useData) {
- if (src.length) { if (!theLocation) var theLocation=src; }
- else { alert(this.sourceErr); src.focus(); return false; }
- }
- if (useLocal) {
- if (local.length) { if (!theLocation) var theLocation = local; }
- else { alert(this.localErr); form.local.focus(); return false; }
- }
- if (useURL) {
- if (url.length) { if (!theLocation) var theLocation = url; }
- else { alert(this.URLErr); form.URL.focus(); return false; }
- }
- if (!(useData||useLocal||useURL))
- { form.useData.focus(); alert(this.storageErr); return false; }
- if (!theLocation)
- { src.focus(); alert(this.sourceErr); return false; }
- if (!title || !title.trim().length || title==this.titlePrompt)
- { form.tiddlertitle.focus(); alert(this.tiddlerErr); return false; }
- // if not already selected, determine MIME type based on filename extension (if any)
- if (useData && !mimetype.length && theLocation.lastIndexOf('.')!=-1) {
- var theExt = theLocation.substr(theLocation.lastIndexOf('.')).toLowerCase();
- var theList=form.MIMEType;
- for (var i=0; i<theList.options.length; i++)
- if (theList.options[i].value.indexOf(theExt)!=-1)
- { var mimetype=theList.options[i].text; theList.selectedIndex=i; break; }
- }
- // attach the file
- return this.createAttachmentTiddler(src, when, notes, tags, title,
- useData, useLocal, useURL, local, url, mimetype);
- },
- getMIMEType:
- function(src,def) {
- var ext = src.substr(src.lastIndexOf('.')).toLowerCase();
- var list=store.getTiddlerText(this.typeList);
- if (!list || !list.trim().length) return def;
- // get MIME list content from tiddler
- var parts=list.split("\n----\n");
- for (var p=0; p<parts.length; p++) {
- var lines=parts[p].split("\n");
- var mime=lines.shift(); // 1st line=MIME type
- var match=lines.shift(); // 2nd line=matching extensions
- if (match.indexOf(ext)!=-1) return mime;
- }
- return def;
- },
- createAttachmentTiddler:
- function (src, when, notes, tags, title, useData, useLocal, useURL, local, url, mimetype, noshow) {
- if (useData) { // encode the data
- if (!mimetype.length) {
- alert(this.MIMEErr);
- form.MIMEType.selectedIndex=1; form.MIMEType.focus();
- return false;
- }
- var d = this.readFile(src); if (!d) { return false; }
- displayMessage('encoding '+src);
- var encoded = this.encodeBase64(d);
- displayMessage('file size='+d.length+' bytes, encoded size='+encoded.length+' bytes');
- }
- var usage=(mimetype.substr(0,5)=="image"?'[img[%0]]':'[[%0|%0]]').format([title]);
- var theText=this.tiddlerFormat.format([
- usage, notes.length?notes:'//none//', mimetype,
- useLocal?local.replace(/\\/g,'/'):'', useURL?url:'',
- useData?('data:'+mimetype+';base64,'+encoded):'' ]);
- store.saveTiddler(title,title,theText,config.options.txtUserName,new Date(),tags);
- var panel=document.getElementById("attachPanel"); if (panel) panel.style.display="none";
- if (!noshow) { story.displayTiddler(null,title); story.refreshTiddler(title,null,true); }
- displayMessage('attached "'+title+'"');
- return true;
- },
- //}}}
- // // base64 conversion
- //{{{
- encodeBase64:
- function (d) {
- if (!d) return null;
- // encode as base64
- var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
- var out="";
- var chr1,chr2,chr3="";
- var enc1,enc2,enc3,enc4="";
- for (var count=0,i=0; i<d.length; ) {
- chr1=d.charCodeAt(i++);
- chr2=d.charCodeAt(i++);
- chr3=d.charCodeAt(i++);
- enc1=chr1 >> 2;
- enc2=((chr1 & 3) << 4) | (chr2 >> 4);
- enc3=((chr2 & 15) << 2) | (chr3 >> 6);
- enc4=chr3 & 63;
- if (isNaN(chr2)) enc3=enc4=64;
- else if (isNaN(chr3)) enc4=64;
- out+=keyStr.charAt(enc1)+keyStr.charAt(enc2)+keyStr.charAt(enc3)+keyStr.charAt(enc4);
- chr1=chr2=chr3=enc1=enc2=enc3=enc4="";
- }
- return out;
- },
- decodeBase64: function(input) {
- var out="";
- var chr1,chr2,chr3;
- var enc1,enc2,enc3,enc4;
- var i = 0;
- // remove all characters that are not A-Z, a-z, 0-9, +, /, or =
- input=input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
- do {
- enc1=keyStr.indexOf(input.charAt(i++));
- enc2=keyStr.indexOf(input.charAt(i++));
- enc3=keyStr.indexOf(input.charAt(i++));
- enc4=keyStr.indexOf(input.charAt(i++));
- chr1=(enc1 << 2) | (enc2 >> 4);
- chr2=((enc2 & 15) << 4) | (enc3 >> 2);
- chr3=((enc3 & 3) << 6) | enc4;
- out=out+String.fromCharCode(chr1);
- if (enc3!=64) out=out+String.fromCharCode(chr2);
- if (enc4!=64) out=out+String.fromCharCode(chr3);
- } while (i<input.length);
- return out;
- },
- //}}}
- // // I/O functions
- //{{{
- readFile: // read local BINARY file data
- function(filePath) {
- if(!window.Components) { return null; }
- try { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); }
- catch(e) { alert("access denied: "+filePath); return null; }
- var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
- try { file.initWithPath(filePath); } catch(e) { alert("cannot read file - invalid path: "+filePath); return null; }
- if (!file.exists()) { alert("cannot read file - not found: "+filePath); return null; }
- var inputStream = Components.classes["@mozilla.org/network/file-input-stream;1"].createInstance(Components.interfaces.nsIFileInputStream);
- inputStream.init(file, 0x01, 00004, null);
- var bInputStream = Components.classes["@mozilla.org/binaryinputstream;1"].createInstance(Components.interfaces.nsIBinaryInputStream);
- bInputStream.setInputStream(inputStream);
- return(bInputStream.readBytes(inputStream.available()));
- },
- //}}}
- //{{{
- writeFile:
- function(filepath,data) {
- // TBD: decode base64 and write BINARY data to specified local path/filename
- return(false);
- },
- //}}}
- //{{{
- askForFilename: // for FF3 fixup
- function(target) {
- var msg=config.messages.selectFile;
- if (target && target.title) msg=target.title; // use target field tooltip (if any) as dialog prompt text
- // get local path for current document
- var path=getLocalPath(document.location.href);
- var p=path.lastIndexOf("/"); if (p==-1) p=path.lastIndexOf("\\"); // Unix or Windows
- if (p!=-1) path=path.substr(0,p+1); // remove filename, leave trailing slash
- var file=""
- var result=window.mozAskForFilename(msg,path,file,true); // FF3 FIXUP ONLY
- if (target && result.length) // set target field and trigger handling
- { target.value=result; target.onchange(); }
- return result;
- }
- };
- //}}}
- //{{{
- if (window.mozAskForFilename===undefined) { // also defined by CoreTweaks (for ticket #604)
- window.mozAskForFilename=function(msg,path,file,mustExist) {
- if(!window.Components) return false;
- try {
- netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
- var nsIFilePicker = window.Components.interfaces.nsIFilePicker;
- var picker = Components.classes['@mozilla.org/filepicker;1'].createInstance(nsIFilePicker);
- picker.init(window, msg, mustExist?nsIFilePicker.modeOpen:nsIFilePicker.modeSave);
- var thispath = Components.classes['@mozilla.org/file/local;1'].createInstance(Components.interfaces.nsILocalFile);
- thispath.initWithPath(path);
- picker.displayDirectory=thispath;
- picker.defaultExtension='';
- picker.defaultString=file;
- picker.appendFilters(nsIFilePicker.filterAll|nsIFilePicker.filterText|nsIFilePicker.filterHTML);
- if (picker.show()!=nsIFilePicker.returnCancel)
- var result=picker.file.persistentDescriptor;
- }
- catch(ex) { displayMessage(ex.toString()); }
- return result;
- }
- }
- //}}}</pre>
- </div>
- <div title="AttachFilePluginFormatters" creator="fancybox" modifier="pmario" created="201101211613" modified="201101261415" tags="systemConfig" server.title="AttachFilePluginFormatters" server.page.revision="173302" server.etag=""fancybox_public/AttachFilePluginFormatters/173302;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="315fcc4a02e8fc87f4302d794d78b7ec92654677">
- <pre>/***
- |Name|AttachFilePluginFormatters|
- |Source|http://www.TiddlyTools.com/#AttachFilePluginFormatters|
- |Version|4.0.1|
- |Author|Eric Shulman|
- |License|http://www.TiddlyTools.com/#LegalStatements|
- |~CoreVersion|2.1.3|
- |Type|plugin|
- |Description|run-time library for displaying attachment tiddlers|
- Runtime processing for //rendering// attachment tiddlers created by [[AttachFilePlugin]]. Attachment tiddlers are tagged with<<tag attachment>>and contain binary file content (e.g., jpg, gif, pdf, mp3, etc.) that has been stored directly as base64 text-encoded data or can be loaded from external files stored on a local filesystem or remote web server. Note: after creating new attachment tiddlers, you can remove [[AttachFilePlugin]], as long as you retain //this// tiddler (so that images can be rendered later on).
- !!!!!Formatters
- <<<
- This plugin extends the behavior of the following TiddlyWiki core "wikify()" formatters:
- * embedded images: {{{[img[tooltip|image]]}}}
- * linked embedded images: {{{[img[tooltip|image][link]]}}}
- * external/"pretty" links: {{{[[label|link]]}}}
- ''Please refer to AttachFilePlugin (source: http://www.TiddlyTools.com/#AttachFilePlugin) for additional information.''
- <<<
- !!!!!Revisions
- <<<
- 2009.10.10 [4.0.1] in fileExists(), check for IE to avoid hanging Chrome during startup
- 2009.06.04 [4.0.0] changed attachment storage format to use //sections// instead of embedded substring markers.
- 2008.01.08 [*.*.*] plugin size reduction: documentation moved to ...Info
- 2007.12.04 [*.*.*] update for TW2.3.0: replaced deprecated core functions, regexps, and macros
- 2007.10.29 [3.7.0] more code reduction: removed upload handling from AttachFilePlugin (saves ~7K!)
- 2007.10.28 [3.6.0] removed duplicate formatter code from AttachFilePlugin (saves ~10K!) and updated documentation accordingly. This plugin ([[AttachFilePluginFormatters]]) is now //''required''// in order to display attached images/binary files within tiddler content.
- 2006.05.20 [3.4.0] through 2007.03.01 [3.5.3] sync with AttachFilePlugin
- 2006.05.13 [3.2.0] created from AttachFilePlugin v3.2.0
- <<<
- !!!!!Code
- ***/
- // // version
- //{{{
- version.extensions.AttachFilePluginFormatters= {major: 4, minor: 0, revision: 1, date: new Date(2009,10,10)};
- //}}}
- //{{{
- if (config.macros.attach==undefined) config.macros.attach= { };
- //}}}
- //{{{
- if (config.macros.attach.isAttachment==undefined) config.macros.attach.isAttachment=function (title) {
- var tiddler = store.getTiddler(title);
- if (tiddler==undefined || tiddler.tags==undefined) return false;
- return (tiddler.tags.indexOf("attachment")!=-1);
- }
- //}}}
- //{{{
- // test for local file existence - returns true/false without visible error display
- if (config.macros.attach.fileExists==undefined) config.macros.attach.fileExists=function(f) {
- if(window.Components) { // MOZ
- try { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); }
- catch(e) { return false; } // security access denied
- var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
- try { file.initWithPath(f); }
- catch(e) { return false; } // invalid directory
- return file.exists();
- }
- else if (config.browser.isIE) { // IE
- var fso = new ActiveXObject("Scripting.FileSystemObject");
- return fso.FileExists(f);
- }
- else return true; // other browsers: assume file exists
- }
- //}}}
- //{{{
- if (config.macros.attach.getAttachment==undefined) config.macros.attach.getAttachment=function(title) {
- // extract embedded data, local and remote links (if any)
- var text=store.getTiddlerText(title,'');
- var embedded=store.getTiddlerText(title+'##data','').trim();
- var locallink=store.getTiddlerText(title+'##file','').trim();
- var remotelink=store.getTiddlerText(title+'##url','').trim();
- // backward-compatibility for older attachments (pre 4.0.0)
- var startmarker="---BEGIN_DATA---\n";
- var endmarker="\n---END_DATA---";
- var pos=0; var endpos=0;
- if ((pos=text.indexOf(startmarker))!=-1 && (endpos=text.indexOf(endmarker))!=-1)
- embedded="data:"+(text.substring(pos+startmarker.length,endpos)).replace(/\n/g,'');
- if ((pos=text.indexOf("/%LOCAL_LINK%/"))!=-1)
- locallink=text.substring(text.indexOf("|",pos)+1,text.indexOf("]]",pos));
- if ((pos=text.indexOf("/%REMOTE_LINK%/"))!=-1)
- remotelink=text.substring(text.indexOf("|",pos)+1,text.indexOf("]]",pos));
- // if there is a data: URI defined (not supported by IE)
- if (embedded.length && !config.browser.isIE) return embedded;
- // document is being served remotely... use remote URL (if any) (avoids security alert)
- if (remotelink.length && document.location.protocol!="file:")
- return remotelink;
- // local link only... return link without checking file existence (avoids security alert)
- if (locallink.length && !remotelink.length)
- return locallink;
- // local link, check for file exist... use local link if found
- if (locallink.length) {
- locallink=locallink.replace(/^\.[\/\\]/,''); // strip leading './' or '.\' (if any)
- if (this.fileExists(getLocalPath(locallink))) return locallink;
- // maybe local link is relative... add path from current document and try again
- var pathPrefix=document.location.href; // get current document path and trim off filename
- var slashpos=pathPrefix.lastIndexOf("/"); if (slashpos==-1) slashpos=pathPrefix.lastIndexOf("\\");
- if (slashpos!=-1 && slashpos!=pathPrefix.length-1) pathPrefix=pathPrefix.substr(0,slashpos+1);
- if (this.fileExists(getLocalPath(pathPrefix+locallink))) return locallink;
- }
- // no embedded data, no local (or not found), fallback to remote URL (if any)
- if (remotelink.length) return remotelink;
- // attachment URL doesn't resolve, just return input as is
- return title;
- }
- //}}}
- //{{{
- if (config.macros.attach.init_formatters==undefined) config.macros.attach.init_formatters=function() {
- if (this.initialized) return;
- // find the formatter for "image" and replace the handler
- for (var i=0; i<config.formatters.length && config.formatters[i].name!="image"; i++);
- if (i<config.formatters.length) config.formatters[i].handler=function(w) {
- this.lookaheadRegExp.lastIndex = w.matchStart;
- var lookaheadMatch = this.lookaheadRegExp.exec(w.source)
- if(lookaheadMatch && lookaheadMatch.index == w.matchStart) // Simple bracketted link
- {
- var e = w.output;
- if(lookaheadMatch[5])
- {
- var link = lookaheadMatch[5];
- // ELS -------------
- var external=config.formatterHelpers.isExternalLink(link);
- if (external)
- {
- if (config.macros.attach.isAttachment(link))
- {
- e = createExternalLink(w.output,link);
- e.href=config.macros.attach.getAttachment(link);
- e.title = config.macros.attach.linkTooltip + link;
- }
- else
- e = createExternalLink(w.output,link);
- }
- else
- e = createTiddlyLink(w.output,link,false,null,w.isStatic);
- // ELS -------------
- addClass(e,"imageLink");
- }
- var img = createTiddlyElement(e,"img");
- if(lookaheadMatch[1])
- img.align = "left";
- else if(lookaheadMatch[2])
- img.align = "right";
- if(lookaheadMatch[3])
- img.title = lookaheadMatch[3];
- img.src = lookaheadMatch[4];
- // ELS -------------
- if (config.macros.attach.isAttachment(lookaheadMatch[4]))
- img.src=config.macros.attach.getAttachment(lookaheadMatch[4]);
- // ELS -------------
- w.nextMatch = this.lookaheadRegExp.lastIndex;
- }
- }
- //}}}
- //{{{
- // find the formatter for "prettyLink" and replace the handler
- for (var i=0; i<config.formatters.length && config.formatters[i].name!="prettyLink"; i++);
- if (i<config.formatters.length) {
- config.formatters[i].handler=function(w) {
- this.lookaheadRegExp.lastIndex = w.matchStart;
- var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
- if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
- var e;
- var text = lookaheadMatch[1];
- if(lookaheadMatch[3]) {
- // Pretty bracketted link
- var link = lookaheadMatch[3];
- if (config.macros.attach.isAttachment(link)) {
- e = createExternalLink(w.output,link);
- e.href=config.macros.attach.getAttachment(link);
- e.title=config.macros.attach.linkTooltip+link;
- }
- else e = (!lookaheadMatch[2] && config.formatterHelpers.isExternalLink(link))
- ? createExternalLink(w.output,link)
- : createTiddlyLink(w.output,link,false,null,w.isStatic);
- } else {
- e = createTiddlyLink(w.output,text,false,null,w.isStatic);
- }
- createTiddlyText(e,text);
- w.nextMatch = this.lookaheadRegExp.lastIndex;
- }
- }
- } // if "prettyLink" formatter found
- this.initialized=true;
- }
- //}}}
- //{{{
- config.macros.attach.init_formatters(); // load time init
- //}}}
- //{{{
- if (TiddlyWiki.prototype.coreGetRecursiveTiddlerText==undefined) {
- TiddlyWiki.prototype.coreGetRecursiveTiddlerText = TiddlyWiki.prototype.getRecursiveTiddlerText;
- TiddlyWiki.prototype.getRecursiveTiddlerText = function(title,defaultText,depth) {
- return config.macros.attach.isAttachment(title)?
- config.macros.attach.getAttachment(title):this.coreGetRecursiveTiddlerText.apply(this,arguments);
- }
- }
- //}}}</pre>
- </div>
- <div title="Automatic" creator="pmario" modifier="pmario" created="201008061923" modified="201011081330" tags="excludeLists systemPalette" server.title="Automatic" server.page.revision="107040" server.etag=""neui-em_public/Automatic/107040;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" _hash="8d1b740254a4a1d74f79824d1175ebfeea75eaf2">
- <pre>/*{{{*/
- Name:Automatic
- Background: #e5f0e5
- Foreground: #0e190f
- PrimaryPale: #fcfdfc
- PrimaryLight: #accfae
- PrimaryMid: #4A6C4A
- PrimaryDark: #000000
- SecondaryPale: #fdfcfc
- SecondaryLight: #cfacac
- SecondaryMid: #a15d5c
- SecondaryDark: #000000
- TertiaryPale: #fcfcfd
- TertiaryLight: #afaccf
- TertiaryMid: #615ca1
- TertiaryDark: #000000
- /*}}}*/</pre>
- </div>
- <div title="Backstage" creator="osmosoft" modifier="osmosoft" created="201102181424" modified="201102181424" tags="excludeLists excludeMissing excludeSearch" server.title="Backstage" server.page.revision="257473" server.etag=""tiddlyspace/Backstage/257473;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/tiddlyspace" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="tiddlyspace" server.permissions="read" server.content-type="" _hash="b6ad083e2212cc2964a85891daac144647f3b296">
- <pre>!UserUnplugged
- <<TiddlySpaceLogin>>
- !SpaceUnplugged
- {{unpluggedSpaceTab{
- {{wizard{
- <<image unsyncedIcon width:48>> <<message messages.syncExplanation>>
- }}}
- {{wizard syncKey{
- {{keyHeading{
- Key}}}
- {{changedServer keyItem{<<message macros.sync.syncStatusList.changedServer.text>>}}} {{changedBoth keyItem{<<message macros.sync.syncStatusList.changedBoth.text>>}}} {{changedLocally keyItem{<<message macros.sync.syncStatusList.changedLocally.text>>}}} {{notFound keyItem{<<message macros.sync.syncStatusList.notFound.text>>}}}
- }}}
- <<sync>>
- !User
- {{textRight{
- <<TiddlySpaceLogout>>
- <<tabs txtUserTab
- "Your Identities" "Manage your identities" [[Backstage##Identities]]
- "Your Spaces" "Maintain your spaces and create new ones" [[Backstage##UserSpaces]]
- "Your Password" "Change your password" [[Backstage##Password]]
- >>
- }}}
- !Menu
- {{tiddlyspaceMenu{
- <<message messages.memberStatus>> <<homeLink>>
- {{unsyncedList{<<message messages.syncListHeading>> <<list filter [is[unsynced]]>>}}}
- <<tabs txtTiddlySpaceTab
- search "search across TiddlySpace" Backstage##Search
- help "quick access to useful space resources" Backstage##Resources
- >>
- running TiddlySpace@glossary version <<message extensions.tiddlyweb.status.tiddlyspace_version>>
- }}}
- !Resources
- [[blog|@@blog]]
- [[documentation|@@docs]]
- [[featured spaces|@@featured]]
- !Search
- <<tsSearch>>
- !Space
- <<followSpace>>
- <<tabs txtSpaceTab
- members Members Backstage##SpaceMembers
- includes "include spaces" Backstage##SpaceInclusions
- tiddlers "tiddlers control panel" Backstage##Tiddlers
- plugins "Manage installed plugins" PluginManager
- batch "Perform batch operations on public/private tiddlers" Backstage##BatchOps
- options "TiddlyWiki options" Backstage##Options
- tweaks "Tweak the appearance and behaviour of TiddlyWiki" AdvancedOptions
- import "Import tiddlers from a TiddlyWiki" Backstage##FileImport
- export "Export this TiddlySpace for offline use" Backstage##Export
- >>
- !FileImport
- <<fileImport>>
- !Export
- You can download this TiddlySpace as an offline TiddlyWiki:
- {{chunkyButton{<<exportSpace>>}}}
- !Identities
- You can associate your account with multiple identities. If you have an open id for example you could log into TiddlySpace with that as well as a TiddlySpace user account.
- <<TiddlySpaceIdentities add>>
- {{inlineList{
- <<TiddlySpaceIdentities list>>
- }}}
- {{backstageClear{}}}
- !Login
- <<tabs txtLoginTab
- "TiddlySpace Username" "Login via a TiddlySpace username and password" Backstage##UserUnplugged
- "OpenID" "Login via an OpenID" Backstage##TabOpenID
- "Register" "Register a TiddlySpace account" Backstage##TabRegister
- >>
- !TabOpenID
- <<TiddlySpaceLogin openid>>
- !TabRegister
- <<TiddlySpaceRegister>>
- !Options
- upload a <<message messages.privacySetting>> file:
- <<binaryUpload>>
- <<search>><<closeAll>><<permaview>><<newTiddler>><<newJournal "DD MMM YYYY" "journal">><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel "options »" "Change TiddlyWiki advanced options">>
- !Password
- <<TiddlySpaceChangePassword>>
- !SpaceInclusions
- This space includes the public tiddlers from the following spaces:
- <<TiddlySpaceInclusion list>>
- <<TiddlySpaceInclusion passive>>
- !SpaceMembers
- The following people are members of the space ''<<message extensions.tiddlyspace.currentSpace.name>>''. Only members have access to the private tiddlers in a space.
- <<TiddlySpaceMembers list>>
- <<TiddlySpaceMembers add>>
- !Tiddlers
- <<tabs
- txtMainTab
- "Recent" "Recently edited tiddlers" TabTimeline
- "All" "All tiddlers" TabAll
- "Public" "All public tiddlers" [[TiddlySpaceTabs##Public]]
- "Private" "All private tiddlers" [[TiddlySpaceTabs##Private]]
- "Tags" "All tags" TabTags
- "Spaces" "Tiddlers grouped by space" [[TiddlySpaceTabs##Spaces]]
- "Missing" "Missing tiddlers" TabMoreMissing
- "Orphans" "Orphaned tiddlers" TabMoreOrphans
- "Shadows" "Shadowed tiddlers" TabMoreShadowed
- >>
- !BatchOps
- <<tabs
- txtPublisherTab
- "Private" "Move tiddlers from private to public" Backstage##BatchPrivate
- "Public" "Move tiddlers from public to private" Backstage##BatchPublic
- >>
- !BatchPrivate
- <<TiddlySpacePublisher type:private>>
- !BatchPublic
- <<TiddlySpacePublisher type:public>>
- !UserSpaces
- <<TiddlySpaceSpaces add>>
- You are currently a member of the following spaces.
- {{inlineList{
- <<TiddlySpaceSpaces list>>
- }}}
- {{backstageClear{}}}</pre>
- </div>
- <div title="BinaryTiddlersPlugin" creator="FND" modifier="FND" created="201102181424" modified="201102181424" tags="excludeLists excludeSearch systemConfig" server.title="BinaryTiddlersPlugin" server.page.revision="257447" server.etag=""system/BinaryTiddlersPlugin/257447;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/system" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="system" server.permissions="read" server.content-type="text/javascript" _hash="fb178a76f84a9fb609c4ad3061ec0ab6537f290d">
- <pre>/***
- |''Name''|BinaryTiddlersPlugin|
- |''Description''|renders base64-encoded binary tiddlers as images or links|
- |''Author''|FND|
- |''Version''|0.3.0|
- |''Status''|@@beta@@|
- |''Source''|http://svn.tiddlywiki.org/Trunk/association/plugins/BinaryTiddlersPlugin.js|
- |''License''|[[BSD|http://www.opensource.org/licenses/bsd-license.php]]|
- |''CoreVersion''|2.5|
- !Code
- ***/
- //{{{
- (function($) {
- var ctfield = "server.content-type";
- var plugin = config.extensions.BinaryTiddlersPlugin = {
- isWikiText: function(tiddler) {
- var ctype = tiddler.fields[ctfield];
- if(ctype) {
- return !this.isBinary(tiddler) && !this.isTextual(ctype);
- } else {
- return true;
- }
- },
- // NB: pseudo-binaries are considered non-binary here
- isBinary: function(tiddler) {
- var ctype = tiddler.fields[ctfield];
- return ctype ? !this.isTextual(ctype) : false;
- },
- isTextual: function(ctype) {
- return ctype.indexOf("text/") == 0 || this.endsWith(ctype, "+xml");
- },
- endsWith: function(str, suffix) {
- return str.length >= suffix.length &&
- str.substr(str.length - suffix.length) == suffix;
- }
- };
- // hijack text viewer to add special handling for binary tiddlers
- var _view = config.macros.view.views.wikified;
- config.macros.view.views.wikified = function(value, place, params, wikifier,
- paramString, tiddler) {
- var ctype = tiddler.fields["server.content-type"];
- if(params[0] == "text" && ctype && !tiddler.tags.contains("systemConfig")) {
- var el;
- if(plugin.isBinary(tiddler)) {
- var uri = "data:%0;base64,%1".format([ctype, tiddler.text]); // TODO: fallback for legacy browsers
- if(ctype.indexOf("image/") == 0) {
- el = $("<img />").attr("alt", tiddler.title).attr("src", uri);
- } else {
- el = $("<a />").attr("href", uri).text(tiddler.title);
- }
- } else {
- el = $("<pre />").text(tiddler.text);
- }
- el.appendTo(place);
- } else {
- _view.apply(this, arguments);
- }
- };
- // hijack edit macro to disable editing of binary tiddlers' body
- var _editHandler = config.macros.edit.handler;
- config.macros.edit.handler = function(place, macroName, params, wikifier,
- paramString, tiddler) {
- if(params[0] == "text" && plugin.isBinary(tiddler)) {
- return false;
- } else {
- _editHandler.apply(this, arguments);
- }
- };
- // hijack autoLinkWikiWords to ignore binary tiddlers
- var _autoLink = Tiddler.prototype.autoLinkWikiWords;
- Tiddler.prototype.autoLinkWikiWords = function() {
- return plugin.isWikiText(this) ? _autoLink.apply(this, arguments) : false;
- };
- })(jQuery);
- //}}}</pre>
- </div>
- <div title="BinaryUpload" creator="pmario" modifier="pmario" created="201009282106" modified="201009282108" tags="excludeLists" server.title="BinaryUpload" server.page.revision="107042" server.etag=""neui-em_public/BinaryUpload/107042;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" _hash="99645e55d5d5d43ad416e0db7779188e8e0329cf">
- <pre><<binaryUpload edit:title>>
- Learn more at: BinaryUploadPlugin</pre>
- </div>
- <div title="BinaryUploadPlugin" creator="osmosoft" modifier="osmosoft" created="201102181424" modified="201102181424" tags="excludeLists excludeSearch systemConfig" server.title="BinaryUploadPlugin" server.page.revision="257433" server.etag=""system-plugins_public/BinaryUploadPlugin/257433;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/system-plugins_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="system-plugins_public" server.permissions="read" server.content-type="text/javascript" _hash="e6a01dab653fcd8fe406a2a6332e09d0ca4e3fa0">
- <pre>/***
- |''Name''|BinaryUploadPlugin|
- |''Version''|0.3.15|
- |''Author''|Ben Gillies and Jon Robson|
- |''Type''|plugin|
- |''Source''|http://github.com/TiddlySpace/tiddlyspace/raw/master/src/plugins/BinaryUploadPlugin.js|
- |''Description''|Upload a binary file to TiddlyWeb|
- |''CoreVersion''|2.6.1|
- |''Requires''|TiddlySpaceConfig TiddlyWebConfig|
- !Usage
- {{{
- <<binaryUpload bag:<name> edit:tags edit:title tags:<default tags> title:<title> >>
- }}}
- * {{{bag:<name>}}}: optional; if left out, the file will be saved to the current workspace
- * {{{edit:tags}}}: specifies that you want to tag the file being uploaded
- * {{{edit:title}}}: specifies that you want to set the title to something other than the filename
- * {{{tags:<default tags>}}}: specifies a default set of tags to apply to the file (requires {{{edit:tags}}} to be set)
- * {{{title:<title>}}}: predefines the title of the binary tiddler
- !Requires
- TiddlyWeb
- tiddlywebplugins.form
- !Code
- ***/
- //{{{
- (function($) {
- var tiddlyspace = config.extensions.tiddlyspace;
- var macro = config.macros.binaryUpload = {
- locale: {
- titleDefaultValue: "Please enter a title...",
- tagsDefaultValue: "Please enter some tags...",
- titlePrefix: "title: ",
- tagsPrefix: "tags: ",
- loadSuccess: 'Tiddler %0 successfully uploaded',
- loadError: "An error occurred when uploading the tiddler %0",
- uploadInProgress: "Please wait while the file is uploaded...",
- membersOnly: "Only members can upload."
- },
- renderInputFields: function(container, options) {
- var locale = macro.locale;
- var editableFields = options.edit;
- var includeFields = {
- tags: editableFields && editableFields.contains("tags") ? true : false,
- title: editableFields && editableFields.contains("title") ? true : false
- };
- var fields = ["title", "tags"];
- for(var i = 0; i < fields.length; i++) {
- var fieldName = fields[i];
- var userDefault = options[fieldName];
- var defaultValue = userDefault ? userDefault[0] : false;
- if(includeFields[fieldName] || defaultValue) {
- var localeDefault = locale["%0DefaultValue".format(fieldName)];
- var className = defaultValue ? "userInput" : "userInput notEdited";
- var inputEl;
- var val = defaultValue || localeDefault || "";
- var iContainer = $("<div />").addClass("binaryUpload%0".format(fieldName)).
- appendTo(container);
- if(defaultValue && !includeFields[fieldName]) {
- var label = locale["%0Prefix".format(fieldName)];
- $("<span />").text(label).appendTo(iContainer);
- $("<span />").addClass("disabledInput").text(val).appendTo(iContainer);
- inputEl = $("<input />").attr("type", "hidden");
- } else {
- inputEl = $("<input />").attr("type", "text");
- }
- inputEl.attr("name", fieldName).
- addClass("%0Edit".format(fieldName)).
- val(val).addClass(className).appendTo(iContainer);
- }
- }
- },
- getTiddlerName: function(fileName) {
- var fStart = fileName.lastIndexOf("\\");
- var fStart2 = fileName.lastIndexOf("/");
- fStart = fStart < fStart2 ? fStart2 : fStart;
- fileName = fileName.substr(fStart+1);
- return fileName;
- },
- errorHandler: function(fileName) {
- displayMessage("upload of file %0 failed".format(fileName));
- },
- uploadFile: function(place, baseURL, workspace, options) {
- var pleaseWait = $(".uploadProgress", place);
- var iframeName = options.target;
- var form = $("form", place);
- var existingVal = $("input[name=title]", form).val();
- var fileName = existingVal || $('input:file', form).val();
- if(!fileName) {
- return false; // the user hasn't selected a file yet
- }
- fileName = macro.getTiddlerName(fileName);
- $("input[name=title]", place).val(fileName);
- // we need to go somewhere afterwards to ensure the onload event triggers
- var redirectTo = "/%0/tiddlers.txt?select=title:%1".
- format(workspace, fileName);
- var token = tiddlyspace ? tiddlyspace.getCSRFToken() : "";
- var action = "%0?csrf_token=%1&redirect=%2"
- .format(baseURL, token, redirectTo);
- form[0].action = action; // dont use jquery to work with ie
- form[0].target = iframeName;
- // do not refactor following line... won't work in IE6 otherwise
- $(place).append($('<iframe name="' + iframeName + '" id="' + iframeName + '"/>').css('display','none'));
- macro.iFrameLoader(iframeName, function() {
- var content = document.getElementById(iframeName).contentWindow.document.documentElement;
- if($(content).text().indexOf(fileName) > -1) {
- options.callback(place, fileName, workspace, baseURL);
- } else {
- macro.errorHandler(fileName);
- }
- form.show(1000);
- pleaseWait.hide(1000);
- });
- form.hide(1000);
- pleaseWait.show(1000);
- return true;
- },
- createUploadForm: function(place, options) {
- var locale = macro.locale;
- if(readOnly) {
- $('<div class="annotation" />').text(locale.membersOnly).
- appendTo(place);
- return;
- }
- var bag = options.bag;
- options.callback = options.callback ? options.callback :
- function(place, fileName, workspace, baseurl) {
- macro.displayFile(place, fileName, workspace);
- displayMessage(locale.loadSuccess.format(fileName));
- $("input[type=text]", place).val("");
- };
- var defaults = config.defaultCustomFields;
- place = $("<div />").addClass("container").appendTo(place)[0];
- var workspace = bag ? "bags/%0".format(bag) : config.defaultCustomFields["server.workspace"];
- var baseURL = defaults["server.host"];
- baseURL += (baseURL[baseURL.length - 1] !== "/") ? "/" : "";
- baseURL = "%0%1/tiddlers".format(baseURL, workspace);
- //create the upload form, complete with invisible iframe
- var iframeName = "binaryUploadiframe%0".format(Math.random());
- // do not refactor following line of code to work in IE6.
- var form = $('<form action="%0" method="POST" enctype="multipart/form-data" />'.
- format(baseURL)).addClass("binaryUploadForm").
- attr("method", "POST").attr("enctype", "multipart/form-data").appendTo(place)[0];
- macro.renderInputFields(form, options);
- $(form).
- append('<div class="binaryUploadFile"><input type="file" name="file" /></div>').
- append('<div class="binaryUploadSubmit"><input type="submit" value="Upload" /></div>').
- submit(function(ev) {
- this.target = iframeName;
- options.target = iframeName;
- macro.uploadFile(place, baseURL, workspace, options);
- });
- $('<div />').addClass("uploadProgress").text(locale.uploadInProgress).hide().appendTo(place);
- $("input[name=file]", place).change(function(ev) {
- var target = $(ev.target);
- var fileName = target.val();
- var title = $("input[type=text][name=title]", place);
- if(!title.val()) {
- title.val(fileName);
- }
- });
- },
- handler: function(place, macroName, params, wikifier, paramString, tiddler) {
- params = paramString.parseParams(null, null, true);
- macro.createUploadForm(place, params[0]);
- },
- iFrameLoader: function(iframeName, callback) {
- var iframe = document.getElementById(iframeName); //jQuery doesn't seem to want to do this!?
- var locale = macro.locale;
- $(".userInput").addClass("notEdited"); // reset editing
- var finishedLoading = function() {
- callback();
- };
- var iFrameLoadHandler = function() {
- finishedLoading.apply();
- return;
- };
- iframe.onload = iFrameLoadHandler;
- //IE
- completeReadyStateChanges = 0;
- iframe.onreadystatechange = function() {
- if (++(completeReadyStateChanges) == 3) {
- iFrameLoadHandler();
- }
- };
- },
- displayFile: function(place, title, workspace) {
- var adaptor = store.getTiddlers()[0].getAdaptor();
- var context = {
- workspace: workspace,
- host: config.defaultCustomFields['server.host']
- };
- adaptor.getTiddler(title, context, null, function(context) {
- if(context.status) {
- store.addTiddler(context.tiddler);
- story.displayTiddler(place, title);
- var image = config.macros.image;
- if(image && image.refreshImage) {
- image.refreshImage("/%0/tiddlers/%1".format(workspace, title));
- image.refreshImage(title);
- image.refreshImage("/%0".format(title));
- image.refreshImage("%0/%1/tiddlers/%2".format(config.extensions.tiddlyweb.host, workspace, title));
- }
- } else {
- displayMessage(macro.locale.loadError.format(title));
- }
- });
- }
- };
- if(tiddlyspace) {
- config.macros.binaryUploadPublic = {
- handler: function(place, macroName, params, wikifier, paramString, tiddler) {
- var options = paramString.parseParams(null, null, true)[0];
- var bag = tiddlyspace.getCurrentBag("public");
- options.bag = bag;
- macro.createUploadForm(place, options);
- }
- };
- config.messages.privacySetting = config.options.chkPrivateMode ?
- "private" : "public";
- config.macros.binaryUpload.defaultWorkspace = tiddlyspace.
- getCurrentWorkspace(config.messages.privacySetting);
- }
- })(jQuery);
- //}}}</pre>
- </div>
- <div title="CSideBarTabs" creator="pmario" modifier="pmario" created="201008061923" modified="201009282130" tags="excludeLists" server.title="CSideBarTabs" server.page.revision="107056" server.etag=""neui-em_public/CSideBarTabs/107056;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" revision.text="" _hash="9b16ef156953eb5ac75a1132c2c9b87150489146">
- <pre><<tiddler SideBarTabs>>
- /%
- *Renaming this tiddler, will make the right sidebar invisible.
- *Using this tiddler with the theme, makes it possible to keep the original SideBarTabs tiddler.
-
- !!!old content
- <<tiddler SidebarButtons>>
- <<slider chkSliderSideBarTabs SideBarTabs "Index »" "display the timeline">>
- %/</pre>
- </div>
- <div title="CSidebarOptions" creator="pmario" modifier="pmario" created="201008061923" modified="201009181705" tags="excludeLists" server.title="CSidebarOptions" server.page.revision="107058" server.etag=""neui-em_public/CSidebarOptions/107058;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" _hash="5df8176c6db1d12bb775584228ad916db46298e0">
- <pre><<slider chkSliderOptionsPanel OptionsPanel "Options »" "display the options panel">></pre>
- </div>
- <div title="CSidebarTools" creator="pmario" modifier="pmario" created="201009181848" modified="201009282132" tags="excludeLists hide" server.title="CSidebarTools" server.page.revision="107067" server.etag=""neui-em_public/CSidebarTools/107067;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" _hash="1a95384f6922582486736cfc64fa9bece392ceba">
- <pre><<tiddler SidebarTools>>/%
- If you prefere a Tools slider, use the line below
- <<slider chkSliderToolsPanel SidebarTools "Tools »" "new, save, ...">>
- %/</pre>
- </div>
- <div title="CTagBox" creator="pmario" modifier="pmario" created="201009061254" modified="201012201644" tags="addon excludeLists" server.title="CTagBox" server.page.revision="107493" server.etag=""neui-tagsearch_public/CTagBox/107493;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-tagsearch_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-tagsearch_public" server.permissions="read, write, create, delete" server.content-type="" _hash="c88eae9dda7d51ef81e61a41e475b21b50898587">
- <pre>{{tagSearch{<<tagsearch label:'edit tags'>>}}}</pre>
- </div>
- <div title="ColorPalette" creator="fancybox" modifier="fancybox" created="201101181525" modified="201101211613" tags="excludeLists excludeSearch" server.title="ColorPalette" server.page.revision="47560" server.etag=""fancybox_public/ColorPalette/47560;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="f8ab9a39a816a5549f388cf1f48e9f4b3abaccd6">
- <pre>/*{{{*/
- Background: #e3eaf2
- Foreground: #0c141b
- PrimaryPale: #ffffff
- PrimaryLight: #adc3d9
- PrimaryMid: #5b87b3
- PrimaryDark: #0a0f15
- SecondaryPale: #ffffff
- SecondaryLight: #bed9ad
- SecondaryMid: #7eb35b
- SecondaryDark: #0e150a
- TertiaryPale: #ffffff
- TertiaryLight: #d9adc7
- TertiaryMid: #b35b90
- TertiaryDark: #150a11
- Error: #f88
- ColorPaletteParameters: HSL([210|66], [0.36509835156374804],[0.06232365550379004|1])
- /*}}}*/</pre>
- </div>
- <div title="CoralFish.jpg" creator="pmario" modifier="pmario" created="201102072057" modified="201102111136" tags="attachment flikr flikrSlide" server.title="CoralFish.jpg" server.page.revision="249008" server.etag=""fancybox_public/CoralFish.jpg/249008;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="7d37b690997b62edfbee5e86207cbe6107807a6c">
- <pre>!slide
- CoralFishSlide.jpg
- !usage
- {{{[img[CoralFish.jpg]]}}}
- [img[CoralFish.jpg]]
- !notes
- !type
- image/jpg
- !file
- ./thumbs/5098/5421258927_8fe35503cc_t.jpg
- !url
- http://farm6.static.flickr.com/5098/5421258927_8fe35503cc_t.jpg
- !link
- [[CoralFish|http://farm6.static.flickr.com/5098/5421258927_8fe35503cc_t.jpg]]
- !end
- </pre>
- </div>
- <div title="CoralFishSlide.jpg" creator="pmario" modifier="pmario" created="201102072057" modified="201102072138" tags="attachment flikr" server.title="CoralFishSlide.jpg" server.page.revision="245638" server.etag=""fancybox_public/CoralFishSlide.jpg/245638;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="7ea0292c928e28c2d1729eee7253a1266470e4e0">
- <pre>!usage
- {{{[img[CoralFishSlide.jpg]]}}}
- [img[CoralFishSlide.jpg]]
- !notes
- !type
- image/jpg
- !file
- ./thumbs/5098/5421258927_8fe35503cc_b.jpg
- !url
- http://farm6.static.flickr.com/5098/5421258927_8fe35503cc_b.jpg
- !link
- [[CoralFish|http://farm6.static.flickr.com/5098/5421258927_8fe35503cc_b.jpg]]
- !end
- </pre>
- </div>
- <div title="DefaultTiddlers" creator="pmario" modifier="pmario" created="201008061923" modified="201009181658" tags="excludeLists" server.title="DefaultTiddlers" server.page.revision="107079" server.etag=""neui-em_public/DefaultTiddlers/107079;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" _hash="ff104d449420c166858787134d7183c5a0993955">
- <pre>[tag[default]]</pre>
- </div>
- <div title="DiaShowConfig" creator="pmario" modifier="pmario" created="201102111348" modified="201102111348" server.title="DiaShowConfig" server.page.revision="251110" server.etag=""fancybox_public/DiaShowConfig/251110;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="718508b83b9ff102a05a258739eed48cb33d2399">
- <pre>see: [[About]]</pre>
- </div>
- <div title="DiaShowTest" creator="pmario" modifier="pmario" created="201102111349" modified="201102111349" server.title="DiaShowTest" server.page.revision="251112" server.etag=""fancybox_public/DiaShowTest/251112;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="1df53ee1de99de6d8ae803a4b7bd95c625a2cbba">
- <pre>See: [[About]]</pre>
- </div>
- <div title="DiffFormatter" creator="FND" modifier="FND" created="201102181424" modified="201102181424" tags="excludeLists excludeSearch systemConfig" server.title="DiffFormatter" server.page.revision="257448" server.etag=""system/DiffFormatter/257448;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/system" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="system" server.permissions="read" server.content-type="text/javascript" _hash="2232cd0549946d29c475cec846de3378177301ae">
- <pre>/***
- |''Name''|DiffFormatter|
- |''Description''|highlighting of text comparisons|
- |''Author''|FND|
- |''Version''|0.9.0|
- |''Status''|beta|
- |''Source''|http://svn.tiddlywiki.org/Trunk/contributors/FND/formatters/DiffFormatter.js|
- |''CodeRepository''|http://svn.tiddlywiki.org/Trunk/contributors/FND/|
- |''License''|[[BSD|http://www.opensource.org/licenses/bsd-license.php]]|
- |''Keywords''|formatting|
- !Description
- Highlights changes in a unified [[diff|http://en.wikipedia.org/wiki/Diff#Unified_format]].
- !Notes
- Based on Martin Budden's [[DiffFormatterPlugin|http://svn.tiddlywiki.org/Trunk/contributors/MartinBudden/formatters/DiffFormatterPlugin.js]].
- !Usage
- The formatter is applied to blocks wrapped in <html><code>{{{diff{..}}}</code></html> within tiddlers tagged with "diff".
- !Revision History
- !!v0.9 (2010-04-07)
- * initial release; fork of DiffFormatterPlugin
- !StyleSheet
- .diff { white-space: pre; font-family: monospace; }
- .diff ins, .diff del { display: block; text-decoration: none; }
- .diff ins { background-color: #dfd; }
- .diff del { background-color: #fdd; }
- .diff .highlight { background-color: [[ColorPalette::SecondaryPale]]; }
- !Code
- ***/
- //{{{
- (function() {
- config.shadowTiddlers.StyleSheetDiffFormatter = store.getTiddlerText(tiddler.title + "##StyleSheet");
- store.addNotification("StyleSheetDiffFormatter", refreshStyles);
- var formatters = [{
- name: "diffWrapper",
- match: "^\\{\\{diff\\{\n", // XXX: suboptimal
- termRegExp: /(.*\}\}\})$/mg,
- handler: function(w) {
- var el = createTiddlyElement(w.output, "div", null, "diff");
- w.subWikifyTerm(el, this.termRegExp);
- }
- }, {
- name: "diffRange",
- match: "^(?:@@|[+\\-]{3}) ",
- lookaheadRegExp: /^(?:@@|[+\-]{3}) .*\n/mg,
- handler: function(w) {
- createTiddlyElement(w.output, "div", null, "highlight").
- innerHTML = "&#8230;";
- this.lookaheadRegExp.lastIndex = w.matchStart;
- var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
- if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
- w.nextMatch = this.lookaheadRegExp.lastIndex;
- }
- }
- }, {
- name: "diffAdded",
- match: "^\\+",
- termRegExp: /(\n)/mg,
- handler: function(w) {
- var el = createTiddlyElement(w.output, "ins", null, "added");
- w.subWikifyTerm(el, this.termRegExp);
- }
- }, {
- name: "diffRemoved",
- match: "^-",
- termRegExp: /(\n)/mg,
- handler: function(w) {
- var el = createTiddlyElement(w.output, "del", null, "removed");
- w.subWikifyTerm(el, this.termRegExp);
- }
- }
- ];
- config.parsers.diffFormatter = new Formatter(formatters);
- config.parsers.diffFormatter.format = "diff";
- config.parsers.diffFormatter.formatTag = "diff";
- })();
- //}}}</pre>
- </div>
- <div title="DifferentTitles" creator="pmario" modifier="pmario" created="201102131915" modified="201102131915" tags="excludeLists excludeSearch" server.title="DifferentTitles" server.page.revision="253382" server.etag=""fancybox_public/DifferentTitles/253382;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="188633fcdd2e8461f3280182a5414758cb06aa65">
- <pre><html><style>.imgStack {display:inline;}</style></html>
- !!!Different title positions - 'outside', 'inside' and 'over'
- <<fancyBox 04.jpg label:"Foto session with manta" defaults:"DirectoryConfig##Defaults" fancy:"DifferentTitles##Outside">><<fancyBox 08.jpg label:"Find me!" defaults:"DirectoryConfig##Defaults" fancy:"DifferentTitles##Inside">><<fancyBox 09.jpg label:"Found you!" defaults:"DirectoryConfig##Defaults" fancy:"DifferentTitles##Over">>
- /%
- !Outside
- !Inside
- titlePosition: inside
- !Over
- titlePosition: over
- %/</pre>
- </div>
- <div title="DifferentTransitions" creator="pmario" modifier="pmario" created="201102131915" modified="201102221826" tags="excludeLists excludeSearch" server.title="DifferentTransitions" server.page.revision="261795" server.etag=""fancybox_public/DifferentTransitions/261795;679c808ea83728c9f0922e0ac831727f87829617"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="561db2c3f10ad4834371cac38ff5193521b3d98e">
- <pre><html><style>.imgStack {display:inline;}</style></html>
- !!!Different animations - 'fade', 'elastic' and 'none'
- <<fancyBox 02.jpg defaults:"DirectoryConfig##Defaults" fancy:"DifferentTransitions##Fade">><<fancyBox 03.jpg defaults:"DirectoryConfig##Defaults" fancy:"DifferentTransitions##Elastic">><<fancyBox 07.jpg defaults:"DirectoryConfig##Defaults" fancy:"DifferentTransitions##None">>
- /%
- !Fade
- titleShow: false
- speedIn: 1000
- speedOut: 1000
- !Elastic
- titleShow: false
- transitionIn: elastic
- transitionOut: elastic
- easingIn: easeOutBack
- easingOut: easeInBack
- speedIn: 1000
- speedOut: 1000
- !None
- titleShow: false
- transitionIn: none
- transitionOut: none
- %/</pre>
- </div>
- <div title="DirectoryConfig" creator="pmario" modifier="pmario" created="201102111153" modified="201102111153" server.title="DirectoryConfig" server.page.revision="249044" server.etag=""fancybox_public/DirectoryConfig/249044;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" deleted="true" _hash="0bd2451e6f4cc6dc1f25d3335f3c46fb24146ba5">
- <pre>!Defaults
- {{{
- thumbHost: http://fancybox-thumbs.tiddlyspace.com/
- picHost: http://fancybox-pics.tiddlyspace.com/
- }}}
- !Offline
- {{{
- thumbHost: ./thumbs/
- picHost: ./pics/
- }}}
- </pre>
- </div>
- <div title="EditTemplate" creator="osmosoft" modifier="osmosoft" created="201102181425" modified="201102181425" tags="excludeLists excludeSearch" server.title="EditTemplate" server.page.revision="257502" server.etag=""system-theme_public/EditTemplate/257502;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/system-theme_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="system-theme_public" server.permissions="read" server.content-type="" _hash="bb2ebcb9880f563a789711fbbbec5d3bfcb1b248">
- <pre><!--{{{-->
- <div class='toolbar'
- macro='toolbar [[ToolbarCommands::EditToolbar]] icons:yes'>
- </div>
- <div class='heading editorHeading'>
- <div class='editor title' macro='edit title'></div>
- <div class='tagClear'></div>
- </div>
- <div class='annotationsBox' macro='annotations'>
- <div class='editSpaceSiteIcon'
- macro='tiddlerOrigin height:16 width:16 label:no interactive:no'>
- </div>
- <div class="privacyEdit" macro='setPrivacy label:no interactive:no'></div>
- <div class='tagClear'></div>
- </div>
- <div class='editor' macro='edit text'></div>
- <div class='editorFooter'>
- <div class='tagTitle'>tags</div>
- <div class='editor' macro='edit tags'></div>
- <div class='tagAnnotation'>
- <span macro='message views.editor.tagPrompt'></span>
- <span macro='tagChooser excludeLists'></span>
- </div>
- </div>
- <!--}}}--></pre>
- </div>
- <div title="EmasticSystem" creator="pmario" modifier="pmario" created="201008061923" modified="201011042041" tags="EmasticSystem FreeStyle excludeLists" server.title="EmasticSystem" server.page.revision="107086" server.etag=""neui-em_public/EmasticSystem/107086;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" taggly.listmode="commas" _hash="2da0f856de248dd1443585c6d250f195849f10c3">
- <pre>/***
- !EmasticPercent
- ***/
- /*{{{*/
- .dp5, .dp10,.dp15,.dp20,.dp25,.dp30,.dp33,.dp35,.dp40,.dp45,.dp50,
- .dp55,.dp60,.dp65,.dp67,.dp70,.dp75,.dp80,.dp85,.dp90,.dp95,.dp100
- {float:left; display: inline; }
-
- .dp5{width:5%;}
- .dp10{width:10%;*width:9.9%;} .dp15{width:15%;*width:14.9%;} .dp20 {width:20%;*width:19.9%;}
- .dp25{width:25%;*width:24.9%;} .dp30{width:30%;*width:29.9%;} .dp33 {width:33.33%;*width:33.3%;}
- .dp35{width:35%;*width:34.9%;} .dp40{width:40%;*width:39.9%;} .dp45 {width:45%;*width:44.9%;}
- .dp50{width:50%;*width:49.9%;} .dp55{width:55%;*width:54.9%;} .dp60 {width:60%;*width:59.9%;}
- .dp65{width:65%;*width:64.9%;} .dp67{width:66.67%;*width:66.6%;} .dp70 {width:70%;*width:69.9%;}
- .dp75{width:75%;*width:74.9%;} .dp80{width:80%;*width:79.9%;} .dp85 {width:85%;*width:84.9%;}
- .dp90{width:90%;*width:89.9%;} .dp95{width:95%;*width:94.9%;} .dp100{width:100%;*width:99.9%;}
- /*}}}*/
- /***
- !EmasticGrid
- ***/
- /*{{{*/
- .main { width:70em;margin:0 auto;text-align:left; }
- .clear {clear:both;}
- .dl1,.dl2,.dl5,.dl10,.dl15,.dl20,.dl25,.dl30,.dl35,.dl40,.dl45,.dl50,.dl55,.dl60,.dl65,.dl70,.dl75
- {float:left; display: inline; }
- .dr1,.dr2,.dr5,.dr10,.dr15,.dr20,.dr25,.dr30,.dr35,.dr40,.dr45,.dr50,.dr55,.dr60,.dr65,.dr70,.dr75
- {float:right; display: inline; }
- .dl1, .dr1 {width:1em;} .dl2, .dr2 {width:2em;} .dl5, .dr5 {width:5em;}
- .dl10, .dr10{width:10em;} .dl15, .dr15{width:15em;} .dl20, .dr20{width:20em;}
- .dl25, .dr25{width:25em;} .dl30, .dr30{width:30em;} .dl35, .dr35{width:35em;}
- .dl40, .dr40{width:40em;} .dl45, .dr45{width:45em;} .dl50, .dr50{width:50em;}
- .dl55, .dr55{width:55em;} .dl60, .dr60{width:60em;} .dl65, .dr65{width:65em;}
- .dl70, .dr70{width:70em;} .dl75, .dr75{width:75em;}
- .ml1 {margin-left:1em;} .ml2 {margin-left:2em;} .ml3 {margin-left:3em;} .ml4 {margin-left:4em;}
- .ml5 {margin-left:5em;} .ml10{margin-left:10em;} .ml15{margin-left:15em;}
- .ml20{margin-left:20em;} .ml25{margin-left:25em;} .ml30{margin-left:30em;}
- .ml35{margin-left:35em;} .ml40{margin-left:40em;} .ml45{margin-left:45em;}
- .ml50{margin-left:50em;} .ml55{margin-left:55em;} .ml60{margin-left:60em;}
- .ml65{margin-left:65em;} .ml70{margin-left:70em;} .ml75{margin-left:75em;}
- .mr5 {margin-right:5em;} .mr10{margin-right:10em;} .mr15{margin-right:15em;}
- .mr20{margin-right:20em;} .mr25{margin-right:25em;} .mr30{margin-right:30em;}
- .mr35{margin-right:35em;} .mr40{margin-right:40em;} .mr45{margin-right:45em;}
- .mr50{margin-right:50em;} .mr55{margin-right:55em;} .mr60{margin-right:60em;}
- .mr65{margin-right:65em;} .mr70{margin-right:70em;} .mr75{margin-right:75em;}
- .mt1{margin-top:1em;} .mt2{margin-top:2em;} .mt3{margin-top:3em;} .mt4{margin-top:4em;}
- .mt5{margin-top:5em;} .mt10{margin-top:10em;}
- .mt20{margin-top:20em;} .mt30{margin-top:30em;} .mt40{margin-top:40em;}
- .mt50{margin-top:50em;}
- .fluid {width:auto; float:none;}
- .hp{width:100%; float:left; }
- .clearfix, .main{ display:block;}
- .clearfix:after, .main:after {
- visibility: hidden;
- display: block;
- font-size: 0;
- content: " ";
- clear: both;
- height: 0;
-
- }
- /* IE5/MAC hack \*/
- * html .clearfix{ display: inline; height: 1px;}
- /* close */
- /*}}}*/
- /***
- !EmasticAbsolut
- ***/
- /*{{{*/
- .main{position:relative;}
- .lf0,.lf5,.lf10,.lf15,.lf20,.lf25,.lf30,.lf35,.lf40,.lf45,.lf50,.lf55,.lf60,.lf65,.lf70,.lf75,.lf80,.lf85,.lfn5,.lfn10,.lfn15,.lfn20,.lfn25,.lfn30,
- .tp0,.tp5,.tp10,.tp15,.tp20,.tp25,.tp30,.tp35,.tp40,.tp45,.tp50,
- .bt0,.bt5,.bt10,.bt15,.bt20,.bt25,.bt30,.bt35,.bt40,.bt45,.bt50,
- .rtn5,.rtn10,.rtn20,.rtn30{position:absolute;}
- .lf0{left:0em;} .lf5{left:5em;} .lf10{left:10em;} .lf15{left:15em;} .lf20{left:20em;}
- .lf25{left:25em;} .lf30{left:30em;} .lf35{left:35em;} .lf40{left:40em;} .lf45{left:45em;}
- .lf50{left:50em;} .lf55{left:55em;} .lf60{left:60em;} .lf65{left:65em;} .lf70{left:70em;}
- .lf75{left:75em;} .lf80{left:80em;} .lf85{left:85em;} .lfn5{left:-5em;} .lfn10{left:-10em;}
- .lfn15{left:-15em;} .lfn20{left:-20em;} .lfn25{left:-25em;} .lfn30{left:-30em;}
- .rtn5 {right:-5em;} .rtn10{right:-10em;} .rtn15{right:-15em;} .rtn20{right:-20em;}
- .rtn25{right:-25em;} .rtn30{right:-30em;}
- .tp0 {top:0em;} .tp5{top:5em;} .tp10{top:10em;} .tp15{top:15em;} .tp20{top:20em;} .tp25{top:25em;}
- .tp30{top:30em;} .tp35{top:35em;} .tp40{top:40em;} .tp45{top:45em;} .tp50{top:50em;}
- .bt0{bottom:0em;} .bt5{bottom:0em;} .bt10{bottom:10em;} .bt15{bottom:15em;} .bt20{bottom:20em;}
- .bt25{bottom:25em;} .bt30{bottom:30em;} .bt35{bottom:35em;} .bt40{bottom:40em;} .bt45{bottom:45em;}
- .bt50{bottom:50em;}
- .zi1{ z-index:1;} .zi2{ z-index:2;} .zi3{ z-index:3;} .zi4{ z-index:4;} .zi5{ z-index:5;}
- /*}}}*/
- /***
- !EmasticGadgets
- ***/
- /*{{{*/
- /* CSS Document */
- .rc {-moz-border-radius: 10px; -webkit-border-radius: 10px; border:1px solid #fff; }
- .fr {border:1px solid #ccc; padding:0.25em;}
- .byline {
- font-family: "Lucida Grande", Tahoma;
- font-size: 0.865em;
- font-weight: lighter;
- font-variant: normal;
- text-transform: uppercase;
- color: #666666;
- letter-spacing: 0.4em;
- display: block;
- margin-bottom: 1.734em;
- padding:0em 0em 0em 1em;
- }
-
- .and {font-family: Baskerville, "Goudy Old Style", "Palatino", "Book Antiqua", serif;
- font-style: italic;
- color: #777;
- }
- .tc {text-align:center;}
- .tr {text-align:right;}
- .tl {text-align:left;}
- .b {font-weight:bold;}
- .pl1{padding-left:1em;}
- .pl2{padding-left:2em;}
- .pl3{padding-left:3em;}
- .ppl2{padding-left:1.8%;}
- .ppl3{padding-left:3.13%;}
- .ppl5{padding-left:4.8%;}
- .water{color:#5582d1;}
- .earth{color:#4e3e2c;}
- .air{color:#f1fff7;}
- .fire{ color:#ff8a19;}
- /* drinks food */
- .wine{color:#4a040a;}
- .beer{color:#F0C030;}
- .caffe{color:#473523;}
- .caffe-cream{color:#b68d3d;}
- .espresso{color:#2c1901;}
- .caramel{color:#ab671f;}
- .chocolate{color:#290200;}
- .black-pepper{color:#444334;}
- .pepper-lite{color:#8d8a72;}
-
- .lipstick{color:#c20c0c;}
- .oldbook{font-family:"Book Antiqua","Warnock Pro","Goudy Old Style","Palatino",Georgia,serif;}
- .note{font-family:Georgia, "Times New Roman", Times, serif; font-style:italic; font-size:0.9em; margin:0.1em; color:#333;}
- .mono{font-family:"Courier New", Courier, monospace;}
- /*}}}*/
- /***
- !EmasticFreeStyle
- ***/
- /*{{{*/
- .dpfr{float:right;}
- /*}}}*/
- </pre>
- </div>
- <div title="ErrorHandler" creator="jon" modifier="jon" created="201102181424" modified="201102181424" tags="excludeLists excludeSearch systemConfig" server.title="ErrorHandler" server.page.revision="257478" server.etag=""tiddlyspace/ErrorHandler/257478;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/tiddlyspace" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="tiddlyspace" server.permissions="read" server.content-type="text/javascript" _hash="0e66098b519d5e27cbba0afcd8ba4cea883bfa67">
- <pre>/***
- |''Name''|ErrorHandlerPlugin|
- |''Version''|0.4.2|
- |''Author''|Jon Robson|
- |''Description''|Localised tiddler save errors including edit conflict resolution.|
- |''CoreVersion''|2.6.1|
- |''Requires''|TiddlySpaceConfig|
- ***/
- //{{{
- (function($) {
- var tiddlyspace = config.extensions.tiddlyspace;
- var currentSpace = tiddlyspace.currentSpace.name;
- tiddlyspace.getLocalTitle = function(title, workspace, suffix) {
- var endsWith = config.extensions.BinaryTiddlersPlugin.endsWith;
- if(!suffix) {
- var isPublic = endsWith(workspace, "_public");
- suffix = tiddlyspace.resolveSpaceName(workspace);
- if(currentSpace == suffix) {
- suffix = isPublic ? "public" : "private";
- } else {
- suffix = "@%0".format(suffix);
- }
- }
- return "%0 *(%1)*".format(title, suffix);
- };
- var sssp = config.extensions.ServerSideSavingPlugin;
- var msgs = config.messages.editConflict = {
- loading: "Loading..",
- resolve: "[[Edit Conflict]]@glossary: this tiddler may have been changed by someone else.",
- reviewDiff: "review (recommended)",
- reviewDiffTooltip: "review changes made to this tiddler",
- reviewDiffError: "error retrieving revision.",
- save: "overwrite",
- saveTooltip: "make this revision the top revision of this tiddler",
- discard: "cancel",
- discardTooltip: "undo changes to this tiddler and get most recent version",
- diffTitle: "%0",
- diffFieldTitle: "%0 - fields",
- diffTextTitle: "%0 - text",
- updating: "updating your version...",
- diffHeader: ["Review the changes that have been made whilst you were editing this tiddler. ",
- "Fold relevant changes back into your version.\n",
- "{{removed{Red}}} highlight shows content removed. ",
- "{{added{Green}}} highlight shows content added.\n"].join(""),
- diffTextHeader: "View changes in text",
- diffFieldsHeader: "View changes in fields"
- };
- var plugin = config.extensions.errorHandler = {
- diffTags: ["excludeLists", "excludeMissing", "excludeSearch"],
- displayMessage: function(message, tiddler, context) {
- var desc = context && context.httpStatus ? context.statusText :
- sssp.locale.connectionError;
- var reportArea = plugin.reportError(tiddler.title);
- var msg = $("<div />").appendTo(reportArea);
- if(message == "saveConflict") {
- wikify(msgs.resolve, msg[0]);
- var choiceArea = $("<div />").appendTo(reportArea)[0];
- plugin.editConflictHandler(choiceArea, tiddler);
- } else {
- msg.text(sssp.locale[message].format(tiddler.title, desc));
- }
- },
- editConflictHandler: function(container, tiddler) {
- var title = tiddler.title;
- var myrev = tiddler.fields["server.page.revision"];
- // note user now needs to edit, fix problem and save.
- // TODO: make sure this gets reset in save callback
- store.getTiddler(title).fields["server.page.revision"] = "false";
- var diffBtn = createTiddlyButton(container, msgs.reviewDiff, msgs.reviewDiffTooltip, function(ev) {
- var title = $(ev.target).data("title");
- plugin.displayDiff(ev.target, store.getTiddler(title), myrev);
- });
- var saveBtn = createTiddlyButton(container, msgs.save, msgs.saveTooltip, function(ev) {
- var title = $(ev.target).data("title");
- var tid = store.saveTiddler(store.getTiddler(title));
- autoSaveChanges(null, [tid]);
- });
- var ignoreBtn = createTiddlyButton(container, msgs.discard, msgs.discardTooltip, function(ev) {
- var title = $(ev.target).text(msgs.updating).data("title");
- plugin.resetToServerVersion(store.getTiddler(title));
- });
- $([diffBtn, ignoreBtn, saveBtn]).data("title", title);
- },
- getDiffTiddlerTexts: function(diffText) {
- var chunks = diffText.split("\n \n");
- if(chunks.length < 2) {
- return [chunks[0], ""];
- } else {
- var diffFieldsText = "{{diff{\n%0\n}}}".format(chunks[0]);
- diffText = '{{diff{\n%0\n}}}'.format(chunks.splice(1, chunks.length).join("\n"));
- return [diffText, diffFieldsText];
- }
- },
- makeDiffTiddler: function(title, diff) {
- var newTiddler = new Tiddler(title);
- var tags = plugin.diffTags;
- newTiddler.text = msgs.loading;
- newTiddler.fields.doNotSave = true;
- newTiddler.tags = diff ? tags.concat(["diff"]) : tags;
- newTiddler = store.saveTiddler(newTiddler);
- $.extend(store.getTiddler(title).fields,
- config.defaultCustomFields); // allow option to save it
- return newTiddler;
- },
- displayDiff: function(src, tiddler, latestRevision) {
- var adaptor = tiddler.getAdaptor();
- var title = tiddler.title;
- var ts = new Date().formatString("0hh:0mm:0ss");
- var suffix = "edit conflict %0".format(ts);
- var diffTitle = tiddlyspace.getLocalTitle(msgs.diffTitle.format(title), "", suffix);
- var diffTextTitle = tiddlyspace.getLocalTitle(msgs.diffTextTitle.format(title), "", suffix);
- var diffFieldsTitle = tiddlyspace.getLocalTitle(msgs.diffFieldTitle.format(title), "", suffix);
- plugin.makeDiffTiddler(diffTextTitle, true);
- plugin.makeDiffTiddler(diffFieldsTitle, true);
- var newTiddler = plugin.makeDiffTiddler(diffTitle, false);
- newTiddler.text = ['%0\n<<slider chkViewDiffText "%1" "%2">>\n',
- '<<slider chkViewDiffField "%3" "%4">>'].join("").
- format(msgs.diffHeader, diffTextTitle, msgs.diffTextHeader,
- diffFieldsTitle, msgs.diffFieldsHeader);
- store.saveTiddler(newTiddler);
- var callback = function(r) {
- var text = plugin.getDiffTiddlerTexts(r);
- store.getTiddler(diffTextTitle).text = text[0];
- store.getTiddler(diffFieldsTitle).text = text[1];
- story.refreshTiddler(diffTitle, null, true);
- };
- var workspace = "bags/%0".format(tiddler.fields["server.bag"]);
- ajaxReq({
- type: "get",
- dataType: "text",
- url: "/diff?rev1=%0/%1/%2&rev2=%0/%1".format(workspace, title, latestRevision),
- success: callback,
- error: function() {
- displayMessage(msgs.reviewDiffError);
- }
- });
- story.displayTiddler(src, diffTitle);
- },
- resetToServerVersion: function(tiddler) {
- var adaptor = tiddler.getAdaptor();
- var ctx = {
- host: tiddler.fields["server.host"],
- workspace: "bags/" + tiddler.fields["server.bag"]
- };
- adaptor.getTiddler(tiddler.title, ctx, null, function(context) {
- store.saveTiddler(context.tiddler);
- story.refreshTiddler(tiddler.title);
- store.setDirty(false);
- });
- },
- reportError: function(title) {
- var el = story.getTiddler(title);
- if(!el) {
- el = story.displayTiddler(null, title);
- }
- return $("<div />").addClass("error annotation").prependTo(el)[0];
- }
- };
- sssp.reportFailure = function(message, tiddler, context) {
- config.options.chkViewDiffText = config.options.chkViewDiffText === undefined ?
- true : config.options.chkViewDiffText;
- config.options.chkViewDiffFields = config.options.chkViewDiffFields || false;
- plugin.displayMessage(message, tiddler, context);
- };
- })(jQuery);
- //}}}</pre>
- </div>
- <div title="Example_AdvancedTitles_1" creator="pmario" modifier="pmario" created="201102072057" modified="201102111136" tags="advanced example" server.title="Example_AdvancedTitles_1" server.page.revision="249010" server.etag=""fancybox_public/Example_AdvancedTitles_1/249010;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" sort.advanced="0000" _hash="69b002d5f72b13fc2c5d134bc24fef5454cff24b">
- <pre>!Important
- This example only works, if FancyBoxPluginAddOns are installed!
- Docu: FancyBoxPluginAddOns
- !Defaults
- {{{
- titlePosition: over
- onComplete: showTitleOnHover
- titleFormat: titleFormatSpecial
- }}}
- !!!!!!end
- {{{
- <<tiddler Pictures>>
- <<fancyBox defaults:"##Defaults">>
- }}}
- <<tiddler Pictures>>
- <<fancyBox defaults:"##Defaults">>
- </pre>
- </div>
- <div title="Example_AdvancedTitles_2" creator="pmario" modifier="pmario" created="201102072057" modified="201102111136" tags="advanced example" server.title="Example_AdvancedTitles_2" server.page.revision="249012" server.etag=""fancybox_public/Example_AdvancedTitles_2/249012;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" sort.advanced="0001" _hash="44ca66aee539a9548d25f053ba313d210c37ca2f">
- <pre>!Important
- This example only works, if FancyBoxPluginAddOns are installed!
- Docu: FancyBoxPluginAddOns
- !~StyleSheet
- {{{
- #tip7-title { text-align: left; }
- #tip7-title b { display: block; margin-right: 80px; }
- #tip7-title span { float: right; }
- }}}
- !Defaults
- ''If the close image is an attachment, thumbHost parameter is __not__ needed!''
- {{{
- thumbHost: http://fancybox-thumbs.tiddlyspace.com/
- }}}
- !Offline
- {{{
- thumbHost: ./thumbs/
- }}}
- !Fancy
- {{{
- showCloseButton: false
- titlePosition: inside
- titleFormat: titleFormatTip7
- }}}
- !!!!!!end
- {{{
- <<tiddler Pictures>>
- <<fancyBox defaults:"##Defaults" fancy:"##Fancy">>
- }}}
- <<tiddler Pictures>>
- <<fancyBox defaults:"##Defaults" fancy:"##Fancy">>
- </pre>
- </div>
- <div title="Example_AttachmentReference" creator="pmario" modifier="pmario" created="201102072057" modified="201102261024" tags="example simple" server.title="Example_AttachmentReference" server.page.revision="261796" server.etag=""fancybox_public/Example_AttachmentReference/261796;679c808ea83728c9f0922e0ac831727f87829617"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="89996dd7fad694541d3dfce5c6ae782b2f08e168" changecount="1">
- <pre>!!Info
- <<<
- If AttachFilePluginFormatters is installed, the thumb needs to contain a {{{!slide}}} section see: ''06.jpg'', to reference the "big" picture. Click the sliders to see the tiddler content. This configuration will work online and offline. Using the fallback mechanism, built in by ~AttachFilePluginFormatters.
- <<<
- !!Important
- <<<
- If you use attached pictures, they must be tagged ''attachment'', otherwise ~AttachFilePluginFormatters will not list them!
- <<<
- !!!Usage
- <<<
- {{{
- <<fancyBox tag:reference>>
- }}}
- ''tag'' .. Fancybox tag parameter will list all tiddlers tagged: reference. Fancybox creates a thumblist.
- If a slide reference is missing, like in 01.jpg here you'll get a title "Slide reference in [[01.jpg]] is missing" and the thumbnail will be used.
- <<<
- <<fancyBox tag:reference>> Hover the pictures and you'll see the difference.
- {{dp33{<<slider chk01 01.jpg "01.jpg code ..." "01.jpg code ..." >>}}}{{dp33{<<slider chk06 06.jpg "06.jpg code ..." "06.jpg code ..." >>}}}{{dp33{<<slider chk06slide 06slide.jpg "06slide.jpg code ..." "06slide.jpg code ..." >>}}}
- </pre>
- </div>
- <div title="Example_AutomaticSlideShow" creator="pmario" modifier="pmario" created="201102111153" modified="201102111156" tags="advanced example" server.title="Example_AutomaticSlideShow" server.page.revision="249050" server.etag=""fancybox_public/Example_AutomaticSlideShow/249050;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" sort.advanced="0002" _hash="49ca532f7376ea4a53600a252f3dcf13867c025c">
- <pre>!Important
- This example only works, if FancyBoxPluginAddOns are installed!
- Docu: FancyBoxPluginAddOns
- !~StyleSheet
- {{{
- #tip7-title { text-align: left; overflow: auto; }
- #tip7-title b { display: block; margin-right: 80px; }
- #tip7-title span { float: right; text-align: right; }
- }}}
- !Defaults
- {{{
- thumbHost: http://fancybox-thumbs.tiddlyspace.com/
- showCloseButton: false
- titlePosition: inside
- cyclic: true
- titleFormat: automaticSlideShow_title
- onComplete: automaticSlideShow_onComplete
- onClosed: automaticSlideShow_onClosed
- slideShowInterval: 3000
- slideShowAutostart: false
- }}}
- !!!!!!end
- {{{
- <<tiddler Pictures>>
- <<fancyBox defaults:"##Defaults">>
- }}}
- <<tiddler Pictures>>
- <<fancyBox defaults:"##Defaults">>
- </pre>
- </div>
- <div title="Example_DirectPicture" creator="pmario" modifier="pmario" created="201102111141" modified="201102161347" tags="example medium" server.title="Example_DirectPicture" server.page.revision="255508" server.etag=""fancybox_public/Example_DirectPicture/255508;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" sort.medium="0004" _hash="dc26c1520ec7bdac06b5b6c57374c69092f07011">
- <pre>!FancyOver
- {{{
- titlePosition: over
- showCloseButton: false
- // Toggle close button. false / true
- }}}
- !FancyInside
- {{{
- titlePosition: inside
- padding: 5
- }}}
- !!!!!!end
- !!Usage
- <<<
- {{{
- <<fancyBox picName label:"Label with spaces" ... >>
- }}}
- eg:
- {{{
- <<fancyBox 05.jpg label:Manta defaults:"DirectoryConfig##Defaults" fancy:"##FancyOver">>
- }}}
- >''picName'' .. fancyBox can handle direct picture input. This mode is meant for testing purpose only!
- >''label:'' .. every picture needs it own label.
- >link to: [[DirectoryConfig]]
- <<<
- <<fancyBox 05.jpg label:Manta defaults:"DirectoryConfig##Defaults" fancy:"##FancyOver">>
- <<<
- {{{
- <<fancyBox 05.jpg 06.jpg label:"Manta" label:"Jam Jam" defaults:"DirectoryConfig##Defaults" fancy:"##FancyInside">>
- }}}
- >fancyBox can handle several input pictures.
- >If you want to have several labels they have to be specified like: ''{{{label:"label1" label:"label2" ... }}}''
- <<<
- <<fancyBox 05.jpg 06.jpg label:"Manta" label:"Jam Jam" defaults:"DirectoryConfig##Defaults" fancy:"##FancyInside">>
- </pre>
- </div>
- <div title="Example_FadeInOut" creator="pmario" modifier="pmario" created="201102072057" modified="201102221910" tags="example medium" server.title="Example_FadeInOut" server.page.revision="261797" server.etag=""fancybox_public/Example_FadeInOut/261797;679c808ea83728c9f0922e0ac831727f87829617"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" sort.medium="0000" _hash="8d3d81de1542978b8e3cc65ee2716d2af32d8fc2">
- <pre>!Fancy
- {{{
- transitionIn: elastic
- transitionOut: elastic
- speedIn: 1000
- speedOut: 1000
- centerOnScroll: true
- titlePosition: over
- }}}
- !!!!!!end
- !!Usage
- <<<
- Just to show some nice transitions. Nothing special here :)
- {{{
- <<tiddler Pictures>>
- <<fancyBox fancy:"##Fancy">>
- }}}
- <<<
- <<tiddler Pictures>>
- <<fancyBox fancy:"##Fancy">>
- </pre>
- </div>
- <div title="Example_FancyBoxPicture" creator="pmario" modifier="pmario" created="201101261756" modified="201102111136" tags="example simple" server.title="Example_FancyBoxPicture" server.page.revision="249015" server.etag=""fancybox_public/Example_FancyBoxPicture/249015;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="9c71a358e53a9c6bc15825f319b11f5b172dedb2" sort.simple="0001">
- <pre>!!Info
- <<<
- If the macro is called with {{{mode:picture}}} parameter, fancyBox creates a single picture link, per picture found in the tiddler. See: ''Links that can be used by fancyBox plugin'' below. Link to: [[Pictures]]
- <<<
- !!!Usage
- <<<
- {{{
- <<tiddler Pictures>>
- <<fancyBox mode:picture>>
- }}}
- <<<
- <<tiddler Pictures>>
- <<fancyBox mode:picture>>
- </pre>
- </div>
- <div title="Example_FancyBoxSlides" creator="pmario" modifier="pmario" created="201101261756" modified="201102111136" tags="example simple" server.title="Example_FancyBoxSlides" server.page.revision="249016" server.etag=""fancybox_public/Example_FancyBoxSlides/249016;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="4199fafe4c23e5f8dde89d7126094baf09919568" sort.simple="0000">
- <pre>!!Info
- <<<
- If the macro is called without any parameters, fancyBox creates a slideshow, with all pictures found in the tiddler. See: ''Links that can be used by fancyBox plugin'' below. Link to: [[Pictures]]
- <<<
- !!!Usage
- <<<
- {{{
- <<tiddler Pictures>>
- <<fancyBox>>
- }}}
- <<<
- <<tiddler Pictures>>
- <<fancyBox>>
- </pre>
- </div>
- <div title="Example_FlikrStatic" creator="pmario" modifier="pmario" created="201102072057" modified="201102161347" tags="example medium" server.title="Example_FlikrStatic" server.page.revision="255507" server.etag=""fancybox_public/Example_FlikrStatic/255507;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" sort.medium="0006" _hash="be5c114403a7a160bf143bd89817c12891941e11">
- <pre>/%
- http://farm6.static.flickr.com/5259/5421866042_f2df6080d2_t.jpg
- http://farm6.static.flickr.com/5259/5421866042_f2df6080d2_b.jpg
- {{{
- http://farm6.static.flickr.com/5098/5421258927_8fe35503cc_t.jpg
- http://farm6.static.flickr.com/5098/5421258927_8fe35503cc_b.jpg
- thumb http://farm6.static.flickr.com/5096/5421865716_41cf6bbb6b_t.jpg
- small http://farm6.static.flickr.com/5096/5421865716_41cf6bbb6b_m.jpg
- medium http://farm6.static.flickr.com/5096/5421865716_41cf6bbb6b.jpg
- medium 640x480 http://farm6.static.flickr.com/5096/5421865716_41cf6bbb6b_z.jpg
- large http://farm6.static.flickr.com/5096/5421865716_41cf6bbb6b_b.jpg
- }}}
- %/
- !Defaults
- {{{
- titlePosition: over
- }}}
- !Fancy
- {{{
- titlePosition: inside
- padding: 5
- }}}
- !!!!!!end
- {{{
- <<fancyBox tag:flikrSlide fancy:##Fancy>>
- }}}
- <<fancyBox tag:flikrSlide fancy:##Fancy>>
- {{{
- <<list filter [tag[flikr]]>>
- }}}
- <<list filter [tag[flikr]]>>
- </pre>
- </div>
- <div title="Example_Iframe" creator="pmario" modifier="pmario" created="201102111335" modified="201102111335" tags="advanced example" server.title="Example_Iframe" server.page.revision="251100" server.etag=""fancybox_public/Example_Iframe/251100;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="9c6b93b0d6a32619e698f513e131abe22469f428">
- <pre>!Iframe
- {{{
- width: 75%
- height: 75%
- autoScale: false
- transitionIn: none
- transitionOut: none
- type: iframe
- }}}
- !!!!!!end
- {{{
- <<fancyBox "Stack.png" label:"Open an iframe" href:"http://www.google.com" defaults:"Example_Iframe##Iframe">>
- }}}
- <<fancyBox "Stack.png" label:"Open an iframe" href:"http://www.google.com" defaults:"Example_Iframe##Iframe">>
- </pre>
- </div>
- <div title="Example_ImageMacro" creator="fancybox" modifier="pmario" created="201101211613" modified="201102161347" tags="example medium" server.title="Example_ImageMacro" server.page.revision="255512" server.etag=""fancybox_public/Example_ImageMacro/255512;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" sort.medium="0007" _hash="388ae6ca23be66dbb051470a570937e893428fd2">
- <pre>!!Usage
- <<<
- {{{
- <<image "http://fancybox-thumbs.tiddlyspace.com/01.jpg" link:"http://fancybox-pics.tiddlyspace.com/01.jpg" alt:"San Benedicto Island">>
- <<image "http://fancybox-thumbs.tiddlyspace.com/02.jpg">> Not contained in slideshow, because it has no link!
- <<image "http://fancybox-thumbs.tiddlyspace.com/03.jpg" link:"http://fancybox-pics.tiddlyspace.com/03.jpg">>
- <<fancyBox>>
- }}}
- >Image macro description see: http://macros.tiddlyspace.com
- <<<
- <<image "http://fancybox-thumbs.tiddlyspace.com/01.jpg" link:"http://fancybox-pics.tiddlyspace.com/01.jpg" alt:"San Benedicto Island">>
- <<image "http://fancybox-thumbs.tiddlyspace.com/02.jpg" >> Not contained in slideshow, because it has no link!
- <<image "http://fancybox-thumbs.tiddlyspace.com/03.jpg" link:"http://fancybox-pics.tiddlyspace.com/03.jpg">>
- <<fancyBox>></pre>
- </div>
- <div title="Example_ImageMacroSelector" creator="pmario" modifier="pmario" created="201101310759" modified="201102111136" tags="example testing" server.title="Example_ImageMacroSelector" server.page.revision="249018" server.etag=""fancybox_public/Example_ImageMacroSelector/249018;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" sort.advanced="0004" _hash="2f4a39880ac866b9a5e6eaee801a71bced5ecbfa">
- <pre>!Important
- *@@These functions are meant for testing purpose only!!@@
- *@@Don't use this function for production. Most of the time, a manually calculated selector is wrong!@@
- //{{{
- {{wrapper1{<<image "http://fancybox-thumbs.tiddlyspace.com/01.jpg" link:"http://fancybox-pics.tiddlyspace.com/01.jpg" alt:"San Benedicto Island">>}}}
- <<fancyBox selector:".wrapper1 a.image" title:"San Benedicto Island x">>
- //}}}
- {{wrapper1{<<image "http://fancybox-thumbs.tiddlyspace.com/01.jpg" link:"http://fancybox-pics.tiddlyspace.com/01.jpg" alt:"San Benedicto Island">>}}}
- <<fancyBox selector:".wrapper1 a.image" title:"San Benedicto Island x">>
- //{{{
- {{wrapper2{<<image "http://fancybox-thumbs.tiddlyspace.com/01.jpg" link:"http://fancybox-pics.tiddlyspace.com/01.jpg">>}}}
- <<fancyBox selector:".wrapper2 a.image" title:"San Benedicto Island - test overwrite href" href:"http://fancybox-pics.tiddlyspace.com/11.jpg">>
- //}}}
- * clicking the picture will show 11.jpg instead of 01.jpg
- {{wrapper2{<<image "http://fancybox-thumbs.tiddlyspace.com/01.jpg" link:"http://fancybox-pics.tiddlyspace.com/01.jpg">>}}}
- <<fancyBox selector:".wrapper2 a.image" title:"San Benedicto Island - test overwrite href" href:"http://fancybox-pics.tiddlyspace.com/11.jpg">>
- </pre>
- </div>
- <div title="Example_RoundaboutAndFancy" creator="pmario" modifier="pmario" created="201102210011" modified="201102261534" tags="example medium" server.title="Example_RoundaboutAndFancy" server.page.revision="260288" server.etag=""fancybox_public/Example_RoundaboutAndFancy/260288;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="c9ee5b2ab3de120edd9023295fb14df1e43ae702" changecount="2">
- <pre><html><style> .imgStack img {width: 9em; height: 6em; padding:2px;}</style></html>
- !SlideShow One
- *Use the mouse wheel
- *Click a picture to open
- *Click the picture to close
- *Don't forget to include the RoundaboutStyleSheet into your StyleSheet!
- <<fancyBox tag:thumb mode:picture defaults:"DirectoryConfig##Defaults" fancy:"##Fancy" labelSection:label>>
- <<roundabout selector:'.imgStack' childSelector:'span' defaults:'##Roundabout'>>
- !Usage
- <<<
- {{{
- <html><style> .imgStack img {width: 9em; height: 6em; padding:2px;}</style></html>
- !SlideShow One
- <<fancyBox tag:thumb mode:picture defaults:"DirectoryConfig##Defaults" fancy:"##Fancy">>
- <<roundabout selector:'.imgStack' childSelector:'span' defaults:'##Roundabout'>>
- }}}
- <<<
- !Roundabout
- {{{
- minOpacity: 0.2
- minScale: 0.2
- duration: 2500
- reflect: true
- tilt: -6
- mousewheel: mousewheelAddOn
- mouseSpeed: 1
- // mouseSpeed is a modifier, +/- .. controles the direction; 0.2 -> 5 makes sense
- }}}
- !Fancy
- {{{
- hideOnContentClick: true
- overlayShow: false
- speedIn: 600
- showCloseButton: false
- opacity: true
- // When true, transparency of content is changed for elastic transitions
- titlePosition: over
- // The position of title. Can be set to 'outside', 'inside' or 'over'
- transitionIn: elastic
- transitionOut: elastic
- // The transition type. Can be set to 'elastic', 'fade' or 'none'
- }}}
- </pre>
- </div>
- <div title="Example_Selector" creator="fancybox" modifier="pmario" created="201101211613" modified="201102111136" tags="example testing" server.title="Example_Selector" server.page.revision="249019" server.etag=""fancybox_public/Example_Selector/249019;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" sort.advanced="0005" _hash="25f4e614dac3f9c37aeec4d492452b35f0deda66">
- <pre>!Important
- *@@These functions are meant for testing purpose only!!@@
- *@@Don't use this function for production. Most of the time, a manually calculated selector is wrong!@@
- {{{
- <<tiddler Pictures>>
- <<fancyBox selector:"a.imageLink">>
- }}}
- <<tiddler Pictures>>
- <<fancyBox selector:"a.imageLink">>
- </pre>
- </div>
- <div title="Example_SlideShowConfig" creator="pmario" modifier="pmario" created="201101261756" modified="201102221954" tags="example medium" server.title="Example_SlideShowConfig" server.page.revision="261798" server.etag=""fancybox_public/Example_SlideShowConfig/261798;679c808ea83728c9f0922e0ac831727f87829617"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" sort.medium="0001" _hash="4c0c429b118adfea8c58c58eb82441dabc148f11">
- <pre>!!Usage
- <<<
- {{{
- <<fancyBox button:"click me" tag:manual index:1 fancy:"SlideShowConfig##Fancy" defaults:"SlideShowConfig##Default">>
- }}}
- ''button'' .. specifies a text for the button. If clicked it starts a slideshow.
- ''tag'' .. use all tiddlers tagged "manual"
- ''defaults:'' .. get the default parameters [[SlideShowConfig]]
- ''index:'' .. Slide show start index
- <<<
- <<fancyBox button:"click me" tag:manual index:1 fancy:"SlideShowConfig##Fancy" defaults:"SlideShowConfig##Default" >>
- <<<
- //{{{
- {{trImageBackground{<<fancyBox imageButton:"[img[Mexico|Stack.png]]" tag:manual fancy:"SlideShowConfig##Fancy" defaults:"SlideShowConfig##Default">>}}}
- //}}}
- ''imageButton'' .. Uses a button instead of text only.
- <<<
- {{trImageBackground{<<fancyBox imageButton:"[img[Mexico|Stack.png]]" tag:manual fancy:"SlideShowConfig##Fancy" defaults:"SlideShowConfig##Default">>}}}
- </pre>
- </div>
- <div title="Example_ThumblistSlideShow" creator="pmario" modifier="pmario" created="201101251454" modified="201102161347" tags="example medium" server.title="Example_ThumblistSlideShow" server.page.revision="255513" server.etag=""fancybox_public/Example_ThumblistSlideShow/255513;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" sort.medium="0003" _hash="a6cd1a3c904ee3c851f0c0e4fa81775c4009696d">
- <pre>!Defaults
- {{{
- thumbHost: http://fancybox-thumbs.tiddlyspace.com/
- picHost: http://fancybox-pics.tiddlyspace.com/
- }}}
- If you don't use ~AttachFilePluginFormatters, fancybox can also handle online/offline behaviour. Two additional parameters are needed.
- *{{{thumbHost}}} .. link. must end with ''/''
- *{{{picHost}}} .. link. must end with ''/''
- !Offline
- {{{
- thumbHost: ./thumbs/
- picHost: ./pics/
- }}}
- If there is an Offline section, it will be automatically used, if the brwser URL starts with ''"file:"''. If there is no ''Offline'' section, ''Defaults'' section will be used.
- !Fancy
- {{{
- opacity: true
- // When true, transparency of content is changed for elastic transitions
- titlePosition: over
- // The position of title. Can be set to 'outside', 'inside' or 'over'
- transitionIn: elastic
- transitionOut: elastic
- // The transition type. Can be set to 'elastic', 'fade' or 'none'
- }}}
- !!!!!!end of section
- !!Usage
- <<<
- {{{
- !SlideShow One
- <<fancyBox tag:thumb defaults:"##Defaults" fancy:"##Fancy">>
- !SlideShow Two
- <<fancyBox tag:panorama defaults:"##Defaults" fancy:"##Fancy">>
- }}}
- >''defaults:'' .. is used to point to thumbs and pictures directory. The format is: {{{"TiddlerName##SectionName"}}} or only {{{"##SectionName"}}}. If no ~TiddlerName is specified, the plugin assumes, that the section is within the containing tiddler. It can be a hidden section like: {{{/% hidden %/}}}.
- >''fancy:'' .. is used to sepcify fancyBox parameters. A list of all parameters can be found at: [[Template.Config]]. Copy/Paste them into your configuration tiddler.
- <<<
- !SlideShow One
- <<fancyBox tag:thumb defaults:"##Defaults" fancy:"##Fancy">>
- !SlideShow Two
- <<fancyBox tag:panorama defaults:"##Defaults" fancy:"##Fancy">>
- </pre>
- </div>
- <div title="Example_ThumblistSlideShow II" creator="pmario" modifier="pmario" created="201102082345" modified="201102140108" tags="advanced example" server.title="Example_ThumblistSlideShow II" server.page.revision="253613" server.etag=""fancybox_public/Example_ThumblistSlideShow%20II/253613;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="3f3520ee1cb38d261a013b95efa9b57bcef4a5c1">
- <pre>@@If ~AttachFilePluginFormatters is installed, and the pictures contain the needed URL and file information, no thumbHost and picHost parameters are needed.
- At the moment, only the lobster picture has the appropriate {{{!slide}}} section parameter, to work propperly.@@
- !Defaults
- {{{
- }}}
- !Offline
- If there is an Offline section, it will be used, if the brwser URL starts with ''"file:"''. If there is no ''Offline'' section, ''Defaults'' section will be used.
- {{{
- }}}
- !Fancy
- {{{
- opacity: true
- // When true, transparency of content is changed for elastic transitions
- titlePosition: over
- // The position of title. Can be set to 'outside', 'inside' or 'over'
- transitionIn: elastic
- transitionOut: elastic
- // The transition type. Can be set to 'elastic', 'fade' or 'none'
- }}}
- !!!!!!end
- {{{
- !SlideShow One
- <<fancyBox tag:thumb defaults:"##Defaults" fancy:"##Fancy">>
- !SlideShow Two
- <<fancyBox tag:panorama defaults:"##Defaults" fancy:"##Fancy">>
- }}}
- !SlideShow One
- <<fancyBox tag:thumb defaults:"##Defaults" fancy:"##Fancy">>
- !SlideShow Two
- <<fancyBox tag:panorama defaults:"##Defaults" fancy:"##Fancy">>
- </pre>
- </div>
- <div title="Example_TitleHandling" creator="pmario" modifier="pmario" created="201102161346" modified="201102222330" tags="example medium" server.title="Example_TitleHandling" server.page.revision="261799" server.etag=""fancybox_public/Example_TitleHandling/261799;679c808ea83728c9f0922e0ac831727f87829617"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" sort.medium="0002" _hash="d49456915eedda914c6dc49066ed19a7eadf725e">
- <pre>!Fancy
- {{{
- labelSection: label
- infoSection: info
- }}}
- !Usage
- <<<
- {{{
- <<fancyBox tag:panorama labelSection:label infoSection:notes defaults:"DirectoryConfig##Defaults">>
- }}}
- ''labelSection'' .. references the a section in the picture tiddler, that contains the title, to be used for a slideshow. See: [[01.jpg]], [[06.jpg]], [[11.jpg]], for there ''title'' section.
- ''infoSection'' .. references some additional information, that can be used for a slideshow. The "titleFormat" parameter has to be set, and an AddOn that uses it has to be made
- {{{
- <<fancyBox tag:panorama fancy:##Fancy defaults:"DirectoryConfig##Defaults">>
- }}}
- ''fancy'' .. label-, infoSection can also be set with a fancy section parameter.
- {{{
- <<fancyBox imageButton:[img[ClickMe|Stack.png]] tag:panorama fancy:##Fancy defaults:"DirectoryConfig##Defaults">>
- }}}
- ''imageButton'' .. references a button, that must exist as an image to be used to activate the show.
- {{trImageBackground{<<fancyBox imageButton:[img[ClickMe|Stack.png]] tag:panorama fancy:##Fancy defaults:"DirectoryConfig##Defaults">>}}}
- !!!~WebKit/Mozilla only!
- {{{
- <<fancyBox imageStack:[img[ClickMe|06.jpg]] tag:panorama fancy:##Fancy defaults:"DirectoryConfig##Defaults">>
- }}}
- ''imageStack'' .. similar to imageButton, but uses any picture that can be used for shows. Styling is set by [[StackImgStyleSheet]]. If the browser doesn't support CSS3 "transform", imageButton is activated by the plugin, as a fallback mechanism. The following buttons should look similar to the above imageButton.
- <<<
- <<fancyBox imageStack:[img[ClickMe|03.jpg]] tag:panorama fancy:##Fancy defaults:"DirectoryConfig##Defaults">>
- <<fancyBox imageStack:[img[ClickMe|06.jpg]] tag:panorama fancy:##Fancy defaults:"DirectoryConfig##Defaults">>
- </pre>
- </div>
- <div title="Example_TitleHandling [draft]" creator="pmario" modifier="pmario" created="201102161428" modified="201102222332" tags="example medium" server.title="Example_TitleHandling [draft]" server.page.revision="255600" server.etag=""fancybox_private/Example_TitleHandling%20%5Bdraft%5D/255600;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_private" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_private" server.permissions="read, write, create, delete" server.content-type="" publish.name="Example_TitleHandling" sort.medium="0002" _hash="1dc8d30f22b7542977d381d798873dc80af7b8ed">
- <pre>!Fancy
- {{{
- labelSection: label
- infoSection: info
- }}}
- !Usage
- <<<
- {{{
- <<fancyBox tag:panorama labelSection:label infoSection:notes defaults:"DirectoryConfig##Defaults">>
- or
- <<fancyBox tag:panorama fancy:##Fancy defaults:"DirectoryConfig##Defaults">>
- or
- <<fancyBox imageButton:[img[ClickMe|06.jpg]] tag:panorama fancy:##Fancy defaults:"DirectoryConfig##Defaults">>
- or WebKit/Mozilla only!
- <<fancyBox imageStack:[img[ClickMe|06.jpg]] tag:panorama fancy:##Fancy defaults:"DirectoryConfig##Defaults">>
- }}}
- <<<
- <<fancyBox imageStack:[img[ClickMe|06.jpg]] tag:panorama fancy:##Fancy defaults:"DirectoryConfig##Defaults">><<fancyBox imageStack:[img[ClickMe|03.jpg]] tag:panorama fancy:##Fancy defaults:"DirectoryConfig##Defaults">>
- |<<fancyBox imageStack:[img[ClickMe|06.jpg]] tag:panorama fancy:##Fancy defaults:"DirectoryConfig##Defaults">> |
- | Caption |c
- | Caption |c
- |<<fancyBox imageStack:[img[ClickMe|03.jpg]] tag:panorama fancy:##Fancy defaults:"DirectoryConfig##Defaults">> |</pre>
- </div>
- <div title="Example_Various" creator="pmario" modifier="pmario" created="201102091339" modified="201102091433" tags="advanced example" server.title="Example_Various" server.page.revision="247221" server.etag=""fancybox_private/Example_Various/247221;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_private" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_private" server.permissions="read, write, create, delete" server.content-type="" _hash="e39a0af3e8e8837812ccc3d56a0eddd230b48492">
- <pre>The library seems to have a problem here.
- <html>
- <style>
- #inline1, #inline2 {
- display: none;
- }
- </style>
- <div id="inline1">
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam quis mi eu elit tempor facilisis id et neque. Nulla sit amet sem sapien. Vestibulum imperdiet porta ante ac ornare. Nulla et lorem eu nibh adipiscing ultricies nec at lacus. Cras laoreet ultricies sem, at blandit mi eleifend aliquam. Nunc enim ipsum, vehicula non pretium varius, cursus ac tortor. Vivamus fringilla congue laoreet. Quisque ultrices sodales orci, quis rhoncus justo auctor in. Phasellus dui eros, bibendum eu feugiat ornare, faucibus eu mi. Nunc aliquet tempus sem, id aliquam diam varius ac. Maecenas nisl nunc, molestie vitae eleifend vel, iaculis sed magna. Aenean tempus lacus vitae orci posuere porttitor eget non felis. Donec lectus elit, aliquam nec eleifend sit amet, vestibulum sed nunc.
- </div>
- <div id="inline2">
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. &nbsp;&nbsp; <a href="javascript:;" onclick="jQuery.fancybox.close();">Close</a>
- </div>
- <ul>
- <li><a id="various1" href="#inline1" title="Lorem ipsum dolor sit amet">Inline - auto detect width / height</a></li>
- <li><a id="various2" href="#inline2">Inline - modal window</a></li>
- <li><a id="various5" href="http://www.google.ca">Iframe (75% width and height)</a></li>
- </ul>
- </html>
- !Inline1
- titlePosition: inside
- transitionIn: none
- transitionOut: none
- !Inline2
- modal: true
- !Iframe
- width: 75%
- height: 75%
- autoScale: false
- transitionIn: none
- transitionOut: none
- type: iframe
- !!!!!!end
- {{{
- <<fancyBox selector:'#various1' defaults:'##Inline1'>>
- <<fancyBox selector:'#various2' defaults:'##Inline2'>>
- <<fancyBox selector:'#various2' defaults:'##Inline2'>>
- }}}
- <<fancyBox selector:'#various1' defaults:'##Inline1'>>
- <<fancyBox selector:'#various2' defaults:'##Inline2'>>
- <<fancyBox selector:'#various5' defaults:'##Iframe'>>
- </pre>
- </div>
- <div title="Example_YouTube" creator="pmario" modifier="pmario" created="201102072057" modified="201102161347" tags="example medium" server.title="Example_YouTube" server.page.revision="255509" server.etag=""fancybox_public/Example_YouTube/255509;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" sort.advanced="0002" sort.medium="0005" _hash="6141d4ba0b3ace913d4fa60f73a897c29948707e">
- <pre>!Defaults
- {{{
- padding: 0
- autoScale: true
- transitionIn: none
- transitionOut: none
- title: Test YouTube
- width: 700
- height: 425
- type: swf
- swf: {"wmode":"transparent", "allowfullscreen":"true"}
- }}}
- !Fancy
- If the link below contains {{{&fs=1}}} and {{{"allowfullscreen":"true"}}} the fullscreenmode can be activated
- {{{
- href: http://www.youtube.com/watch?v=jTaovgc4V5w&fs=1
- or
- // href http://www.youtube.com/v/jTaovgc4V5w&fs=1
- }}}
- !!!!!!end
- !!Usage
- <<<
- {{{
- <<fancyBox "youtube.thumb" label:test defaults:"##Defaults" fancy:"##Fancy">>
- }}}
- Similar to: Example_DirectPicture, but the ''Defaults'' settings are important.
- <<<
- <<fancyBox "youtube.thumb" label:test defaults:"##Defaults" fancy:"##Fancy">>
- </pre>
- </div>
- <div title="ExternalScripts" creator="pmario" modifier="GUEST" created="201102072303" modified="201103151347" server.title="ExternalScripts" server.page.revision="249023" server.etag=""fancybox_private/ExternalScripts/249023;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_private" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_private" server.permissions="read, write, create, delete" server.content-type="" _hash="b7932138a5245d7ac2ca15910486bc48cb1bd959" changecount="1">
- <pre>fancyBoxPlugin.js
- fancyBoxPluginAddOn.js
- test.js</pre>
- </div>
- <div title="FAQ's" creator="pmario" modifier="pmario" created="201102162342" modified="201102222332" tags="mainMenu topMenu" server.title="FAQ's" server.page.revision="259649" server.etag=""fancybox_public/FAQ's/259649;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="6b46d402865e0f15a74fac5d3e2ab82a3e546a9b">
- <pre>!!!!Why didn't you include AttachFilePluginFormatters plugin?
- *Because, FancyBoxPlugin can work without it.
- *But if AttachFilePluginFormatters is installed, it will be used to handle <<tag attachment>> pictures.
- !!!!What are named parameters / params?
- *eg: {{{<<fancyBox 01.jpg tag:panorama ...>>}}}
- ** tag:panorama .. name:value .. tag is the name, panorama is tha value. value can be any tag name that you use in your TW.
- ***named parameters can be in any order.
- **01.jpg .. is a unnamed parameter
- ***unnamed parameters must be orderd like specified.
- !!!!If I have thumbnails only. How do I specify the picture store.
- *{{{thumbHost}}} and {{{picHost}}} parameters are used to define the paths.
- *see: [[Example_SlideShowConfig]]
- !!!!Does FancyBoxPlugin work with AttachFilePluginFormatters
- *yes
- *If the thumbs and pictures are properly defined, facyBox plugin can use this information
- *''file'', ''url'' and ''slide'' sections are used to find the picture content
- *See: [[Example_AttachmentReference]] for more info.
- *''title'' and ''info'' are optional and can be freely defined with ''labelSection'' parameter
- !!!!It works, but there are no titles
- *Check if you defined "labelSection" similar to [[Example_TitleHandling]] Fancy section!
- *Check if there is a title section, that you referenced like above, at the picture.
- !!!!It works in online mode, but it won't in offline mode
- *Check you {{{thumbHost}}} and {{{picHost}}} settings.
- *see: [[DirectoryConfig]] as an example.
- *fancyBox plugin uses it like: {{{<<fancyBoy ... default:"DirectoryConfig##Defaults" ...>>}}}
- **You should ''not'' use {{{"default: DirectoryConfig##Offline"}}}. ''It will not work, propperly!''
- </pre>
- </div>
- <div title="FancyBox Modes" creator="pmario" modifier="pmario" created="201102072057" modified="201102072057" server.title="FancyBox Modes" server.page.revision="245599" server.etag=""fancybox_public/FancyBox%20Modes/245599;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="590c4d48af5224651ffe6b651c97d2e80faad89a">
- <pre>!!!!mode
- *slide (default)
- *picture
- *button
- </pre>
- </div>
- <div title="FancyBox named params" creator="fancybox" modifier="pmario" created="201101211613" modified="201101211623" server.title="FancyBox named params" server.page.revision="47580" server.etag=""fancybox_public/FancyBox%20named%20params/47580;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="6eb34b122058e6e83a2b386ff2588d42386bedf1">
- <pre>!!!This are named params for {{{fancyBox}}} macro
- {{{
- type Forces content type. Can be set to 'image', 'ajax', 'iframe', 'swf' or 'inline'
- href Forces content source
- title Forces title
- content Forces content (can be any html data)
- orig Sets object whos position and dimensions will be used by 'elastic' transition
- index Custom start index of manually created gallery (since 1.3.1)
- }}}</pre>
- </div>
- <div title="FancyBoxParamTest" creator="pmario" modifier="pmario" created="201102072317" modified="201102072317" server.title="FancyBoxParamTest" server.page.revision="245748" server.etag=""fancybox_private/FancyBoxParamTest/245748;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_private" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_private" server.permissions="read, write, create, delete" server.content-type="" _hash="dcab912ff6444dd4ef2fc7334b6b5941c3f02445">
- <pre>{{{
- <<fancyBox type:image href:'http://fancybox.tiddlyspace.com/01.jpg' title:'hugo' orig:null index:1 content:'nix'>>
- <<fancyBox defaults:FancyBoxConfig title:gurke>>
- <<fancyBox defaults:FancyBoxConfigXX>> .. doesn't exis
- }}}
- <<fancyBox type:image href:'http://fancybox.tiddlyspace.com/01.jpg' title:'hugo' orig:null index:1 content:'nix'>>
- <<fancyBox defaults:FancyBoxConfig title:gurke>>
- <<fancyBox defaults:FancyBoxConfigXX>> .. doesn't exis</pre>
- </div>
- <div title="FancyBoxPlugin" creator="pmario" modifier="pmario" created="201101211553" modified="201102211547" tags="excludeLists excludeSearch excludeMissing" server.workspace="bags/fancybox_private" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_private" server.permissions="read, write, create, delete" server.content-type="" _hash="2580d133a264fcf798e5b289083613a1e00fd51f" changecount="1" deleted="true">
- <pre>This tiddler has been deleted.</pre>
- </div>
- <div title="FancyBoxPluginAddOns" creator="pmario" modifier="pmario" created="201102111143" modified="201102211548" tags="excludeLists excludeSearch excludeMissing" server.workspace="bags/fancybox_private" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_private" server.permissions="read, write, create, delete" server.content-type="" _hash="42d85ba15ea9b5d50d788ae728ecc4aa5d473532" changecount="1" deleted="true">
- <pre>This tiddler has been deleted.</pre>
- </div>
- <div title="FancyBoxStyleSheet" creator="pmario" modifier="pmario" created="201101211534" modified="201101211534" server.title="FancyBoxStyleSheet" server.page.revision="47474" server.etag=""fancybox-plugin_public/FancyBoxStyleSheet/47474;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox-plugin_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox-plugin_public" server.permissions="read, write, create, delete" server.content-type="" _hash="355a92a2af4476235b2ef1e64f7edbd135e5817e">
- <pre>/*{{{*/
- /*
- * FancyBox - jQuery Plugin
- * Simple and fancy lightbox alternative
- *
- * Examples and documentation at: http://fancybox.net
- *
- * Copyright (c) 2008 - 2010 Janis Skarnelis
- * That said, it is hardly a one-person project. Many people have submitted bugs, code, and offered their advice freely. Their support is greatly appreciated.
- *
- * Version: 1.3.4 (11/11/2010)
- * Requires: jQuery v1.3+
- *
- * Dual licensed under the MIT and GPL licenses:
- * http://www.opensource.org/licenses/mit-license.php
- * http://www.gnu.org/licenses/gpl.html
- */
- #fancybox-loading {
- position: fixed;
- top: 50%;
- left: 50%;
- width: 40px;
- height: 40px;
- margin-top: -20px;
- margin-left: -20px;
- cursor: pointer;
- overflow: hidden;
- z-index: 1104;
- display: none;
- }
- #fancybox-loading div {
- position: absolute;
- top: 0;
- left: 0;
- width: 40px;
- height: 480px;
- background-image: url([[fancybox.png##data]]);
- }
- #fancybox-overlay {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- z-index: 1100;
- display: none;
- }
- #fancybox-tmp {
- padding: 0;
- margin: 0;
- border: 0;
- overflow: auto;
- display: none;
- }
- #fancybox-wrap {
- position: absolute;
- top: 0;
- left: 0;
- padding: 20px;
- z-index: 1101;
- outline: none;
- display: none;
- }
- #fancybox-outer {
- position: relative;
- width: 100%;
- height: 100%;
- background: #fff;
- }
- #fancybox-content {
- width: 0;
- height: 0;
- padding: 0;
- outline: none;
- position: relative;
- overflow: hidden;
- z-index: 1102;
- border: 0px solid #fff;
- }
- #fancybox-hide-sel-frame {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- background: transparent;
- z-index: 1101;
- }
- #fancybox-close {
- position: absolute;
- top: -15px;
- right: -15px;
- width: 30px;
- height: 30px;
- background: transparent url([[fancybox.png##data]]) -40px 0px;
- cursor: pointer;
- z-index: 1103;
- display: none;
- }
- #fancybox-error {
- color: #444;
- font: normal 12px/20px Arial;
- padding: 14px;
- margin: 0;
- }
- #fancybox-img {
- width: 100%;
- height: 100%;
- padding: 0;
- margin: 0;
- border: none;
- outline: none;
- line-height: 0;
- vertical-align: top;
- }
- #fancybox-frame {
- width: 100%;
- height: 100%;
- border: none;
- display: block;
- }
- #fancybox-left, #fancybox-right {
- position: absolute;
- bottom: 0px;
- height: 100%;
- width: 35%;
- cursor: pointer;
- outline: none;
- background: transparent url([[blank.gif##data]]);
- z-index: 1102;
- display: none;
- }
- #fancybox-left {
- left: 0px;
- }
- #fancybox-right {
- right: 0px;
- }
- #fancybox-left-ico, #fancybox-right-ico {
- position: absolute;
- top: 50%;
- left: -9999px;
- width: 30px;
- height: 30px;
- margin-top: -15px;
- cursor: pointer;
- z-index: 1102;
- display: block;
- }
- #fancybox-left-ico {
- background-image: url([[fancybox.png##data]]);
- background-position: -40px -30px;
- }
- #fancybox-right-ico {
- background-image: url([[fancybox.png##data]]);
- background-position: -40px -60px;
- }
- #fancybox-left:hover, #fancybox-right:hover {
- visibility: visible; /* IE6 */
- }
- #fancybox-left:hover span {
- left: 20px;
- }
- #fancybox-right:hover span {
- left: auto;
- right: 20px;
- }
- .fancybox-bg {
- position: absolute;
- padding: 0;
- margin: 0;
- border: 0;
- width: 20px;
- height: 20px;
- z-index: 1001;
- }
- #fancybox-bg-n {
- top: -20px;
- left: 0;
- width: 100%;
- background-image: url([[fancybox-x.png##data]]);
- }
- #fancybox-bg-ne {
- top: -20px;
- right: -20px;
- background-image: url([[fancybox.png##data]]);
- background-position: -40px -162px;
- }
- #fancybox-bg-e {
- top: 0;
- right: -20px;
- height: 100%;
- background-image: url([[fancybox-y.png##data]]);
- background-position: -20px 0px;
- }
- #fancybox-bg-se {
- bottom: -20px;
- right: -20px;
- background-image: url([[fancybox.png##data]]);
- background-position: -40px -182px;
- }
- #fancybox-bg-s {
- bottom: -20px;
- left: 0;
- width: 100%;
- background-image: url([[fancybox-x.png##data]]);
- background-position: 0px -20px;
- }
- #fancybox-bg-sw {
- bottom: -20px;
- left: -20px;
- background-image: url([[fancybox.png##data]]);
- background-position: -40px -142px;
- }
- #fancybox-bg-w {
- top: 0;
- left: -20px;
- height: 100%;
- background-image: url([[fancybox-y.png##data]]);
- }
- #fancybox-bg-nw {
- top: -20px;
- left: -20px;
- background-image: url([[fancybox.png##data]]);
- background-position: -40px -122px;
- }
- #fancybox-title {
- font-family: Helvetica;
- font-size: 12px;
- z-index: 1102;
- }
- .fancybox-title-inside {
- padding-bottom: 10px;
- text-align: center;
- color: #333;
- background: #fff;
- position: relative;
- }
- .fancybox-title-outside {
- padding-top: 10px;
- color: #fff;
- }
- .fancybox-title-over {
- position: absolute;
- bottom: 0;
- left: 0;
- color: #FFF;
- text-align: left;
- }
- #fancybox-title-over {
- padding: 10px;
- background-image: url([[fancy_title_over.png##data]]);
- display: block;
- }
- .fancybox-title-float {
- position: absolute;
- left: 0;
- bottom: -20px;
- height: 32px;
- }
- #fancybox-title-float-wrap {
- border: none;
- border-collapse: collapse;
- width: auto;
- }
- #fancybox-title-float-wrap td {
- border: none;
- white-space: nowrap;
- }
- #fancybox-title-float-left {
- padding: 0 0 0 15px;
- background: url([[fancybox.png##data]]) -40px -90px no-repeat;
- }
- #fancybox-title-float-main {
- color: #FFF;
- line-height: 29px;
- font-weight: bold;
- padding: 0 0 3px 0;
- background: url([[fancybox-x.png##data]]) 0px -40px;
- }
- #fancybox-title-float-right {
- padding: 0 0 0 15px;
- background: url([[fancybox.png##data]]) -55px -90px no-repeat;
- }
- /* IE6 */
- .fancybox-ie6 #fancybox-close { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_close.png', sizingMethod='scale'); }
- .fancybox-ie6 #fancybox-left-ico { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_nav_left.png', sizingMethod='scale'); }
- .fancybox-ie6 #fancybox-right-ico { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_nav_right.png', sizingMethod='scale'); }
- .fancybox-ie6 #fancybox-title-over { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_over.png', izingMethod='scale'); zoom: 1; }
- .fancybox-ie6 #fancybox-title-float-left { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_left.png', sizingMethod='scale'); }
- .fancybox-ie6 #fancybox-title-float-main { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_main.png', sizingMethod='scale'); }
- .fancybox-ie6 #fancybox-title-float-right { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_right.png', sizingMethod='scale'); }
- .fancybox-ie6 #fancybox-bg-w, .fancybox-ie6 #fancybox-bg-e, .fancybox-ie6 #fancybox-left, .fancybox-ie6 #fancybox-right, #fancybox-hide-sel-frame {
- height: expression(this.parentNode.clientHeight + "px");
- }
- #fancybox-loading.fancybox-ie6 {
- position: absolute; margin-top: 0;
- top: expression( (-20 + (document.documentElement.clientHeight ? document.documentElement.clientHeight/2 : document.body.clientHeight/2 ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop )) + 'px');
- }
- #fancybox-loading.fancybox-ie6 div { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_loading.png', sizingMethod='scale'); }
- /* IE6, IE7, IE8 */
- .fancybox-ie .fancybox-bg { background: transparent !important; }
- .fancybox-ie #fancybox-bg-n { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_n.png', sizingMethod='scale'); }
- .fancybox-ie #fancybox-bg-ne { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_ne.png', sizingMethod='scale'); }
- .fancybox-ie #fancybox-bg-e { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_e.png', sizingMethod='scale'); }
- .fancybox-ie #fancybox-bg-se { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_se.png', sizingMethod='scale'); }
- .fancybox-ie #fancybox-bg-s { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_s.png', sizingMethod='scale'); }
- .fancybox-ie #fancybox-bg-sw { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_sw.png', sizingMethod='scale'); }
- .fancybox-ie #fancybox-bg-w { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_w.png', sizingMethod='scale'); }
- .fancybox-ie #fancybox-bg-nw { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_nw.png', sizingMethod='scale'); }
- /*}}}*/</pre>
- </div>
- <div title="FieldsEditorPlugin" modifier="pmario" created="201102211748" tags="systemConfig" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com" server.workspace="bags/fancybox_private" server.bag="fancybox_private" server.page.revision="261800" server.etag=""fancybox_private/FieldsEditorPlugin/261800;679c808ea83728c9f0922e0ac831727f87829617"">
- <pre>/***
- |''Name:''|FieldsEditorPlugin|
- |''Description:''|//create//, //edit//, //view// and //delete// commands in toolbar <<toolbar fields>>.|
- |''Version:''|1.0.2|
- |''Date:''|Dec 21,2007|
- |''Source:''|http://visualtw.ouvaton.org/VisualTW.html|
- |''Author:''|Pascal Collin|
- |''License:''|[[BSD open source license|License]]|
- |''~CoreVersion:''|2.2.0|
- |''Browser:''|Firefox 2.0; InternetExplorer 6.0, others|
- !Demo:
- On [[homepage|http://visualtw.ouvaton.org/VisualTW.html]], see [[FieldEditor example]]
- !Installation:
- *import this tiddler from [[homepage|http://visualtw.ouvaton.org/VisualTW.html]] (tagged as systemConfig)
- *save and reload
- *optionnaly : add the following css text in your StyleSheet : {{{#popup tr.fieldTableRow td {padding:1px 3px 1px 3px;}}}
- !Code
- ***/
- //{{{
- config.commands.fields.handlePopup = function(popup,title) {
- var tiddler = store.fetchTiddler(title);
- if(!tiddler)
- return;
- var fields = {};
- store.forEachField(tiddler,function(tiddler,fieldName,value) {fields[fieldName] = value;},true);
- var items = [];
- for(var t in fields) {
- var editCommand = "<<untiddledCall editFieldDialog "+escape(title)+" "+escape(t)+">>";
- var deleteCommand = "<<untiddledCall deleteField "+escape(title)+" "+escape(t)+">>";
- var renameCommand = "<<untiddledCall renameField "+escape(title)+" "+escape(t)+">>";
- items.push({field: t,value: fields[t], actions: editCommand+renameCommand+deleteCommand});
- }
- items.sort(function(a,b) {return a.field < b.field ? -1 : (a.field == b.field ? 0 : +1);});
- var createNewCommand = "<<untiddledCall createField "+escape(title)+">>";
- items.push({field : "", value : "", actions:createNewCommand });
- if(items.length > 0)
- ListView.create(popup,items,this.listViewTemplate);
- else
- createTiddlyElement(popup,"div",null,null,this.emptyText);
- }
- config.commands.fields.listViewTemplate = {
- columns: [
- {name: 'Field', field: 'field', title: "Field", type: 'String'},
- {name: 'Actions', field: 'actions', title: "Actions", type: 'WikiText'},
- {name: 'Value', field: 'value', title: "Value", type: 'WikiText'}
- ],
- rowClasses: [
- {className: 'fieldTableRow', field: 'actions'}
- ],
- buttons: [ //can't use button for selected then delete, because click on checkbox will hide the popup
- ]
- }
- config.macros.untiddledCall = { // when called from listview, tiddler is unset, so we need to pass tiddler as parameter
- handler : function(place,macroName,params,wikifier,paramString) {
- var macroName = params.shift();
- if (macroName) var macro = config.macros[macroName];
- var title = params.shift();
- if (title) var tiddler = store.getTiddler(unescape(title));
- if (macro) macro.handler(place,macroName,params,wikifier,paramString,tiddler);
- }
- }
- config.macros.deleteField = {
- handler : function(place,macroName,params,wikifier,paramString,tiddler) {
- if(!readOnly && params[0]) {
- fieldName = unescape(params[0]);
- var btn = createTiddlyButton(place,"delete", "delete "+fieldName,this.onClickDeleteField);
- btn.setAttribute("title",tiddler.title);
- btn.setAttribute("fieldName", fieldName);
- }
- },
- onClickDeleteField : function() {
- var title=this.getAttribute("title");
- var fieldName=this.getAttribute("fieldName");
- var tiddler = store.getTiddler(title);
- if (tiddler && fieldName && confirm("delete field " + fieldName+" from " + title +" tiddler ?")) {
- delete tiddler.fields[fieldName];
- store.saveTiddler(tiddler.title,tiddler.title,tiddler.text,tiddler.modifier,tiddler.modified,tiddler.tags,tiddler.fields);
- story.refreshTiddler(title,"ViewTemplate",true);
- }
- return false;
- }
- }
- config.macros.createField = {
- handler : function(place,macroName,params,wikifier,paramString,tiddler) {
- if(!readOnly) {
- var btn = createTiddlyButton(place,"create new", "create a new field",this.onClickCreateField);
- btn.setAttribute("title",tiddler.title);
- }
- },
- onClickCreateField : function() {
- var title=this.getAttribute("title");
- var tiddler = store.getTiddler(title);
- if (tiddler) {
- var fieldName = prompt("Field name","");
- if (store.getValue(tiddler,fieldName)) {
- window.alert("This field already exists.");
- }
- else if (fieldName) {
- var v = prompt("Field value","");
- tiddler.fields[fieldName]=v;
- store.saveTiddler(tiddler.title,tiddler.title,tiddler.text,tiddler.modifier,tiddler.modified,tiddler.tags,tiddler.fields);
- story.refreshTiddler(title,"ViewTemplate",true);
- }
- }
- return false;
- }
- }
- config.macros.editFieldDialog = {
- handler : function(place,macroName,params,wikifier,paramString,tiddler) {
- if(!readOnly && params[0]) {
- fieldName = unescape(params[0]);
- var btn = createTiddlyButton(place,"edit", "edit this field",this.onClickEditFieldDialog);
- btn.setAttribute("title",tiddler.title);
- btn.setAttribute("fieldName", fieldName);
- }
- },
- onClickEditFieldDialog : function() {
- var title=this.getAttribute("title");
- var tiddler = store.getTiddler(title);
- var fieldName=this.getAttribute("fieldName");
- if (tiddler && fieldName) {
- var value = tiddler.fields[fieldName];
- value = value ? value : "";
- var lines = value.match(/\n/mg);
- lines = lines ? true : false;
- if (!lines || confirm("This field contains more than one line. Only the first line will be kept if you edit it here. Proceed ?")) {
- var v = prompt("Field value",value);
- tiddler.fields[fieldName]=v;
- store.saveTiddler(tiddler.title,tiddler.title,tiddler.text,tiddler.modifier,tiddler.modified,tiddler.tags,tiddler.fields);
- story.refreshTiddler(title,"ViewTemplate",true);
- }
- }
- return false;
- }
- }
- config.macros.renameField = {
- handler : function(place,macroName,params,wikifier,paramString,tiddler) {
- if(!readOnly && params[0]) {
- fieldName = unescape(params[0]);
- var btn = createTiddlyButton(place,"rename", "rename "+fieldName,this.onClickRenameField);
- btn.setAttribute("title",tiddler.title);
- btn.setAttribute("fieldName", fieldName);
- }
- },
- onClickRenameField : function() {
- var title=this.getAttribute("title");
- var fieldName=this.getAttribute("fieldName");
- var tiddler = store.getTiddler(title);
- if (tiddler && fieldName) {
- var newName = prompt("Rename " + fieldName + " as ?", fieldName);
- if (newName) {
- tiddler.fields[newName]=tiddler.fields[fieldName];
- delete tiddler.fields[fieldName];
- store.saveTiddler(tiddler.title,tiddler.title,tiddler.text,tiddler.modifier,tiddler.modified,tiddler.tags,tiddler.fields);
- story.refreshTiddler(title,"ViewTemplate",true);
- }
- }
- return false;
- }
- }
- config.shadowTiddlers.StyleSheetFieldsEditor = "/*{{{*/\n";
- config.shadowTiddlers.StyleSheetFieldsEditor += ".fieldTableRow td {padding : 1px 3px}\n";
- config.shadowTiddlers.StyleSheetFieldsEditor += ".fieldTableRow .button {border:0; padding : 0 0.2em}\n";
- config.shadowTiddlers.StyleSheetFieldsEditor +="/*}}}*/";
- store.addNotification("StyleSheetFieldsEditor", refreshStyles);
- //}}}</pre>
- </div>
- <div title="FileDropPlugin" creator="pmario" modifier="pmario" created="201102072317" modified="201102072317" tags="systemConfig" server.title="FileDropPlugin" server.page.revision="245747" server.etag=""fancybox_private/FileDropPlugin/245747;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_private" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_private" server.permissions="read, write, create, delete" server.content-type="" _hash="7b67be54a0fcece0cf8f1752ff6b5acc54d002dd">
- <pre>/***
- |Name|FileDropPlugin|
- |Source|http://www.TiddlyTools.com/#FileDropPlugin|
- |Version|2.1.4 MP|
- |Author|BradleyMeck and Eric Shulman|
- |License|http://www.TiddlyTools.com/#LegalStatements|
- |~CoreVersion|2.1|
- |Type|plugin|
- |Description|drag-and-drop files/directories to create tiddlers|
- ''requires FireFox or another Mozilla-compatible browser.''
- !!!!!Important
- *PMario
- *added TS default fields to make it save the tiddlers.
- !!!!!Usage
- <<<
- This plugin automatically creates tiddlers from files that are dropped onto an open TiddlyWiki document. You can drop multiple selected files and/or folders to create many tiddlers at once. New tiddler titles are created using the filename of each dropped file (i.e., omitting the path). If a title is already in use, you are prompted to enter a new title for that file. If you drop a folder, you will be asked if you want to create a simple 'directory list' of files in a single tiddler or create one tiddler for each file in that folder.
- By default, it is assumed that all dropped files contain text. However, if [[AttachFilePlugin]], [[AttachFilePluginFormatters]] and [[AttachFileMIMETypes]] are installed, then you can drop ''//binary data files//'' as well as text files. If the MIME type of a dropped file is not "text/plain", then AttachFilePlugin is used to create an 'attachment' tiddler, rather than creating a simple text tiddler.
- When creating text tiddlers, you can embed a //link// to the original external file at the top of the new tiddler, in addition to (or instead of) the text content itself. The format for this link (see Configuration, below) uses embedded ''//replacement markers//'' that allow you to generate a variety of wiki-formatted output, where:
- *%0 = filename (without path)
- *%1 = local """file://...""" URL
- *%2 = local path and filename (OS-native format)
- *%3 = relative path (if subdirectory of current document directory)
- *%4 = file size
- *%5 = file date
- *%6 = current date
- *%7 = current ~TiddlyWiki username
- *\n = newline
- By default, the link format uses the filename (%0) and local URL (%1), enclosed within a //hidden section// syntax, like this:
- {{{
- /%
- !link
- [[%0|%1]]
- !end
- %/
- }}}
- This permits the link to be embedded along with the text content, without changing the appearance of that content when the tiddler is viewed. To display the link in your tiddler content, use:
- {{{
- <<tiddler TiddlerName##link>>
- }}}
- <<<
- !!!!!Configuration
- <<<
- __FileDropPlugin options:__
- <<option chkFileDropContent>>Copy file content into tiddlers if smaller than: <<option txtFileDropDataLimit>> bytes
- &nbsp; //(note: excess text content will be truncated, oversized binary files will skipped, 0=no limit)//
- <<option chkFileDropLink>>Generate external links to files, using this format:{{editor{<html><nowiki><textarea rows="4" onchange="
- config.macros.option.propagateOption('txtFileDropLinkFormat','value',this.value.escapeLineBreaks(),'input');
- "></textarea></html><<tiddler {{
- var ta=place.lastChild.getElementsByTagName('textarea')[0];
- var v=config.options.txtFileDropLinkFormat.unescapeLineBreaks();
- ta.value=v;
- "";}}>>}}}<<option chkFileDropTrimFilename>>Omit file extensions from tiddler titles
- <<option chkFileDropDisplay>>Automatically display newly created tiddlers
- Tag newly created tiddlers with: <<option txtFileDropTags>>
- __FileDropPlugin+AttachFilePlugin options:__ //(binary file data as encoded 'base64' text)//
- <<option chkFileDropAttachLocalLink>> attachment includes reference to local path/filename
- >Note: if the plugin does not seem to work, enter ''about:config'' in the Firefox address bar, and make sure that {{{signed.applets.codebase_principal_support}}} is set to ''true''
- <<<
- !!!!!Examples (custom handler functions)
- <<<
- Adds a single file with confirmation and prompting for title:
- {{{
- config.macros.fileDrop.addEventListener('application/x-moz-file',
- function(nsiFile) {
- var msg='You have dropped the file:\n'
- +nsiFile.path+'\n'
- +'onto the page, it will be imported as a tiddler. Is that ok?'
- if(confirm(msg)) {
- var fields=merge({}, config.defaultCustomFields); // no metadata at the moment
- var newDate = new Date();
- var title = prompt('what would you like to name the tiddler?');
- store.saveTiddler(title,title,loadFile(nsiFile.path),config.options.txtUserName,newDate,fields);
- }
- return true;
- });
- }}}
- Adds a single file without confirmation, using path/filename as tiddler title:
- {{{
- config.macros.fileDrop.addEventListener('application/x-moz-file',
- function(nsiFile) {
- var fields=merge({}, config.defaultCustomFields); // no metadata at the moment
- var newDate = new Date();
- store.saveTiddler(nsiFile.path,nsiFile.path,loadFile(nsiFile.path),config.options.txtUserName,newDate,fields);
- story.displayTiddler(null,nsiFile.path)
- return true;
- });
- }}}
- <<<
- !!!!!Revisions
- <<<
- 2010.03.06 2.1.4 added event listener for 'dragover' (for FireFox 3.6+)
- 2009.10.10 2.1.3 fixed IE code error
- 2009.10.08 2.1.2 fixed chkFileDropContent bypass handling for binary attachments
- 2009.10.07 2.1.0 added chkFileDropContent and chkFileDropLink/txtFileDropLinkFormat
- 2009.08.19 2.0.0 fixed event listener registration for FireFox 3.5+. Also, merged with FileDropPluginConfig, with code cleanup/reduction
- 2008.08.11 1.5.1 added chkFileDropAttachLocalLink option to allow suppression of local path/file link
- 2007.xx.xx *.*.* add suspend/resume of notifications to improve performance when multiple files are handled
- 2007.01.01 0.9.9 extensions for AttachFilePlugin
- 2006.11.04 0.1.1 initial release by Bradley Meck
- <<<
- !!!!!Code
- ***/
- //{{{
- version.extensions.FileDropPlugin={major:2, minor:1, revision:4, date: new Date(2010,3,6)};
- config.macros.fileDrop = {
- customDropHandlers: [],
- addEventListener: function(paramflavor,func,inFront) {
- var obj={}; obj.flavor=paramflavor; obj.handler=func;
- if (!inFront) this.customDropHandlers.push(obj);
- else this.customDropHandlers.shift(obj);
- },
- dragDropHandler: function(evt) {
- netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
- var dragService = Components.classes['@mozilla.org/widget/dragservice;1'].getService(Components.interfaces.nsIDragService);
- var dragSession = dragService.getCurrentSession();
- var transferObject = Components.classes['@mozilla.org/widget/transferable;1'].createInstance();
- transferObject = transferObject.QueryInterface(Components.interfaces.nsITransferable);
- transferObject.addDataFlavor('application/x-moz-file');
- var numItems = dragSession.numDropItems;
- if (numItems>1) {
- clearMessage();
- displayMessage('Reading '+numItems+' files...');
- store.suspendNotifications();
- }
- for (var i = 0; i < numItems; i++) {
- dragSession.getData(transferObject, i);
- var dataObj = {};
- var dropSizeObj = {};
- for(var ind=0; ind<config.macros.fileDrop.customDropHandlers.length; ind++) {
- var item = config.macros.fileDrop.customDropHandlers[ind];
- if(dragSession.isDataFlavorSupported(item.flavor)) {
- transferObject.getTransferData(item.flavor, dataObj, dropSizeObj);
- var droppedFile = dataObj.value.QueryInterface(Components.interfaces.nsIFile);
- var result = item.handler.call(item,droppedFile);
- evt.stopPropagation();
- evt.preventDefault();
- if (result) break;
- }
- }
- }
- if (numItems>1) {
- store.resumeNotifications();
- store.notifyAll();
- displayMessage(numItems+' files have been processed');
- }
- }
- }
- //}}}
- /***
- !!!!!window event handlers
- ***/
- //{{{
- if(!window.event) {
- window.addEventListener('dragdrop', // FireFox3.1-
- config.macros.fileDrop.dragDropHandler, true);
- window.addEventListener('drop', // FireFox3.5+
- config.macros.fileDrop.dragDropHandler, true);
- window.addEventListener('dragover', // FireFox3.6+
- function(e){e.stopPropagation();e.preventDefault();}, true);
- }
- //}}}
- /***
- !!!!!handler for files, directories and binary attachments (see [[AttachFilePlugin]])
- ***/
- //{{{
- var defaults={
- chkFileDropDisplay: true,
- chkFileDropTrimFilename: false,
- chkFileDropContent: true,
- chkFileDropLink: true,
- txtFileDropLinkFormat: '/%\\n!link\\n[[%0|%1]]\\n!end\\n%/',
- txtFileDropDataLimit: '32768',
- chkFileDropAttachLocalLink: true,
- txtFileDropTags: ''
- };
- for (var id in defaults) if (config.options[id]===undefined)
- config.options[id]=defaults[id];
- config.macros.fileDrop.addEventListener('application/x-moz-file',function(nsiFile) {
- var co=config.options; // abbrev
- var header='Index of %0\n^^(as of %1)^^\n|!filename| !size | !modified |\n';
- var item='|[[%0|%1]]| %2|%3|\n';
- var footer='Total of %0 bytes in %1 files\n';
- var now=new Date();
- var files=[nsiFile];
- if (nsiFile.isDirectory()) {
- var folder=nsiFile.directoryEntries;
- var files=[];
- while (folder.hasMoreElements()) {
- var f=folder.getNext().QueryInterface(Components.interfaces.nsILocalFile);
- if (f instanceof Components.interfaces.nsILocalFile && !f.isDirectory()) files.push(f);
- }
- var msg=nsiFile.path.replace(/\\/g,'/')+'\n\n';
- msg+='contains '+files.length+' files... ';
- msg+='select OK to attach all files or CANCEL to create a list...';
- if (!confirm(msg)) { // create a list in a tiddler
- var title=nsiFile.leafName; // tiddler name is last directory name in path
- while (title && title.length && store.tiddlerExists(title)) {
- if (confirm(config.messages.overwriteWarning.format([title]))) break;
- title=prompt('Enter a new tiddler title',nsiFile.path.replace(/\\/g,'/'));
- }
- if (!title || !title.length) return true; // cancelled
- var text=header.format([nsiFile.path.replace(/\\/g,'/'),now.toLocaleString()]);
- var total=0;
- for (var i=0; i<files.length; i++) { var f=files[i];
- var name=f.leafName;
- if (co.chkFileDropTrimFilename)
- { var p=name.split('.'); if (p.length>1) p.pop(); name=p.join('.'); }
- var path='file:///'+f.path.replace(/\\/g,'/');
- var size=f.fileSize; total+=size;
- var when=new Date(f.lastModifiedTime).formatString('YYYY.0MM.0DD 0hh:0mm:0ss');
- text+=item.format([name,path,size,when]);
- }
- text+=footer.format([total,files.length]);
- var newtags=co.txtFileDropTags?co.txtFileDropTags.readBracketedList():[];
- var fields=merge({}, config.defaultCustomFields); // no metadata at the moment
- store.saveTiddler(null,title,text,co.txtUserName,now,newtags,fields);
- if (co.chkFileDropDisplay) story.displayTiddler(null,title);
- return true;
- }
- }
- if (files.length>1) store.suspendNotifications();
- for (i=0; i<files.length; i++) {
- var file=files[i];
- if (file.isDirectory()) continue; // skip over nested directories
- var type='text/plain';
- var title=file.leafName; // tiddler name is file name
- if (co.chkFileDropTrimFilename)
- { var p=title.split('.'); if (p.length>1) p.pop(); title=p.join('.'); }
- var name=file.leafName;
- var path=file.path;
- var url='file:///'+path.replace(/\\/g,'/');
- var size=file.fileSize;
- var when=new Date(file.lastModifiedTime);
- var now=new Date();
- var who=config.options.txtUserName;
- var h=document.location.href;
- var cwd=getLocalPath(decodeURIComponent(h.substr(0,h.lastIndexOf('/')+1)));
- var relpath=path.startsWith(cwd)?'./'+path.substr(cwd.length):path;
- while (title && title.length && store.tiddlerExists(title)) {
- if (confirm(config.messages.overwriteWarning.format([title]))) break;
- title=prompt('Enter a new tiddler title',path.replace(/\\/g,'/'));
- }
- if (!title || !title.length) continue; // cancelled
- if (config.macros.attach) {
- type=config.macros.attach.getMIMEType(name,'');
- if (!type.length)
- type=prompt('Unknown file type. Enter a MIME type','text/plain');
- if (!type||!type.length) continue; // cancelled
- }
- var newtags=co.txtFileDropTags?co.txtFileDropTags.readBracketedList():[];
- if (type=='text/plain' || !co.chkFileDropContent) {
- var txt=''; var fmt=co.txtFileDropLinkFormat.unescapeLineBreaks();
- if (co.chkFileDropLink) txt+=fmt.format([name,url,path,relpath,size,when,now,who]);
- if (co.chkFileDropContent) {
- var out=loadFile(path); var lim=co.txtFileDropDataLimit;
- txt+=co.txtFileDropDataLimit?out.substr(0,lim):out;
- if (size>lim) txt+='\n----\nfilesize ('+size+')'
- +' is larger than FileDrop limit ('+lim+')...\n'
- +'additional content has been omitted';
- }
- var fields=merge({}, config.defaultCustomFields); // no metadata at the moment
- store.saveTiddler(null,title,txt,co.txtUserName,now,newtags,fields);
- } else {
- var embed=co.chkFileDropContent
- && (!co.txtFileDropDataLimit||size<co.txtFileDropDataLimit);
- newtags.push('attachment'); newtags.push('excludeMissing');
- config.macros.attach.createAttachmentTiddler(path,
- now.formatString(config.macros.timeline.dateFormat),
- 'attached by FileDropPlugin', newtags, title,
- embed, co.chkFileDropAttachLocalLink, false,
- relpath, '', type,!co.chkFileDropDisplay);
- }
- if (co.chkFileDropDisplay) story.displayTiddler(null,title);
- }
- if (files.length>1) { store.resumeNotifications(); store.notifyAll(); }
- return true;
- })
- //}}}</pre>
- </div>
- <div title="FileDropPluginCreator" creator="pmario" modifier="pmario" created="201101271327" modified="201102072152" server.title="FileDropPluginCreator" server.page.revision="245659" server.etag=""fancybox_public/FileDropPluginCreator/245659;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="37c61006a69d7e2fd488475389c1b818261ece45">
- <pre>!Importatnt
- *Don't forget the "attachment" tag!
- !Creator
- //{{{
- !usage
- {{{[img[%0]]}}}
- [img[%0]]
- !slide
- !notes
- attached by FileDropPlugin
- !type
- image/jpg
- !file
- ./thumbs/%0
- !url
- http://fancybox-thumbs.tiddlyspace.com/%0
- !link
- [[%0|http://fancybox-pics.tiddlyspace.com/%0]]
- !!!!!end
- //}}}</pre>
- </div>
- <div title="FollowTiddlersBlackList" creator="osmosoft" modifier="osmosoft" created="201102181424" modified="201102181424" tags="excludeLists excludeMissing excludeSearch" server.title="FollowTiddlersBlackList" server.page.revision="257480" server.etag=""tiddlyspace/FollowTiddlersBlackList/257480;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/tiddlyspace" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="tiddlyspace" server.permissions="read" server.content-type="" _hash="6fc8ab230a904a71d63a42d97dccd8e135c1ed1c">
- <pre>ColorPalette
- StyleSheet
- SiteSubtitle
- GettingStarted
- SiteTitle
- MainMenu
- SiteIcon
- DefaultTiddlers
- ViewTemplate
- PageTemplate
- SideBarOptions
- EditTemplate
- SiteInfo
- SideBarTabs
- ToolbarCommands</pre>
- </div>
- <div title="FollowTiddlersButtonPlugin" creator="pmario" modifier="pmario" created="201012062209" modified="201012070910" tags="excludeLists systemConfig" server.title="FollowTiddlersButtonPlugin" server.page.revision="107090" server.etag=""neui-em_public/FollowTiddlersButtonPlugin/107090;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" _hash="8bf5f2104dd27dae9105c4835b8b5fc95b7e4db7">
- <pre>/***
- |''Name:''|FollowTiddlersButtonPlugin|
- |''Description:''|Wraps followTiddlers macro into a button, which needs to be clicked to activate it.|
- |''Author:''|Mario Pietsch|
- |''Source:''||
- |''Version:''|0.1.0|
- |''Status:''|beta|
- |''Date:''|2010.12.06|
- |''Requires:''|TiddlySpaceFollowingPlugin|
- |''License:''|BSD|
- |''~CoreVersion:''||
- Click the [?] button, to get {{{<<followTiddlers>>}}} macro activated.
- !!!!Use
- <<<
- {{{
- <<followTiddlersButton>> instead of <<followTiddlers>>
- }}}
- <<<
- !!!!ViewTemplate
- <<<
- {{{
- <div class='followPlaceHolder' macro='followTiddlersButton'>
- <span macro="view title replyLink"></span>
- </div>
- }}}
- <<<
- ***/
- /*{{{*/
- version.extensions.TiddlySpaceHacks = {major: 0, minor: 1, revision: 0, date: new Date(2010,12,06)};
- (function ($) {
- var ftb;
- config.macros.followTiddlersButton = ftb = {
- // should be done for easy localisation
- locale: {
- lblButton: '?',
- txtButton: 'Find other spaces, that contain a tiddler with the same title',
- },
- handler: function(place, macroName, params, wikifier, paramString, tiddler){
- if (!config.macros.followTiddlers) return false;
- var btn = null;
- // createTiddlyButton(parent, text, tooltip, action, className, id, accessKey, attribs)
- btn = createTiddlyButton(place, ftb.locale.lblButton, ftb.locale.txtButton, ftb.onClick, 'followButton');
- // passing all arguments to the function
- $(btn).data('data', arguments);
- },
- onClick: function() {
- var a = $(this).data("data");
- if (a) {
- config.macros.followTiddlers.handler.apply(config.macros.followTiddlers, a);
- $(this).remove();
- }
- return false;
- }
- }; // end of hello world
- }) (jQuery);
- /*}}}*/
- </pre>
- </div>
- <div title="FontPalette" creator="pmario" modifier="pmario" created="201008061923" modified="201009181705" tags="excludeLists" server.title="FontPalette" server.page.revision="107092" server.etag=""neui-em_public/FontPalette/107092;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" _hash="5eb189de697f4d6c1e7d47bec211a41c33ae635c">
- <pre>|uiDefault|Verdana,Arial,sans-serif|
- |uiEditor|Verdana,Arial,sans-serif|
- |twDefault|Arial, 'Linux Biolinum O', helvetica|
- |twEditor|Inconsolata|
- |twTitle|'Trebuchet MS' sans-serif|
- |twHeader|'Trebuchet MS' sans-serif|
- |navDefault|Inconsolata|</pre>
- </div>
- <div title="FreeStyle" creator="pmario" modifier="pmario" created="201008061923" modified="201009181704" tags="excludeLists" server.title="FreeStyle" server.page.revision="107094" server.etag=""neui-em_public/FreeStyle/107094;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" taggly.listmode="0" _hash="a268da48e13a1d7dc6116ffd5c6bb064d688d52b">
- <pre>Learn more at: http://freestyle.tiddlyspot.com/
- Source for this layout is not published yet.</pre>
- </div>
- <div title="GettingStarted" creator="fancybox" modifier="fancybox" created="201101211613" modified="201101211613" tags="excludeLists excludeSearch" server.title="GettingStarted" server.page.revision="47583" server.etag=""fancybox_public/GettingStarted/47583;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="7bcb267061e0c7648089c17877be47256ee5e512">
- <pre><<binaryUpload edit:title>></pre>
- </div>
- <div title="GotoPlugin" creator="pmario" modifier="pmario" created="201008061923" modified="201009181705" tags="excludeLists systemConfig" server.title="GotoPlugin" server.page.revision="107114" server.etag=""neui-em_public/GotoPlugin/107114;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" _hash="2e50d5bab33d6df9f0ea9a83115b5dfaab44313b">
- <pre>/***
- |Name|GotoPlugin|
- |Source|http://www.TiddlyTools.com/#GotoPlugin|
- |Documentation|http://www.TiddlyTools.com/#GotoPluginInfo|
- |Version|1.9.2|
- |Author|Eric Shulman|
- |License|http://www.TiddlyTools.com/#LegalStatements|
- |~CoreVersion|2.1|
- |Type|plugin|
- |Description|view any tiddler by entering it's title - displays list of possible matches|
- ''View a tiddler by typing its title and pressing //enter//.'' As you type, a list of possible matches is displayed. You can scroll-and-click (or use arrows+enter) to select/view a tiddler, or press escape to close the listbox to resume typing. When the listbox is not displayed, pressing //escape// clears the current input.
- !!!Documentation
- >see [[GotoPluginInfo]]
- !!!Configuration
- <<<
- *Match titles only after {{twochar{<<option txtIncrementalSearchMin>>}}} or more characters are entered.<br>Use down-arrow to start matching with shorter input. //Note: This option value is also set/used by [[SearchOptionsPlugin]]//.
- *To set the maximum height of the listbox, you can create a tiddler tagged with <<tag systemConfig>>, containing:
- //{{{
- config.macros.gotoTiddler.listMaxSize=10; // change this number
- //}}}
- <<<
- !!!Revisions
- <<<
- 2009.05.22 [1.9.2] use reverseLookup() for IncludePlugin
- |please see [[GotoPluginInfo]] for additional revision details|
- 2006.05.05 [0.0.0] started
- <<<
- !!!Code
- ***/
- //{{{
- version.extensions.GotoPlugin= {major: 1, minor: 9, revision: 2, date: new Date(2009,5,22)};
- // automatically tweak shadow SideBarOptions to add <<gotoTiddler>> macro above <<search>>
- config.shadowTiddlers.SideBarOptions=config.shadowTiddlers.SideBarOptions.replace(/<<search>>/,"{{button{goto}}}\n<<gotoTiddler>><<search>>");
- if (config.options.txtIncrementalSearchMin===undefined) config.options.txtIncrementalSearchMin=3;
- config.macros.gotoTiddler= {
- listMaxSize: 10,
- listHeading: 'Found %0 matching title%1...',
- searchItem: "Search for '%0'...",
- handler:
- function(place,macroName,params,wikifier,paramString,tiddler) {
- var quiet =params.contains("quiet");
- var showlist =params.contains("showlist");
- var search =params.contains("search");
- params = paramString.parseParams("anon",null,true,false,false);
- var instyle =getParam(params,"inputstyle","");
- var liststyle =getParam(params,"liststyle","");
- var filter =getParam(params,"filter","");
- var html=this.html;
- var keyevent=window.event?"onkeydown":"onkeypress"; // IE event fixup for ESC handling
- html=html.replace(/%keyevent%/g,keyevent);
- html=html.replace(/%search%/g,search);
- html=html.replace(/%quiet%/g,quiet);
- html=html.replace(/%showlist%/g,showlist);
- html=html.replace(/%display%/g,showlist?'block':'none');
- html=html.replace(/%position%/g,showlist?'static':'absolute');
- html=html.replace(/%instyle%/g,instyle);
- html=html.replace(/%liststyle%/g,liststyle);
- html=html.replace(/%filter%/g,filter);
- if (config.browser.isIE) html=this.IEtableFixup.format([html]);
- var span=createTiddlyElement(place,'span');
- span.innerHTML=html; var form=span.getElementsByTagName("form")[0];
- if (showlist) this.fillList(form.list,'',filter,search,0);
- },
- html:
- '<form onsubmit="return false" style="display:inline;margin:0;padding:0">\
- <input name=gotoTiddler type=text autocomplete="off" accesskey="G" style="%instyle%"\
- title="Enter title text... ENTER=goto, SHIFT-ENTER=search for text, DOWN=select from list"\
- onfocus="this.select(); this.setAttribute(\'accesskey\',\'G\');"\
- %keyevent%="return config.macros.gotoTiddler.inputEscKeyHandler(event,this,this.form.list,%search%,%showlist%);"\
- onkeyup="return config.macros.gotoTiddler.inputKeyHandler(event,this,%quiet%,%search%,%showlist%);">\
- <select name=list style="display:%display%;position:%position%;%liststyle%"\
- onchange="if (!this.selectedIndex) this.selectedIndex=1;"\
- onblur="this.style.display=%showlist%?\'block\':\'none\';"\
- %keyevent%="return config.macros.gotoTiddler.selectKeyHandler(event,this,this.form.gotoTiddler,%showlist%);"\
- onclick="return config.macros.gotoTiddler.processItem(this.value,this.form.gotoTiddler,this,%showlist%);">\
- </select><input name="filter" type="hidden" value="%filter%">\
- </form>',
- IEtableFixup:
- "<table style='width:100%;display:inline;padding:0;margin:0;border:0;'>\
- <tr style='padding:0;margin:0;border:0;'><td style='padding:0;margin:0;border:0;'>\
- %0</td></tr></table>",
- getItems:
- function(list,val,filter) {
- if (!list.cache || !list.cache.length || val.length<=config.options.txtIncrementalSearchMin) {
- // starting new search, fetch and cache list of tiddlers/shadows/tags
- list.cache=new Array();
- if (filter.length) {
- var fn=store.getMatchingTiddlers||store.getTaggedTiddlers;
- var tiddlers=store.sortTiddlers(fn.apply(store,[filter]),'title');
- } else
- var tiddlers=store.reverseLookup('tags','excludeLists');
- for(var t=0; t<tiddlers.length; t++) list.cache.push(tiddlers[t].title);
- if (!filter.length) {
- for (var t in config.shadowTiddlers) list.cache.pushUnique(t);
- var tags=store.getTags();
- for(var t=0; t<tags.length; t++) list.cache.pushUnique(tags[t][0]);
- }
- }
- var found = [];
- var match=val.toLowerCase();
- for(var i=0; i<list.cache.length; i++)
- if (list.cache[i].toLowerCase().indexOf(match)!=-1) found.push(list.cache[i]);
- return found;
- },
- getItemSuffix:
- function(t) {
- if (store.tiddlerExists(t)) return ""; // tiddler
- if (store.isShadowTiddler(t)) return " (shadow)"; // shadow
- return " (tag)"; // tag
- },
- fillList:
- function(list,val,filter,search,key) {
- if (list.style.display=="none") return; // not visible... do nothing!
- var indent='\xa0\xa0\xa0';
- var found = this.getItems(list,val,filter); // find matching items...
- found.sort(); // alpha by title
- while (list.length > 0) list.options[0]=null; // clear list
- var hdr=this.listHeading.format([found.length,found.length==1?"":"s"]);
- list.options[0]=new Option(hdr,"",false,false);
- for (var t=0; t<found.length; t++) list.options[list.length]=
- new Option(indent+found[t]+this.getItemSuffix(found[t]),found[t],false,false);
- if (search)
- list.options[list.length]=new Option(this.searchItem.format([val]),"*",false,false);
- list.size=(list.length<this.listMaxSize?list.length:this.listMaxSize); // resize list...
- list.selectedIndex=key==38?list.length-1:key==40?1:0;
- },
- keyProcessed:
- function(ev) { // utility function
- ev.cancelBubble=true; // IE4+
- try{event.keyCode=0;}catch(e){}; // IE5
- if (window.event) ev.returnValue=false; // IE6
- if (ev.preventDefault) ev.preventDefault(); // moz/opera/konqueror
- if (ev.stopPropagation) ev.stopPropagation(); // all
- return false;
- },
- inputEscKeyHandler:
- function(event,here,list,search,showlist) {
- if (event.keyCode==27) {
- if (showlist) { // clear input, reset list
- here.value=here.defaultValue;
- this.fillList(list,'',here.form.filter.value,search,0);
- }
- else if (list.style.display=="none") // clear input
- here.value=here.defaultValue;
- else list.style.display="none"; // hide list
- return this.keyProcessed(event);
- }
- return true; // key bubbles up
- },
- inputKeyHandler:
- function(event,here,quiet,search,showlist) {
- var key=event.keyCode;
- var list=here.form.list;
- var filter=here.form.filter;
- // non-printing chars bubble up, except for a few:
- if (key<48) switch(key) {
- // backspace=8, enter=13, space=32, up=38, down=40, delete=46
- case 8: case 13: case 32: case 38: case 40: case 46: break; default: return true;
- }
- // blank input... if down/enter... fall through (list all)... else, and hide or reset list
- if (!here.value.length && !(key==40 || key==13)) {
- if (showlist) this.fillList(here.form.list,'',here.form.filter.value,search,0);
- else list.style.display="none";
- return this.keyProcessed(event);
- }
- // hide list if quiet, or below input minimum (and not showlist)
- list.style.display=(!showlist&&(quiet||here.value.length<config.options.txtIncrementalSearchMin))?'none':'block';
- // non-blank input... enter=show/create tiddler, SHIFT-enter=search for text
- if (key==13 && here.value.length) return this.processItem(event.shiftKey?'*':here.value,here,list,showlist);
- // up or down key, or enter with blank input... shows and moves to list...
- if (key==38 || key==40 || key==13) { list.style.display="block"; list.focus(); }
- this.fillList(list,here.value,filter.value,search,key);
- return true; // key bubbles up
- },
- selectKeyHandler:
- function(event,list,editfield,showlist) {
- if (event.keyCode==27) // escape... hide list, move to edit field
- { editfield.focus(); list.style.display=showlist?'block':'none'; return this.keyProcessed(event); }
- if (event.keyCode==13 && list.value.length) // enter... view selected item
- { this.processItem(list.value,editfield,list,showlist); return this.keyProcessed(event); }
- return true; // key bubbles up
- },
- processItem:
- function(title,here,list,showlist) {
- if (!title.length) return;
- list.style.display=showlist?'block':'none';
- if (title=="*") { story.search(here.value); return false; } // do full-text search
- if (!showlist) here.value=title;
- story.displayTiddler(null,title); // show selected tiddler
- return false;
- }
- }
- //}}}</pre>
- </div>
- <div title="GroupByPlugin" creator="jon" modifier="jon" created="201102181424" modified="201102181424" tags="excludeLists excludeSearch systemConfig" server.title="GroupByPlugin" server.page.revision="257434" server.etag=""system-plugins_public/GroupByPlugin/257434;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/system-plugins_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="system-plugins_public" server.permissions="read" server.content-type="text/javascript" _hash="3d12e70f13f35b1da38bce7880fbff35c9d9fd88">
- <pre>/***
- |''Name''|GroupByPlugin|
- |''Description''|Mimics allTags macro to provide ways of creating lists grouping tiddlers by any field|
- |''Version''|0.5.7|
- |''Author''|Jon Robson|
- |''Status''|beta|
- !Usage
- {{{<<groupBy tags>>}}}
- mimics allTags macro
- {{{<<groupBy server.bag>>}}}
- groups by the server.bag field (this version contains TiddlySpace specific code for turning a bag into a space name)
- {{{groupBy modified dateFormat:"YYYY"}}}
- group tiddlers by year.
- {{{<<groupBy tags exclude:excludeLists exclude:systemConfig>>}}}
- group tiddlers by tag but exclude the tags with values excludeLists and systemConfig
- Within that group you can also exclude things by filter
- {{{groupBy modifier filter:[tag[film]]}}}
- will group tiddlers tagged with film by modifier.
- ***/
- //{{{
- (function($) {
- var taglocale = config.views.wikified.tag;
- var macro = config.macros.groupBy = {
- locale: {
- tooltip: "all tiddlers in group %0",
- noTiddlers: "no tiddlers",
- openAllText: taglocale.openAllText,
- openAllTooltip: taglocale.openAllTooltip,
- openTiddler: "open tiddler with title %0"
- },
- morpher: {
- // TODO: note currently the following 2 morphers are TiddlySpace specific and probably should be in separate plugin
- "server.workspace": function(value, options) {
- return macro.morpher["server.bag"](value.replace("bags/", "").replace("recipes/", ""));
- },
- "server.bag": function(value, options) {
- if(typeof(value) !== "string") {
- return false;
- } else if(value.indexOf("_public") === -1 && value.indexOf("_private") === -1) {
- value = "*%0".format(value); // add star for non-space bags.
- }
- return value.replace("_public", "").replace("_private", "");
- },
- created: function(value, options) {
- return value.formatString(options.dateFormat || "DD MMM YYYY");
- },
- modified: function(value, options) {
- return macro.morpher.created(value, options);
- }
- },
- handler: function(place, macroName, params, wikifier, paramString) {
- var field = params[0] || "server.workspace";
- var dateFormat = params[1] || "DD MMM YYYY";
- var container = $("<div />").attr("macroName", macroName).addClass("groupBy").
- attr("refresh", "macro").attr("fieldName", field).
- attr("paramString", paramString).
- attr("dateFormat", dateFormat).appendTo(place)[0];
- macro.refresh(container);
- },
- isTypeArray: function(value) {
- var valueType = typeof value;
- if(valueType === "object" && typeof value.length === "number" &&
- !(value.propertyIsEnumerable("length")) &&
- typeof value.splice === "function") { //is Array
- return true;
- } else {
- return false;
- }
- },
- _onClickGroup: function(ev, options) {
- var i, target = ev.target, locale = macro.locale;
- var tiddlers = $(target).closest(".templateContainer").data("tiddlers");
- var popup = $(Popup.create(target)).addClass("taggedTiddlerList")[0];
- var value = $(target).attr("value");
- var openAll = createTiddlyButton($("<li />").appendTo(popup)[0],
- locale.openAllText.format(value), locale.openAllTooltip,
- function(ev) {
- for(i = 0; i < tiddlers.length; i++) {
- story.displayTiddler(ev.target, tiddlers[i].title);
- }
- });
- var listBreak = $("<li />").addClass("listBreak").html("<div />").appendTo(popup);
- for(i = 0; i < tiddlers.length; i++) {
- var item = $("<li />").appendTo(popup)[0];
- var template = store.getTiddlerText(options.template) || macro.template;
- wikify(template, item, null, tiddlers[i]);
- }
- listBreak.clone().appendTo(popup);
- $(createTiddlyLink($("<li />").appendTo(popup)[0], value, false)).
- text(locale.openTiddler.format(value));
- Popup.show();
- ev.stopPropagation();
- return false;
- },
- _refresh: function(container, tiddlers, options) {
- var totalGroups = 0, locale = macro.locale, i, j;
- var excludeValues = options.exclude;
- var values = {}, value_ids = [];
- var field = options.field;
- var morpher = macro.morpher[field] || function(value) {
- return value;
- };
- for(i = 0; i < tiddlers.length; i++) {
- var tiddler = tiddlers[i];
- var value = tiddler[field] || tiddler.fields[field];
- value = macro.isTypeArray(value) ? value : [ value ];
- for(j = 0; j < value.length; j++) {
- var v = morpher(value[j], options);
- if(v && excludeValues.indexOf(v) === -1) {
- totalGroups += 1;
- if(!values[v]) {
- values[v] = [];
- }
- values[v].push(tiddler);
- value_ids.pushUnique(v);
- }
- }
- }
- var ul = $("<ul />").appendTo(container)[0];
- if(totalGroups === 0) {
- $("<li />").addClass("listTitle").text(locale.noTiddlers);
- }
- value_ids = value_ids.sort();
- var groupTemplate = store.getTiddlerText(options.groupTemplate);
- var onClick = function(ev) {
- macro._onClickGroup(ev, options);
- };
- for(i = 0; i < value_ids.length; i++) {
- var title = value_ids[i];
- var info = getTiddlyLinkInfo(title);
- tiddlers = values[title];
- var btn = createTiddlyButton($("<li />").appendTo(ul)[0],
- "%0 (%1)".format(title, tiddlers.length), locale.tooltip.format(title), null, info.classes);
- if(groupTemplate) {
- $(btn).empty();
- wikify(groupTemplate, btn, null, tiddlers[0]);
- }
- $(btn).click(onClick).attr("value", title).attr("refresh", "link").attr("tiddlyLink", title);
- $(btn).addClass("templateContainer").data("tiddlers", tiddlers);
- }
- },
- refresh: function(container) {
- container = $(container).empty();
- var paramString = container.attr("paramString");
- var args = paramString.parseParams("name", null, true, false, true)[0];
- var options = { field: container.attr("fieldName"), dateFormat: container.attr("dateFormat"), exclude: args.exclude || [],
- template: args.template ? args.template[0] : false, groupTemplate: args.groupTemplate ? args.groupTemplate[0] : false };
- var tiddlers = args.filter ? store.filterTiddlers(args.filter[0]) : store.getTiddlers("title");
- macro._refresh(container, tiddlers, options);
- },
- template: "<<view title link>>"
- };
- }(jQuery));
- //}}}</pre>
- </div>
- <div title="HandlingPictures" creator="pmario" modifier="pmario" created="201102072057" modified="201102082152" tags="mainMenu" server.title="HandlingPictures" server.page.revision="246715" server.etag=""fancybox_public/HandlingPictures/246715;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="3da297d08675802fc85bf79f29dd5f90fc41281d">
- <pre>I identified 6 different more ore less usefull ways how I would want to manage pictures with TW/TS.
- !Directories (offline)
- *The html file and all pictures are in one directory.
- **fancybox.html
- **01thumb.jpg .. the thumbnail
- **01.jpg .. the picture
- I personally don't like this, because the thumbnails, have to have different names, than the slideshow pictures. On the other hand, there is easy file handling, and no thinking about subdirectory names and so on, is needed.
- *Pictures and thumbs in different directories
- **fancybox.html
- **/thumbs/01.jpg .. the thumbnail
- **/pics/01.jpg .. the picture
- I prefere this type of structure. May be, because I am used to it :)
- !TiddlyWiki / TiddlySpace (online)
- *fancybox.html
- *Binary tiddlers (TS)
- **Includes eg: 01.jpg .. the thumb
- **Needs to references the slideshow picture with a hardcoded prettylink
- **Can't handle offline very well, because the hardcoded slide picture can't be accessed if offline
- **The html file gets very big, because pictures are included. Even if only the thumbs are included.
- **The only advantage, that I found is: http://fancybox-pics.tiddlyspace.com/01.jpg renders a picture.
- For me, using/storing pictures, along with the html file, only makes sense, if a pic is less than 0-5kByte. But in this case, for me there is no need to have ~FancyBoxPlugin, because the pictures are to small.
- !TiddlyWiki / AttachFilePlugin (online)
- *fancybox.html
- **Includes 01.jpg .. the thumb by reference
- **Includes 01slide.jpg .. the picture by reference
- **Handles online / offline very well because of {{{URL}}} and {{{file}}} sections
- **Disadvantage: http://fancybox.tiddlyspace.com/01.jpg doesn't render a picture but a tiddler.
- Using ~AttachFilePluginFormatters is one of the most flexible ways to handle picture/file references. If the plugin is installed, ~FancyBoxPlugin tries to use it whenever possible.
- !Picasa (online)
- Picasa seems to leave the picture name intact. It automatically creates different obfuscated subdirectories for different picture resolutions.
- Similar to Flikr.
- !Flikr
- Flikr obfuscates path and the picture name. I wouldn't want to handle slideshows without ~AttachFilePluginFormatters and propper tiddler names for thumbs and pics.
- You can define {{{[img[PrettyLink|http://farm6.static.flickr.com/5096/5421865716_41cf6bbb6b_t.jpg][http://farm6.static.flickr.com/5096/5421865716_41cf6bbb6b_b.jpg]]}}} by hand.
- [img[PrettyLink|http://farm6.static.flickr.com/5096/5421865716_41cf6bbb6b_t.jpg][http://farm6.static.flickr.com/5096/5421865716_41cf6bbb6b_b.jpg]]<<fancyBox>> FancyBoxPlugin can handle this. But configuration is really painfull. </pre>
- </div>
- <div title="HideWhenPlugin" creator="pmario" modifier="pmario" created="201009181808" modified="201009181808" tags="excludeLists systemConfig" server.title="HideWhenPlugin" server.page.revision="107116" server.etag=""neui-em_public/HideWhenPlugin/107116;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" _hash="eeeef41ec5197dbd5ea780bf4ed80df827d5bf23">
- <pre>/***
- |Name:|HideWhenPlugin|
- |Description:|Allows conditional inclusion/exclusion in templates|
- |Version:|3.1 ($Rev: 3919 $)|
- |Date:|$Date: 2008-03-13 02:03:12 +1000 (Thu, 13 Mar 2008) $|
- |Source:|http://mptw.tiddlyspot.com/#HideWhenPlugin|
- |Author:|Simon Baird <simon.baird@gmail.com>|
- |License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
- 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>}}}
- ***/
- //{{{
- window.hideWhenLastTest = false;
- window.removeElementWhen = function(test,place) {
- window.hideWhenLastTest = test;
- if (test) {
- removeChildren(place);
- place.parentNode.removeChild(place);
- }
- };
- merge(config.macros,{
- hideWhen: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
- removeElementWhen( eval(paramString), place);
- }},
- showWhen: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
- removeElementWhen( !eval(paramString), place);
- }},
- hideWhenTagged: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
- removeElementWhen( tiddler.tags.containsAll(params), place);
- }},
- showWhenTagged: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
- removeElementWhen( !tiddler.tags.containsAll(params), place);
- }},
- hideWhenTaggedAny: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
- removeElementWhen( tiddler.tags.containsAny(params), place);
- }},
- showWhenTaggedAny: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
- removeElementWhen( !tiddler.tags.containsAny(params), place);
- }},
- hideWhenTaggedAll: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
- removeElementWhen( tiddler.tags.containsAll(params), place);
- }},
- showWhenTaggedAll: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
- removeElementWhen( !tiddler.tags.containsAll(params), place);
- }},
- hideWhenExists: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
- removeElementWhen( store.tiddlerExists(params[0]) || store.isShadowTiddler(params[0]), place);
- }},
- showWhenExists: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
- removeElementWhen( !(store.tiddlerExists(params[0]) || store.isShadowTiddler(params[0])), place);
- }},
- hideWhenTitleIs: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
- removeElementWhen( tiddler.title == params[0], place);
- }},
- showWhenTitleIs: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
- removeElementWhen( tiddler.title != params[0], place);
- }},
- 'else': { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
- removeElementWhen( !window.hideWhenLastTest, place);
- }}
- });
- //}}}
- </pre>
- </div>
- <div title="HowToo's" creator="pmario" modifier="pmario" created="201102111145" modified="201102221846" tags="excludeLists mainMenu topMenu" server.title="HowToo's" server.page.revision="261801" server.etag=""fancybox_public/HowToo's/261801;679c808ea83728c9f0922e0ac831727f87829617"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" sort.topmenu="0001" _hash="bcdf41544e82d2a279568009689eaf731640300e">
- <pre>!SiteInfo
- <<tiddler SiteInfo>>
- !Important
- @@This plugin is BETA. It is subject to changings, without any notification, so use with care!
- Feedback is very welcome! Use [[Google dicussion group|http://groups.google.com/group/tiddlywiki?hl=en]] for feedback.@@
- !The Plugin
- See: FancyBoxPlugin
- !Simple Examples
- <<xList xCase "sort." "." "[tag[simple]]">>
- !Medium Examples
- <<xList xCase "sort." "." "[tag[medium]]">>
- !Advanced Examples
- <<xList xCase "sort." "." "[tag[advanced]]">>
- </pre>
- </div>
- <div title="ImageGallery" creator="pmario" modifier="pmario" created="201102131915" modified="201102131915" tags="excludeLists excludeSearch" server.title="ImageGallery" server.page.revision="253385" server.etag=""fancybox_public/ImageGallery/253385;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="a25eef3cd215cbba2356b1726821b8006a44a914">
- <pre>!!!Image gallery (ps, try using mouse scroll wheel)
- <<fancyBox 01.jpg 13.jpg 11.jpg label:"San Benedicto Island" label:"Cool Cave" label:Sunset defaults:"DirectoryConfig##Defaults" fancy:"ImageGallery##Fancy">>
- /%
- !Fancy
- {{{
- opacity: true
- // When true, transparency of content is changed for elastic transitions
- titlePosition: over
- // The position of title. Can be set to 'outside', 'inside' or 'over'
- transitionIn: elastic
- transitionOut: elastic
- // The transition type. Can be set to 'elastic', 'fade' or 'none'
- }}}
- %/</pre>
- </div>
- <div title="ImageMacroPlugin" creator="jon" modifier="jon" created="201102181424" modified="201102181424" tags="excludeLists excludeSearch systemConfig" server.title="ImageMacroPlugin" server.page.revision="257481" server.etag=""tiddlyspace/ImageMacroPlugin/257481;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/tiddlyspace" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="tiddlyspace" server.permissions="read" server.content-type="text/javascript" _hash="7ac98c809c2ebbd539043f0f67fa3fed2cb296a6">
- <pre>/***
- |''Name''|ImageMacroPlugin|
- |''Version''|0.9.31|
- |''Description''|Allows the rendering of svg images in a TiddlyWiki|
- |''Author''|Osmosoft|
- |''License''|[[BSD|http://www.opensource.org/licenses/bsd-license.php]]|
- |''Notes''|Currently only works in modern browsers (not IE)|
- |''Requires''|BinaryTiddlersPlugin|
- !Usage
- {{{<<image SVG>>}}} will render the text of the tiddler with title SVG as an SVG image (but not in ie where it will fail silently)
- !!Parameters
- width/height: specify width/height parameters
- link: make the image link to a given location
- tiddlyLink: link to a tiddler
- !Notes
- Binary tiddlers in TiddlyWeb when passed through the wikifier will be shown as images.
- eg. {{{<<view text wikified>>}}} on a binary tiddler will show the image.
- {{{<<view fieldname image>>}}}
- will render the value of the tiddler field 'fieldname' as an image. This field can contain a tid
- {{{<<image SiteIcon>>}}}
- will create an image tag where the tiddler has content type beginning image and not ending +xml
- will attempt to create svg object in other scenarios
- {{{<<image /photos/x.jpg>>}}}
- will create an image tag with src /photos/x.jpg as long as there is not a tiddler called /photos/x.jpg in
- which case it will render that tiddler as an image. Note for the case of svg files it will attempt to render as an svg if possible via the image
- tag. It doesn't embed the svg in the dom for security reasons as svg code can contain javascript.
- !Code
- ***/
- //{{{
- (function($) {
- var macro = config.macros.image = {
- shim: "/bags/common/tiddlers/shim",
- ieVersion: config.browser.isIE ? parseInt(config.browser.ieVersion[1], 10) : false,
- svgns: "http://www.w3.org/2000/svg",
- xlinkns: "http://www.w3.org/1999/xlink",
- svgAvailable: document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1"),
- _fixPrefix: 1,
- _external_cache: {},
- _image_tag_cache: {},
- _image_dimensions: {},
- locale: {
- badImage: "This image cannot be displayed."
- },
- handler: function(place, macroName, params, wikifier, paramString, tiddler){
- var imageSource = params[0];
- // collect named arguments
- var args = macro.getArguments(paramString, params);
- this.renderImage(place, imageSource, args);
- },
- init: function() {
- var startupImages = store.getTaggedTiddlers("systemImage");
- var place = $("<div />").attr("id", "systemImageArea").appendTo("body").hide()[0];
- for(var i = 0; i < startupImages.length; i++) {
- var image = startupImages[i];
- macro.renderImage(place, image.title, { idPrefix: "" });
- }
- var data = new Image();
- data.onload = function() {
- macro.supportsDataUris = this.width != 1 || this.height != 1 ? false : true;
- };
- data.onerror = data.onload;
- data.src = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==";
- },
- refreshImage: function(src) {
- var elements = macro._image_tag_cache[src] ? macro._image_tag_cache[src] : [];
- if(macro._image_dimensions[src]) {
- macro._image_dimensions[src] = false;
- }
- for(var i = 0; i < elements.length; i++) {
- var el = $(elements[i]);
- var newSrc = "%0?nocache=%1".format(src, Math.random());
- el.attr("src", newSrc); // force reload
- }
- },
- isBinaryImageType: function(contentType) {
- return (contentType && contentType.indexOf("image") === 0 &&
- contentType.indexOf("+xml") != contentType.length - 4) ? true : false;
- },
- isImageTiddler: function(tiddler) {
- return macro.isSVGTiddler(tiddler) || macro.isBinaryImageTiddler(tiddler);
- },
- isSVGTiddler: function(tiddler) {
- var type = tiddler ? tiddler.fields['server.content-type'] : false;
- return type == "image/svg+xml";
- },
- isBinaryImageTiddler: function(tiddler) {
- return macro.isBinaryImageType(tiddler.fields['server.content-type']);
- },
- renderImage: function(place, imageSource, options) {
- var imageTiddler = store.getTiddler(imageSource);
- var container;
- var classes = ["image"];
- if(options.link) {
- classes = classes.concat(["imageLink", "externalLink"]);
- container = $("<a />").attr("href", options.link).appendTo(place)[0];
- } else if(options.tiddlyLink) {
- classes.push("imageLink");
- container = createTiddlyLink(place, options.tiddlyLink, false);
- } else {
- container = $("<span />").appendTo(place)[0];
- }
- $(container).addClass(classes.join(" "));
- options = options ? options : {};
- if(imageTiddler && macro.isBinaryImageTiddler(imageTiddler)) { // handle the case where we have an image url
- return macro._renderBinaryImageTiddler(container, imageTiddler, options);
- } else if(imageTiddler){ // handle the case where we have a tiddler
- return macro._renderSVGTiddler(container, imageTiddler, options);
- } else { // we have a string representing a url
- return macro._renderBinaryImageUrl(container, imageSource, options);
- }
- },
- _renderAlternateText: function(container, options) {
- var img;
- var src = options.src || "";
- if(options.width && options.height) {
- img = $("<img />").attr("src", src).addClass("svgImageText").attr("width", options.width).
- attr("height", options.height).appendTo(container);
- }
- var alt = options.alt;
- if(img && alt) {
- img.attr("alt", alt).attr("title", alt);
- } else if(alt) {
- $(container).addClass("svgImageText").text(alt);
- }
- macro._image_tag_cache[src] = img;
- },
- _renderSVGTiddler: function(place, tiddler, options) {
- if(!options) {
- options = {};
- }
- merge(options, { tiddler: tiddler, fix: true});
- if(macro.svgAvailable) {
- this._importSVG(place, options); // display the svg
- } else if(options.altImage) {
- var image = options.altImage;
- delete options.altImage;
- this._renderBinaryImageUrl(place, image, options);
- } else {
- this._renderAlternateText(place, options); // instead of showing the image show the alternate text.
- }
- },
- _renderBinaryImageTiddler: function(place, tiddler, options) {
- var resourceURI;
- var fields = tiddler.fields;
- if(fields["server.type"] == "tiddlyweb") { // construct an accurate url for the resource
- resourceURI = "%0/%1/tiddlers/%2".format(config.defaultCustomFields["server.host"],
- fields["server.workspace"], fields["server.title"]);
- } else { // guess the url for the resource
- resourceURI = tiddler.title;
- }
- var ctype = fields["server.content-type"] || tiddler.type;
- var text = tiddler.text;
- if(macro.supportsDataUris && ctype && text.indexOf("<html") == -1) {
- var uri = "data:%0;base64,%1".format(ctype, text);
- options.src = resourceURI;
- return macro._renderBinaryImageUrl(place, uri, options);
- } else if(options.src) {
- return macro._renderBinaryImageUrl(place, options.src, options);
- } else {
- return macro._renderBinaryImageUrl(place, resourceURI, options);
- }
- },
- _renderImageTag: function(container, src, width, height, options) {
- var img;
- img = $("<img />").appendTo(container);
- if(height) {
- img.attr("height", height);
- }
- if(width) {
- img.attr("width", width);
- }
- if(macro.ieVersion && macro.ieVersion < 7 && macro.shim && options.ie6png) {
- $(img).css({width: userW, height: userH,
- filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='%0', sizingMethod='scale')".format(src)
- }).attr("src", macro.shim);
- } else {
- img.attr("src", src);
- }
- if(!macro._image_tag_cache[options.srcUrl]) {
- macro._image_tag_cache[options.srcUrl] = [];
- }
- img = $(img).addClass(options.imageClass)[0];
- macro._image_tag_cache[options.srcUrl].push(img);
- return img;
- },
- _getDimensions: function(realDimensions, reqDimensions, preserve) {
- var w = realDimensions.width;
- var h = realDimensions.height;
- var reqh = reqDimensions.height;
- var reqw = reqDimensions.width;
- var finalw = w, finalh = h;
- var ratiow = reqw / w, ratioh = reqh / h;
- var scaledw = ratioh * w;
- var scaledh = ratiow * h;
- if(!reqw && reqh) {
- finalw = scaledw;
- finalh = reqh;
- } else if(reqw && !reqh) {
- finalw = reqw;
- finalh = scaledh;
- } else if(reqh && reqw) {
- var preserveWidth = w > h ? true : false;
- if(preserve) {
- if(preserveWidth && scaledh < reqh) {
- finalh = scaledh;
- finalw = reqw;
- } else {
- finalh = reqh;
- finalw = scaledw;
- }
- } else {
- finalw = reqw;
- finalh = reqh;
- }
- }
- return { width: parseInt(finalw, 10), height: parseInt(finalh, 10) };
- },
- _renderBinaryImageUrl: function(container, src, options) {
- var srcUrl = options.src ? options.src : src;
- srcUrl = srcUrl.indexOf("/") === -1 ? "/%0".format(srcUrl) : srcUrl; // for IE.
- var image_dimensions = macro._image_dimensions[srcUrl];
- var image = new Image(); // due to weird scaling issues where you use just a width or just a height
- var createImageTag = function(dimensions, error) {
- if(error) {
- var altImage = options.altImage;
- if(altImage) {
- delete options.altImage;
- macro._renderBinaryImageUrl(container, altImage, options);
- } else {
- options.src = src;
- macro._renderAlternateText(container, options);
- }
- } else {
- var dim = macro._getDimensions(dimensions, {
- width: options.width, height: options.height }, options.preserveAspectRatio);
- options.srcUrl = srcUrl;
- macro._renderImageTag(container, src, dim.width, dim.height, options);
- }
- };
- if(!image_dimensions) {
- image.onload = function() {
- var dimensions = { width: image.width, height: image.height};
- macro._image_dimensions[srcUrl] = dimensions;
- createImageTag(dimensions);
- };
- image.onerror = function() {
- createImageTag(null, true);
- };
- image.src = src;
- } else {
- createImageTag(image_dimensions);
- }
- },
- _generateIdPrefix: function(){
- return "twsvgfix_" + (this._fixPrefix++).toString() + "_";
- },
- _fixSVG: function(childNodes, idPrefix) {
- var urlPattern = /url\(\#([^\)]*)\)*/ig;
- var fixes = [
- { attr: "id", pattern: /^(.*)$/ig },
- { attr: "href", namespace: macro.xlinkns, pattern: /^#(.*)$/ig }
- ];
- var url_fixes = ["filter", "fill", "mask", "stroke", "style"];
- for(var i = 0; i < url_fixes.length; i++) {
- fixes.push({ attr: url_fixes[i], pattern: urlPattern });
- }
- for(var t = 0; t < childNodes.length; t++) {
- var node = childNodes[t];
- for(var a = 0; a < fixes.length; a++) {
- var fix = fixes[a];
- var attr = fix.attr;
- var ns = fix.namespace || "";
- if(node.hasAttributeNS && node.hasAttributeNS(ns, attr)) {
- var v = node.getAttributeNS(ns, attr);
- fix.pattern.lastIndex = 0;
- var match = fix.pattern.exec(v);
- if(match) {
- // Make sure replacement string doesn't contain any single dollar signs
- var toReplace = match[1];
- if(toReplace.indexOf(idPrefix) !== 0 && toReplace.indexOf("twglobal_") !== 0) {
- var replacement = (idPrefix + toReplace).replace("$", "$$$$");
- v = v.replace(match[1], replacement);
- }
- node.setAttributeNS(ns, attr,v);
- }
- }
- }
- var children = node.childNodes;
- if(children.length > 0) {
- this._fixSVG(children, idPrefix);
- }
- }
- },
- _importSVG: function(place, options){
- options = options ? options : {};
- var svgDoc, tiddlerText = options.tiddler.text;
- if (window.DOMParser) {
- svgDoc = new DOMParser().parseFromString(tiddlerText, "application/xml").documentElement;
- var idPrefix = options.idPrefix || this._generateIdPrefix();
- this._fixSVG([svgDoc], idPrefix);
- var el = document.importNode(svgDoc, true);
- var svgHolder = document.createElementNS(macro.svgns,"svg");
- var width = options.width;
- var height = options.height;
- if(width || height) {
- if(width && height) { // set view box of containing svg element based on the svg viewbox and width and height.
- var viewBox = el.getAttribute("viewBox");
- var topLeft = "0 0";
- if(viewBox) {
- topLeft = viewBox.replace(/([0-9]*) +([0-9]*) +([0-9]*) +([0-9]*) */gi,"$1 $2");
- }
- svgHolder.setAttributeNS(macro.svgns, "viewBox", "0 0 %0 %1".format(width, height));
- } else {
- if(!width) {
- width = el.getAttribute("width");
- }
- if(!height) {
- height = el.getAttribute("height");
- }
- }
- svgHolder.setAttribute("width", width);
- svgHolder.setAttribute("height", height);
- el.setAttribute("width", "100%");
- el.setAttribute("height", "100%");
- svgHolder.setAttribute("class", "svgImage svgIcon %0".format(options.imageClass || ""));
- svgHolder.appendChild(el);
- place.appendChild(svgHolder);
- }
- else {
- var existing = el.className ? el.className.baseVal : "";
- el.setAttribute("class","svgImage %0".format(existing));
- place.appendChild(el);
- }
- // if a tiddler attribute is set this is read as a link
- $("[tiddler], [tiddlyLink]", place).attr("refresh", "link").click(function(ev) {
- var tiddler = $(ev.target).attr("tiddlyLink");
- if(tiddler) {
- story.displayTiddler(ev.target, tiddler);
- }
- });
- }
- },
- getArguments: function(paramString, params) {
- var args = paramString.parseParams("name", null, true, false, true)[0];
- var options = {};
- for(var id in args) {
- if(true) {
- var p = args[id];
- if(id == "def") {
- options[id] = p;
- } else {
- options[id] = p[0];
- }
- }
- }
- var width = isNaN(params[1]) ? false : parseInt(params[1], 10);
- var height = isNaN(params[2]) ? false : parseInt(params[2], 10);
- options.width = macro.lookupArgument(options, "width", width);
- options.height = macro.lookupArgument(options, "height", height);
- options.preserveAspectRatio = args.preserveAspectRatio &&
- args.preserveAspectRatio[0] == "yes" ? true : false;
- options.tiddlyLink = macro.lookupArgument(options, "tiddlyLink", false);
- options.link = macro.lookupArgument(options, "link", false);
- return options;
- },
- lookupArgument: function(args, id, ifEmpty) {
- return args[id] ? args[id] : ifEmpty;
- }
- };
- // update views
- var _oldwikifiedview = config.macros.view.views.wikified;
- // update wikifier to check tiddler type before rendering
- merge(config.macros.view.views, {
- wikified: function(value, place, params, wikifier, paramString, tiddler) {
- if(macro.isImageTiddler(tiddler) && params[0] == "text") {
- var newplace = $("<div />").addClass("wikifiedImage").appendTo(place)[0];
- macro.renderImage(newplace, tiddler.title, { alt: macro.locale.badImage });
- } else {
- _oldwikifiedview.apply(this, arguments);
- }
- },
- image: function(value, place, params, wikifier, paramString, tiddler) {
- // a field can point to another tiddler whereas text is the current tiddler.
- var title = params[0] == "text" ? tiddler.title : value;
- paramString = '"%0" %1'.format(title, params.splice(2).join(" "))
- invokeMacro(place, "image", paramString, null, tiddler);
- }
- });
- config.shadowTiddlers.StyleSheetImageMacro = [".wikifiedImage svg, .wikifiedImage .image { width: 80%; }",
- ".svgImageText { background-color:[[ColorPalette::Error]]; color:#ddd; display: inline-block; }",
- "span.svgImageText { display: inline-block; overflow-hidden; }"
- ].join("");
- store.addNotification("StyleSheetImageMacro", refreshStyles);
- })(jQuery);
- //}}}</pre>
- </div>
- <div title="InlineJavascriptPlugin" creator="fancybox" modifier="fancybox" created="201101211613" modified="201101211613" tags="systemConfig" server.title="InlineJavascriptPlugin" server.page.revision="47596" server.etag=""fancybox_public/InlineJavascriptPlugin/47596;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="e6eb7b04f212984224b56844ab61a2a0ca1c981e">
- <pre>/***
- |Name|InlineJavascriptPlugin|
- |Source|http://www.TiddlyTools.com/#InlineJavascriptPlugin|
- |Documentation|http://www.TiddlyTools.com/#InlineJavascriptPluginInfo|
- |Version|1.9.6|
- |Author|Eric Shulman|
- |License|http://www.TiddlyTools.com/#LegalStatements|
- |~CoreVersion|2.1|
- |Type|plugin|
- |Description|Insert Javascript executable code directly into your tiddler content.|
- ''Call directly into TW core utility routines, define new functions, calculate values, add dynamically-generated TiddlyWiki-formatted output'' into tiddler content, or perform any other programmatic actions each time the tiddler is rendered.
- !!!!!Documentation
- >see [[InlineJavascriptPluginInfo]]
- !!!!!Revisions
- <<<
- 2010.12.15 1.9.6 allow (but ignore) type="..." syntax
- |please see [[InlineJavascriptPluginInfo]] for additional revision details|
- 2005.11.08 1.0.0 initial release
- <<<
- !!!!!Code
- ***/
- //{{{
- version.extensions.InlineJavascriptPlugin= {major: 1, minor: 9, revision: 6, date: new Date(2010,12,15)};
- config.formatters.push( {
- name: "inlineJavascript",
- match: "\\<script",
- lookahead: "\\<script(?: type=\\\"[^\\\"]*\\\")?(?: src=\\\"([^\\\"]*)\\\")?(?: label=\\\"([^\\\"]*)\\\")?(?: title=\\\"([^\\\"]*)\\\")?(?: key=\\\"([^\\\"]*)\\\")?( show)?\\>((?:.|\\n)*?)\\</script\\>",
- handler: function(w) {
- var lookaheadRegExp = new RegExp(this.lookahead,"mg");
- lookaheadRegExp.lastIndex = w.matchStart;
- var lookaheadMatch = lookaheadRegExp.exec(w.source)
- if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
- var src=lookaheadMatch[1];
- var label=lookaheadMatch[2];
- var tip=lookaheadMatch[3];
- var key=lookaheadMatch[4];
- var show=lookaheadMatch[5];
- var code=lookaheadMatch[6];
- if (src) { // external script library
- var script = document.createElement("script"); script.src = src;
- document.body.appendChild(script); document.body.removeChild(script);
- }
- if (code) { // inline code
- if (show) // display source in tiddler
- wikify("{{{\n"+lookaheadMatch[0]+"\n}}}\n",w.output);
- if (label) { // create 'onclick' command link
- var link=createTiddlyElement(w.output,"a",null,"tiddlyLinkExisting",wikifyPlainText(label));
- var fixup=code.replace(/document.write\s*\(/gi,'place.bufferedHTML+=(');
- link.code="function _out(place,tiddler){"+fixup+"\n};_out(this,this.tiddler);"
- link.tiddler=w.tiddler;
- link.onclick=function(){
- this.bufferedHTML="";
- try{ var r=eval(this.code);
- if(this.bufferedHTML.length || (typeof(r)==="string")&&r.length)
- var s=this.parentNode.insertBefore(document.createElement("span"),this.nextSibling);
- if(this.bufferedHTML.length)
- s.innerHTML=this.bufferedHTML;
- if((typeof(r)==="string")&&r.length) {
- wikify(r,s,null,this.tiddler);
- return false;
- } else return r!==undefined?r:false;
- } catch(e){alert(e.description||e.toString());return false;}
- };
- link.setAttribute("title",tip||"");
- var URIcode='javascript:void(eval(decodeURIComponent(%22(function(){try{';
- URIcode+=encodeURIComponent(encodeURIComponent(code.replace(/\n/g,' ')));
- URIcode+='}catch(e){alert(e.description||e.toString())}})()%22)))';
- link.setAttribute("href",URIcode);
- link.style.cursor="pointer";
- if (key) link.accessKey=key.substr(0,1); // single character only
- }
- else { // run script immediately
- var fixup=code.replace(/document.write\s*\(/gi,'place.innerHTML+=(');
- var c="function _out(place,tiddler){"+fixup+"\n};_out(w.output,w.tiddler);";
- try { var out=eval(c); }
- catch(e) { out=e.description?e.description:e.toString(); }
- if (out && out.length) wikify(out,w.output,w.highlightRegExp,w.tiddler);
- }
- }
- w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
- }
- }
- } )
- //}}}
- // // Backward-compatibility for TW2.1.x and earlier
- //{{{
- if (typeof(wikifyPlainText)=="undefined") window.wikifyPlainText=function(text,limit,tiddler) {
- if(limit > 0) text = text.substr(0,limit);
- var wikifier = new Wikifier(text,formatter,null,tiddler);
- return wikifier.wikifyPlain();
- }
- //}}}
- // // GLOBAL FUNCTION: $(...) -- 'shorthand' convenience syntax for document.getElementById()
- //{{{
- if (typeof($)=='undefined') { function $(id) { return document.getElementById(id.replace(/^#/,'')); } }
- //}}}</pre>
- </div>
- <div title="LazyTiddlersPlugin" creator="cdent" modifier="cdent" created="201102181424" modified="201102181424" tags="excludeLists excludeSearch systemConfig" server.title="LazyTiddlersPlugin" server.page.revision="257449" server.etag=""system/LazyTiddlersPlugin/257449;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/system" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="system" server.permissions="read" server.content-type="text/javascript" _hash="ff4cbdc610912a4d414585fec3b272c9ab02fafb">
- <pre>/***
- |''Requires''|TiddlyWebConfig|
- ***/
- //{{{
- (function($) {
- var callback = function(context, userParams) {
- if(!context.status) {
- return; // XXX: oughta do something
- }
- var tiddler = context.tiddler;
- var dirty = store.isDirty();
- store.setDirty(false);
- store.saveTiddler(tiddler.title, tiddler.title, tiddler.text,
- tiddler.modifier, tiddler.modified, tiddler.tgags, tiddler.fields,
- true, tiddler.created, tiddler.creator);
- store.setDirty(dirty);
- };
- try {
- var tiddler = store.getTiddler('LazyTiddlers');
- var adaptor = tiddler.getAdaptor();
- var tiddlers = tiddler.text.split("\n");
- var host = adaptor.fullHostName(tiddler.fields["server.host"]);
- $.each(tiddlers, function(i, tiddler) {
- var tiddler_info = tiddler.split(":");
- var bag = tiddler_info.shift();
- var title = tiddler_info.join(":");
- var context = {workspace: "bags/" + bag, host: host};
- adaptor.getTiddler(title, context, null, callback);
- });
- } catch(err) {} // Unable to get LazyTiddlers, don't do anything
- })(jQuery);
- //}}}</pre>
- </div>
- <div title="LessBackupsPlugin" creator="pmario" modifier="pmario" created="201102072057" modified="201102072057" tags="systemConfig" server.title="LessBackupsPlugin" server.page.revision="245605" server.etag=""fancybox_public/LessBackupsPlugin/245605;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="4284d5f1f0babbb7b452b404d8d478ad426d7f8f">
- <pre>/***
- |Name:|LessBackupsPlugin|
- |Description:|Intelligently limit the number of backup files you create|
- |Version:|3.0.1 ($Rev: 2320 $)|
- |Date:|$Date: 2007-06-18 22:37:46 +1000 (Mon, 18 Jun 2007) $|
- |Source:|http://mptw.tiddlyspot.com/#LessBackupsPlugin|
- |Author:|Simon Baird|
- |Email:|simon.baird@gmail.com|
- |License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
- !!Description
- 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
- !!Notes
- 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)$/,
- '$1'+now.formatString(modes[i][0]).toLowerCase()+'$3')
- // 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 {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
- file.initWithPath(specialBackupPath);
- var fileExists = file.exists();
- if (fileExists) {
- var modDate = file.lastModifiedTime;
- }
- }
- }
- catch(e) {
- // 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));
- }
- //}}}
- </pre>
- </div>
- <div title="LightBlue" creator="pmario" modifier="pmario" created="201011081321" modified="201011081322" tags="excludeLists systemPalette" server.title="LightBlue" server.page.revision="107118" server.etag=""neui-em_public/LightBlue/107118;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" _hash="f8ab9a39a816a5549f388cf1f48e9f4b3abaccd6">
- <pre>/*{{{*/
- Background: #e3eaf2
- Foreground: #0c141b
- PrimaryPale: #ffffff
- PrimaryLight: #adc3d9
- PrimaryMid: #5b87b3
- PrimaryDark: #0a0f15
- SecondaryPale: #ffffff
- SecondaryLight: #bed9ad
- SecondaryMid: #7eb35b
- SecondaryDark: #0e150a
- TertiaryPale: #ffffff
- TertiaryLight: #d9adc7
- TertiaryMid: #b35b90
- TertiaryDark: #150a11
- Error: #f88
- ColorPaletteParameters: HSL([210|66], [0.36509835156374804],[0.06232365550379004|1])
- /*}}}*/</pre>
- </div>
- <div title="Like" creator="pmario" modifier="pmario" created="201011042131" modified="201011042131" tags="TopMenu" server.title="Like" server.page.revision="107119" server.etag=""neui-em_public/Like/107119;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" _hash="9dcd4d4405f667f5980e4e9d8259ae3289ee79a1">
- <pre>!You like the ~Neui-em stuff?
- #Create a tiddler named "~@neui-em"
- #Tag this tiddler "like"
- !!Who likes Neui-em theme
- <<tsScan @neui-em tag:like fat:y template:"Like##like">>
- !Important
- This tiddler should contain the activity macro which is part of the @following space.
- If you want to use it, you need to go to backstage and include it.
- /%
- !like
- <<image http://$1.tiddlyspace.com/bags/$1_public/tiddlers/SiteIcon 24 24>> @$1 likes FreeStyle suff :)
- <<<
- <<view text text>>
- <<<
- !end
- %/</pre>
- </div>
- <div title="MainMenu" creator="pmario" modifier="pmario" created="201008061923" modified="201010181655" server.title="MainMenu" server.page.revision="107126" server.etag=""neui-em_public/MainMenu/107126;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" _hash="2605c5887329b618d8cc0329c20c5c09cbcbf79e">
- <pre>{{noBullets{<<xList xCase "sort." "." "[tag[mainMenu]]">>}}}/%
- see the descriptions about the above at: http://apm-plugins.tiddlyspot.com/#StylingPackage.
- have fun!
- -m
- %/</pre>
- </div>
- <div title="ManualCalls" creator="pmario" modifier="pmario" created="201102131915" modified="201102261446" tags="excludeLists excludeSearch" server.title="ManualCalls" server.page.revision="256016" server.etag=""fancybox_public/ManualCalls/256016;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="18e75fce2a4ff0f58c1b3c407798397f8d720bac" changecount="2">
- <pre>!!!Manual Calls Button
- <<fancyBox button:"click me" tag:manual index:1 fancy:"SlideShowConfig##Fancy" defaults:"SlideShowConfig##Default">>
- !!!Manual Call Picture Button
- {{trImageBackground{<<fancyBox imageButton:"[img[Mexico|Stack.png]]" tag:manual fancy:"SlideShowConfig##Fancy" defaults:"SlideShowConfig##Default">>}}}
- </pre>
- </div>
- <div title="MarkupPostBody" creator="pmario" modifier="pmario" created="201102072300" modified="201102072300" server.title="MarkupPostBody" server.page.revision="245737" server.etag=""fancybox_private/MarkupPostBody/245737;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_private" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_private" server.permissions="read, write, create, delete" server.content-type="" _hash="d7048b5083b0669942cb6ea5671feedda643d5ef">
- <pre><script src="loadExternal.js" language="javascript" type="text/javascript"></script> </pre>
- </div>
- <div title="MarkupPreHead" creator="fancybox" modifier="fancybox" created="201101181525" modified="201101181525" tags="excludeLists" server.title="MarkupPreHead" server.page.revision="47597" server.etag=""fancybox_public/MarkupPreHead/47597;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="7343fa2de738e73e77a54c4c21604b5ad6829e46">
- <pre><!--{{{-->
- <link rel="shortcut icon" href="/recipes/fancybox_public/tiddlers/favicon.ico" />
- <link href="/bags/fancybox_public/tiddlers.atom" rel="alternate"
- type="application/atom+xml" title="fancybox's public feed" />
- <!--}}}--></pre>
- </div>
- <div title="MpBlue" creator="pmario" modifier="pmario" created="201008061923" modified="201009181705" tags="excludeLists" server.title="MpBlue" server.page.revision="107132" server.etag=""neui-em_public/MpBlue/107132;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" _hash="7241d8ff222af90a09db28bdf237d359c4160da4">
- <pre>/*{{{*/
- Name: MpBlue
- Background: #ffd
- Foreground: #000
- PrimaryPale: #ccd
- PrimaryLight: #57c
- PrimaryMid: #114
- PrimaryDark: #012
- SecondaryPale: #ffc
- SecondaryLight: #fe8
- SecondaryMid: #db4
- SecondaryDark: #841
- TertiaryPale: #eee
- TertiaryLight: #ccc
- TertiaryMid: #999
- TertiaryDark: #666
- Error: #f88
- /*{{{*/
- </pre>
- </div>
- <div title="MpGreen" creator="pmario" modifier="pmario" created="201008061923" modified="201009181705" tags="excludeLists systemPalette" server.title="MpGreen" server.page.revision="107134" server.etag=""neui-em_public/MpGreen/107134;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" _hash="4249b76cbe1802993e4115ccdf050317177cf966">
- <pre>/*{{{*/
- Name: MpGreen
- Background: #cec
- 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
- /*}}}*/</pre>
- </div>
- <div title="NEW: FancyBoxPlugin" creator="fancybox" modifier="fancybox" created="201101281540" modified="201102210959" tags="@news" server.title="NEW: FancyBoxPlugin" server.page.revision="260298" server.etag=""fancybox_public/NEW%3A%20FancyBoxPlugin/260298;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="a861a5be944bcf7767d4fad05b58e3b828a29800">
- <pre>*@fancybox site adds FancyBoxPlugin@fancybox for easy usage with TW. It includes the FancyBox library from http://fancybox.net. Have fun!
- *Feel free to test it. See Examples at: http://fancybox.tiddlyspace.com/#About.
- *Feedback is very welcome at: [[TiddlyWiki group|http://groups.google.com/group/tiddlywiki?hl=en]]</pre>
- </div>
- <div title="NeUIemRevisionTemplate" creator="pmario" modifier="pmario" created="201008061923" modified="201009292024" tags="excludeLists" server.title="NeUIemRevisionTemplate" server.page.revision="107138" server.etag=""neui-em_public/NeUIemRevisionTemplate/107138;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" _hash="bbf66944a0b653b95a8b8e39deb1d02b53fcac7a">
- <pre><!--{{{-->
- <div macro='slideRevision'></div>
- [[NeUIemTheme##ViewTemplate]]
- <!--}}}-->
- </pre>
- </div>
- <div title="NeUIemTheme" creator="pmario" modifier="pmario" created="201008111759" modified="201102211032" tags="systemTheme" server.title="NeUIemTheme" server.page.revision="260331" server.etag=""neui-em_public/NeUIemTheme/260331;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" publish.name="NeUIemTheme" _hash="4772f3b144eed9f1408457a6b1937d5e745fa9a9">
- <pre>|''Name:''|[[NeUIemTheme]]|
- |''Description:''|Your description here!|
- |''Generator:''|[[TW FreeStyle|http://FreeStyle.tiddlyspace.com]]|
- |''Gen.Description:''|Automatically generated from: tsNeUIemProject|
- |''PageTemplate:''|##PageTemplate|
- |''ViewTemplate:''|##ViewTemplate|
- |''EditTemplate:''|##EditTemplate|
- |''RevisionTemplate:''|NeUIemTheme##RevisionTemplate|
- |''StyleSheet:''|##StyleSheet|
- |''UsedClones:''|StyleSheetHeaderMp StyleSheetMenuBarMp StyleSheetSideBarMp StyleSheetTiddlerMp StyleSheetTiddlySpaceMp StyleSheet_neui-em EmasticSystem NeuiemZzConfig:zzConfig TerminateStyleSheet:StyleSheet CSideBarTabs CSidebarOptions CSidebarTools NeuiemSidebarTools:SidebarTools TopMenu SideBarOptions OptionsPanel [[sidebarSearch]] FontPalette ToolbarCommands GettingStarted NeUIemTheme01 NeUIemTheme02 NeUIemTheme03 NeUIemTheme04 |
- !Important
- If any of the obove clones is missing, the theme may not work.
- !PageTemplate
- <!--{{{-->
- <!-- tsRowTitle -->
- <div class='dp100 header clearfix'>
- <!-- tsColTitle -->
- <div class='dp80'>
- <!-- BoxTsHeader -->
- <div class='box headerForeground'>
- <span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
- <span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
- </div>
- </div>
- <!-- tsColSearch -->
- <div class='dp20'>
- <!-- tsBoxGoto -->
- <div id='sidebarSearch' class='box searchForeground'>
- <div refresh='content' tiddler='sidebarSearch'></div>
- </div>
- </div>
- </div> <!-- row -->
- <!-- tsRowMenuBar -->
- <div id='menuBar' class='dp100 clearfix'>
- <!-- tsColTopMenue -->
- <div class='dp60'>
- <!-- tsBoxTopMenue -->
- <!-- horizontal TopMenu -->
- <div class='box topMenu clearfix' refresh='content' tiddler='TopMenu'></div>
- </div>
- <!-- tsColThemeSwitcher -->
- <div class='dp40'>
- <!-- tsBoxThemeSwitcher -->
- <div id='sidebarOptions' class='dpfr' refresh='content' tiddler='SideBarOptions'></div>
- </div>
- </div> <!-- row -->
- <!-- tsRowBody -->
- <div class='dp100 clearfix row'>
- <!-- tsColSidebar -->
- <div id='sidebar' class='dp15 dpfr' style='width:15%; position:relative;'>
- <!-- tsBoxSidebarTools -->
- <div id='sidebarTools' class='box' refresh='content' force='true' tiddler='CSidebarTools'></div>
- <!-- tsBoxSidebarTabs -->
- <div id='sidebarTabs' class='box' refresh='content' force='true' tiddler='CSideBarTabs'></div>
- </div>
- <!-- tsColMainMenu -->
- <div class='dp15'>
- <!-- tsBoxMainMenu -->
- <!-- original MainMenu menu -->
- <div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
- </div>
- <!-- tsColDisplayArea -->
- <div id='displayArea' class='dp70'>
- <!-- tsBoxMessageArea -->
- <div id='messageArea' class='box'></div>
- <!-- tsBoxBreadCrumbs -->
- <div id='breadCrumbs' class='breadCrumbs box'></div>
- <!-- tsBoxTiddlersBar -->
- <div id='tiddlersBar' refresh='none' ondblclick='config.macros.tiddlersBar.onTiddlersBarAction(event)'></div>
- <!-- tsBoxTiddlerDisplay -->
- <div id='tiddlerDisplay' class='box'></div>
- </div>
- </div> <!-- row -->
- <!--}}}-->
- !ViewTemplate
- <!--{{{-->
- <!-- tsVT_NEUIem -->
- <div class='dp100 clearfix'>
- <!-- tsVT_toolbar -->
- <div class='dp100'>
- <!-- tsBoxVT_FollowPlaceHolder -->
- <div class='followPlaceHolder' macro='followTiddlersButton'>
- <span macro="view title replyLink"></span>
- </div>
- <!-- tsBoxVT_Toolbar -->
- <div class='box toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]] icons:yes'></div>
- </div>
- <!-- tsVT_leftCol -->
- <div class='dp10'>
- <!-- tsBoxVT_SiteIcon -->
- <div class='box spaceSiteIcon' macro='tiddlerOrigin label:yes height:48 width:48'></div>
- <!-- BoxVT_Calender -->
- <div class='box calendar' macro='viewRevisions page:5'>
- <div class='month' macro='view modified date mmm'></div>
- <div class='date' macro='view modified date 0DD'></div>
- <!-- div class='time' macro='view modified date 0hh:0mm'></div -->
- </div>
- <!-- BoxVTts_tagged -->
- <div class='box tagged' macro='tags'></div>
- <div class='box' macro='tiddler CTagBox'></div>
- </div>
- <!-- tsViewTemplate -->
- <div class='dp90'>
- <!-- tsBox_ModifierIcon -->
- <div class='box modifierIcon dpfr'
- macro='view modifier SiteIcon label:yes height:30 width:30 labelPrefix:"modified by "'>
- </div>
- <!-- tsBoxVT_Title -->
- <div class='titleContainer'>
- <div class='box title' macro='view title'></div>
- </div>
- <!-- tsBox_concertina -->
- <div class='box concertina clear'></div>
- <!-- tsBoxVT_Body -->
- <div class='box content'>
- <div class='viewer' macro='view text wikified'></div>
- </div>
- <!-- tsBoxVT_TagglyTaggingFooter -->
- <div class="box tagglyTagging" macro="tagglyTagging"></div>
- <!-- tsBox_StoryGlue -->
- <div class='box storyGlue' macro='storyGlue fsStory ACTIVESTORY'></div>
- </div>
- </div> <!-- row -->
- <!--}}}-->
- !EditTemplate
- <!--{{{-->
- <!-- tsET_NEUIem -->
- <div class='dp100 clearfix'>
- <!-- tsEditTemplate -->
- <div class='dp100'>
- <!-- BoxET_tsEditToolbar -->
- <div class='box dpfr toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]] icons:yes'></div>
- <!-- BoxET_tsSetPrivate -->
- <div class="box dpfr privacyEdit" macro='setPrivacy label:no interactive:yes'></div>
- <div class='box dpfr editSpaceSiteIcon' macro='tiddlerOrigin height:25 width:25 label:no interactive:no'></div>
- <!-- BoxET_tsTitle -->
- <div class='box title' macro='view title'></div>
- <!-- BoxET_tsEditTitle -->
- <div class='box editor' macro='edit title'></div>
- <div macro='annotations'></div>
- <!-- BoxET_tsEditBody -->
- <div class='box editor' macro='edit text'></div>
- <!-- BoxET_tsTagging -->
- <div class='box save editor' macro='edit tags'></div>
- <!-- BoxET_tsEditFooter -->
- <div class='box editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser excludeLists'></span></div>
- </div>
- </div> <!-- row -->
- <!--}}}-->
- !RevisionTemplate
- <!--{{{-->
- <!-- tsRT_NEUIem -->
- <div macro='slideRevision'></div>
- <div class='dp100 clearfix'>
- <!-- tsRT_toolbar -->
- <div class='dp100'>
- <!-- tsBoxVT_FollowPlaceHolder -->
- <div class='followPlaceHolder' macro='followTiddlers'>
- <span macro="view title replyLink"></span>
- </div>
- <!-- tsBoxRT_Toolbar -->
- <div class='box toolbar' macro='toolbar [[ToolbarCommands::RevisionToolbar]] icons:yes'></div>
- </div>
- <!-- tsVT_leftCol -->
- <div class='dp10'>
- <!-- tsBoxVT_SiteIcon -->
- <div class='box spaceSiteIcon' macro='tiddlerOrigin label:yes height:48 width:48'></div>
- <!-- BoxVT_Calender -->
- <div class='box calendar' macro='viewRevisions page:5'>
- <div class='month' macro='view modified date mmm'></div>
- <div class='date' macro='view modified date 0DD'></div>
- <!-- div class='time' macro='view modified date 0hh:0mm'></div -->
- </div>
- <!-- BoxVTts_tagged -->
- <div class='box tagged' macro='tags'></div>
- <div class='box' macro='tiddler CTagBox'></div>
- </div>
- <!-- tsViewTemplate -->
- <div class='dp90'>
- <!-- tsBox_ModifierIcon -->
- <div class='box modifierIcon dpfr'
- macro='view modifier SiteIcon label:yes height:30 width:30 labelPrefix:"modified by "'>
- </div>
- <!-- tsBoxVT_Title -->
- <div class='titleContainer'>
- <div class='box title' macro='view title'></div>
- </div>
- <!-- tsBox_concertina -->
- <div class='box concertina clear'></div>
- <!-- tsBoxVT_Body -->
- <div class='box content'>
- <div class='viewer' macro='view text wikified'></div>
- </div>
- <!-- tsBoxVT_TagglyTaggingFooter -->
- <div class="box tagglyTagging" macro="tagglyTagging"></div>
- <!-- tsBox_StoryGlue -->
- <div class='box storyGlue' macro='storyGlue fsStory ACTIVESTORY'></div>
- </div>
- </div> <!-- row -->
- <!--}}}-->
- !StyleSheet
- /*{{{*/
- Version: 1.0 - 2010.08.12
- /*****************************************************/
- /*-- some simple rules to change the global layout --*/
- /*-- margin should not be uses for row, col, box --*/
- /*-- margin is used to adjust special elements --*/
- /*-- The layout doesn't allow padding-left/right or margin-left/right ! for rows and cols --*/
- .row {
- margin: 0;
- padding: 0;
- margin-top: 0.5em;
- }
- /*-- The layout doesn't allow padding-left/right or margin-left/right ! for rows and cols --*/
- /*-- col is not assigned to layout yet --*/
- .col {
- margin: 0;
- padding: 0;
- }
- /*-- if you want more space between 2 columns use box 2nd and 4th parameter. --*/
- /*-- boxes must have padding-bottom: 0; !! --*/
- .box {
- margin: 0;
- padding: 0.5em 0.5em 0 0.5em;
- }
- /* general stuff */
- .noBullets ul {
- list-style:none;
- }
- .noNumbers ol {
- list-style:none;
- }
- .noBr br {
- display: none;
- }
- /* prefer monospace for editing */
- .editor textarea, .editor input {
- font-size: 90%;
- font-family: [[FontPalette::twEditor]], 'Courier New', monospace;
- background-color:[[ColorPalette::TertiaryPale]];
- }
- /*-- emastic System --*/
- [[EmasticSystem]]
- /*-- theme specific stuff --*/
- [[StyleSheet_neui-em]]
- /*-- call the standard StyleSheet --*/
- [[StyleSheet]]
- /*}}}*/</pre>
- </div>
- <div title="NeUIemTheme01" creator="pmario" modifier="pmario" created="201008181742" modified="201011101903" tags="systemTheme" server.title="NeUIemTheme01" server.page.revision="107169" server.etag=""neui-em_public/NeUIemTheme01/107169;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" _hash="89e4b6f66d5c92d7f3602b22e5409c435bd4f4f7">
- <pre>|''Name:''|[[NeUIemTheme01]]|
- |''Description:''|Changes the right sidebar|
- |''Generator:''|[[TW FreeStyle|http://FreeStyle.tiddlyspot.com]]|
- |''Gen.Description:''|Handcrafted by @pmario|
- |''PageTemplate:''|NeUIemTheme##PageTemplate|
- |''ViewTemplate:''|NeUIemTheme##ViewTemplate|
- |''EditTemplate:''|NeUIemTheme##EditTemplate|
- |''RevisionTemplate:''|NeUIemTheme##RevisionTemplate|
- |''StyleSheet:''|##StyleSheet|
- !StyleSheet
- /*{{{*/
- [[NeUIemTheme##StyleSheet]]
- #sidebarTabs .tabset{
- float: left;
- width: 1em;
- padding: 0;
- }
- #sidebarTabs .tabset:hover{
- width: auto;
- }
- #sidebarTabs .tabset .tab{
- overflow: hidden;
- display: block;
- }
- /*}}}*/</pre>
- </div>
- <div title="NeUIemTheme02" creator="pmario" modifier="pmario" created="201008181756" modified="201011101903" tags="systemTheme" server.title="NeUIemTheme02" server.page.revision="107172" server.etag=""neui-em_public/NeUIemTheme02/107172;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" _hash="d2d750a5ffff7cf875b0ec308c896ebf400c9712">
- <pre>|''Name:''|[[NeUIemTheme02]]|
- |''Description:''|Changes the right sidebar|
- |''Generator:''|[[TW FreeStyle|http://FreeStyle.tiddlyspot.com]]|
- |''Gen.Description:''|Handcrafted by @pmario|
- |''PageTemplate:''|NeUIemTheme##PageTemplate|
- |''ViewTemplate:''|NeUIemTheme##ViewTemplate|
- |''EditTemplate:''|NeUIemTheme##EditTemplate|
- |''RevisionTemplate:''|NeUIemTheme##RevisionTemplate|
- |''StyleSheet:''|##StyleSheet|
- !StyleSheet
- /*{{{*/
- [[NeUIemTheme##StyleSheet]]
- #sidebarTabs .tabset{
- float: left;
- width: 1em;
- padding: 0;
- }
- #sidebarTabs .tabset:hover{
- width: auto;
- position:absolute;
- right: 86%;
- padding-right: 8%;
- z-index: 10;
- }
- #sidebarTabs .tabset .tab{
- overflow: hidden;
- display: block;
- }
- /*}}}*/</pre>
- </div>
- <div title="NeUIemTheme03" creator="pmario" modifier="pmario" created="201008181830" modified="201011101903" tags="systemTheme" server.title="NeUIemTheme03" server.page.revision="107176" server.etag=""neui-em_public/NeUIemTheme03/107176;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" _hash="66dcdd2b1bfb88c644defcedf13271c49186165c">
- <pre>|''Name:''|[[NeUIemTheme03]]|
- |''Description:''|Changes the right sidebar|
- |''Generator:''|[[TW FreeStyle|http://FreeStyle.tiddlyspot.com]]|
- |''Gen.Description:''|Handcrafted by @pmario|
- |''PageTemplate:''|NeUIemTheme##PageTemplate|
- |''ViewTemplate:''|NeUIemTheme##ViewTemplate|
- |''EditTemplate:''|NeUIemTheme##EditTemplate|
- |''RevisionTemplate:''|NeUIemTheme##RevisionTemplate|
- |''StyleSheet:''|##StyleSheet|
- !StyleSheet
- /*{{{*/
- [[NeUIemTheme##StyleSheet]]
- #sidebarTabs .tabset{
- float: right;
- width: 1em;
- padding: 0;
- }
- #sidebarTabs .tabset:hover{
- width: auto;
- }
- #sidebarTabs .tabset .tab{
- overflow: hidden;
- display: block;
- }
- /*}}}*/</pre>
- </div>
- <div title="NeUIemTheme04" creator="pmario" modifier="pmario" created="201010081252" modified="201011101902" tags="systemTheme" server.title="NeUIemTheme04" server.page.revision="107182" server.etag=""neui-em_public/NeUIemTheme04/107182;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" _hash="d2cde24049a784857475fd236d4a454c6dc9019b">
- <pre>|''Name:''|[[NeUIemTheme04]]|
- |''Description:''|Play with the toolbar visibility|
- |''Generator:''|[[TW FreeStyle|http://FreeStyle.tiddlyspot.com]]|
- |''Gen.Description:''|Handcrafted by @pmario|
- |''PageTemplate:''|NeUIemTheme##PageTemplate|
- |''ViewTemplate:''|NeUIemTheme##ViewTemplate|
- |''EditTemplate:''|NeUIemTheme##EditTemplate|
- |''RevisionTemplate:''|NeUIemTheme##RevisionTemplate|
- |''StyleSheet:''|##StyleSheet|
- !StyleSheet
- /*{{{*/
- [[NeUIemTheme03##StyleSheet]]
- /* Play with the toolbar visibility */
- .toolbar {
- visibility: hidden;
- /* opacity: 0.2; */
- }
- .selected .toolbar {
- visibility: visible;
- /* opacity: 1; */
- }
- /*}}}*/</pre>
- </div>
- <div title="NeuiEmTagSearchAddOn" creator="pmario" modifier="pmario" created="201009082211" modified="201010111803" tags="addon excludeLists systemConfig" server.title="NeuiEmTagSearchAddOn" server.page.revision="107499" server.etag=""neui-tagsearch_public/NeuiEmTagSearchAddOn/107499;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-tagsearch_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-tagsearch_public" server.permissions="read, write, create, delete" server.content-type="" _hash="15feedd731174944ba9f2726ff5564735d21fec3">
- <pre>//{{{
- config.shadowTiddlers["StyleSheetTagSearchNeuiEm"]="/*{{{*/\n"+
- ".tagSearch .button {\n"+
- " -webkit-border-radius: 0px 15px 15px 0px;\n"+
- " -moz-border-radius: 0px 15px 15px 0px;\n"+
- " background-color: white;\n"+
- " border: 2px 2px 2px 0 solid #ccc;\n"+
- " display: block;\n"+
- " margin: 0 0.2em 0.2em -0.9em;\n"+
- " padding: 0 0.4em;\n"+
- " font-size: 0.9em;\n"+
- "}\n"+
- "/*}}}*/";
- store.addNotification("StyleSheetTagSearchNeuiEm",refreshStyles);
- //}}}</pre>
- </div>
- <div title="New Tiddler" modifier="pmario" created="201103151348" modified="201103151600" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com" server.workspace="bags/fancybox_private" server.bag="fancybox_private" changecount="8">
- <pre><<manyParams>>
- <<manyParams button:"click me!" tooltip:"some tooltip text">>
- ''Be aware of the boolParam type !!!''
- {{{
- <<manyParams boolParam:false anyParam1:"parameter 1">>
- }}}
- <<manyParams boolParam:false anyParam1:"parameter 1">>
- </pre>
- </div>
- <div title="News" creator="fancybox" modifier="pmario" created="201101211613" modified="201102132033" tags="mainMenu topMenu" server.title="News" server.page.revision="253474" server.etag=""fancybox_public/News/253474;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" sort.topmenu="0002" _hash="f15ce0d1c68c27bdccf90444e261e8f199b216d7">
- <pre>!FancyBox News
- <<tsScan fancybox tag:@news searchField:"modifier" template:"SearchTemplate">>
- !PMario's News
- <<tsScan pmario tag:@news searchField:"modifier" template:"SearchTemplate">></pre>
- </div>
- <div title="OptionsPanel" creator="pmario" modifier="pmario" created="201008061923" modified="201011042046" tags="excludeLists" server.title="OptionsPanel" server.page.revision="107199" server.etag=""neui-em_public/OptionsPanel/107199;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" _hash="5b45d13480ff0cc4e1556b680e6e52b68abe85a6">
- <pre>Active user name: <<option txtUserName>>
- These options for customising [[TiddlyWiki]] are saved in your browser
- select theme: <<selectTheme>>
- select palette: <<selectPalette>>
- <<option chkSaveBackups>> [[SaveBackups]]
- <<option chkAutoSave>> [[AutoSave]]
- <<option chkRegExpSearch>> [[RegExpSearch]]
- <<option chkCaseSensitiveSearch>> [[CaseSensitiveSearch]]
- <<option chkAnimate>> [[EnableAnimations]]
- ----
- Also see [[AdvancedOptions]]</pre>
- </div>
- <div title="PageTemplate" creator="osmosoft" modifier="osmosoft" created="201102181425" modified="201102181425" tags="excludeLists excludeSearch" server.title="PageTemplate" server.page.revision="257503" server.etag=""system-theme_public/PageTemplate/257503;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/system-theme_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="system-theme_public" server.permissions="read" server.content-type="" _hash="f7d57de5937a110a2d275d11eebcd4557fc34f25">
- <pre><!--{{{-->
- <div class='header'>
- <div id='sidebarSearch'>
- <span macro='search'></span>
- </div>
- <div class='headerForeground'>
- <span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>
- <span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
- </div>
- <div class='clearFloat'></div>
- </div>
- <div id='menuBar'>
- <div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
- <div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
- </div>
- <div id='displayArea'>
- <div id='messageArea'></div>
- <div id='tiddlerDisplay'></div>
- <div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
- </div>
- <!--}}}--></pre>
- </div>
- <div title="PaletteViewMacro" creator="pmario" modifier="pmario" created="201008061923" modified="201009181705" tags="excludeLists systemConfig" server.title="PaletteViewMacro" server.page.revision="107203" server.etag=""neui-em_public/PaletteViewMacro/107203;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" _hash="22ccb19ee6279cb8ee4047efe5e4ccba03dd3f1d">
- <pre>/***
- |''Name''|PaletteViewMacro|
- |''Version''|0.2|
- |''Author''|FND|
- |''Source''|[[FND's DevPad|http://devpad.tiddlyspot.com/#PaletteViewMacro]]|
- |''License''|[[Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]]|
- |''~CoreVersion''|2.1|
- |''Type''|macro|
- |''Requires''|N/A|
- |''Overrides''|N/A|
- |''Description''|Displays color palettes.|
- !Notes
- There is also [[ViewPalettePlugin|http://simon.tiddlyspot.com/#ViewPalettePlugin]], which currently does not work with TiddlyWiki v2.2 though.
- !Usage
- {{{
- <<paletteView [tiddler name]>>
- }}}
- !!Example
- <<paletteView [[ColorPalette]]>>
- !Revision History
- !!v0.1 (2007-11-18)
- * initial release
- !!v0.2 (2007-11-20)
- * limited processing to slices containing [[actual color values|http://www.w3.org/TR/CSS21/syndata.html#color-units]]
- * changed fallback value to the tiddler the macro is called from (instead of using [[ColorPalette]])
- !To Do
- * selection list for all available palettes (tag-based)
- * parameter for custom table class
- * customizable column order
- * documentation (e.g. using from within [[ViewTemplate]])
- !Code
- ***/
- //{{{
- config.macros.paletteView = {};
- config.macros.paletteView.handler = function(place, macroName, params, wikifier, paramString, tiddler) {
- var title = params[0] || tiddler.title;
- //var palettes = store.getTaggedTiddlers(params[0]); // DEBUG: yet to be implemented
- var colors = store.calcAllSlices(title);
- var labels = [];
- for(var c in colors) {
- if(this.isColor(colors[c])) {
- labels.push(c);
- }
- }
- if(labels.length > 0) {
- var output = "|!Sample|!Value|!Name|h\n";
- for(var i = 0; i < labels.length; i++) {
- output += "|padding:0 4em;background-color:" + colors[labels[i]] + ";&nbsp;|"
- + "{{{" + colors[labels[i]] + "}}}|"
- + "[[" + labels[i] + "|" + title + "]]|\n";
- }
- wikify(output, place);
- }
- };
- config.macros.paletteView.isColor = function(s) {
- var colors = ["Black", "Green", "Silver", "Lime", "Gray", "Olive", "White", "Yellow",
- "Maroon", "Navy", "Red", "Blue", "Purple", "Teal", "Fuchsia", "Aqua", "Orange"];
- var match = s.match(/^#[0-9A-F]{3}$|^#[0-9A-F]{6}$|^RGB\([\d,\s]{5,}\)$/i);
- if(match) return true;
- if(colors.contains(s)) return true;
- return false;
- };
- //}}}</pre>
- </div>
- <div title="PicasaThumbs" creator="pmario" modifier="pmario" created="201102082147" modified="201102082352" server.title="PicasaThumbs" server.page.revision="246805" server.etag=""fancybox_private/PicasaThumbs/246805;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_private" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_private" server.permissions="read, write, create, delete" server.content-type="" _hash="766df8751937406d316ac336045aff761b42411d">
- <pre>{{{
- https://lh6.googleusercontent.com/_UkSbXgMhEcQ/TVG6suPu2QI/AAAAAAAAACM/zRAb12LJ0wk/s144/01.jpg
- https://lh6.googleusercontent.com/_UkSbXgMhEcQ/TVG6shei6XI/AAAAAAAAACQ/VtHqdhtKSrM/s144/02.jpg
- https://lh6.googleusercontent.com/_UkSbXgMhEcQ/TVG6srCm14I/AAAAAAAAACU/2JhGZEKjttQ/s144/03.jpg
- https://lh4.googleusercontent.com/_UkSbXgMhEcQ/TVG6s6sLXQI/AAAAAAAAACY/DsM97xRXn-M/s144/04.jpg
- https://lh4.googleusercontent.com/_UkSbXgMhEcQ/TVG6sz_bwLI/AAAAAAAAACc/oC0xVt_S9Hc/s144/05.jpg
- https://lh4.googleusercontent.com/_UkSbXgMhEcQ/TVG63VfJ7nI/AAAAAAAAACg/Z-eHUqI7TYA/s144/06.jpg
- https://lh3.googleusercontent.com/_UkSbXgMhEcQ/TVG63W8IQWI/AAAAAAAAACk/GZ2rmsCbkdw/s144/07.jpg
- https://lh3.googleusercontent.com/_UkSbXgMhEcQ/TVG63t4nwXI/AAAAAAAAACo/ZYr1CTyXjIg/s144/08.jpg
- https://lh5.googleusercontent.com/_UkSbXgMhEcQ/TVG63obJxZI/AAAAAAAAACs/wuG7ODwx1AE/s144/09.jpg
- https://lh6.googleusercontent.com/_UkSbXgMhEcQ/TVG637LBekI/AAAAAAAAACw/hBI74d5PCM8/s144/10.jpg
- https://lh3.googleusercontent.com/_UkSbXgMhEcQ/TVG69QdoLrI/AAAAAAAAAC0/zCq0VKDIWh0/s144/11.jpg
- https://lh5.googleusercontent.com/_UkSbXgMhEcQ/TVG69v_tDOI/AAAAAAAAAC4/1Gw0X9t67fg/s144/12.jpg
- https://lh5.googleusercontent.com/_UkSbXgMhEcQ/TVG69peBiCI/AAAAAAAAAC8/YXWnZl8ycKc/s144/13.jpg
- }}}
- https://picasaweb.google.com/data/feed/base/user/PMarioJo/albumid/5571439290287818385?alt=json&hl=de
- https://picasaweb.google.com/data/feed/base/user/PMarioJo?alt=json</pre>
- </div>
- <div title="Pictures" creator="fancybox" modifier="pmario" created="201101211613" modified="201102111136" server.title="Pictures" server.page.revision="249025" server.etag=""fancybox_public/Pictures/249025;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="6fe095dd50ffbd1958a318da00245be96376c75c">
- <pre>[<img[San Benedicto|01.jpg][http://fancybox-pics.tiddlyspace.com/01.jpg]] If the picture link, is a pretty link, the tooltip title will be taken by fancyBox macro. The shark piture has no prettylink. So there will be no slide show title. It is a galapagos shark.
- [<img[Where is the shark?|02.jpg][http://fancybox-pics.tiddlyspace.com/02.jpg]] Where is the shark
- [>img[03.jpg][http://fancybox-pics.tiddlyspace.com/03.jpg]]
- <br><br>
- !!!Links that can be used by {{{fancyBox}}} plugin
- <<<
- {{{
- [img[San Benedicto|01.jpg][http://fancybox-pics.tiddlyspace.com/01.jpg]] Lorem ipsum dolor sit amet,
- [<img[Where is the shark?|02.jpg][http://fancybox-pics.tiddlyspace.com/02.jpg]] Sed condimentum posuere consequat.
- [>img[03.jpg][http://fancybox-pics.tiddlyspace.com/03.jpg]] Donec nec risus non justo
- }}}
- <<<</pre>
- </div>
- <div title="PicturesFancy Description" creator="pmario" modifier="pmario" created="201102072300" modified="201102072300" server.title="PicturesFancy Description" server.page.revision="245738" server.etag=""fancybox_private/PicturesFancy%20Description/245738;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_private" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_private" server.permissions="read, write, create, delete" server.content-type="" _hash="b8f35f8a2861a23f00b265a31569d8657c15521e">
- <pre>!OLD
- !!!Simple usage
- If you have an existing text, that contains TW image links like {{{[img[03.jpg][http://fancybox-pics.tiddlyspace.com/03.jpg]]}}} just create a new tiddler and transclude the existing one:
- {{{
- <<tiddler tiddlerName 'className'>>
- <<tiddler Picture03 'fancy'>>
- <<fancyBox selector:'.fancy a'>>
- }}}
- <<tiddler Picture03 'fancy'>>
- <<fancyBox selector:'.fancy a'>>
- some text
- !!!Force Title
- {{{
- <<tiddler Picture03 'fancy1'>>
- <<fancyBox selector:'.fancy1 a' title:'Galapagos Shark'>>
- }}}
- <<tiddler Picture03 'fancy1'>>
- <<fancyBox selector:'.fancy1 a' title:'Galapagos Shark'>>
- some text
- </pre>
- </div>
- <div title="Publisher" creator="pmario" modifier="pmario" created="201009181720" modified="201009181720" server.title="Publisher" server.page.revision="107204" server.etag=""neui-em_public/Publisher/107204;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" _hash="fa879ce3306b6c1d67b31bcbcd0e33279861fc24">
- <pre><<TiddlySpacePublisher>></pre>
- </div>
- <div title="QuickOpenTagPlugin" creator="pmario" modifier="pmario" created="201008070948" modified="201009181705" tags="excludeLists systemConfig" server.title="QuickOpenTagPlugin" server.page.revision="107209" server.etag=""neui-em_public/QuickOpenTagPlugin/107209;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" _hash="2b852671be499cf3d4e8a1b10eb6e91666f9fb90">
- <pre>/***
- |Name:|QuickOpenTagPlugin|
- |Description:|Changes tag links to make it easier to open tags as tiddlers|
- |Version:|3.0.1 ($Rev: 3861 $)|
- |Date:|$Date: 2008-03-08 10:53:09 +1000 (Sat, 08 Mar 2008) $|
- |Source:|http://mptw.tiddlyspot.com/#QuickOpenTagPlugin|
- |Author:|Simon Baird <simon.baird@gmail.com>|
- |License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
- ***/
- //{{{
- 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");
- createTiddlyText(createTiddlyLink(sp,tag,false),pretty);
-
- var theTag = createTiddlyButton(sp,config.quickOpenTag.dropdownChar,
- config.views.wikified.tag.tooltip.format([tag]),onClickTag);
- theTag.setAttribute("tag",tag);
- if (excludeTiddler)
- theTag.setAttribute("tiddler",excludeTiddler);
- return(theTag);
- },
- 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,
- config.views.wikified.tag.tooltip.format([tiddler.title]),onClickTag);
- theTag.setAttribute("tag",tiddler.title);
- 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)
- createTiddlyElement(ul,"li",null,"listTitle",this.noTags);
- 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] + ")";
- theLink.appendChild(document.createTextNode(theCount));
- var theDropDownBtn = createTiddlyButton(theListItem," " +
- config.quickOpenTag.dropdownChar,this.tooltip.format([tags[t][0]]),onClickTag);
- theDropDownBtn.setAttribute("tag",tags[t][0]);
- }
- }
- },
- // 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; }",
- "/*}}}*/",
- ""].join("\n"),
- 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;
- store.addNotification("QuickOpenTagStyles",refreshStyles);
- }
- }
- config.quickOpenTag.init();
- //}}}
- </pre>
- </div>
- <div title="QuickOpenTagStyles" creator="pmario" modifier="pmario" created="201008070948" modified="201008210934" tags="excludeLists" server.title="QuickOpenTagStyles" server.page.revision="107213" server.etag=""neui-em_public/QuickOpenTagStyles/107213;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" _hash="8efc2e70297c11efc244173996cf5932ffaa0932">
- <pre>/*{{{*/
- /* created by QuickOpenTagPlugin */
- #sidebarTabs .tabContents a.button { display:inline;}
- .tagglyTagged .quickopentag, .tagged .quickopentag
- { border:1px solid #eee; padding:2px; padding-right:0px; padding-left:1px; }
- .quickopentag .tiddlyLink { padding:2px; padding-left:3px; display:inline; }
- .quickopentag a.button { padding:1px; padding-left:2px; padding-right:2px; display:inline;}
- /* 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; display:inline;}
- #displayArea .viewer .quickopentag a.button,
- #mainMenu .quickopentag a.button
- { margin-left:0px; padding-left:2px; display:inline;}
- #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; display:inline;}
- #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; display:inline; }
- /*}}}*/
- </pre>
- </div>
- <div title="RandomColorPalettePlugin" creator="jon" modifier="jon" created="201102181424" modified="201102181424" tags="excludeLists excludeSearch systemConfig" server.title="RandomColorPalettePlugin" server.page.revision="257435" server.etag=""system-plugins_public/RandomColorPalettePlugin/257435;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/system-plugins_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="system-plugins_public" server.permissions="read" server.content-type="text/javascript" _hash="f0a278b902e87f89a6b816ccf9321ce3bace133d">
- <pre>/***
- |''Name''|RandomColorPalettePlugin|
- |''Description''|Adds a random color palette to TiddlyWiki|
- |''Author''|Jon Robson|
- |''Version''|1.2.8|
- |''Status''|stable|
- |''Source''|http://svn.tiddlywiki.org/Trunk/contributors/JonRobson/plugins/RandomColorPalettePlugin/RandomColorPalettePlugin.js|
- |''License''|[[BSD|http://www.opensource.org/licenses/bsd-license.php]]|
- !Usage
- {{{
- <<RandomColorPalette>>
- Sets and saves a random color palette on execution
- <<RandomColorPaletteButton>>
- Creates a button, which when clicked will change the color palette
- }}}
- !Parameters
- rgb: yes
- By default the ColorPalette is defined in hex. You can output the colours as rgb by simply including this parameter.
- hue:[0,360]
- Seeds the randomiser with this hue.
- saturation:[0,1]
- Seeds the randomiser with a given saturation
- lightness:[0,1]
- Seeds the randomiser with a value for the lightest color tone (0 being darkest, 1 being lightest).
- darkest:[0,1]
- Seeds the randomiser with a value for the darkest color tone (0 being darkest, 1 being lightest).
- huevariance: [0,90]
- Given a certain hue, specify the angle from the secondary colour to which the secondary and tertiary colours should be determined.
- Note parameters can be discovered by viewing the ColorPaletteParameter slice within the generated ColorPalette.
- !Code
- ***/
- //{{{
- (function($){
- RGB.prototype.toRGBString = function() {
- return "rgb(%0,%1,%2)".format([parseInt(this.r * 255, 10),
- parseInt(this.g * 255, 10), parseInt(this.b * 255, 10)])
- }
- function HSL_TO_RGB(h, s, l){ // h (hue) between 0 and 360, s (saturation) & l (lightness) between 0 and 1
- var c;
- if(l <= 0.5) {
- c = 2 * l * s;
- } else {
- c = ( 2 - (2 * l)) * s;
- }
- var h1 = h / 60;
- var x = c * (1 - Math.abs((h1 % 2) - 1));
- var r, g, b;
- if(typeof(h) == 'undefined') {
- r = 0;
- g = 0;
- b = 0;
- } else if(0 <= h1 && h1 < 1) {
- r = c;
- g = x;
- b = 0;
- } else if(1 <= h1 && h1 < 2) {
- r = x;
- g = c;
- b = 0;
- } else if(2 <= h1 && h1 < 3) {
- r = 0;
- g = c;
- b = x;
- }
- else if(3 <= h1 && h1 < 4) {
- r = 0;
- g = x;
- b = c;
- } else if(4 <= h1 && h1 < 5) {
- r = x;
- g = 0;
- b = c;
- } else if(5 <= h1 && h1 < 6) {
- r = c;
- g = 0;
- b = x;
- }
- m = l - (0.5 * c);
- r += m;
- g += m;
- b += m;
- return new RGB(r, g, b);
- }
- var macro = config.macros.RandomColorPalette = {
- messagesOn: false,
- changedPaletteText: "We have assigned you a random theme by adjusting the [[ColorPalette]] tiddler.\nDon't like it? Click <<RandomColorPalette>> for another one.",
- handler: function(place, macroName, params, wikifier, paramString, tiddler) {
- paramString = paramString || "";
- var options = paramString.parseParams("name", null, true, false, true)[0];
- macro.generatePalette(options, true);
- },
- generateRandomNumber: function(min, max, info) {
- var num = (Math.random() * 1);
- if(!info) {
- info = { attempts:0 };
- }
- info.attempts += 1;
- var good = true;
- if(min == max) return max;
- if(min && num < min) {
- good = false;
- } else if(max && num > max) {
- good = false;
- }
- if(!good) {
- if(info.attempts < 5) {
- return macro.generateRandomNumber(min, max, info);
- } else {
- if(max) {
- return max;
- } else if(min) {
- return min;
- } else {
- return 1;
- }
- }
- }
- return num;
- },
- getExistingPalette: function(asJSON) {
- var title = "ColorPalette";
- var tiddlerText;
- if(store.tiddlerExists(title)) {
- tiddlerText = store.getTiddlerText(title);
- } else if(store.isShadowTiddler(title)){
- tiddlerText = config.shadowTiddlers[title];
- }
- if(asJSON) {
- var json = {};
- if(tiddlerText) {
- var lines = tiddlerText.split("\n");
- for(var i = 0; i < lines.length; i++) {
- var definition = lines[i].split(":");
- if(definition.length == 2) {
- var name = definition[0].trim();
- var value = definition[1].trim();
- json[name] = value;
- }
- }
- }
- return json;
- } else {
- return tiddlerText;
- }
- },
- generatePalette: function(options, save) {
- var outputRGB = options.rgb && options.rgb[0];
- var palette = macro.getExistingPalette(true);
- var hue = options.hue ? parseInt(options.hue[0]) : Math.floor(Math.random() * 359);
- var saturation = options.saturation ? parseFloat(options.saturation[0]) : macro.generateRandomNumber(0.3, 0.7);
- var dark = options.darkest ? parseFloat(options.darkest[0]) : macro.generateRandomNumber(0, 0.1);
- var pale = options.lightness ? parseFloat(options.lightness[0]) : macro.generateRandomNumber(0.6 + dark, 1);
- var lightness_values = {Dark:dark, Mid:pale - ( ( pale - dark ) / 2 ),
- Light:pale - ( ( pale - dark ) / 4 ), Pale:pale};
- var opposite_hue = (hue + 180) % 360;
- var seed = options.huevariance ? options.huevariance[0] : Math.floor((85 * Math.random()) + 5); // we want it to be at least 5 degrees
- var huetwo = (opposite_hue + seed) % 360;
- var huethree = (opposite_hue - seed) % 360;
- if(huetwo < 0) {
- huetwo = 360 + huetwo;
- }
- if(huethree < 0) {
- huethree = 360 + huethree;
- }
- for(var j in lightness_values) {
- if(true) {
- palette["Primary" + j] = HSL_TO_RGB(hue, saturation, lightness_values[j]);
- palette["Secondary" + j] = HSL_TO_RGB(huetwo, saturation, lightness_values[j]);
- palette["Tertiary" + j] = HSL_TO_RGB(huethree, saturation, lightness_values[j]);
- }
- }
- palette.Background = HSL_TO_RGB(hue, saturation, 0.92);
- palette.Foreground = HSL_TO_RGB(hue, saturation, 0.08);
- palette.ColorPaletteParameters = ["HSL([", hue, "|", seed, "], [", saturation, "],",
- "[", dark, "|", pale, "])"].join("");
- // construct new ColorPalette
- var text = ["/*{{{*/\n"];
- var colorcode;
- for(var id in palette) {
- if(true) {
- var color = palette[id];
- if(outputRGB) {
- colorcode = color.toRGBString();
- } else {
- colorcode = color.toString();
- }
- text.push("%0: %1\n".format([id, colorcode]));
- }
- }
- text.push("/*}}}*/");
- text = text.join("");
- if(save) {
- macro.saveColorPalette(text);
- }
- return text;
- },
- saveColorPalette: function(text) {
- var tid = store.getTiddler("ColorPalette");
- if(!tid) {
- tid = new Tiddler("ColorPalette");
- tid.fields = merge({}, config.defaultCustomFields);
- tid.modifier = "RandomColorPalette Macro";
- } // TODO: detect that the ColorPalette in the space comes from outside recipe
- tid.fields["server.page.revision"] = "false"; // edit conflicts dont matter
- // save the color palette in tid
- tid = store.saveTiddler(tid.title, tid.title, text, tid.modifier, tid.modified,
- tid.tags, tid.fields, false, tid.created, tid.creator);
- // an interval is used to cope with users clicking on the palette button quickly.
- if(macro._nextSave) {
- window.clearTimeout(macro._nextSave);
- }
- macro._nextSave = window.setTimeout(function() {
- autoSaveChanges(null, [tid]);
- }, 2000);
- // temporary workaround for IE.
- $.twStylesheet.remove({ id: "StyleSheetColors" });
- $.twStylesheet.remove({ id: "StyleSheet" });
- refreshAll();
- macro.reportChange();
- return tid;
- },
- reportChange: function() {
- if(macro.messagesOn) { // only display message once..
- var msgPlace = getMessageDiv();
- if(!$(".changedPalette", msgPlace)[0]) {
- var tempPlace = document.createElement("div");
- wikify("{{changedPalette{" + macro.changedPaletteText + "}}}", tempPlace);
- msgPlace.appendChild(tempPlace);
- }
- }
- }
- };
- config.macros.RandomColorPaletteButton = {
- text: "New ColorPalette",
- tooltip: "Generate a random colour scheme for your TiddlyWiki",
- handler: function(place, macroName, params, wikifier, paramString, tiddler) {
- var btnHandler = function(ev) {
- macro.handler(place, macroName, params, wikifier, paramString, tiddler);
- return false;
- };
- createTiddlyButton(place, this.text, this.tooltip, btnHandler);
- }
- };
- })(jQuery);
- //}}}</pre>
- </div>
- <div title="RenameTagsPlugin" creator="pmario" modifier="pmario" created="201008070948" modified="201009181705" tags="excludeLists systemConfig" server.title="RenameTagsPlugin" server.page.revision="107217" server.etag=""neui-em_public/RenameTagsPlugin/107217;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" _hash="3e3bab167400dc5d10f601d3a5717aeccd2d8aa4">
- <pre>/***
- |Name:|RenameTagsPlugin|
- |Description:|Allows you to easily rename or delete tags across multiple tiddlers|
- |Version:|3.0 ($Rev: 5501 $)|
- |Date:|$Date: 2008-06-10 23:11:55 +1000 (Tue, 10 Jun 2008) $|
- |Source:|http://mptw.tiddlyspot.com/#RenameTagsPlugin|
- |Author:|Simon Baird <simon.baird@gmail.com>|
- |License|http://mptw.tiddlyspot.com/#TheBSDLicense|
- 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) {
- store.suspendNotifications();
- for (var i=0;i<tiddlers.length;i++) {
- store.setTiddlerTag(tiddlers[i].title,false,tag);
- }
- store.resumeNotifications();
- store.notifyAll();
- },
- renameTag: function(oldTag,newTag,tiddlers) {
- store.suspendNotifications();
- for (var i=0;i<tiddlers.length;i++) {
- store.setTiddlerTag(tiddlers[i].title,false,oldTag); // remove old
- store.setTiddlerTag(tiddlers[i].title,true,newTag); // add new
- }
- store.resumeNotifications();
- store.notifyAll();
- },
- storeMethods: {
- saveTiddler_orig_renameTags: TiddlyWiki.prototype.saveTiddler,
- saveTiddler: function(title,newTitle,newBody,modifier,modified,tags,fields,clearChangeCount,created) {
- 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":""])))
- config.renameTags.renameTag(title,newTitle,tagged);
- 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);
- },
- removeTiddler_orig_renameTags: TiddlyWiki.prototype.removeTiddler,
- removeTiddler: function(title) {
- var tagged = this.getTaggedTiddlers(title);
- if (tagged.length > 0)
- if (confirm(config.renameTags.prompts.remove.format([title,tagged.length,tagged.length>1?"s":""])))
- config.renameTags.removeTag(title,tagged);
- return this.removeTiddler_orig_renameTags(title);
- }
- },
- init: function() {
- merge(TiddlyWiki.prototype,this.storeMethods);
- }
- }
- config.renameTags.init();
- //}}}
- </pre>
- </div>
- <div title="RevisionTemplate" creator="osmosoft" modifier="osmosoft" created="201102181425" modified="201102181425" tags="excludeLists excludeMissing excludeSearch" server.title="RevisionTemplate" server.page.revision="257504" server.etag=""system-theme_public/RevisionTemplate/257504;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/system-theme_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="system-theme_public" server.permissions="read" server.content-type="" _hash="b182c10523c4d9fe3f622b1529b70d43f5150701">
- <pre><!--{{{-->
- <div macro='slideRevision'></div>
- <div class='heading'>
- <span class="titleBar">
- <div class='title' macro='view title text'></div>
- </span>
- <span class='modifierIcon'
- macro='view modifier SiteIcon label:no height:48 width:48 preserveAspectRatio:yes'>
- </span>
- <div class='toolbar'
- macro='toolbar [[ToolbarCommands::RevisionToolbar]] icons:yes height:48 width:48 more:popup'>
- </div>
- <div class='tagClear'></div>
- </div>
- <div class='content'>
- <div class='viewer' macro='view text wikified'></div>
- </div>
- <div class='tagInfo'>
- <div class='tidTags' macro='tags'></div>
- <div class='tagging' macro='tagging'></div>
- </div>
- <!--}}}--></pre>
- </div>
- <div title="RevisionsCommandPlugin" creator="FND" modifier="FND" created="201102181424" modified="201102181424" tags="excludeLists excludeSearch systemConfig" server.title="RevisionsCommandPlugin" server.page.revision="257450" server.etag=""system/RevisionsCommandPlugin/257450;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/system" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="system" server.permissions="read" server.content-type="text/javascript" _hash="d36d2c8a7f8dd9a59dd54e772114a415b2c22979">
- <pre>/***
- |''Name''|RevisionsCommandPlugin|
- |''Description''|provides access to tiddler revisions|
- |''Author''|FND|
- |''Contributors''|Martin Budden|
- |''Version''|0.3.3|
- |''Status''|@@beta@@|
- |''Source''|http://svn.tiddlywiki.org/Trunk/association/plugins/RevisionsCommandPlugin.js|
- |''CodeRepository''|http://svn.tiddlywiki.org/Trunk/association/plugins/|
- |''License''|[[BSD|http://www.opensource.org/licenses/bsd-license.php]]|
- |''CoreVersion''|2.6.0|
- |''Keywords''|serverSide|
- !Usage
- Extend [[ToolbarCommands]] with {{{revisions}}}.
- !Revision History
- !!v0.1 (2009-07-23)
- * initial release (renamed from experimental ServerCommandsPlugin)
- !!v0.2 (2010-03-04)
- * suppressed wikification in diff view
- !!v0.3 (2010-04-07)
- * restored wikification in diff view
- * added link to side-by-side diff view
- !To Do
- * strip server.* fields from revision tiddlers
- * resolve naming conflicts
- * i18n, l10n
- * code sanitizing
- * documentation
- !Code
- ***/
- //{{{
- (function($) {
- jQuery.twStylesheet(".diff { white-space: pre, font-family: monospace }",
- { id: "diff" });
- var cmd = config.commands.revisions = {
- type: "popup",
- hideShadow: true,
- text: "revisions",
- tooltip: "display tiddler revisions",
- revTooltip: "", // TODO: populate dynamically?
- loadLabel: "loading...",
- loadTooltip: "loading revision list",
- selectLabel: "select",
- selectTooltip: "select revision for comparison",
- selectedLabel: "selected",
- compareLabel: "compare",
- linkLabel: "side-by-side view",
- revSuffix: " [rev. #%0]",
- diffSuffix: " [diff: #%0 #%1]",
- dateFormat: "YYYY-0MM-0DD 0hh:0mm",
- listError: "revisions could not be retrieved",
- handlePopup: function(popup, title) {
- title = this.stripSuffix("rev", title);
- title = this.stripSuffix("diff", title);
- var tiddler = store.getTiddler(title);
- var type = _getField("server.type", tiddler);
- var adaptor = new config.adaptors[type]();
- var limit = null; // TODO: customizable
- var context = {
- host: _getField("server.host", tiddler),
- workspace: _getField("server.workspace", tiddler)
- };
- var loading = createTiddlyButton(popup, cmd.loadLabel, cmd.loadTooltip);
- var params = { popup: popup, loading: loading, origin: title };
- adaptor.getTiddlerRevisionList(title, limit, context, params, this.displayRevisions);
- },
- displayRevisions: function(context, userParams) {
- removeNode(userParams.loading);
- if(context.status) {
- var callback = function(ev) {
- var e = ev || window.event;
- var revision = resolveTarget(e).getAttribute("revision");
- context.adaptor.getTiddlerRevision(tiddler.title, revision, context,
- userParams, cmd.displayTiddlerRevision);
- };
- var table = createTiddlyElement(userParams.popup, "table");
- for(var i = 0; i < context.revisions.length; i++) {
- var tiddler = context.revisions[i];
- var row = createTiddlyElement(table, "tr");
- var timestamp = tiddler.modified.formatString(cmd.dateFormat);
- var revision = tiddler.fields["server.page.revision"];
- var cell = createTiddlyElement(row, "td");
- createTiddlyButton(cell, timestamp, cmd.revTooltip, callback, null,
- null, null, { revision: revision });
- cell = createTiddlyElement(row, "td", null, null, tiddler.modifier);
- cell = createTiddlyElement(row, "td");
- createTiddlyButton(cell, cmd.selectLabel, cmd.selectTooltip,
- cmd.revisionSelected, null, null, null,
- { index:i, revision: revision, col: 2 });
- cmd.context = context; // XXX: unsafe (singleton)!?
- }
- } else {
- $("<li />").text(cmd.listError).appendTo(userParams.popup);
- }
- },
- revisionSelected: function(ev) {
- var e = ev || window.event;
- e.cancelBubble = true;
- if(e.stopPropagation) {
- e.stopPropagation();
- }
- var n = resolveTarget(e);
- var index = n.getAttribute("index");
- var col = n.getAttribute("col");
- while(!index || !col) {
- n = n.parentNode;
- index = n.getAttribute("index");
- col = n.getAttribute("col");
- }
- cmd.revision = n.getAttribute("revision");
- var table = n.parentNode.parentNode.parentNode;
- var rows = table.childNodes;
- for(var i = 0; i < rows.length; i++) {
- var c = rows[i].childNodes[col].firstChild;
- if(i == index) {
- if(c.textContent) {
- c.textContent = cmd.selectedLabel;
- } else {
- c.text = cmd.selectedLabel;
- }
- } else {
- if(c.textContent) {
- c.textContent = cmd.compareLabel;
- } else {
- c.text = cmd.compareLabel;
- }
- c.onclick = cmd.compareSelected;
- }
- }
- },
- compareSelected: function(ev) {
- var e = ev || window.event;
- var n = resolveTarget(e);
- var context = cmd.context;
- context.rev1 = n.getAttribute("revision");
- context.rev2 = cmd.revision;
- context.tiddler = context.revisions[n.getAttribute("index")];
- context.format = "unified";
- context.adaptor.getTiddlerDiff(context.tiddler.title, context,
- context.userParams, cmd.displayTiddlerDiffs);
- },
- displayTiddlerDiffs: function(context, userParams) {
- var tiddler = context.tiddler;
- tiddler.title += cmd.diffSuffix.format([context.rev1, context.rev2]);
- tiddler.text = "{{diff{\n" + context.diff + "\n}}}";
- tiddler.tags = ["diff"];
- tiddler.fields.doNotSave = "true"; // XXX: correct?
- if(!store.getTiddler(tiddler.title)) {
- store.addTiddler(tiddler);
- }
- var src = story.getTiddler(userParams.origin);
- var tiddlerEl = story.displayTiddler(src, tiddler);
- var uri = context.uri.replace("format=unified", "format=horizontal");
- var link = $('<a target="_blank" />').attr("href", uri).text(cmd.linkLabel);
- $(".viewer", tiddlerEl).prepend(link);
- },
- displayTiddlerRevision: function(context, userParams) {
- var tiddler = context.tiddler;
- tiddler.title += cmd.revSuffix.format([tiddler.fields["server.page.revision"]]);
- tiddler.fields.doNotSave = "true"; // XXX: correct?
- if(!store.getTiddler(tiddler.title)) {
- store.addTiddler(tiddler);
- }
- var src = story.getTiddler(userParams.origin);
- story.displayTiddler(src, tiddler);
- },
- stripSuffix: function(type, title) {
- var str = cmd[type + "Suffix"];
- var i = str.indexOf("%0");
- i = title.indexOf(str.substr(0, i));
- if(i != -1) {
- title = title.substr(0, i);
- }
- return title;
- }
- };
- var _getField = function(name, tiddler) {
- return tiddler.fields[name] || config.defaultCustomFields[name];
- };
- })(jQuery);
- //}}}</pre>
- </div>
- <div title="RoundaboutPlugin" creator="pmario" modifier="pmario" created="201102201726" modified="201102210040" tags="systemConfig" server.title="RoundaboutPlugin" server.page.revision="260087" server.etag=""roundabout-plugin_public/RoundaboutPlugin/260087;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/roundabout-plugin_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="roundabout-plugin_public" server.permissions="read, write, create, delete" server.content-type="" _hash="67415f8be2f7c34d393a4cb4db6630ffcb60dfdd">
- <pre>/***
- |''Name''|RoundaboutPlugin|
- |''Description''|Wraps the jQuery.roundabout() function into a TiddlyWiki friendly macro|
- |''Author''|PMario|
- |''Version''|0.1.2|
- |''Status''|''beta''|
- |''Source''|http://roundabout-plugin.tiddlyspace.com/|
- |''License''|CC-by-nc-sa|
- |''CoreVersion''|2.5.0|
- |''Keywords''|roundabout navigation UI |
- ***/
- //{{{
- version.extensions.Roundabout = {
- major: 0,
- minor: 1,
- revision: 2,
- date: new Date(2011, 2, 20)
- };
- (function ($) {
- var me;
- config.macros.roundabout = me = {
- // should be done for easy localisation
- locale: {
- },
- // 'mousewheel' has its special handling, because it needs to be bound to outer element. See below.
- possibleAddOns: ['focus', 'blur', 'click', 'mouseover', 'mouseout'],
- holderAddOns: ['mousewheel'],
-
- calcTextSlices: function (text) {
- var slices = {};
- var helper = {
- 'true': true,
- 'false': false,
- 'null': null
- };
- store.slicesRE.lastIndex = 0;
- var m = store.slicesRE.exec(text);
- while (m) {
- if (m[2]) {
- if (isNaN(m[3])) {
- slices[m[2]] = (m[3] in helper) ? helper[m[3]] : m[3];
- }
- else {
- slices[m[2]] = parseFloat(m[3]);
- }
- } else {
- if (isNaN(m[6])) {
- slices[m[5]] = (m[6] in helper) ? helper[m[6]] : m[6];
- }
- else {
- slices[m[5]] = parseFloat(m[6]);
- }
- }
- m = store.slicesRE.exec(text);
- }
- return slices;
- },
-
- rdSettings: function (cName) {
- var settings = {};
- var text;
- var title = cName;
- var section = null;
- var pos = title.indexOf(config.textPrimitives.sectionSeparator);
- if (pos != -1) {
- section = title.substr(pos + config.textPrimitives.sectionSeparator.length);
- title = title.substr(0, pos);
- }
- cName = (title) ? cName : tiddler.title + cName;
- title = (title) ? title : tiddler.title;
-
- if (store.tiddlerExists(title)) {
- // console.log({'cName':cName, 'text':text});
- text = store.getTiddlerText(cName);
- settings = me.calcTextSlices(text);
- // console.log({'settings':settings});
- }
- var cmra = config.macros.roundabout.addOns;
- var p = me.possibleAddOns;
- var x;
- for (var i = 0, im = p.length; i<im; i += 1) {
- x = settings[p[i]];
- if (x) {
- settings[p[i]] = (cmra && cmra[x]) ? cmra[x] : null;
- }
- }
- p = me.holderAddOns;
- for (i = 0, im = p.length; i<im; i += 1) {
- x = settings[p[i]];
- if (x) {
- settings[p[i]] = (cmra && cmra[x]) ? cmra[x] : null;
- }
- }
- // console.log('settings: ', settings, 'x:', x);
- return settings;
- },
- // <<roundabout selector:'.moveIt' childSelector:'li' defaults:##Defaults>>
- handler: function (place, macroName, params, wikifier, paramString, tiddler) {
- params = paramString.parseParams(null, null, true);
- var conf = {}; // everything, that comes from roundabout library
-
- var configId = getParam(params, 'defaults', undefined);
- if (configId) {
- conf = me.rdSettings(configId);
- }
-
- conf.childSelector = getParam(params, 'childSelector', 'li');
- conf.selector = getParam(params, 'selector', 'ul');
- // console.log({'conf':conf});
-
- var p = me.possibleAddOns;
- for (var i = 0; i<p.length; i += 1) {
- if (conf[p[i]]) {
- $(conf.selector + ' ' + conf.childSelector)[p[i]](conf[p[i]]);
- }
- }
- // init mousewheel, if there. add data section to be used by futur AddOns.
- if (conf.mousewheel) {
- $(conf.selector).roundabout(conf).bind('mousewheel', conf.mousewheel).data('conf',conf);
- }
- else {
- $(conf.selector).roundabout(conf).data('conf',conf);
- }
-
- } // handler
- };
-
- })(jQuery);
- //}}}
- </pre>
- </div>
- <div title="RoundaboutPluginAddOns" creator="pmario" modifier="pmario" created="201102201731" modified="201102201934" tags="systemConfig" server.title="RoundaboutPluginAddOns" server.page.revision="259616" server.etag=""roundabout-plugin_public/RoundaboutPluginAddOns/259616;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/roundabout-plugin_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="roundabout-plugin_public" server.permissions="read, write, create, delete" server.content-type="" _hash="25716e157e43567175957b3658ab5caff44c669a">
- <pre>/***
- |''Name''|RoundaboutPluginAddOns|
- |''Description''|Add ons for RoundaboutPlugin|
- |''Author''|PMario|
- |''Version''|0.1.1|
- |''Status''|''beta''|
- |''Source''|http://roundabout-plugin.tiddlyspace.com/|
- |''License''|CC-by-nc-sa|
- |''CoreVersion''|2.5.0|
- |''Keywords''|roundabout navigation UI |
- ***/
- //{{{
- version.extensions.RoundaboutAddOns = {
- major: 0,
- minor: 1,
- revision: 1,
- date: new Date(2011, 2, 20)
- };
- (function ($) {
- config.macros.roundabout.addOns = {
- focusAddOn: function (e) {
- displayMessage('focus event fired at -> ' + $(this).text());
- // console.log('focus: ', '$this: ', $(this));
- },
-
- blurAddOn: function (e) {
- displayMessage('blur event fired at -> ' + $(this).text());
- // console.log('blur: ', '$this: ', $(this));
- },
-
- clickAddOn: function (e) {
- displayMessage('click event fired at -> ' + $(this).text());
- // console.log('click: ', '$this: ', $(this));
- },
-
- mouseoverAddOn: function (e) {
- displayMessage('mouseover -> ' + $(this).text());
- // console.log('mouseOver: ', '$this: ', $(this));
- },
-
- mouseoutAddOn: function (e) {
- displayMessage('mouseout -> ' + $(this).text());
- // console.log('mouseOut: ', '$this: ', $(this));
- },
-
- mousewheelAddOn: function (e, delta) {
- var conf = $(this).data('conf');
- var mouseSpeedModifier = (conf && conf.mouseSpeed) ? conf.mouseSpeed : 0;
-
- e.preventDefault();
-
- delta = delta * mouseSpeedModifier;
- if (delta !== 0) $(this).roundabout_adjustBearing(delta);
- // console.log('mouseWheel: ', 'e: ', e, 'delta: ', delta);
-
- // if you return false, it prevents the event from bubbling.
- // Which causes the wheel to stop if a block is hovered.
- //return false;
- }
- };
- })(jQuery);
- //}}}</pre>
- </div>
- <div title="RoundaboutStyleSheet" creator="pmario" modifier="pmario" created="201102202359" modified="201102202359" server.title="RoundaboutStyleSheet" server.page.revision="260047" server.etag=""roundabout-plugin_public/RoundaboutStyleSheet/260047;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/roundabout-plugin_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="roundabout-plugin_public" server.permissions="read, write, create, delete" server.content-type="" _hash="85042f64f10c7a591e7ef647bcb853dbb0cdb1ab">
- <pre>/*{{{*/
- .roundabout-holder {
- list-style: none;
- width: 80%;
- margin: 2% auto;
- height: 10em;
- display: block;
- }
- /* movable item is deactivated at the moment */
- .Xroundabout-moveable-item {
- width: 15em;
- height: 5em;
- background: lightgray;
- cursor: pointer;
- }
- .roundabout-in-focus {
- cursor: auto;
- }
- #filler {
- text-align: center;
- height: 1em;
- }
- /*}}}*/</pre>
- </div>
- <div title="SearchOptionsPlugin" creator="pmario" modifier="pmario" created="201008061923" modified="201009181705" tags="excludeLists systemConfig" server.title="SearchOptionsPlugin" server.page.revision="107219" server.etag=""neui-em_public/SearchOptionsPlugin/107219;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" _hash="86ceebed1ec3249d7dddc3bb14d4865ceebed82f">
- <pre>/***
- |Name|SearchOptionsPlugin|
- |Source|http://www.TiddlyTools.com/#SearchOptionsPlugin|
- |Documentation|http://www.TiddlyTools.com/#SearchOptionsPluginInfo|
- |Version|3.0.7|
- |Author|Eric Shulman|
- |License|http://www.TiddlyTools.com/#LegalStatements|
- |~CoreVersion|2.1|
- |Type|plugin|
- |Description|extend core search function with additional user-configurable options|
- Adds extra options to core search function including selecting which data items to search, enabling/disabling incremental key-by-key searches, and generating a ''list of matching tiddlers'' instead of immediately displaying all matches. This plugin also adds syntax for rendering 'search links' within tiddler content to embed one-click searches using pre-defined 'hard-coded' search terms.
- !!!!!Documentation
- >see [[SearchOptionsPluginInfo]]
- !!!!!Configuration
- <<<
- Search in:
- <<option chkSearchTitles>> titles <<option chkSearchText>> text <<option chkSearchTags>> tags <<option chkSearchFields>> fields <<option chkSearchShadows>> shadows
- <<option chkSearchHighlight>> Highlight matching text in displayed tiddlers
- <<option chkSearchList>> Show list of matches
- <<option chkSearchListTiddler>> Write list to [[SearchResults]] tiddler
- <<option chkSearchTitlesFirst>> Show title matches first
- <<option chkSearchByDate>> Sort matching tiddlers by modification date (most recent first)
- <<option chkSearchResultsOptions>> Include {{{options...}}} slider in "search again" form
- <<option chkIncrementalSearch>> Incremental key-by-key search: {{twochar{<<option txtIncrementalSearchMin>>}}} or more characters, {{threechar{<<option txtIncrementalSearchDelay>>}}} msec delay
- <<option chkSearchOpenTiddlers>> Search only in tiddlers that are currently displayed
- <<option chkSearchExcludeTags>> Exclude tiddlers tagged with: <<option txtSearchExcludeTags>>
- <<<
- !!!!!Revisions
- <<<
- 2010.05.03 3.0.8 added chkSearchResultsOptions to allow/omit the "options..." slider from the "search again" form
- |please see [[SearchOptionsPluginInfo]] for additional revision details|
- 2005.10.18 1.0.0 Initial Release
- <<<
- !!!!!Code
- ***/
- //{{{
- version.extensions.SearchOptionsPlugin= {major: 3, minor: 0, revision: 8, date: new Date(2010,5,3)};
- var defaults={
- chkSearchTitles: true,
- chkSearchText: true,
- chkSearchTags: true,
- chkSearchFields: true,
- chkSearchTitlesFirst: true,
- chkSearchList: true,
- chkSearchHighlight: true,
- chkSearchListTiddler: false,
- chkSearchByDate: false,
- chkIncrementalSearch: true,
- chkSearchShadows: true,
- chkSearchOpenTiddlers: false,
- chkSearchResultsOptions:true,
- chkSearchExcludeTags: true,
- txtSearchExcludeTags: 'excludeSearch',
- txtIncrementalSearchDelay: 500,
- txtIncrementalSearchMin: 3
- }; for (var id in defaults) if (config.options[id]===undefined)
- config.options[id]=defaults[id];
- if (config.macros.search.reportTitle==undefined)
- config.macros.search.reportTitle="SearchResults"; // note: not a cookie!
- config.macros.search.label+="\xa0"; // a little bit of space just because it looks better
- //}}}
- // // searchLink: {{{[search[text to find]] OR [search[text to display|text to find]]}}}
- //{{{
- config.formatters.push( {
- name: "searchLink",
- match: "\\[search\\[",
- lookaheadRegExp: /\[search\[(.*?)(?:\|(.*?))?\]\]/mg,
- prompt: "search for: '%0'",
- handler: function(w)
- {
- this.lookaheadRegExp.lastIndex = w.matchStart;
- var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
- if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
- var label=lookaheadMatch[1];
- var text=lookaheadMatch[2]||label;
- var prompt=this.prompt.format([text]);
- var btn=createTiddlyButton(w.output,label,prompt,
- function(){story.search(this.getAttribute("searchText"))},"searchLink");
- btn.setAttribute("searchText",text);
- w.nextMatch = this.lookaheadRegExp.lastIndex;
- }
- }
- });
- //}}}
- // // incremental search uses option settings instead of hard-coded delay and minimum input values
- //{{{
- var fn=config.macros.search.onKeyPress;
- fn=fn.toString().replace(/500/g, "config.options.txtIncrementalSearchDelay||500");
- fn=fn.toString().replace(/> 2/g, ">=(config.options.txtIncrementalSearchMin||3)");
- eval("config.macros.search.onKeyPress="+fn);
- //}}}
- // // REPLACE story.search() for option to "show search results in a list"
- //{{{
- Story.prototype.search = function(text,useCaseSensitive,useRegExp)
- {
- var co=config.options; // abbrev
- var re=new RegExp(useRegExp ? text : text.escapeRegExp(),useCaseSensitive ? "mg" : "img");
- if (config.options.chkSearchHighlight) highlightHack=re;
- var matches = store.search(re,co.chkSearchByDate?"modified":"title","");
- if (co.chkSearchByDate) matches=matches.reverse(); // most recent first
- var q = useRegExp ? "/" : "'";
- clearMessage();
- if (!matches.length) {
- if (co.chkSearchListTiddler) discardSearchResults();
- displayMessage(config.macros.search.failureMsg.format([q+text+q]));
- } else {
- if (co.chkSearchList||co.chkSearchListTiddler)
- reportSearchResults(text,matches);
- else {
- var titles = []; for(var t=0; t<matches.length; t++) titles.push(matches[t].title);
- this.closeAllTiddlers(); story.displayTiddlers(null,titles);
- displayMessage(config.macros.search.successMsg.format([matches.length, q+text+q]));
- }
- }
- highlightHack = null;
- }
- //}}}
- // // REPLACE store.search() for enhanced searching/sorting options
- //{{{
- TiddlyWiki.prototype.search = function(searchRegExp,sortField,excludeTag,match)
- {
- var co=config.options; // abbrev
- var tids = this.reverseLookup("tags",excludeTag,!!match,sortField);
- var opened=[]; story.forEachTiddler(function(tid,elem){opened.push(tid);});
- // eliminate tiddlers tagged with excluded tags
- if (co.chkSearchExcludeTags&&co.txtSearchExcludeTags.length) {
- var ex=co.txtSearchExcludeTags.readBracketedList();
- var temp=[]; for(var t=tids.length-1; t>=0; t--)
- if (!tids[t].tags.containsAny(ex)) temp.push(tids[t]);
- tids=temp;
- }
- // scan for matching titles first...
- var results = [];
- if (co.chkSearchTitles) {
- for(var t=0; t<tids.length; t++) {
- if (co.chkSearchOpenTiddlers && !opened.contains(tids[t].title)) continue;
- if(tids[t].title.search(searchRegExp)!=-1) results.push(tids[t]);
- }
- if (co.chkSearchShadows)
- for (var t in config.shadowTiddlers) {
- if (co.chkSearchOpenTiddlers && !opened.contains(t)) continue;
- if ((t.search(searchRegExp)!=-1) && !store.tiddlerExists(t))
- results.push((new Tiddler()).assign(t,config.shadowTiddlers[t]));
- }
- }
- // then scan for matching text, tags, or field data
- for(var t=0; t<tids.length; t++) {
- if (co.chkSearchOpenTiddlers && !opened.contains(tids[t].title)) continue;
- if (co.chkSearchText && tids[t].text.search(searchRegExp)!=-1)
- results.pushUnique(tids[t]);
- if (co.chkSearchTags && tids[t].tags.join(" ").search(searchRegExp)!=-1)
- results.pushUnique(tids[t]);
- if (co.chkSearchFields && store.forEachField!=undefined)
- store.forEachField(tids[t],
- function(tid,field,val) {
- if (val.search(searchRegExp)!=-1) results.pushUnique(tids[t]);
- },
- true); // extended fields only
- }
- // then check for matching text in shadows
- if (co.chkSearchShadows)
- for (var t in config.shadowTiddlers) {
- if (co.chkSearchOpenTiddlers && !opened.contains(t)) continue;
- if ((config.shadowTiddlers[t].search(searchRegExp)!=-1) && !store.tiddlerExists(t))
- results.pushUnique((new Tiddler()).assign(t,config.shadowTiddlers[t]));
- }
- // if not 'titles first', or sorting by modification date,
- // re-sort results to so titles, text, tag and field matches are mixed together
- if(!sortField) sortField = "title";
- var bySortField=function(a,b){
- if(a[sortField]==b[sortField])return(0);else return(a[sortField]<b[sortField])?-1:+1;
- }
- if (!co.chkSearchTitlesFirst || co.chkSearchByDate) results.sort(bySortField);
- return results;
- }
- //}}}
- // // HIJACK core {{{<<search>>}}} macro to add "report" and "simple inline" output
- //{{{
- config.macros.search.SOP_handler=config.macros.search.handler;
- config.macros.search.handler = function(place,macroName,params)
- {
- // if "report", use SearchOptionsPlugin report generator for inline output
- if (params[1]&&params[1].substr(0,6)=="report") {
- var keyword=params[0];
- var options=params[1].split("=")[1]; // split "report=option+option+..."
- var heading=params[2]?params[2].unescapeLineBreaks():"";
- var matches=store.search(new RegExp(keyword.escapeRegExp(),"img"),"title","excludeSearch");
- if (matches.length) wikify(heading+window.formatSearchResults(keyword,matches,options),place);
- } else if (params[1]) {
- var keyword=params[0];
- var heading=params[1]?params[1].unescapeLineBreaks():"";
- var seperator=params[2]?params[2].unescapeLineBreaks():", ";
- var matches=store.search(new RegExp(keyword.escapeRegExp(),"img"),"title","excludeSearch");
- if (matches.length) {
- var out=[];
- for (var m=0; m<matches.length; m++) out.push("[["+matches[m].title+"]]");
- wikify(heading+out.join(seperator),place);
- }
- } else
- config.macros.search.SOP_handler.apply(this,arguments);
- };
- //}}}
- // // SearchResults panel handling
- //{{{
- setStylesheet(".searchResults { padding:1em 1em 0 1em; }","searchResults"); // matches std tiddler padding
- config.macros.search.createPanel=function(text,matches,body) {
- function getByClass(e,c) { var d=e.getElementsByTagName("div");
- for (var i=0;i<d.length;i++) if (hasClass(d[i],c)) return d[i]; }
- var panel=createTiddlyElement(null,"div","searchPanel","searchPanel");
- this.renderPanel(panel,text,matches,body);
- var oldpanel=document.getElementById("searchPanel");
- if (!oldpanel) { // insert new panel just above tiddlers
- var da=document.getElementById("displayArea");
- da.insertBefore(panel,da.firstChild);
- } else { // if panel exists
- var oldwrap=getByClass(oldpanel,"searchResults");
- var newwrap=getByClass(panel,"searchResults");
- // if no prior content, just insert new content
- if (!oldwrap) oldpanel.insertBefore(newwrap,null);
- else { // swap search results content but leave containing panel intact
- oldwrap.style.display='block'; // unfold wrapper if needed
- var i=oldwrap.getElementsByTagName("input")[0]; // get input field
- if (i) { var pos=this.getCursorPos(i); i.onblur=null; } // get cursor pos, ignore blur
- oldpanel.replaceChild(newwrap,oldwrap);
- panel=oldpanel; // use existing panel
- }
- }
- this.showPanel(true,pos);
- return panel;
- }
- config.macros.search.renderPanel=function(panel,text,matches,body) {
- var wrap=createTiddlyElement(panel,"div",null,"searchResults");
- wrap.onmouseover = function(e){ addClass(this,"selected"); }
- wrap.onmouseout = function(e){ removeClass(this,"selected"); }
- // create toolbar: "open all", "fold/unfold", "close"
- var tb=createTiddlyElement(wrap,"div",null,"toolbar");
- var b=createTiddlyButton(tb, "open all", "open all matching tiddlers", function() {
- story.displayTiddlers(null,this.getAttribute("list").readBracketedList()); return false; },"button");
- var list=""; for(var t=0;t<matches.length;t++) list+='[['+matches[t].title+']] ';
- b.setAttribute("list",list);
- var b=createTiddlyButton(tb, "fold", "toggle display of search results", function() {
- config.macros.search.foldPanel(this); return false; },"button");
- var b=createTiddlyButton(tb, "close", "dismiss search results", function() {
- config.macros.search.showPanel(false); return false; },"button");
- createTiddlyText(createTiddlyElement(wrap,"div",null,"title"),"Search for: "+text); // title
- wikify(body,createTiddlyElement(wrap,"div",null,"viewer")); // report
- return panel;
- }
- config.macros.search.showPanel=function(show,pos) {
- var panel=document.getElementById("searchPanel");
- var i=panel.getElementsByTagName("input")[0];
- i.onfocus=show?function(){config.macros.search.stayFocused(true);}:null;
- i.onblur=show?function(){config.macros.search.stayFocused(false);}:null;
- if (show && panel.style.display=="block") { // if shown, grab focus, restore cursor
- if (i&&this.stayFocused()) { i.focus(); this.setCursorPos(i,pos); }
- return;
- }
- if(!config.options.chkAnimate) {
- panel.style.display=show?"block":"none";
- if (!show) { removeChildren(panel); config.macros.search.stayFocused(false); }
- } else {
- var s=new Slider(panel,show,false,show?"none":"children");
- s.callback=function(e,p){e.style.overflow="visible";}
- anim.startAnimating(s);
- }
- return panel;
- }
- config.macros.search.foldPanel=function(button) {
- var d=document.getElementById("searchPanel").getElementsByTagName("div");
- for (var i=0;i<d.length;i++) if (hasClass(d[i],"viewer")) var v=d[i]; if (!v) return;
- var show=v.style.display=="none";
- if(!config.options.chkAnimate)
- v.style.display=show?"block":"none";
- else {
- var s=new Slider(v,show,false,"none");
- s.callback=function(e,p){e.style.overflow="visible";}
- anim.startAnimating(s);
- }
- button.innerHTML=show?"fold":"unfold";
- return false;
- }
- config.macros.search.stayFocused=function(keep) { // TRUE/FALSE=set value, no args=get value
- if (keep===undefined) return this.keepReportInFocus;
- this.keepReportInFocus=keep;
- return keep
- }
- config.macros.search.getCursorPos=function(i) {
- var s=0; var e=0; if (!i) return { start:s, end:e };
- try {
- if (i.setSelectionRange) // FF
- { s=i.selectionStart; e=i.selectionEnd; }
- if (document.selection && document.selection.createRange) { // IE
- var r=document.selection.createRange().duplicate();
- var len=r.text.length; s=0-r.moveStart('character',-100000); e=s+len;
- }
- }catch(e){};
- return { start:s, end:e };
- }
- config.macros.search.setCursorPos=function(i,pos) {
- if (!i||!pos) return; var s=pos.start; var e=pos.end;
- if (i.setSelectionRange) //FF
- i.setSelectionRange(s,e);
- if (i.createTextRange) // IE
- { var r=i.createTextRange(); r.collapse(true); r.moveStart("character",s); r.select(); }
- }
- //}}}
- // // SearchResults report generation
- // note: these functions are defined globally, so they can be more easily redefined to customize report formats//
- //{{{
- if (!window.reportSearchResults) window.reportSearchResults=function(text,matches)
- {
- var cms=config.macros.search; // abbrev
- var body=window.formatSearchResults(text,matches);
- if (!config.options.chkSearchListTiddler) // show #searchResults panel
- window.scrollTo(0,ensureVisible(cms.createPanel(text,matches,body)));
- else { // write [[SearchResults]] tiddler
- var title=cms.reportTitle;
- var who=config.options.txtUserName;
- var when=new Date();
- var tags="excludeLists excludeSearch temporary";
- var tid=store.getTiddler(title); if (!tid) tid=new Tiddler();
- tid.set(title,body,who,when,tags);
- store.addTiddler(tid);
- story.closeTiddler(title);
- story.displayTiddler(null,title);
- }
- }
- if (!window.formatSearchResults) window.formatSearchResults=function(text,matches,opt)
- {
- var body='';
- var title=config.macros.search.reportTitle
- var q = config.options.chkRegExpSearch ? "/" : "'";
- if (!opt) var opt="all";
- var parts=opt.split("+");
- for (var i=0; i<parts.length; i++) { var p=parts[i].toLowerCase();
- if (p=="again"||p=="all") body+=window.formatSearchResults_again(text,matches);
- if (p=="summary"||p=="all") body+=window.formatSearchResults_summary(text,matches);
- if (p=="list"||p=="all") body+=window.formatSearchResults_list(text,matches);
- if (p=="buttons"||p=="all") body+=window.formatSearchResults_buttons(text,matches);
- }
- return body;
- }
- if (!window.formatSearchResults_again) window.formatSearchResults_again=function(text,matches)
- {
- var title=config.macros.search.reportTitle
- var body='';
- // search again
- body+='{{span{<<search "'+text.replace(/"/g,'&#x22;')+'">> /%\n';
- body+='%/<html><input type="button" value="search again"';
- body+=' onclick="var t=this.parentNode.parentNode.getElementsByTagName(\'input\')[0];';
- body+=' config.macros.search.doSearch(t); return false;">';
- if (!config.options.chkSearchResultsOptions) { // omit "options..."
- body+='</html>}}}\n\n';
- return body;
- }
- body+=' <a href="javascript:;" onclick="';
- body+=' var e=this.parentNode.nextSibling;';
- body+=' var show=e.style.display!=\'block\';';
- body+=' if(!config.options.chkAnimate) e.style.display=show?\'block\':\'none\';';
- body+=' else anim.startAnimating(new Slider(e,show,false,\'none\'));';
- body+=' return false;">options...</a>';
- body+='</html>@@display:none;border-left:1px dotted;margin-left:1em;padding:0;padding-left:.5em;font-size:90%;/%\n';
- body+=' %/<<option chkSearchTitles>>titles /%\n';
- body+=' %/<<option chkSearchText>>text /%\n';
- body+=' %/<<option chkSearchTags>>tags /%\n';
- body+=' %/<<option chkSearchFields>>fields /%\n';
- body+=' %/<<option chkSearchShadows>>shadows\n';
- body+=' <<option chkCaseSensitiveSearch>>case-sensitive /%\n';
- body+=' %/<<option chkRegExpSearch>>text patterns /%\n';
- body+=' %/<<option chkSearchByDate>>sorted by date\n';
- body+=' <<option chkSearchHighlight>> highlight matching text in displayed tiddlers\n';
- body+=' <<option chkIncrementalSearch>>incremental key-by-key search: /%\n';
- body+=' %/{{twochar{<<option txtIncrementalSearchMin>>}}} or more characters, /%\n';
- body+=' %/{{threechar{<<option txtIncrementalSearchDelay>>}}} msec delay\n';
- body+=' <<option chkSearchOpenTiddlers>> search only in tiddlers that are currently displayed\n';
- body+=' <<option chkSearchExcludeTags>>exclude tiddlers tagged with:\n';
- body+=' {{editor{<<option txtSearchExcludeTags>>}}}/%\n';
- body+='%/@@}}}\n\n';
- return body;
- }
- if (!window.formatSearchResults_summary) window.formatSearchResults_summary=function(text,matches)
- {
- // summary: nn tiddlers found matching '...', options used
- var body='';
- var co=config.options; // abbrev
- var title=config.macros.search.reportTitle
- var q = co.chkRegExpSearch ? "/" : "'";
- body+="''"+config.macros.search.successMsg.format([matches.length,q+"{{{"+text+"}}}"+q])+"''\n";
- var opts=[];
- if (co.chkSearchTitles) opts.push("titles");
- if (co.chkSearchText) opts.push("text");
- if (co.chkSearchTags) opts.push("tags");
- if (co.chkSearchFields) opts.push("fields");
- if (co.chkSearchShadows) opts.push("shadows");
- if (co.chkSearchOpenTiddlers) body+="^^//search limited to displayed tiddlers only//^^\n";
- body+="~~&nbsp; searched in "+opts.join(" + ")+"~~\n";
- body+=(co.chkCaseSensitiveSearch||co.chkRegExpSearch?"^^&nbsp; using ":"")
- +(co.chkCaseSensitiveSearch?"case-sensitive ":"")
- +(co.chkRegExpSearch?"pattern ":"")
- +(co.chkCaseSensitiveSearch||co.chkRegExpSearch?"matching^^\n":"");
- return body;
- }
- if (!window.formatSearchResults_list) window.formatSearchResults_list=function(text,matches)
- {
- // bullet list of links to matching tiddlers
- var body='';
- var co=config.options; // abbrev
- var pattern=co.chkRegExpSearch?text:text.escapeRegExp();
- var sensitive=co.chkCaseSensitiveSearch?"mg":"img";
- var link='{{tiddlyLinkExisting{<html><nowiki><a href="javascript:;" onclick="'
- +'if(config.options.chkSearchHighlight)'
- +' highlightHack=new RegExp(\x27'+pattern+'\x27.escapeRegExp(),\x27'+sensitive+'\x27);'
- +'story.displayTiddler(null,\x27%0\x27);'
- +'highlightHack = null; return false;'
- +'" title="%2">%1</a></html>}}}';
- for(var t=0;t<matches.length;t++) {
- body+="* ";
- if (co.chkSearchByDate)
- body+=matches[t].modified.formatString('YYYY.0MM.0DD 0hh:0mm')+" ";
- var title=matches[t].title;
- var fixup=title.replace(/'/g,"\\x27").replace(/"/g,"\\x22");
- var tid=store.getTiddler(title);
- var tip=tid?tid.getSubtitle():''; tip=tip.replace(/"/g,"&quot;");
- body+=link.format([fixup,title,tip])+'\n';
- }
- return body;
- }
- if (!window.formatSearchResults_buttons) window.formatSearchResults_buttons=function(text,matches)
- {
- // embed buttons only if writing SearchResults to tiddler
- if (!config.options.chkSearchListTiddler) return "";
- // "open all" button
- var title=config.macros.search.reportTitle;
- var body="";
- body+="@@diplay:block;<html><input type=\"button\" href=\"javascript:;\" "
- +"onclick=\"story.displayTiddlers(null,[";
- for(var t=0;t<matches.length;t++)
- body+="'"+matches[t].title.replace(/\'/mg,"\\'")+"'"+((t<matches.length-1)?", ":"");
- body+="],1);\" accesskey=\"O\" value=\"open all matching tiddlers\"></html> ";
- // "discard SearchResults" button
- body+="<html><input type=\"button\" href=\"javascript:;\" "
- +"onclick=\"discardSearchResults()\" value=\"discard "+title+"\"></html>";
- body+="@@\n";
- return body;
- }
- if (!window.discardSearchResults) window.discardSearchResults=function()
- {
- // remove the tiddler
- story.closeTiddler(config.macros.search.reportTitle);
- store.deleteTiddler(config.macros.search.reportTitle);
- store.notify(config.macros.search.reportTitle,true);
- }
- //}}}</pre>
- </div>
- <div title="SelectThemePluginMP" creator="pmario" modifier="pmario" created="201011042045" modified="201011081325" tags="excludeLists systemConfig" server.title="SelectThemePluginMP" server.page.revision="107222" server.etag=""neui-em_public/SelectThemePluginMP/107222;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" _hash="5c4d62628a8adec980fc31b4c993e49e28db40ca">
- <pre>/***
- |Name:|SelectThemePluginMP|
- |Description:|Lets you easily switch theme and palette|
- |Version:|1.0.1 ($Rev: 3646 $) MP 02|
- |Date:|$Date: 2008-02-27 02:34:38 +1000 (Wed, 27 Feb 2008) $|
- |OriginalSource:|http://mptw.tiddlyspot.com/#SelectThemePlugin|
- |OriginalAuthor:|Simon Baird <simon.baird@gmail.com>|
- |License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
- |Author:|Mario Pietsch|
- !Notes
- * 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.
- *MP Added the label to applyTheme macro.
- *Made selectPalette tiddlySpace ready.
- !Usage
- * {{{<<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
- * {{{<<applyTheme TiddlerName label>>}}} applies TiddlerName as a theme and uses costumized button label
- * {{{<<applyTheme {{tiddler.title}} label>>}}} applies actual tiddler as a theme and uses costumized button label
- ***/
- //{{{
- config.macros.selectTheme = {
- label: {
- selectTheme:"select theme",
- selectPalette:"select palette"
- },
- prompt: {
- selectTheme:"Select the current theme",
- selectPalette:"Select the current palette"
- },
- tags: {
- selectTheme:'systemTheme',
- selectPalette:'systemPalette'
- }
- };
- 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
- btn.setAttribute('mode',macroName);
- };
- 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);
- btn.setAttribute('theme',"(default)");
- btn.setAttribute('mode',mode);
- }
- 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);
- btn.setAttribute('theme',t);
- btn.setAttribute('mode',mode);
- }
- Popup.show();
- return stopEvent(e);
- };
- config.macros.selectTheme.onClickTheme = function(ev)
- {
- var mode = this.getAttribute('mode');
- var theme = this.getAttribute('theme');
- if (mode == 'selectTheme')
- story.switchTheme(theme);
- else // selectPalette
- config.macros.selectTheme.updatePalette(theme);
- return false;
- };
- config.macros.selectTheme.updatePalette = function(title)
- {
- var tiddlyspace = config.extensions.tiddlyspace;
- if (title != "") {
- if (title != "(default)") {
- var tiddler = store.getTiddler('ColorPalette');
- tiddler.fields["server.workspace"] = "bags/%0_private".format([tiddlyspace.currentSpace.name]);
- tiddler.fields["server.page.revision"] = "false";
- // tiddler.fields["server.permissions"] = "read, write, create"; // no delete
- delete tiddler.fields["server.title"];
- delete tiddler.fields["server.etag"];
- // special handling for pseudo-shadow tiddlers
- if(tiddlyspace.coreBags.contains(tiddler.fields["server.bag"])) {
- tiddler.tags.remove("excludeLists");
- }
- store.saveTiddler("ColorPalette","ColorPalette", store.getTiddlerText(title),
- config.options.txtUserName,undefined,tiddler.tags, tiddler.fields);
- }
- refreshAll();
- if(config.options.chkAutoSave)
- saveChanges(true);
- }
- };
- 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 label = params[1] ? params[1] : this.label;
- var useTiddler = params[0] ? params[0] : tiddler.title;
- var btn = createTiddlyButton(place,label,this.prompt+useTiddler,config.macros.selectTheme.onClickTheme);
- btn.setAttribute('theme',useTiddler);
- 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(); });
- }};
- //}}}</pre>
- </div>
- <div title="ServerSideSavingPlugin" creator="FND" modifier="FND" created="201102181424" modified="201102181424" tags="excludeLists excludeSearch systemConfig" server.title="ServerSideSavingPlugin" server.page.revision="257451" server.etag=""system/ServerSideSavingPlugin/257451;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/system" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="system" server.permissions="read" server.content-type="text/javascript" _hash="d72cde071d926d9c66939444817d7e8621d24d9c">
- <pre>/***
- |''Name''|ServerSideSavingPlugin|
- |''Description''|server-side saving|
- |''Author''|FND|
- |''Version''|0.6.5|
- |''Status''|stable|
- |''Source''|http://svn.tiddlywiki.org/Trunk/association/plugins/ServerSideSavingPlugin.js|
- |''License''|[[BSD|http://www.opensource.org/licenses/bsd-license.php]]|
- |''CoreVersion''|2.5.3|
- |''Keywords''|serverSide|
- !Notes
- This plugin relies on a dedicated adaptor to be present.
- The specific nature of this plugin 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
- !!v0.4 (2009-01-15)
- * removed ServerConfig dependency by detecting server type from the respective tiddlers
- !!v0.5 (2009-08-25)
- * raised CoreVersion to 2.5.3 to take advantage of core fixes
- !!v0.6 (2010-04-21)
- * added notification about cross-domain restrictions to ImportTiddlers
- !To Do
- * conflict detection/resolution
- * rename to ServerLinkPlugin?
- * document deletion/renaming convention
- !Code
- ***/
- //{{{
- (function($) {
- readOnly = false; //# enable editing over HTTP
- var plugin = config.extensions.ServerSideSavingPlugin = {};
- plugin.locale = {
- saved: "%0 saved successfully",
- saveError: "Error saving %0: %1",
- saveConflict: "Error saving %0: edit conflict",
- deleted: "Removed %0",
- deleteError: "Error removing %0: %1",
- deleteLocalError: "Error removing %0 locally",
- removedNotice: "This tiddler has been deleted.",
- connectionError: "connection could not be established",
- hostError: "Unable to import from this location due to cross-domain restrictions."
- };
- plugin.sync = function(tiddlers) {
- tiddlers = tiddlers && tiddlers[0] ? tiddlers : store.getTiddlers();
- $.each(tiddlers, function(i, tiddler) {
- var changecount = parseInt(tiddler.fields.changecount, 10);
- if(tiddler.fields.deleted === "true" && changecount === 1) {
- plugin.removeTiddler(tiddler);
- } else if(tiddler.isTouched() && !tiddler.doNotSave() &&
- tiddler.getServerType() && tiddler.fields["server.host"]) { // XXX: server.host could be empty string
- delete tiddler.fields.deleted;
- plugin.saveTiddler(tiddler);
- }
- });
- };
- plugin.saveTiddler = function(tiddler) {
- try {
- var adaptor = this.getTiddlerServerAdaptor(tiddler);
- } catch(ex) {
- return false;
- }
- var context = {
- tiddler: tiddler,
- changecount: tiddler.fields.changecount,
- workspace: tiddler.fields["server.workspace"]
- };
- var serverTitle = tiddler.fields["server.title"]; // indicates renames
- if(!serverTitle) {
- tiddler.fields["server.title"] = tiddler.title;
- } else if(tiddler.title != serverTitle) {
- return adaptor.moveTiddler({ title: serverTitle },
- { title: tiddler.title }, context, null, this.saveTiddlerCallback);
- }
- var req = adaptor.putTiddler(tiddler, context, {}, this.saveTiddlerCallback);
- return req ? tiddler : false;
- };
- plugin.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;
- }
- plugin.reportSuccess("saved", tiddler);
- store.setDirty(false);
- } else {
- if(context.httpStatus == 412) {
- plugin.reportFailure("saveConflict", tiddler);
- } else {
- plugin.reportFailure("saveError", tiddler, context);
- }
- }
- };
- plugin.removeTiddler = function(tiddler) {
- try {
- var adaptor = this.getTiddlerServerAdaptor(tiddler);
- } catch(ex) {
- return false;
- }
- var context = {
- host: tiddler.fields["server.host"],
- workspace: tiddler.fields["server.workspace"],
- tiddler: tiddler
- };
- var req = adaptor.deleteTiddler(tiddler, context, {}, this.removeTiddlerCallback);
- return req ? tiddler : false;
- };
- plugin.removeTiddlerCallback = function(context, userParams) {
- var tiddler = context.tiddler;
- if(context.status) {
- if(tiddler.fields.deleted === "true") {
- store.deleteTiddler(tiddler.title);
- } else {
- plugin.reportFailure("deleteLocalError", tiddler);
- }
- plugin.reportSuccess("deleted", tiddler);
- store.setDirty(false);
- } else {
- plugin.reportFailure("deleteError", tiddler, context);
- }
- };
- plugin.getTiddlerServerAdaptor = function(tiddler) { // XXX: rename?
- var type = tiddler.fields["server.type"] || config.defaultCustomFields["server.type"];
- return new config.adaptors[type]();
- };
- plugin.reportSuccess = function(msg, tiddler) {
- displayMessage(plugin.locale[msg].format([tiddler.title]));
- };
- plugin.reportFailure = function(msg, tiddler, context) {
- var desc = (context && context.httpStatus) ? context.statusText :
- plugin.locale.connectionError;
- displayMessage(plugin.locale[msg].format([tiddler.title, desc]));
- };
- config.macros.saveToWeb = { // XXX: hijack existing sync macro?
- locale: { // TODO: merge with plugin.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
- var _saveChanges = saveChanges;
- saveChanges = function(onlyIfDirty, tiddlers) {
- if(window.location.protocol == "file:") {
- _saveChanges.apply(this, arguments);
- } else {
- plugin.sync(tiddlers);
- }
- };
- // override removeTiddler to flag tiddler as deleted -- XXX: use hijack to preserve compatibility?
- 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.fields.changecount = "1";
- this.notify(title, true);
- this.setDirty(true);
- }
- };
- // hijack ImportTiddlers wizard to handle cross-domain restrictions
- var _onOpen = config.macros.importTiddlers.onOpen;
- config.macros.importTiddlers.onOpen = function(ev) {
- var btn = $(resolveTarget(ev));
- var url = btn.closest(".wizard").find("input[name=txtPath]").val();
- if(window.location.protocol != "file:" && url.indexOf("://") != -1) {
- var host = url.split("/")[2];
- var macro = config.macros.importTiddlers;
- if(host != window.location.host) {
- btn.text(macro.cancelLabel).attr("title", macro.cancelPrompt);
- btn[0].onclick = macro.onCancel;
- $('<span class="status" />').text(plugin.locale.hostError).insertAfter(btn);
- return false;
- }
- }
- return _onOpen.apply(this, arguments);
- };
- })(jQuery);
- //}}}</pre>
- </div>
- <div title="SideBarOptions" creator="pmario" modifier="pmario" created="201008061923" modified="201010071025" tags="excludeLists" server.title="SideBarOptions" server.page.revision="107237" server.etag=""neui-em_public/SideBarOptions/107237;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" revision.text="" _hash="7d8765daef6b7cbcccebee953eff2be8ca6f8e96">
- <pre><<tiddler ToggleLeftSidebarEm##show with: {{config.options.chkShowLeftSidebar?'◄':'►'}}{{config.options.chkShowRightSidebar?'hide':'show'}}>><<tiddler ToggleRightSidebarEm##show with: {{config.options.chkShowRightSidebar?'►':'◄'}}{{config.options.chkShowRightSidebar?'hide':'show'}}>><<slider chkSliderOptionsPanel OptionsPanel "»" "display the options panel">></pre>
- </div>
- <div title="SideBarTabs" creator="osmosoft" modifier="osmosoft" created="201102181425" modified="201102181425" tags="excludeLists excludeMissing excludeSearch" server.title="SideBarTabs" server.page.revision="257506" server.etag=""system-theme_public/SideBarTabs/257506;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/system-theme_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="system-theme_public" server.permissions="read" server.content-type="" _hash="6b74609cea4ddb529f42d3331e63b7775376af47">
- <pre><<tiddler Backstage##Tiddlers>></pre>
- </div>
- <div title="SidebarButtons" creator="pmario" modifier="pmario" created="201009282016" modified="201010071647" tags="excludeLists" server.title="SidebarButtons" server.page.revision="107241" server.etag=""neui-em_public/SidebarButtons/107241;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" _hash="7cea3f127443d6bcc8af551ed0219bd53123b5c0">
- <pre><<image tfgNewTiddler.svg>><<image tfgNewJournal.svg>><<image tfgSaveToWeb.svg>><<image tfgPermaview.svg>><<image tfgCloseAll.svg>></pre>
- </div>
- <div title="SidebarTools" creator="pmario" modifier="pmario" created="201008061923" modified="201009282127" tags="excludeLists" server.title="SidebarTools" server.page.revision="107249" server.etag=""neui-em_public/SidebarTools/107249;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" _hash="ed1ab0f713529043df9da9a136d4c98d2bfb46d2">
- <pre><<tiddler SidebarButtons>>
- /%<<closeAll>>
- <<permaview>>
- <<newTiddler>>
- <<newJournal 'YYYY, DD MMM'>>
- %/</pre>
- </div>
- <div title="SiteIcon" creator="fancybox" modifier="fancybox" created="201101181525" modified="201101181525" server.title="SiteIcon" server.page.revision="47609" server.etag=""fancybox_public/SiteIcon/47609;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="image/png" _hash="6bfdc1360e03ce167156dda85b01f908c4cf0f75">
- <pre>iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAKGWlDQ1BJQ0MgUHJvZmlsZQAAeAHVlmdUFMkWx6t7ciLNMGQYcs4ZJOckOYrKMOQwwpARFZHFFVAUERFQlrBEBVclyBoQUQyIgALmHWQRUNbFgKiovB54x93zzttv78u7fW7Vr++tvlVdVR/+AJA+MpOSEmABABLZqRwfJ1tGUHAIA/cIoAEWEIAeUGWyUpJsvLzcwT/ahwkA8ZL3NHm1/nHYf08IRkSmsACAvJB0eEQKKxHhcwgbsJI4qQjPITySkZqEMNyDMI2DLBDhIR5HrzOXx+Hr/H5tjJ+PHQAoPAB4MpPJiQaAREPijHRWNFKHZICwDjsilo1wBMKWrBgm0pMaENZITNzG4xGEVcL/Vif6b8xkhn+vyWRGf+f1f0G+RCa2j01JSmBmrb38L5vEhDRkv9aMt+vkSLa/L9KLIi4J7IEDcEceBnJyxkAH8UDgCLxSIzOR/wbAbltSFic2OiaVYYOcVKQGw4XN0tJg6Ono6vDS/zfGu6Pri313d+3uQaK84/93LFkLANNG5Pz7/oqFPQeg6w4A9IG/YgrXAeDfD0BPMyuNk75eD83rMIAI+AENiAFpIA9UgCaym0bAHFgju+sKPIEfCAZbAAvEgETAARkgB+wGBaAIHARHQCWoAfWgGZwCZ0A3uACugOvgNhgB4+Ax4IIZ8Aosgg9gBYIgHESBqJAYJAMpQuqQHmQCWUIOkDvkAwVDYVA0xIbSoBxoD1QElUKVUC3UAv0CnYeuQDehUeghNAXNQ2+hzzAKJsM0WApWgrVhE9gGdoP94M1wNJwMZ8P58AG4Aq6DT8Jd8BX4NjwOc+FX8BIKoEgoOkoWpYkyQdmhPFEhqCgUB7UTVYgqR9Wh2lG9qEHUPRQXtYD6hMaiqWgGWhNtjnZG+6NZ6GT0TnQxuhLdjO5CD6DvoafQi+hvGApGEqOOMcO4YIIw0ZgMTAGmHNOI6cRcw4xjZjAfsFgsHauMNcY6Y4Oxcdjt2GLscWwHtg87ip3GLuFwODGcOs4C54lj4lJxBbhjuJO4y7gx3AzuI56El8Hr4R3xIXg2Pg9fjm/FX8KP4WfxKwQBgiLBjOBJiCBkEUoIDYRewl3CDGGFKEhUJloQ/YhxxN3ECmI78RrxCfEdiUSSI5mSvEmxpFxSBek06QZpivSJLERWI9uRQ8lp5APkJnIf+SH5HYVCUaJYU0IoqZQDlBbKVcozykc+Kp8WnwtfBN8uviq+Lr4xvtf8BH5Ffhv+LfzZ/OX8Z/nv8i8IEASUBOwEmAI7BaoEzgtMCiwJUgV1BT0FEwWLBVsFbwrOCeGElIQchCKE8oXqha4KTVNRVHmqHZVF3UNtoF6jztCwNGWaCy2OVkQ7RRumLQoLCRsIBwhnClcJXxTm0lF0JboLPYFeQj9Dn6B/FpESsRGJFNkn0i4yJrIsKiFqLRopWijaITou+lmMIeYgFi92SKxb7Kk4WlxN3Fs8Q/yE+DXxBQmahLkES6JQ4ozEI0lYUk3SR3K7ZL3kkOSSlLSUk1SS1DGpq1IL0nRpa+k46TLpS9LzMlQZS5lYmTKZyzIvGcIMG0YCo4IxwFiUlZR1lk2TrZUdll2RU5bzl8uT65B7Kk+UN5GPki+T75dfVJBR8FDIUWhTeKRIUDRRjFE8qjiouKykrBSotFepW2lOWVTZRTlbuU35iQpFxUolWaVO5b4qVtVENV71uOqIGqxmqBajVqV2Vx1WN1KPVT+uPqqB0TDVYGvUaUxqkjVtNNM12zSntOha7lp5Wt1ar7UVtEO0D2kPan/TMdRJ0GnQeawrpOuqm6fbq/tWT02PpVeld1+fou+ov0u/R/+NgbpBpMEJgweGVEMPw72G/YZfjYyNOEbtRvPGCsZhxtXGkyY0Ey+TYpMbphhTW9NdphdMP5kZmaWanTH701zTPN681Xxug/KGyA0NG6Yt5CyYFrUWXEuGZZjlT5ZcK1krplWd1XNreesI60brWRtVmzibkzavbXVsObadtst2ZnY77PrsUfZO9oX2ww5CDv4OlQ7PHOUcox3bHBedDJ22O/U5Y5zdnA85T7pIubBcWlwWXY1dd7gOuJHdfN0q3Z67q7lz3Hs9YA9Xj8MeTzYqbmRv7PYEni6ehz2feil7JXv96o319vKu8n7ho+uT4zPoS/Xd6tvq+8HP1q/E77G/in+af38Af0BoQEvAcqB9YGkgN0g7aEfQ7WDx4NjgnhBcSEBIY8jSJodNRzbNhBqGFoRObFbenLn55hbxLQlbLm7l38rcejYMExYY1hr2henJrGMuhbuEV4cvsuxYR1mvIqwjyiLmIy0iSyNnoyyiSqPmoi2iD0fPx1jFlMcsxNrFVsa+iXOOq4lbjveMb4pfTQhM6EjEJ4YlnmcLsePZA9ukt2VuG01STypI4iabJR9JXuS4cRpToJTNKT2pNEQMDKWppP2QNpVumV6V/jEjIONspmAmO3MoSy1rX9ZstmP2z9vR21nb+3Nkc3bnTO2w2VG7E9oZvrN/l/yu/F0zuU65zbuJu+N338nTySvNe78ncE9vvlR+bv70D04/tBXwFXAKJvea7635Ef1j7I/D+/T3Hdv3rTCi8FaRTlF50ZdiVvGt/br7K/avHog6MFxiVHLiIPYg++DEIatDzaWCpdml04c9DneVMcoKy94f2XrkZrlBec1R4tG0o9wK94qeYwrHDh77UhlTOV5lW9VRLVm9r3r5eMTxsRPWJ9prpGqKaj7/FPvTg1qn2q46pbryemx9ev2LhoCGwZ9Nfm5pFG8savzaxG7iNvs0D7QYt7S0SraWtMFtaW3zJ0NPjpyyP9XTrtle20HvKDoNTqedfvlL2C8TZ9zO9J81Odt+TvFcdSe1s7AL6srqWuyO6eb2BPeMnnc9399r3tv5q9avTRdkL1RdFL5Ycol4Kf/S6uXsy0t9SX0LV6KvTPdv7X98Nejq/QHvgeFrbtduXHe8fnXQZvDyDYsbF26a3Tx/y+RW922j211DhkOddwzvdA4bDXfdNb7bM2I60ju6YfTSmNXYlXv2967fd7l/e3zj+OiE/8SDydBJ7oOIB3MPEx6+eZT+aOVx7hPMk8KnAk/Ln0k+q/tN9bcOrhH34pT91NBz3+ePp1nTr35P+f3LTP4LyovyWZnZljm9uQvzjvMjLze9nHmV9GploeAPwT+qX6u8Pven9Z9Di0GLM284b1bfFr8Te9f03uB9/5LX0rMPiR9Wlgs/in1s/mTyafBz4OfZlYwvuC8VX1W/9n5z+/ZkNXF1NYnJYa5pARTSwlFRALxtAoASDAAV0YTEvnUNuTYCWte9CPOUGM959h+8rjPXMkYA1PcB4GcNgDvSV+UCoIQwP+I8+euHzKev/92RCM9SovT11gAiiyPSpG919e0qALgwAL4Or66uVKyufi1HtM57AC5vXNeuvNECJxHZTDXQ1fHtTz+Uy4v83f4Fdn68jYPl0OgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAvYSURBVGgFvVppc1zFFb2zaEbrSLZsy5aR7dgEsGXHG8QpliQ4gSK42KtSCcW35CekUimSjykqlUql8gPib+RTQpE4EAhQApvFFhgwSQXbgI2tXUKyrNFoNKPZcs7td997MxptJqHFTHffvufec7tv9+s3JlKpVMQrkeHy+NNRkadEIjsiEml0co5H8LGaTbQjlIWKLwvp6bD1rYbQ1109viLlnEj0ikj52S3RrmdohegIAxjID+yMx5LPRSORAyrlmPmz2oLw+4RXFwTtrP6f8aBwrljKP7Etue0yA4gMF0c/iEj0gKOzDMNqvujV060nWwT0BPV068kW47Ei57bGtxyKXCkM/TJWif46SBOPFzHhzKFdlrDM74QH0K6nW0/2JfGlSPlXkcH88HnYvs0ymn6sTVpLlbDeUu2lsJQvhQnLV4G/EC1XyjuoWMZeIJjF2uGa7XCfetSnjMXGwm2TsbZPGBNum+7a8JUdcQAaK5UycTgcHJlwOyxzcv1eUjebXZCLF0ZkaOiazKazUobpeDwqm7raZU/vTbJ5cwc9LYmndRbza7WTUq6jNt4Y+Tx7NWDtaUVwRIaB1reaauG2B1PSp9/+RAoLJRMtqr9xYJvs3ddTF2/KtbatbzX1rB0le4vA2uHlpIx9FpObzPRZT0zMyFsnLyxLnjb+dW5ARkevV9ly1h2PsG3qW5/tev7jnGk7WKhszyfLJpOxH27rRseX6mHg3TOXkC7UEGluTcqBg9s1bZLJmMzO5uVs/2WZGJ/R8f7Tn8mxhw5KvCGq+C/jP8oA6FZnGW2SMCL+zFOmTEEYbR/jtScn05KemVdy8YaY3Ht0j2zbvkGSyTgmJCptbY1yz3dvlabmhOpk5/IyMjKtfnxbtH8D/jWAcrmEIEiy7MihVhlrlTk5Zabjxl0wk1OzSoxfW7o7pKU1sQgfi0URVKevN4WglbySvnH/OIVAjma9GXbLybTyWr6cWrwqcIzf7LFUqvKes+x0FuMbGxsUwa9CgRudVpytG/Ufd6nhqNCwM+cZVQcIBcPIFhQetwF9021qcqlBjWvXMm5m2anBc8xKIwJ1voOpcIhQUDX4ev6RQvQDKmz4HydTPMfIXseq5Q4n2Kxt9K1lcnxWhgavVekTPzkxK4MDkHulqyvl+YWAPnzf9OVkVi/nH6eQl0LEeMbrVhwMFsqpeLLGprjsumWTXPpkQuX971yWqVsyuh+wh2ViLC0Xz4/5Drp71knHuibsE6wobJpfq9fiP/Lx9EXFMR0Cfmx57Dzz1rMUcroBolgsSt8rF2Quk6/r34Q8mb73wB49ocIzcmP+YeGDyY8qyShyOODifBljq41BbZ9yT5bPFeTc+4MyOuzOe4NY3bmxVQ7dsQ2nVNJErl7Gptn2AZ5uoVyQmYVZiU/OT0kylpBUQ0ri0Zjq+fNPZRSmp8Wn+IrT8IZ1jDoNiZjctneLTH6RqTqZ1AggX9vViWdBg9tTYFaLVz18Lee/BEeZYkayxazy0idxrpSXfOkLaY43S1tDW0CWx4+yD92N9J7E3PUOWrBgPHQ6m87JO6cuLSZPZtA7++6AHEaze2t7XbwFpBuakBr/88V5SRcyOL1wBHv+43h8YUYcgUxhTuYWspJKtmowkcAiKbjCgFDMiWuLpEH+zKnLks8XdTyGG2ipyGM3VHAavY8gKrf3SHcPb6WueCa1Q+ucDC0YoJ9caV4yhawUSgtKnJNKOfWi7trgrgo8FcpSkuncjIzOjcm13DRWZkHPaz6BeW7zj21OqWtXMPPzcrqG/JG7dygH+2pNeXmPID54b0CGB6d9PG3Rtj0XWBfLRZnJz8jY/LhMzYNHMef8K4/APx5kWA72EQ5wWhgZRZlSRmYXMpKIxqW5oVmakGIxnosotgJMmzNvXZFCnk9WEc78N+/crsekCrwvBtQPvUwapxT8fPjeoN6Ftva0+35JPI90zmK2cyX8CIHir4jHj1mlQq+K61msmjaCWpUNWpGFUgGGr8u0zEgDNnoiltSNP58uyYdnRvycJ/k7QH5dZ5MfIE2zJLDBj9yFIN4Ogjjbf0XS2U7ZvL1VV7pQRorAuUv9wD9lbsKshgRKnHDdxOpBvwjiUmoM+uVyzYyVEQw/Bbk8lpG/PHsO5MvS3tYiKdw4H3xkr0RbCpLGauAnGpm8jgsb/hYKRUnjyONq7zzYKn/782XcRq9LJpuTvn6RBx7eLb37t6jvlfwbVwsIKeTlj66LXeKYQiDtHZc6A6Hx8bFZee5PH0lu3m3YzHxW7n/8Zkl0lDRv6YTE3//4U/Mn9+V2qDQSi8jRh3ci+I8QgBt++cR5ze/e/V2cfxUu55+2yQlrINESNy6vyfopY/OUpOS1w3W4/eoLF33yyca4PPbkXtm0uUWvBmG8o+e+w/hEY0wef3KfbNjU4qv0vfSJHsNhfBhT3Xaci6WieO8DiBcJxf1gtbv3B32V8wSAzg8ev03acKqQ/KM/2isbu1p8XBjvs0MjjGc72RTTwDcAG8WqHHtiNx5ycd/Ocv7NFtdBL3N0pDc+3ccUU+AqngxuUQN5Wyohjz7ZKwvI9Y1dzVDFn20c7iwWr3IdBsBURVE59FHrBPy4V6Ym5kRPIw7W4Ov5pxGqcbPrKaQ7Grb54GJ0VYVaKCo2FMim2pOqyxVZFu8ZIxHfK/DEEJtIRPFQS+meW4t/w8eZW0pAGbojTGfJ8Wawvl/jb7WO4WtZvAUAP4azelX4FfzrMRrMOpMBzOkB//kFs6UpAgGHwNjvU2dFPHQ4204X32vFh/Rr/eMu5Mg66h55dUVH+JAwUP64dpE2HOQ4i5pg6AH+zBuDbsz7Hh1Oy+Zu9+bG/bASXmGr8B8vldwVoMobOkbYahuv7Zvcaq7GO31DcvHfUybS+uXnPpP7H9slm7qbHfmq0cUd82O1adT2+eOupgBr/WCpScI+nF0bM5nVTIswnvvpzVcGqsjziGQpFMryz+cvyfiI99IPH7X4G/HvngNeEEoMjKtJBQGRIHX8gLhOXr+EK8bJlwbks/PTNlmy89YOOfbDXcJ3ZpYignjl+c9lbITXCtgN4W1SKFuLf12BqpmomVWY81cj7NAwdFbAXef1F6/KlU+DV8mv966TO+/rlo4NSVwzdiAI97bHIF796xUZH+aLSbDqPuk1+o9yDxDMWh/XobaOwSAf2fyYjmEYRD5fkNdfGJChz4Nf527Zt07u+E6XSxHotLbjRf6RbVVBvHbiqqaT2TLbYS46toJ//DqNOYaS1eG2ySy1LF20VvJFeeMFvMQPzvlps/vgejl8zya3amYbaZZan5Cjj/RUBdF3YkC+GOO/IdyYf+LwRuZtRKuxAj5RPDF1aUNETJ+vjq//fVAmRtyPuoxg7+3rZf+RziXxqY6E3PvwTXoPon6xUHE2RufwXLEDYXX+XTojAJ1dzJATkLC3IirzjMG4roYXHK/RfSeGZGrcvTWRzP5vdcqew+tXxLd1NMi9D22tCuLki8O6Em7iVvZvGUCuuE673C96e0D3QR2Z5ih0uBdO/WNYrk8GP2AduKtTbt6X0j20Ep7jLe0x+faxzQjCvZ5yJU6+OKI/iq0GTx37MIUybhWCpbMTQX925Epg5i2VONu7D3dI1PmWQ/d0ys7dbarjZtBSweHMtuFNhytx94NBELsPdeiqUG85/4bXulTORH5/6g9n8OZ1BNcNzV3eU5AvrqDJxxCVVU6p1x69msXPJhW5aRdeSrxhX28VeOcAvyVdL8jkSE527uEkmCFvdBn/TqPSj9uoHI9K+Yhd570BVC4QvQa7ng7RCYPq6mlETHyxhlN81opXO8DziG1NtSAleD+ywhlY3j/xYHKcmMhv+373GuqjekskIQrx8cygQ2MEhORGnjJv/CvFi/T9/OjPvs9TqFJYyD9VqpT7eERqZDqjzOHgVOJK6BjCUHlI1/bIV4UHlz5yBo+K/t8qmETOYuSZV3/zU/xY95NKpNyL624r5Sy8+nL+g1VxfTcWrJRboWBMwf8jPLZ2Bm9s/4G540/f94s/kjzt/xfbZ3bQjAJ2DAAAAABJRU5ErkJggg==</pre>
- </div>
- <div title="SiteInfo" creator="fancybox" modifier="fancybox" created="201101211613" modified="201102120022" tags="presentation" server.title="SiteInfo" server.page.revision="251902" server.etag=""fancybox_public/SiteInfo/251902;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="17ebd37b58c160e18f70fc59a2f403f53dfb4c1e">
- <pre>@fancybox site adds FancyBoxPlugin@fancybox for easy usage with TW. It includes the FancyBox library from http://fancybox.net. Have fun!</pre>
- </div>
- <div title="SiteSubtitle" creator="fancybox" modifier="fancybox" created="201101181525" modified="201101181525" tags="excludeLists excludeSearch" server.title="SiteSubtitle" server.page.revision="47611" server.etag=""fancybox_public/SiteSubtitle/47611;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="037a796b07f748584d280b286c6bd88ed85090cc">
- <pre>a TiddlySpace</pre>
- </div>
- <div title="SiteTitle" creator="fancybox" modifier="fancybox" created="201101181525" modified="201101181525" tags="excludeLists excludeSearch" server.title="SiteTitle" server.page.revision="47612" server.etag=""fancybox_public/SiteTitle/47612;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="9d9d467c1282d7649a887a5354d025af342b2fdb">
- <pre>fancybox</pre>
- </div>
- <div title="SlideShowConfig" creator="fancybox" modifier="pmario" created="201101211613" modified="201102222329" server.title="SlideShowConfig" server.page.revision="261802" server.etag=""fancybox_public/SlideShowConfig/261802;679c808ea83728c9f0922e0ac831727f87829617"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="726c99a4f1a2e5b9874e90a5fba0737f14760837">
- <pre>!Fancy
- {{{
- labelSection: label
- padding: 0
- // no visible border
- transitionIn: none
- transitionOut: none
- type: image
- changeFade: 0
- }}}
- !Default
- {{{
- // === FancyBoxPlugin specific parameters
- thumbHost: http://fancybox-thumbs.tiddlyspace.com/
- // prefix if thumbs are loaded from other space
- picHost: http://fancybox-pics.tiddlyspace.com/
- // picture prefix last / is important !!!
- }}}
- !Offline
- {{{
- thumbHost: ./thumbs/
- picHost: ./pics/
- }}}</pre>
- </div>
- <div title="SlideShowPanorama" creator="pmario" modifier="pmario" created="201102072134" modified="201102072134" server.title="SlideShowPanorama" server.page.revision="245627" server.etag=""fancybox_private/SlideShowPanorama/245627;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_private" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_private" server.permissions="read, write, create, delete" server.content-type="" _hash="676acd17968eb95df4840e1eee0e99a1f754a02d">
- <pre>{{{
- <<tiddler SlideShowTemplate with:panorama "fancy-thumbs">>
- }}}
- <<tiddler SlideShowTemplate with:panorama "fancy-thumbs">>
- </pre>
- </div>
- <div title="SlideShowTemplate" creator="pmario" modifier="pmario" created="201102072134" modified="201102072134" server.title="SlideShowTemplate" server.page.revision="245630" server.etag=""fancybox_private/SlideShowTemplate/245630;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_private" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_private" server.permissions="read, write, create, delete" server.content-type="" _hash="8c5cdffd3ecb5c405d52edf65389fb0ddd1e0fa7">
- <pre><html>
- <style>
- .fancy-thumbs {
- margin: .2em;
- }
- </style>
- </html>
- <script>
- var list = store.getTaggedTiddlers("$1");
- var out = '';
- for (var i=0; i < list.length; i += 1) {
- jQuery('<span class="$2"><a rel="$1" href=%0%1 title=""><img alt="" src="%1" /></a></span>'.format(['http://fancybox-pics.tiddlyspace.com/', list[i].title] )).appendTo(place)[0];
- }
- </script>
- <<fancyBox selector:".$2 a" defaults:SlideShowDefaults>>
- </pre>
- </div>
- <div title="SlideShowTemplateInfo" creator="pmario" modifier="pmario" created="201102072133" modified="201102072133" server.title="SlideShowTemplateInfo" server.page.revision="245626" server.etag=""fancybox_private/SlideShowTemplateInfo/245626;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_private" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_private" server.permissions="read, write, create, delete" server.content-type="" _hash="44bf9229482d4aed01fc77b21a268d5894081d26">
- <pre>!Info
- This template is only used for easy experimenting. It will be assimilated into the FancyBoxPlugin, when I know what makes sense.
- {{{
- <html>
- <style>
- .fancy-thumbs {
- margin: .2em;
- }
- </style>
- </html>
- <script>
- var list = store.getTaggedTiddlers("$1");
- var out = '';
- for (var i=0; i < list.length; i += 1) {
- jQuery('<span class="$2"><a rel="$1" href=%0%1 title=""><img alt="" src="%1" /></a></span>'.format(['http://fancybox-pics.tiddlyspace.com/', list[i].title] )).appendTo(place)[0];
- }
- </script>
- <<fancyBox selector:".$2 a" defaults:SlideShowDefaults>>
- }}}</pre>
- </div>
- <div title="SlideShowTest (old)" creator="pmario" modifier="pmario" created="201102072134" modified="201102072134" server.title="SlideShowTest (old)" server.page.revision="245629" server.etag=""fancybox_private/SlideShowTest%20(old)/245629;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_private" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_private" server.permissions="read, write, create, delete" server.content-type="" _hash="b73d0ddba65d3bd96217193d479221bb01c6cc31">
- <pre>{{{
- <<tiddler SlideShowTemplate with:thumb "fancy-thumbs">>
- }}}
- <<tiddler SlideShowTemplate with:thumb "fancy-thumbs">>
- </pre>
- </div>
- <div title="Stack.png" creator="pmario" modifier="pmario" created="201101311023" modified="201101311023" tags="attachment" server.title="Stack.png" server.page.revision="227365" server.etag=""fancybox_public/Stack.png/227365;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="b4b35ba77f77c81e5d80289033a63396da593162">
- <pre>!title
- !usage
- {{{[img[Stack.png]]}}}
- [img[Stack.png]]
- !notes
- attached by FileDropPlugin
- !type
- image/jpg
- !file
- ./thumbs/Stack.png
- !url
- http://fancybox-thumbs.tiddlyspace.com/Stack.png
- !link
- [[Stack.png|http://fancybox-pics.tiddlyspace.com/Stack.png]]
- !!!!!end
- </pre>
- </div>
- <div title="StackImgStyleSheet" creator="pmario" modifier="pmario" created="201102161421" modified="201102161542" server.title="StackImgStyleSheet" server.page.revision="255647" server.etag=""fancybox_public/StackImgStyleSheet/255647;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="2255491364ae155a341bae2b6129e3f09c782e1a">
- <pre>/*{{{*/
- /*== Only available at Mozilla based and WebKit browsers ==*/
- .stackLeft {
- box-shadow: 0 0 5px black;
- background: white;
- -moz-box-shadow: 0 0 5px black;
- -moz-transform: rotate(-5deg);
- -webkit-transform: rotate(-5deg);
- -webkit-box-shadow: 0 0 5px black;
- width: -moz-fit-content;
- width: intrinsic;
- }
- .stackRight {
- box-shadow: 0 0 5px black;
- background: white;
- -moz-box-shadow: 0 0 5px black;
- -moz-transform: rotate(12deg);
- -webkit-transform: rotate(12deg);
- -webkit-box-shadow: 0 0 5px black;
- }
- .stackNormal {
- box-shadow: 0 0 5px black;
- background: white;
- -moz-box-shadow: 0 0 5px black;
- -moz-transform: rotate(-7deg);
- -webkit-transform: rotate(-7deg);
- -webkit-box-shadow: 0 0 5px black;
- }
- .stackNormal img {
- padding: 5px 5px 2px 5px;
- }
- /*}}}*/
- </pre>
- </div>
- <div title="StoryGlueMacro" creator="pmario" modifier="pmario" created="201008061923" modified="201009181705" tags="PresentationPackage excludeLists systemConfig" server.title="StoryGlueMacro" server.page.revision="107273" server.etag=""neui-em_public/StoryGlueMacro/107273;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" _hash="67714582b1f134a4020b09545b2e1ff20f0ce6dd">
- <pre>/***
- |''Name:''|StoryGlueMacro|
- |''Description:''|Makes SelectStoryMacro and NavigationMacro work together|
- |''Author:''|Mario Pietsch|
- |''Source:''|http://a-pm.tiddlyspot.com|
- |''Version:''|0.5.2|
- |''Status:''|beta|
- |''Date:''|2010.02.06|
- |''Requires:''|SelectStoryMacro, NavigationMacro|
- |''License:''|[[Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]]|
- |''~CoreVersion:''|2.2.2|
- !!!!!Usage:
- <<<
- Add the macro to the ViewTemplate, specifying the tag eg:"story" and a cookie: eg:"ACTIVESTORY" to navigate between the possible stories.
- Find the line:
- {{{
- <div class='viewer' macro='view text wikified'></div>
- }}}
- ''and add the following line below:''
- {{{
- <div class='viewer' macro='storyGlue story ACTIVESTORY</div>
- }}}
- If you are allready using "navigation" macro. Replace "navigation" macro because it is called by StoryGlueMacro to handle navigation.
- Don't delete it comment it !!
- <<<
- !!!!!Parameter
- <<<
- General Format:
- {{{
- <div class='viewer' macro='storyGlue storyTag COOKIENAME</div>
- }}}
- storyTag: The macro searches all tiddlers tagged: "storyTag"
- >If the tiddler is found in one or more stories. "selectStory" macro is activated instead of "navigation" macro to switch to a new story if you want.
- >If it doesn't find a matching story nothing is displayed.
- COOKIENAME is last part of an txtSelectStory option cookie, that storyGlue will look at.
- >The cookie is used, to store the name of the actual story, that will be used for navigating.
- >The cookie can be manipulated also by SelectStoryMacro if the same name is used.
- >Bee carefull if you use a different name. Look at my examples!
- >If you don't use SelectStoryMacro you will need a little program somewhere in your init functions.
- >{{{config.options.txtSelectStoryCOOKIENAME = "yourTiddlerThatContainsAStoryAndIsTaggedWithXXXX";}}}
- >Better have a look at [[zzMptwUserConfigPlugin]]
- The option: {{{<<option txtSelectStoryACTIVESTORY>>}}}: ''<<varDisplay {{config.options.txtSelectStoryACTIVESTORY}}>>''
- contains the active story, that is used in [[a-pm presentation manager|http://a-pm.tiddlyspot.com]].
- If you click a tiddler, which is not part of the active story, but of any tiddler tagged: "story", storyGlue will activate the SelectStoryMarcro. SelectStoryMacro will display all stories found in a different color (default: blue). If you click on of the small sqares, it will activate this story, which can be used for navigatin now.
- The SelectStoryMacro can also work stand alone. See [[SelectStoryMacro]] for more details.
- <<<
- !!!!!Attention
- <<<
- There is no limit using different cookie names. ''But be warned: If you get confused. It is not my fault :)''
- If your cookie name is eg: MYSTORY the option which contains the active story will be: {{{<<option txtSelectStoryMYSTORY>>}}}
- It is always: txtSelectStory + yourCookieName.
- In viewTemplate call it with:
- {{{
- <div class='viewer' macro='storyGlue story MYSTORY</div>
- }}}
- <<<
- !!!!!Example:
- <<<
- [[Demo|Story1]]
- <<<
- !!!!!Revision History
- <<<
- *Version: 0.5.1 - 2010.01.30
- **commented the displayMessage if an empty story is selected from SelectStoryMacro
- <<<
- ***/
- /*{{{*/
- //
- //!BEGIN-PLUGIN-CODE
- if(!version.extensions.StoryGluePlugin) { //# ensure that the plugin is only installed once
- version.extensions.StoryGluePlugin = { installed: true };
- if(!config.extensions) { config.extensions = {}; } //# obsolete from v2.4.2
- config.macros.storyGlue= {
- defineStoryMsg: "~StoryGlue: option name is not defined!\n"+
- "Read the Documentation!\n" +
- "Check your ~ViewTemplate!\n" +
- "Check: config.options.",
-
- handler: function(place, macroName, params, wikifier, paramString, tiddler){
- if (!config.macros.navigation)
- return false;
- if (!config.macros.selectStory)
- return false;
- if (config.options.chkDisableStoryGlue== undefined)
- config.options.chkDisableStoryGlue= false;
- var sets = store.getTaggedTiddlers(params[0]); // get tiddlers tagged eg:'story'
- var optId = config.macros.selectStory.optPreTxt + params[1]; // get the last part of the cookie name
- var txtArray = [];
- for (var i = 0; i < sets.length; i++) {
- txtArray.push(sets[i].title);
- }
- var navIndex = txtArray.indexOf(config.options[optId]);
- if (navIndex == -1) {
- // console.log(this.defineStoryMsg+optId);
- return false; // can only be if option is undefined or different pc / cookie
- }
- var tiddlers = store.getTiddlerText(sets[navIndex].title).readBracketedList(); // read tiddlers in active story
- var tidIndex = tiddlers.indexOf(tiddler.title);
-
- // storyline ok .. use navigation macro
- if (tidIndex != -1) {
- var p = "tiddlers:{{store.getTiddlerText('" + sets[navIndex].title + "').readBracketedList()}}";
- invokeMacro(place, 'navigation', p, wikifier, tiddler);
- return false;
- }
- if (config.options.chkDisableStoryGlue)
- return false;
- if (this.debug) console.log('not disabled:', tiddlers);
- if (tidIndex == -1) {
- // search other stories for this tiddler.
- var text = params[1]+' '+'tiddlers: [[';
- var found = false;
- for (var i=0; i<txtArray.length; i++) { //!!!!!!! better search needed !
- tiddlers = store.getTiddlerText(txtArray[i]).readBracketedList(); // read tiddlers in active story
- tidIndex = tiddlers.indexOf(tiddler.title);
- if (tidIndex != -1) {
- found = true;
- text = text + '"' + txtArray[i] + '" ';
- } // if tidIndex ..
- } // for i < txtArray.len ..
- text = text+']]';
- // console.log( 'text: ' + text);
- // console.log( 'found: ' + found);
- // var text = params[1]+" "+ "tiddlers: {{ var array = store.filterTiddlers('[tag[" + params[0] +
- // "]]');var text = ''; for (var i=0; i<array.length; i++)"+
- // "{text = text + '[[' + array[i].title + ']]';};}}"; // be carefull evaluated string !!!
- if (found) invokeMacro(place, 'selectStory', text, wikifier, tiddler);
- } // handler
- } // config macro
- }
- } //# end of "install only once"
- /*}}}*/</pre>
- </div>
- <div title="StyleSheet" creator="fancybox" modifier="pmario" created="201101211613" modified="201102210003" server.title="StyleSheet" server.page.revision="260053" server.etag=""fancybox_public/StyleSheet/260053;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="1a29a57b1be95a51aaa5eb6a486c427172b90921">
- <pre>/*{{{*/
- [[FancyBoxStyleSheet]]
- [[StackImgStyleSheet]]
- [[RoundaboutStyleSheet]]
- #tip7-title { text-align: left; overflow: auto; }
- #tip7-title b { display: block; margin-right: 80px; }
- #tip7-title span { float: right; text-align: right; }
- .twfb-list {
- margin: .2em;
- }
- a img{
- padding: 5px;
- background: white;
- }
- .trImageBackground a img{
- padding: none;
- background: none;
- }
- /*}}}*/</pre>
- </div>
- <div title="StyleSheetBackstage" creator="osmosoft" modifier="osmosoft" created="201102181424" modified="201102181424" tags="excludeLists excludeSearch" server.title="StyleSheetBackstage" server.page.revision="257488" server.etag=""tiddlyspace/StyleSheetBackstage/257488;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/tiddlyspace" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="tiddlyspace" server.permissions="read" server.content-type="" _hash="423f785fa9fb447324730eb435cc35f9c3620417">
- <pre>/*{{{*/
- .publicLightText {
- color: #C0E5FC;
- }
- .privateLightText {
- color: #E2C1D6;
- }
- .tiddler .error.annotation .button{
- display: inline-block;
- }
- #backstageArea #backstageToolbar a.task_tiddlyspace {
- margin: 0px auto auto -75px;
- font-weight: bold;
- width: 150px;
- line-height:24px;
- font-size: 1.2em;
- padding: 0;
- top: 0;
- position: absolute;
- left: 50%;
- }
- .task_tiddlyspace .image,
- .task_tiddlyspace .svgIcon {
- margin-top: -2px;
- display: inline;
- }
- .task_tiddlyspace .svgIconText {
- display: none;
- }
- .task_tiddlyspace .logoText {
- position: absolute;
- top: 0px;
- margin-left: 5px;
- }
- #backstageArea {
- z-index: 49;
- color: white;
- background-color: black;
- background: -webkit-gradient(linear,left bottom,left top,color-stop(0, #222),color-stop(0.5, #333),color-stop(1, #555));
- background: -moz-linear-gradient(center bottom,#222 0%, #333 50%, #555 100%);
- /* For Internet Explorer 5.5 - 7 */
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ff555555, endColorstr=#ff222222);
- /* For Internet Explorer 8 */
- -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#ff555555, endColorstr=#ff222222)";
- height: 24px;
- padding: 0;
- border-bottom: solid 1px black;
- }
- .backstageBackground {
- fill: black;
- }
- #backstageButton {
- overflow: hidden;
- }
- #backstageButton #backstageShow,
- #backstageButton #backstageHide {
- margin: 0px;
- padding: 0px;
- }
- #backstageButton #backstageShow:hover,
- #backstageButton #backstageHide:hover {
- background: none;
- color: none;
- }
- #backstageShow {
- margin-right: -3px;
- margin-top: -3px;
- }
- #backstageShow .svgIcon {
- left: 8px;
- position: relative;
- top: -5px;
- }
- #messageArea {
- top: 50px;
- }
- #backstageToolbar {
- position: relative;
- }
- #backstageArea a {
- padding: 0px;
- margin-left: 0px;
- color: white;
- background: none;
- }
- #backstageArea a:hover {
- background-color: white;
- }
- #backstage .tabContents ol,
- #backstage .tabContents ul {
- padding: auto;
- }
- #backstageButton a {
- margin: 0;
- }
- .backstagePanelBody,
- .backstagePanelBody .tabContents ul {
- padding: 5px;
- margin: 5px;
- }
- #backstage #backstagePanel {
- margin-left: 5%;
- padding: 0em;
- margin-right: 5%;
- }
- #backstageToolbar a {
- position: relative;
- }
- #backstageArea a.backstageSelTab,
- #backstageToolbar .backstageTask {
- line-height: 24px;
- color: #767676;
- }
- .backstageTask .externalImage,
- .backstageTask .image {
- display: inline;
- }
- .backstageTask .txtUserName,
- .backstageTask .spaceName {
- color: #fff;
- }
- .backstageSelTab .txtUserName,
- .backstageSelTab .spaceName,
- a:hover .txtUserName,
- a:hover .spaceName {
- color: #000;
- }
- .spaceSiteIcon {
- margin-right: 10px;
- }
- .userSiteIcon {
- margin-left: 10px;
- }
- #backstageToolbar .task_space {
- position: absolute;
- top: 0px;
- left: 0%;
- }
- #backstageToolbar .task_user,
- #backstageToolbar .task_login {
- display: block;
- position: absolute;
- top: 0px;
- right: 5%;
- }
- #backstageToolbar .task_login img {
- position: relative;
- display: inline;
- }
- #backstageToolbar .task_login img,
- #backstageToolbar .task_user img {
- float: right;
- }
- #backstageToolbar .task_space .svgIcon {
- float: left;
- position: relative;
- z-index: 2;
- }
- #backstageToolbar a span {
- z-index: 2;
- }
- #backstageToolbar .spaceSiteIcon {
- float: left;
- }
- a.backstageTask {
- display: block;
- }
- #backstageToolbar a span.txtUserName,
- #backstageToolbar a .txtUserName span {
- display: inline;
- float: none;
- }
- #backstage .deleteButton {
- margin-left: 0.3em;
- font-weight: bold;
- color: red;
- font-size: 1.6em;
- }
- #backstage .deleteButton:hover {
- background: none;
- }
- #backstageArea .siteIcon {
- display: inline;
- }
- #backstagePanel .TiddlySpaceLogin {
- display: inline;
- }
- .backstagePanelBody .tabContents .button {
- display: block;
- }
- .backstagePanelBody .tab {
- margin: 0 0 0 0.6em;
- padding: 0.4em 0.5em 1px 0.5em;
- }
- #backstage .tabContents{
- padding: 1.5em;
- }
- #backstage .wizard {
- border: 0px;
- }
- #backstage .txtSpaceTab li {
- border: 1px solid #ddd;
- background: #eee;
- list-style: none;
- margin: 0.5em;
- padding: 0.5em;
- width: 80%;
- }
- #backstage .txtSpaceTab li.annotation {
- border: 2px solid [[ColorPalette::SecondaryMid]];
- }
- #backstage div li.listLink {
- border: 0px;
- width: 78%;
- font-size: 0.7em;
- }
- #backstage div li.listTitle {
- font-weight: bold;
- text-decoration: underline;
- font-size: 1em;
- background: #ccc;
- width: 100%;
- }
- #backstage div.txtSpaceTab li .deleteButton {
- float: right;
- }
- #backstage fieldset {
- border: solid 1px [[ColorPalette::Background]];
- }
- #backstage .viewer table,#backstage table.twtable {
- border: 0px;
- }
- #backstageToolbar img {
- padding: 0;
- }
- #backstage .wizard,
- #backstage .wizardFooter {
- background: none;
- }
- .viewer td, .viewer tr, .twtable td, .twtable tr {
- border: 1px solid #eee;
- }
- #backstage .inlineList ul li {
- background-color: [[ColorPalette::Background]];
- border: solid 1px [[ColorPalette::TertiaryMid]];
- display: block;
- float: left;
- list-style: none;
- margin-right: 1em;
- padding: 0.5em;
- }
- .backstageClear, .inlineList form {
- clear: both;
- display: block;
- margin-top: 3em;
- }
- .tiddlyspaceMenu {
- text-align: center;
- }
- span.chunkyButton {
- display: block;
- padding: 0;
- margin: 0;
- border: solid 2px #000;
- }
- span.chunkyButton a.button, span.chunkyButton a:active.button {
- white-space: nowrap;
- font-weight: bold;
- font-size: 1.8em;
- color: #fff;
- background-color: #04b;
- text-align: center;
- padding: 1em 3em;
- margin: 0;
- border-style: none;
- border-top: solid 1px #fff;
- display: block;
- }
- .chunkyButton {
- width: 18em;
- }
- span.chunkyButton a.button:hover {
- background-color: #014;
- border-style: none;
- color: #fff;
- border-top: solid 1px #8cf;
- }
- a.baskstageTask.task_login,
- a.baskstageTask.task_user {
- _width: 200px;
- _text-align: right;
- }
- #backstageArea #backstageToolbar .task_login img,
- #backstageArea #backstageToolbar .task_user img {
- _display: inline;
- _float: none;
- }
- #backstage .unpluggedSpaceTab .wizard,
- .unpluggedSpaceTab .wizard {
- background: white;
- border: 2px solid #CCC;
- padding: 5px;
- }
- .syncKey .keyItem {
- border: 1px solid black;
- display: inline-block;
- margin: 0.2em;
- padding: 0.1em 0.1em 0.1em 0.1em;
- }
- .keyHeading {
- font-size: 2em;
- font-weight: bold;
- margin: 0.4em 0em -0.2em;
- }
- .unpluggedSpaceTab .putToServer,
- .unpluggedSpaceTab .notChanged {
- display: none;
- }
- .tiddlyspaceMenu ul {
- margin: 0;
- padding: 0;
- }
- .tiddlyspaceMenu ul li {
- list-style: none;
- }
- .unsyncedChanges .unsyncedList {
- display: block;
- }
- .unsyncedList {
- display: none;
- }
- /* TODO: This is a presentational fix for a data problem that
- ought to go away with sync refactorings. See:
- https://github.com/TiddlySpace/tiddlyspace/pull/536#commitcomment-216317
- */
- .notFound td .externalLink {
- display: none;
- }
- /*}}}*/</pre>
- </div>
- <div title="StyleSheetHeaderMp" creator="pmario" modifier="pmario" created="201008061923" modified="201012280948" tags="excludeLists" server.title="StyleSheetHeaderMp" server.page.revision="107280" server.etag=""neui-em_public/StyleSheetHeaderMp/107280;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" _hash="d45db206eeb8f23a3cc0b3f74b9a339f644fb671">
- <pre>/*{{{*/
- .headerForeground {
- position: relative;
- text-align: right;
- }
- .header {
- width: 100%; /* for ie */
- }
- #contentWrapper {
- position: relative;
- padding-top: 1px;
- top: -1px;
- }
- .header {
- position: relative;
- background-color: [[ColorPalette::PrimaryLight]];
- }
- .siteTitle {
- display: block;
- }
- /*}}}*/</pre>
- </div>
- <div title="StyleSheetMediaPrint" creator="pmario" modifier="pmario" created="201008111759" modified="201009181705" server.title="StyleSheetMediaPrint" server.page.revision="107282" server.etag=""neui-em_public/StyleSheetMediaPrint/107282;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" _hash="8a6b652b9b73b1242f11a0c95048f48da64135da">
- <pre>/*{{{*/
- /* make it print a little cleaner */
- /* FireFox only prints one page. Google Chrome works. */
- @media print {
- /* basic setting */
- #displayArea {
- font:11px/120% Arial, serif;
- background-color: white !important;
- background-image: none !important;
- color:black;
- width: 95%;
- }
- #sidebarSearch,
- .clear,
- .topMenu,
- .quickopentag a.button,
- .miniTag,
- .noPrint,
- .tagglyTagging {
- display: none ! important;
- }
- /* not sure if we need all the importants */
- .tiddler {
- -moz-box-shadow: none;
- -web-box-shadow: none;
- boder:none ! important;
- border-style: none ! important;
- margin:0px ! important;
- padding:0px ! important;
- padding-bottom:2em ! important;
- display:inline;
- }
- .headerShadow {
- visibility: hidden ! important;
- }
- .tagglyTagged .quickopentag, .tagged .quickopentag {
- /* border-style: none ! important; */
- }
- .siteIcon,
- .spaceSiteIcon {
- display: none ! important;
- }
- }
- /*}}}*/
- </pre>
- </div>
- <div title="StyleSheetMenuBarMp" creator="pmario" modifier="pmario" created="201008171536" modified="201008181527" tags="excludeLists" server.title="StyleSheetMenuBarMp" server.page.revision="107284" server.etag=""neui-em_public/StyleSheetMenuBarMp/107284;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" _hash="4cfa78a00509def7bff45f02e58f4c0e43e43a0e">
- <pre>/*{{{*/
- #menuBar {
- position: relative;
- background-color: [[ColorPalette::PrimaryMid]];
- min-height: 1em;
- overflow: hidden;
- font-size: 1.1em;
- /* if you have a light bar border would be fine */
- /*
- border-top: 1px solid [[ColorPalette::PrimaryDark]];
- border-bottom: 1px solid [[ColorPalette::PrimaryDark]];
- */
- width: 100%; /* for ie 6 */
- }
- /* horizontal main menu stuff */
- .topMenu, .topMenu a{
- padding-top: 0.2em;
- padding-bottom: 0.2em;
- }
- .topMenu ul,
- .topMenu ol {
- list-style:none;
- padding:0;
- margin: 0;
- }
- .topMenu li {
- float: left;
- }
- #mainMenu {
- width:auto; /*-- new in emastic --*/
- position:relative; /*-- new in emastic --*/
- text-align:right;
- font-size:1.1em;
- padding: 0.5em 0.5em 0; /* same as box */
- }
- #mainMenu a {
- padding: 0.2em 0.2em;
- }
- #mainMenu a:hover {
- background-color: [[ColorPalette::PrimaryMid]];
- color: [[ColorPalette::Background]]
- }
- #sidebarOptions {
- color: [[ColorPalette::PrimaryDark]];
- }
- #sidebarOptions {
- min-height: 1em;
- }
- #sidebarOptions .button, #sidebarOptions .tiddlyLink, #sidebarOptions a,
- .topMenu .button, .topMenu .tiddlyLink, .topMenu a {
- margin-left: 0.5em;
- margin-right: 0.5em;
- padding-left: 3px;
- padding-right: 3px;
- color: [[ColorPalette::PrimaryPale]];
- border: none;
- display: inline;
- }
- #sidebarOptions .button:hover, #sidebarOptions .tiddlyLink:hover,
- .topMenu .button:hover, .topMenu .tiddlyLink:hover {
- color: [[ColorPalette::PrimaryDark]];
- background: [[ColorPalette::PrimaryPale]];
- }
- /*}}}*/</pre>
- </div>
- <div title="StyleSheetSideBarMp" creator="pmario" modifier="pmario" created="201008111134" modified="201008210933" tags="excludeLists" server.title="StyleSheetSideBarMp" server.page.revision="107292" server.etag=""neui-em_public/StyleSheetSideBarMp/107292;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" _hash="eccd82935e5e57294086d55ce5ff8b75a7a9ac6f">
- <pre>/*{{{*/
- #sidebar .wizard table {
- margin: 0px;
- }
- #sidebarSearch {
- margin: 0.2em 1em 0;
- position: relative;
- }
- #sidebarSearch .txtOptionInput {
- width: 100%;
- margin-top: 5px;
- }
- #sidebarSearch .searchButton {
- padding: 0.2em;
- color: [[ColorPalette::Background]];
- }
- /* the borders look wrong with the body background */
- #sidebar .button {
- border-style: none;
- }
- /*-- new vor FreeStyle --*/
- .tabContents {
- overflow: auto;
- }
- #sidebarTabs {
- }
- #sidebarTabs .tabContents{
- width: auto;
- }
- #sidebarTabs .sliderpanel a{
- display: inline;
- }
- #sidebarTabs a.button,
- #sidebarTools a.button {
- margin:0 0.2em;
- padding:0.2em 0.3em;
- display:block;
- }
- .sidebarBox { /*-- new for FreeStyle --*/
- padding-top: 0.3em;
- }
- /***
- This fixes a problem with the tabs slider
- ***/
- #sidebarTabs .button {
- margin:0em 0.2em;
- padding:0.2em 0.3em;
- display:block;
- }
- #sidebarTools .sliderpanel,
- #sidebarOptions .sliderpanel {
- margin: 0 0.5em;
- }
- /* remove fixed size from inputs eg: search and password in sidebar */
- .txtOptionInput, .pasOptionInput {
- width: 90%;
- }
- /* adjust spacing for the above */
- #sidebarOptions .input {
- margin: 0.4em 5%;
- }
- /*}}}*/</pre>
- </div>
- <div title="StyleSheetTiddler" creator="osmosoft" modifier="osmosoft" created="201102181425" modified="201102181425" tags="excludeLists excludeSearch" server.title="StyleSheetTiddler" server.page.revision="257509" server.etag=""system-theme_public/StyleSheetTiddler/257509;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/system-theme_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="system-theme_public" server.permissions="read" server.content-type="" _hash="1a28a9b1acf2996cdfbb522f52f0e56353d9f883">
- <pre>/*{{{*/
- .tiddler .originButton div {
- display: inline-block;
- }
- .tiddler .spaceSiteIcon .siteIcon {
- _display: inline; /* IE doesn't like inline-block */
- }
- .tiddler .originButton {
- display: block;
- }
- .selected .tagging,
- .selected .tagging:hover {
- border: none;
- background: none;
- }
- .tagging {
- float: none;
- background: none;
- border: none;
- }
- .tagging li.listTitle {
- margin-left: 0px;
- }
- .tagging li {
- margin: 0 8px;
- }
- .tagging .tiddlyLink {
- -webkit-border-radius: 3px;
- -moz-border-radius: 3px;
- -o-border-radius: 3px;
- border-radius: 3px;
- padding: 1px 2px;
- line-height: 1.2em;
- }
- /* for following */
- #popup .siteIcon {
- float: left;
- height: 25px;
- }
- .content {
- width: 100%; /* IE */
- font-size: 0.9em;
- }
- .editorHeading {
- height: 48px;
- }
- .heading {
- left: 0;
- margin-bottom: 40px;
- position: relative;
- top: 32px;
- }
- .followButton a {
- display: block;
- margin-top: -20px;
- }
- .tiddler .followPlaceHolder {
- display: block;
- position: absolute;
- top: 16px;
- right: 64px;
- _right: 138px; // add width of modifierIcon
- }
- .tiddler .followButton {
- position: relative;
- height: 24px;
- text-align: left;
- color: #fff;
- background: [[ColorPalette::PrimaryMid]];
- padding: 10px 0px 0px 10px;
- width: 38px;
- margin: -16px -8px 24px 0;
- }
- /* creates the larger triangle */
- .followButton:before {
- content: "\00a0";
- display: block; /* reduce the damage in FF3.0 */
- position: relative;
- bottom: -20px;
- right: 0;
- width: 0;
- height: 0;
- border-width: 0 0 20px 20px;
- border-style: solid;
- border-color: transparent [[ColorPalette::PrimaryMid]];
- }
- .toolbar svg {
- height: 16px;
- width: 16px;
- }
- .toolbar svg .glyph {
- fill: #ccc;
- }
- .toolbar a:hover .glyph {
- fill: black;
- }
- .toolbar a:active .glyph {
- fill: [[ColorPalette::Background]];
- }
- .originButton,
- .followPlaceHolder,
- .tiddler .subtitle {
- cursor: pointer;
- }
- .editSpaceSiteIcon .originButton {
- cursor: auto;
- }
- .tiddler .subtitle:hover {
- font-weight: bold;
- background: none;
- }
- .originButton img,
- .originButton svg {
- margin-left: 0px;
- }
- .modifierIcon {
- position: absolute;
- width: 74px;
- top: 0px;
- right: 0px;
- _right: 74px; /* in IE6 positioning works incorrectly so use -width instead */
- text-align: right;
- }
- .modifierIcon img,
- .modifierIcon svg {
- margin-right: 8px;
- }
- .tiddler .viewer {
- padding-bottom: 16px;
- margin: 0 0 0 56px;
- line-height: 1.4em;
- }
- .viewer pre {
- margin-left: 0;
- }
- .siteIcon .label {
- color: [[ColorPalette::TertiaryDark]];
- }
- .tiddler .spaceSiteIcon {
- float: left;
- margin-right: 0;
- margin-top: 0;
- position: relative;
- display: block;
- }
- .tiddler .titleBar {
- display: block;
- margin-right: 136px;
- margin-left: 56px;
- }
- .followButton a {
- color: [[ColorPalette::Background]];
- }
- .tiddler {
- position: relative;
- padding: 0;
- margin-bottom: 3em;
- border-top: 3px solid [[ColorPalette::PrimaryMid]];
- background: #fff;
- }
- .tiddler .editor {
- padding: 0px 8px;
- }
- .tiddler .heading .title {
- position: relative;
- display: block;
- word-wrap: break-word;
- font-size: 32px;
- line-height: 32px;
- }
- .tiddler .heading .editor.title {
- font-size: 1.7em;
- line-height: normal;
- }
- .tiddler .headingClear {
- clear: both;
- }
- .tiddler .subtitle {
- font-style: italic;
- font-size: 0.9em;
- color: #a6a59e;
- margin-top: 0;
- }
- .toolbar {
- position: absolute;
- padding: 0;
- top: 8px;
- right: -8px;
- }
- .toolbar .moreCommand.highlight {
- background: none;
- }
- .tiddler .toolbar .button {
- border: none;
- display: inline;
- padding: 0px;
- margin-right: 16px;
- }
- .tiddler .toolbar a:hover {
- background: none;
- }
- .tiddler .tagged .listTitle {
- display: none;
- }
- .revButton {
- float: right;
- }
- /*! EditTemplate specific*/
- .tiddler .privacySettings {
- text-align: center;
- }
- .tiddler .privacySettings .originButton {
- display: inline;
- }
- .editSpaceSiteIcon, .privacyEdit {
- float: left;
- }
- .editSpaceSiteIcon svg,
- .editSpaceSiteIcon img,
- .editSpaceSiteIcon .roundelLabel {
- float: left;
- }
- .tagTitle {
- position: absolute;
- text-align: center;
- width: 48px;
- top: 0px;
- left: -56px;
- }
- .editSpaceSiteIcon .originButton img,
- .editSpaceSiteIcon .originButton svg {
- height: 16px;
- margin-left: 24px;
- margin-right: 32px;
- width: 16px;
- }
- .tagAnnotation {
- margin-top: 8px;
- padding-bottom: 8px;
- }
- .annotationsBox {
- margin-top: 8px;
- }
- .editorFooter {
- position: relative;
- padding: 0;
- margin-top: 16px;
- margin-left: 64px;
- }
- .tiddler .editorFooter .editor {
- padding-left: 0px;
- }
- .heading .editor input {
- width: 100%;
- font-size: 1.5em;
- }
- .spaceSiteIcon .externalImage .image a:hover,
- .modifierIcon .externalImage .image a:hover {
- background: none;
- }
- div.toolbar {
- visibility:hidden;
- right:-16px;
- }
- .selected div.toolbar {
- visibility: visible;
- }
- .followButton a:hover {
- background: [[ColorPalette::PrimaryMid]];
- text-decoration: underline;
- }
- a.image:hover {
- background: transparent;
- }
- @media all and (max-device-width: 480px) {
- div.toolbar {
- visibility:visible;
- }
- }
- @media only screen and (device-width: 768px) {
- div.toolbar {
- visibility:visible;
- }
- }
- @media all and (max-width: 960px) {
- .tiddler .titleBar {
- margin-left: 36px;
- margin-right: 80px;
- }
- .tiddler .heading {
- margin-bottom: 48px;
- }
- .tiddler .heading .title {
- font-size: 32px;
- line-height: 32px;
- }
- .tiddler .modifierIcon img,
- .tiddler .modifierIcon svg,
- .tiddler .spaceSiteIcon .originButton img,
- .originButton svg {
- width: 32px;
- height: 32px;
- margin-left: 0px;
- margin-right: 0px;
- }
- .tiddler .followPlaceHolder {
- right: 48px;
- }
- .tiddler .followButton {
- width: 24px;
- }
- .tiddler .viewer {
- margin: 0px 0px 0px 36px;
- padding-top: 0;
- }
- br {
- line-height: 0.5em;
- }
- }
- /*}}}*/</pre>
- </div>
- <div title="StyleSheetTiddlerMp" creator="pmario" modifier="pmario" created="201102210005" modified="201102210005" tags="excludeLists" server.title="StyleSheetTiddlerMp" server.page.revision="260058" server.etag=""fancybox_public/StyleSheetTiddlerMp/260058;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="1d757e3835b4119e24f6ed7b817a586ef2510109">
- <pre>/*{{{*/
- /* fix grayout from original tw. */
- .selected .tagging,
- .selected .tagged,
- .selected .tagging:hover,
- .selected .tagged:hover {
- background: none;
- border: none;
- }
- .tagging, .tagged {
- background: none;
- border: none;
- padding: 0.5em 0 0 0.5em;
- }
- .tagging {
- float: none;
- }
- /** nächste zeile wirkt nicht ??? */
- .tagging ul {
- margin: 0.25em 0 0 0.3em;
- }
- .tagging li {
- display: inline;
- float: left;
- }
- .tagging .tiddlyLink {
- -webkit-border-radius: 5px 5px 5px 5px;
- -moz-border-radius: 5px 5px 5px 5px;
- background-color: white;
- display: block;
- margin: 0 0.2em 0.2em;
- padding: 0.8em;
- }
- /* nui */
- .tagged {
- float: none;
- margin-top: 1em;
- }
- .tagged .quickopentag {
- -webkit-border-radius: 0px 15px 15px 0px;
- -moz-border-radius: 0px 15px 15px 0px;
- background-color: white;
- border: 2px 2px 2px 0 solid #ccc;
- display: block;
- margin: 0 0.2em 0.2em -1.1em;
- padding: 0 0.4em;
- font-size: 0.9em;
- }
- .tagged a.button,
- .tagged a.tiddlyLink {
- border: none;
- display: inline;
- font-size: 0.9em;
- word-wrap: break-word;
- }
- .tagged a:hover {
- font-weight: bold;
- background: white;
- color: [[ColorPalette::PrimaryDark]];
- }
- /* for following nui */
- #popup .siteIcon {
- height: 25px;
- }
- #popup {
- background-color: [[ColorPalette::TertiaryPale]];
- }
- .confirmationPopup, .followList {
- font-size: 0.7em;
- padding: 1em;
- border: solid 1px #000;
- }
- .followList .listTitle {
- text-decoration: underline;
- }
- #popup .followTiddlersList a {
- display: inline;
- padding: 0;
- }
- #popup li.listTitle {
- border-bottom: 1px solid #000;
- font-weight: bold;
- margin-bottom: 10px;
- }
- #popup.followList {
- margin-left: 50px;
- margin-top: -30px;
- }
- .followTiddlersList .label {
- display: block;
- left: 10px;
- top: 0px;
- line-height: 16px;
- position: relative;
- }
- #popup .followTiddlersList .siteIcon{
- height: auto;
- }
- #popup .followTiddlersList li{
- clear: both;
- display: block;
- height: 48px;
- margin-bottom: 8px;
- position: relative;
- }
- #popup .followTiddlersList a{
- display: inline;
- }
- .heading {
- left: 0;
- margin-bottom: 3em;
- position: relative;
- top: 3em;
- position: relative;
- }
- .followButton a:hover {
- background: none;
- color: black;
- }
- .followPlaceHolder {
- position: absolute;
- left: 0.5em;
- top: 0.5em;
- }
- .followButton {
- cursor: pointer;
- -webkit-border-radius: 0.3em;
- -moz-border-radius: 0.3em;
- background: none repeat scroll 0 0 #CCCCCC;
- color: red;
- min-width: 2em;
- height: 1em;
- text-align: center;
- padding: 0.4em;
- float: left;
- }
- .replyLink {
- margin-left: 1em;
- font-size: 80%;
- opacity: 0.3;
- }
- .selected .replyLink {
- opacity: 1;
- }
- .calendar {
- margin-top: 1em;
- cursor: pointer;
- /* if calendar is to wide, enable next line */
- /* margin: 1em 1.5em; */
- }
- .calendar:hover {
- opacity: 0.8;
- }
- .calendar .month {
- color: [[ColorPalette::PrimaryPale]];
- font-size: 1.2em;
- border-left: solid 1px black;
- border-right: solid 1px black;
- border-top: solid 1px black;
- text-align: center;
- padding: 2px;
- }
- .calendar .date {
- color: [[ColorPalette::PrimaryDark]];
- font-size: 1.2em;
- font-weight: bold;
- text-align: center;
- border: solid 1px black;
- }
- .calendar .time {
- font-size: 0.7em;
- border-left: solid 1px black;
- border-right: solid 1px black;
- border-bottom: solid 1px black;
- text-align: center;
- }
- .toolbar svg {
- height: 20pt;
- width: 20pt;
- }
- .toolbar svg .glyph{
- fill: #ccc;
- }
- .toolbar a:hover .glyph{
- fill: #111;
- }
- .toolbar .command_savePublicTiddler .glyph {
- fill: #C0E5FC;
- }
- .originButton,
- .modifierIcon .label {
- color: [[ColorPalette::TertiaryDark]];
- font-size: 0.8em;
- text-align: center;
- display: block;
- }
- .modifierIcon {
- background: [[ColorPalette::PrimaryLight]];
- margin-right: 1em;
- }
- .tiddler {
- overflow: hidden; /* clear floats */
- }
- .tiddler .viewer {
- margin: 0;
- line-height: normal;
- padding-top: 0;
- }
- .tiddler .title {
- font-size: 1.7em;
- display: block;
- margin-bottom: 0.4em;
- border-bottom: 0.05em solid [[ColorPalette: :PrimaryDark]];
- padding-top: 0;
- word-wrap: break-word;
- }
- .spaceIcon img {
- height: 30px;
- }
- .siteIcon .label {
- color: [[ColorPalette: :TertiaryDark]];
- }
- .siteIcon {
- text-align: center;
- }
- .tiddler .spaceSiteIcon {
- margin: 0;
- cursor: pointer;
- }
- .followButton a {
- color: red;
- }
- .tiddler {
- position: relative;
- /* -moz-box-shadow: 2px 2px 8px black; */
- /* -webkit-box-shadow: 2px 2px 8px black; */
- /* filter: progid: DXImageTransform.Microsoft.Shadow(color='#000000', Direction=135, Strength=3); */
- /* box-shadow: 2px 2px 8px black; */
- border: 1px solid gray;
- background: [[ColorPalette::PrimaryLight]];
- margin-bottom: 2em;
- padding: 0;
- }
- .tiddler .subtitle {
- font-size: 0.8em;
- margin-top: 0.2em;
- }
- .external .spaceSiteIcon a:hover {
- background-color: #8BD69E;
- }
- .privateNotPublic .spaceSiteIcon a:hover,
- .private .spaceSiteIcon a:hover {
- background-color: #DE85B3;
- }
- .privateAndPublic .spaceSiteIcon a:hover,
- .public .spaceSiteIcon a:hover {
- background-color: #BBE7FD;
- }
- .tiddler .toolbar .button {
- border: none;
- display: inline-block;
- }
- /*-- reset the button effect --*/
- .tiddler .toolbar a:hover {
- background: none;
- border: none;
- }
- /**
- .tiddler .button.command_closeTiddler {
- float: right;
- }
- **/
- .tiddler .tagged .listTitle {
- display: none;
- }
- .revButton {
- float: right;
- }
- /*}}}*/</pre>
- </div>
- <div title="StyleSheetTiddlerMp_" creator="pmario" modifier="pmario" created="201009061256" modified="201009082159" tags="excludeLists" server.title="StyleSheetTiddlerMp_" server.page.revision="107508" server.etag=""neui-tagsearch_public/StyleSheetTiddlerMp_/107508;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-tagsearch_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-tagsearch_public" server.permissions="read, write, create, delete" server.content-type="" _hash="1c5bd5472423f27927f2944909f9d8a92f05c9cc">
- <pre>/*{{{*/
- /* new nui */
- .concertina {
- overflow: hidden;
- display: none;
- height: 0;
- background-color: white;
- }
- .concertina br {
- display: none;
- }
- .concertinaOn .concertina {
- display: auto;
- height: auto;
- border-bottom: 1px solid [[ColorPalette: :PrimaryDark]];
- overflow: auto;
- }
- .concertina .publishButton {
- border-radius: 1em;
- -webkit-border-radius: 15px;
- -moz-border-radius: 15px;
- background-color: white;
- border: 1px solid black;
- display: block;
- padding: 0.3em;
- text-align: center;
- width: 12em;
- }
- .privateNotPublic .concertina,
- .private .concertina {
- background: -webkit-gradient(linear,left bottom,left top,color-stop(0.05,#DE85B3),color-stop(0.5,#eee),color-stop(1, #fff));
- background: -moz-linear-gradient(top center , #fff 5%, #eee 20%, #DE85B3 100%);
- /* For Internet Explorer 5.5 - 7 */
- filter: "progid: DXImageTransform.Microsoft.gradient(startColorstr=#ffffffff, endColorstr=#ffDE85B3)";
- /* For Internet Explorer 8 */
- -ms-filter: "progid: DXImageTransform.Microsoft.gradient(startColorstr=#ffffffff, endColorstr=#ffDE85B3)";
- }
- .public .concertina,
- .privateAndPublic .concertina {
- background: -webkit-gradient(linear,left bottom,left top,color-stop(0.05, #BBE7FD),color-stop(0.5,#eee),color-stop(1, #fff));
- background: -moz-linear-gradient(top center , #fff 5%, #eee 20%, #BBE7FD 100%);
- /* For Internet Explorer 5.5 - 7 */
- filter: "progid: DXImageTransform.Microsoft.gradient(startColorstr=#ffffffff, endColorstr=#ffBBE7FD)";
- /* For Internet Explorer 8 */
- -ms-filter: "progid: DXImageTransform.Microsoft.gradient(startColorstr=#ffffffff, endColorstr=#ffBBE7FD)";
- }
- .external .concertina {
- background-color: white;
- background: -webkit-gradient(linear,left bottom,left top,color-stop(0.05, #8BD69E),color-stop(0.5,#eee),color-stop(1, #fff));
- background: -moz-linear-gradient(top center , #fff 5%, #eee 20%, #8BD69E 100%);
- /* For Internet Explorer 5.5 - 7 */
- filter: "progid: DXImageTransform.Microsoft.gradient(startColorstr=#ffffffff, endColorstr=#ff8BD69E)";
- /* For Internet Explorer 8 */
- -ms-filter: "progid: DXImageTransform.Microsoft.gradient(startColorstr=#ffffffff, endColorstr=#ff8BD69E)";
- }
- /* fix grayout from original tw. */
- .selected .tagging,
- .selected .tagged,
- .selected .tagging:hover,
- .selected .tagged:hover {
- background: none;
- border: none;
- }
- .tagging, .tagged {
- background: none;
- border: none;
- padding: 0.5em 0 0 0.5em;
- }
- .tagging {
- float: none;
- }
- /** nächste zeile wirkt nicht ??? */
- .tagging ul {
- margin: 0.25em 0 0 0.3em;
- }
- .tagging li {
- display: inline;
- float: left;
- }
- .tagging .tiddlyLink {
- -webkit-border-radius: 5px 5px 5px 5px;
- -moz-border-radius: 5px 5px 5px 5px;
- background-color: white;
- display: block;
- margin: 0 0.2em 0.2em;
- padding: 0.8em;
- }
- /* nui */
- .tagged {
- float: none;
- margin-top: 1em;
- }
- .tagged .quickopentag {
- -webkit-border-radius: 0px 15px 15px 0px;
- -moz-border-radius: 0px 15px 15px 0px;
- background-color: white;
- border: 2px 2px 2px 0 solid #ccc;
- display: block;
- margin: 0 0.2em 0.2em -1.1em;
- padding: 0 0.4em;
- font-size: 0.9em;
- }
- #tagsearchDrop {
- -webkit-border-radius: 0px 15px 15px 0px;
- -moz-border-radius: 0px 15px 15px 0px;
- background-color: white;
- border: 2px 2px 2px 0 solid #ccc;
- display: block;
- margin: 0 0.2em 0.2em -0.9em;
- padding: 0 0.4em;
- font-size: 0.9em;
- }
- .tagged a.button,
- .tagged a.tiddlyLink {
- border: none;
- display: inline;
- font-size: 0.9em;
- word-wrap: break-word;
- }
- .tagged a:hover {
- font-weight: bold;
- background: white;
- color: [[ColorPalette::PrimaryDark]];
- }
- /* for following nui */
- #popup .siteIcon {
- height: 25px;
- }
- .content {
- }
- .content .left {
- position: relative;
- }
- .heading {
- left: 0;
- margin-bottom: 3em;
- position: relative;
- top: 3em;
- position: relative;
- }
- .followButton a:hover {
- background: none;
- color: black;
- }
- .followPlaceHolder {
- position: absolute;
- left: 0.5em;
- top: 0.5em;
- }
- .followButton {
- cursor: pointer;
- -webkit-border-radius: 0.3em;
- -moz-border-radius: 0.3em;
- background: none repeat scroll 0 0 #CCCCCC;
- color: red;
- min-width: 2em;
- height: 1em;
- text-align: center;
- padding: 0.4em;
- }
- .followButton:before {
- content: "\00a0";
- display: block; /* reduce the damage in FF3.0 */
- position: absolute;
- bottom: -0.2em;
- left: 0.1em;
- width: 0;
- height: 0;
- border-width: 0.5em 0.2em 0 0.6em;
- border-style: solid;
- border-color: #ccc transparent;
- }
- .calendar {
- margin-top: 1em;
- cursor: pointer;
- /* if calendar is to wide, enable next line */
- /* margin: 1em 1.5em; */
- }
- .calendar:hover {
- opacity: 0.8;
- }
- .calendar .month {
- color: [[ColorPalette::PrimaryPale]];
- font-size: 1.2em;
- border-left: solid 1px black;
- border-right: solid 1px black;
- border-top: solid 1px black;
- text-align: center;
- padding: 2px;
- }
- .calendar .date {
- color: [[ColorPalette::PrimaryDark]];
- font-size: 1.2em;
- font-weight: bold;
- text-align: center;
- border: solid 1px black;
- }
- .calendar .time {
- font-size: 0.7em;
- border-left: solid 1px black;
- border-right: solid 1px black;
- border-bottom: solid 1px black;
- text-align: center;
- }
- .toolbar svg {
- height: 25px;
- width: 25px;
- }
- .toolbar svg .glyph{
- fill: #ccc;
- }
- .toolbar a:hover .glyph{
- fill: #111;
- }
- .toolbar .command_savePublicTiddler .glyph {
- fill: #C0E5FC;
- }
- /* next 3 needed to use ViewTemplate also as RevisionsTemplate */
- .invisible {
- display: none;
- }
- .viewRevision .toolbar {
- display: none;
- }
- .viewRevision .invisible {
- display: block;
- }
- .originButton,
- .modifierIcon .label {
- color: [[ColorPalette::TertiaryDark]];
- font-size: 0.8em;
- text-align: center;
- display: block;
- }
- .modifierIcon {
- background: [[ColorPalette::PrimaryLight]];
- margin-right: 1em;
- }
- .tiddler {
- overflow: auto; /* clear floats */
- }
- .tiddler .viewer {
- margin: 0;
- line-height: normal;
- padding-top: 0;
- }
- .tiddler .title {
- font-size: 1.7em;
- display: block;
- margin-bottom: 0.4em;
- border-bottom: 0.05em solid [[ColorPalette: :PrimaryDark]];
- padding-top: 0;
- word-wrap: break-word;
- }
- .spaceIcon img {
- height: 30px;
- }
- .siteIcon .label {
- color: [[ColorPalette: :TertiaryDark]];
- }
- .siteIcon {
- text-align: center;
- }
- .siteIcon img {
- height: 30px;
- width: 30px;
- }
- .tiddler .spaceSiteIcon {
- margin: 0;
- cursor: pointer;
- }
- .followButton a {
- color: red;
- }
- .tiddler {
- position: relative;
- -moz-box-shadow: 2px 2px 8px black;
- -webkit-box-shadow: 2px 2px 8px black;
- filter: progid: DXImageTransform.Microsoft.Shadow(color='#000000', Direction=135, Strength=3);
- box-shadow: 2px 2px 8px black;
- background-color: [[ColorPalette::PrimaryLight]];
- margin-bottom: 2em;
- padding: 0;
- }
- .tiddler .subtitle {
- font-size: 0.8em;
- margin-top: 0.2em;
- }
- .external .spaceSiteIcon a:hover {
- background-color: #8BD69E;
- }
- .privateNotPublic .spaceSiteIcon a:hover,
- .private .spaceSiteIcon a:hover {
- background-color: #DE85B3;
- }
- .privateAndPublic .spaceSiteIcon a:hover,
- .public .spaceSiteIcon a:hover {
- background-color: #BBE7FD;
- }
- .tiddler .toolbar .button {
- border: none;
- display: inline-block;
- }
- /*-- reset the button effect --*/
- .tiddler .toolbar a:hover {
- background: none;
- border: none;
- }
- /**
- .tiddler .button.command_closeTiddler {
- float: right;
- }
- **/
- .tiddler .tagged .listTitle {
- display: none;
- }
- .revButton {
- float: right;
- }
- /*}}}*/</pre>
- </div>
- <div title="StyleSheetTiddlySpace" creator="osmosoft" modifier="osmosoft" created="201102181425" modified="201102181425" tags="excludeLists excludeSearch" server.title="StyleSheetTiddlySpace" server.page.revision="257510" server.etag=""system-theme_public/StyleSheetTiddlySpace/257510;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/system-theme_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="system-theme_public" server.permissions="read" server.content-type="" _hash="3150bd9a2cb78777f61a7b6f6539c5fa646fd7ac">
- <pre>/*{{{*/
- body {
- font-size: 1em;
- font-family: helvetica, arial, sans-serif;
- background-color: #fff;
- color: [[ColorPalette::Foreground]];
- }
- body ul { margin: 0; }
- #popup {
- background-color: [[ColorPalette::TertiaryPale]];
- }
- #popup.confirmationPopup, .followList {
- font-size: 0.8em;
- padding: 1em;
- border: solid 1px [[ColorPalette::SecondaryMid]];
- background-color: [[ColorPalette::SecondaryPale]];
- }
- .followList .listTitle {
- text-decoration: underline;
- }
- #popup .followTiddlersList a {
- display: inline;
- padding: 0;
- }
- #popup li a {
- color: [[ColorPalette::PrimaryMid]];
- font-weight: bold;
- }
- #popup li a:hover {
- color: [[ColorPalette::PrimaryPale]];
- background: [[ColorPalette::PrimaryMid]];
- }
- #popup li.listTitle {
- border-bottom: 1px solid #000;
- font-weight: bold;
- margin-bottom: 10px;
- }
- #popup.followList {
- margin-left: 50px;
- margin-top: -30px;
- }
- .followTiddlersList .label {
- display: block;
- left: 10px;
- top: 0px;
- line-height: 16px;
- position: relative;
- }
- #popup .followTiddlersList .siteIcon{
- height: auto;
- }
- #popup .followTiddlersList li{
- clear: both;
- display: block;
- height: 48px;
- margin-bottom: 8px;
- position: relative;
- }
- #popup .followTiddlersList a{
- display: inline;
- }
- #displayArea {
- margin: 0;
- top: 0px;
- left: 0px;
- width: 100%;
- position: relative;
- }
- .revisionCloak {
- position: absolute;
- position: fixed !important;
- height: 100%;
- width: 100%;
- top: 0;
- left: 0;
- border: 0;
- margin: 0;
- padding: 0;
- opacity: 0.5;
- filter: alpha(opacity=50);
- background-color: #000;
- }
- /* *** Header *** */
- .header {
- position: relative;
- background-color: [[ColorPalette::PrimaryMid]];
- _width: 100%; /* ie 6 demands */
- }
- .headerForeground {
- background-color: [[ColorPalette::PrimaryMid]];
- float: left;
- margin: 24px 16px 0px 72px;
- padding: 0;
- position: relative;
- top: 0;
- _width: 70%; /*ie6: needed for the background to actually be transparent*/
- _background-color: transparent; /*ie6: needed to show the search box*/
- }
- .clearFloat {
- clear: both;
- }
- #contentWrapper {
- position: relative;
- padding-top: 1px;
- top: -1px;
- }
- #tiddlerDisplay {
- _position: relative; /* ie 6*/
- }
- .siteTitle {
- clear: both;
- display: block;
- font-size: 32px;
- font-weight: bold;
- line-height: 32px;
- }
- .siteSubtitle {
- display: block;
- font-size: 14px;
- height: 16px;
- margin-bottom: 8px;
- }
- #sidebarSearch {
- padding: 0;
- position: absolute;
- right: 80px;
- top: 8px;
- width: 176px;
- }
- #sidebarSearch .txtOptionInput {
- width: 100%;
- margin-top: 5px;
- _color: #bbb; /* ie6 danger */
- }
- #sidebarSearch .txtOptionInput:focus {
- color: #000;
- }
- #sidebarSearch .searchButton {
- display: none;
- }
- /* *** Menu Bar *** */
- #mainMenu {
- position: static;
- text-align: left;
- margin-left: 72px;
- float: left;
- width: auto;
- padding: 0;
- font-size: 1em;
- line-height: normal;
- }
- #mainMenu a {
- color: #fff;
- padding: 8px;
- font-size: 0.9em;
- margin-right: 16px;
- }
- #mainMenu a:hover {
- background-color: [[ColorPalette::PrimaryMid]];
- color: [[ColorPalette::Background]]
- }
- #sidebarOptions {
- margin-right: 72px;
- float: right;
- font-size: 1.1em;
- line-height: 1.6em;
- min-height: 1em;
- padding-top: 0;
- }
- #sidebarOptions a {
- margin-right: 8px;
- }
- .confirmationPopup .button,
- #sidebarOptions .button {
- cursor: pointer;
- line-height: 1.4em;
- text-align: center;
- margin-right: 8px;
- margin-left:-2px;
- }
- .confirmationPopup .button {
- font-size: 0.9em;
- padding: 2px;
- }
- #sidebarOptions .button {
- font-size: 0.7em;
- float: left;
- width: 80px;
- padding: 0px;
- color: #fff;
- }
- .confirmationPopup a.button,
- #sidebarOptions a {
- border: none;
- margin: 0 0.2em;
- padding: 0.6em 0.25em;
- display: inline;
- color: #666;
- }
- .confirmationPopup a.button:hover,
- #sidebarOptions a:hover {
- color: #000;
- }
- .confirmationPopup a.button:active,
- #sidebarOptions a:active {
- border: solid 1px [[ColorPalette::PrimaryMid]];
- background-color: #fff;
- background: -webkit-gradient( linear, left bottom, left top, color-stop(0.1,rgb(200,200,200)), color-stop(1, rgb(100,100,100)));
- background: -moz-linear-gradient(center bottom , rgb(200,200,200) 10%,rgb(100,100,100) 100%) repeat scroll 0 0 transparent;
- }
- /* *** Sidebar *** */
- #sidebar .wizard table {
- margin: 0px;
- }
- .tabContents .listTitle:first-child {
- margin-top: 0px;
- }
- #menuBar {
- background: [[ColorPalette::PrimaryLight]];
- left: 0;
- right: 0;
- position: relative;
- margin: 0;
- padding: 0.5em 0 0.5em 0;
- min-height: 1em;
- overflow: hidden;
- _width: 100%; /* for ie 6 */
- }
- #sidebarOptions a.button:hover {
- color: [[ColorPalette::PrimaryPale]];
- background: [[ColorPalette::PrimaryMid]];
- }
- #tiddlerDisplay, #searchResults {
- margin: 16px 448px 0 72px;
- }
- #sidebarTabs {
- position: absolute;
- right: 72px;
- width: 352px;
- top: 0;
- }
- #sidebarTabs .tabsetWrapper .tabset {
- width: 87px;
- border-top: 1px solid [[ColorPalette::PrimaryPale]];
- border-left: 1px solid [[ColorPalette::PrimaryPale]];
- border-bottom: 1px solid [[ColorPalette::PrimaryPale]];
- height: auto;
- float: left;
- word-wrap: break-word;
- top: 0;
- padding: 0;
- }
- #sidebarTabs .tabsetWrapper .tabContents {
- background-color: [[ColorPalette::PrimaryPale]];
- border: 3px solid [[ColorPalette::PrimaryMid]];
- width: 242px;
- _width: 238px;
- left: -3px;
- _left: -5px;
- position: relative;
- min-height: 34em;
- padding: 8px;
- font-size: 0.8em;
- }
- /* ---- Side style --- */
- #sidebarTabs .tabsetWrapper .tabset .tab {
- font-size: 0.9em;
- padding: 0.7em 8px 0.5em;
- color: #fff;
- background: [[ColorPalette::PrimaryLight]];
- border: none;
- line-height: 16px;
- position: relative;
- display: block;
- margin: 0;
- }
- #sidebarTabs .tabsetWrapper .tabset .tabSelected {
- color: [[ColorPalette::PrimaryMid]];
- background: [[ColorPalette::PrimaryPale]];
- border-top: 3px solid [[ColorPalette::PrimaryMid]];
- border-bottom: 3px solid [[ColorPalette::PrimaryMid]];
- border-left: 3px solid [[ColorPalette::PrimaryMid]];
- z-index: 10;
- margin-top: -1px;
- font-weight: bold;
- }
- #sidebarTabs .tabContents li {
- border: none;
- margin-left: 0;
- word-wrap: break-word;
- }
- .tabContents .timeline {
- background: [[ColorPalette::PrimaryPale]];
- margin-bottom: 8px;
- }
- #sidebarTabs .timeline li.listTitle {
- color: #132E43;
- margin-left: 8px 0;
- padding: 0.3em 0.11em;
- font-size: 1em;
- border-bottom: none;
- }
- #sidebarTabs .tabContents li a {
- display: block;
- text-align: left;
- margin: 0 0 1px 0;
- padding: 0.3em 1em;
- background: [[ColorPalette::PrimaryPale]];
- }
- #sidebarTabs .tabsetWrapper .tabset a:hover,
- #sidebarTabs .tabContents li a:hover {
- color: [[ColorPalette::PrimaryPale]];
- background: [[ColorPalette::PrimaryMid]];
- }
- /* Activity Stream */
- #sidebarTabs .tabContents .activityStream .feedItem a {
- display: inline-block;
- padding: 0;
- background: none;
- }
- /* ---- Tagging box --- */
- .tagInfo {
- border: 1px solid #cccccc;
- padding: 10px 15px;
- -moz-box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
- box-shadow: 0 2px 2px rgba(0,0,0,0.2);
- color: [[ColorPalette::TertiaryMid]];
- background: -moz-linear-gradient(100% 100% 90deg, #f4f4f4, #e5e5e5);
- background: -webkit-gradient(linear, left top, right top, from(#e5e5e5), to(#f4f4f4));
- margin-top: 1em;
- font-size: 13px;
- margin: 0 0 0 56px;
- }
- .tagInfo ul {
- list-style: none;
- padding-left: 2.2em;
- }
- .tagInfo ul li {
- display: inline;
- }
- .tagInfo ul li.listTitle,
- .tagInfo .tagging ul li.listTitle {
- color: [[ColorPalette::PrimaryMid]];
- font-size: 13px;
- }
- .tagInfo ul li a {
- border: none;
- }
- .tagInfo .tagging ul li {
- float: none;
- display: inline-block;
- }
- .tagInfo .tagging {
- padding: 0;
- }
- .viewRevision .toolbar {
- right: 48px;
- top: 8px;
- }
- .viewRevision .modifierIcon img,
- .viewRevision .modifierIcon svg {
- margin-right: 8px;
- }
- .viewRevision .toolbar svg {
- width: 32px;
- height: 32px;
- }
- /* --- IE hacks from lattice --- */
- /* ie hacks */
- * html #menuBar {
- margin-bottom: 8px;
- }
- .toolbar .svgIconText {
- *display: inline;
- }
- div.tiddler .toolbar a {
- cursor: pointer;
- float: left\9;
- display: inline\9;
- }
- * html .toolbar {
- right: 8px;
- }
- * html .followButton a {
- margin-top: 0px;
- margin-right: 8px;
- }
- * html #tiddlerDisplay {
- margin-top: 0px;
- }
- /* for printing purposes */
- @media print {
- #mainMenu,
- #sidebar,
- #messageArea,
- .toolbar,
- .followPlaceHolder,
- #backstageButton,
- #backstageArea,
- #sidebarTabs,
- #sidebarSearch .txtOptionInput,
- #sidebarOptions {
- display: none !important;
- }
- #displayArea {
- margin: 1em 1em 0em;
- }
- noscript {
- display:none; /* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */
- }
- #tiddlerDisplay {
- margin: 16px 16px;
- }
- }
- @media all and (max-width: 960px){
- #tiddlerDisplay,
- #searchResults {
- margin: 16px 366px 0 16px;
- }
- #mainMenu {
- margin-left: 16px;
- }
- .headerForeground {
- margin-left: 16px;
- }
- #sidebarSearch {
- right: 16px;
- }
- #sidebarOptions {
- margin-right: 16px;
- }
- #sidebarTabs {
- right: 16px;
- width: 326px;
- }
- #sidebarTabs .tabsetWrapper .tabset {
- font-size: 0.9em;
- width: 77px;
- }
- #sidebarTabs .tabsetWrapper .tabContents {
- width: 226px;
- _width: 222px;
- }
- #sidebarTabs .tabContents li a {
- font-size: 0.9em;
- }
- }
- /*}}}*/
- [[StyleSheetTiddler]]</pre>
- </div>
- <div title="StyleSheetTiddlySpaceMp" creator="pmario" modifier="pmario" created="201008061923" modified="201008171536" tags="excludeLists" server.title="StyleSheetTiddlySpaceMp" server.page.revision="107310" server.etag=""neui-em_public/StyleSheetTiddlySpaceMp/107310;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" _hash="b01f13dfe3b05f0427ecaf4dc24cf1b54fc29b7b">
- <pre>/*{{{*/
- body {
- font-size: 1.0em;
- font-family: helvetica, arial, sans-serif;
- background-color: [[ColorPalette::Background]];
- }
- #displayArea {
- float: left; /*-- new for emastic --*/
- padding: 0; /*-- new for emastic --*/
- margin: 0; /*-- new for emastic --*/
- }
- #tiddlerDisplay {
- /* margin: 1em 0.5em;*/
- }
- .public {
- border-color: #C7EAFF;
- }
- .private {
- border-color: #FFCAE9;
- }
- .revisionCloak {
- position: absolute;
- position: fixed !important;
- height: 100%;
- width: 100%;
- top: 0;
- left: 0;
- border: 0;
- margin: 0;
- padding: 0;
- opacity: 0.5;
- filter: alpha(opacity=50);
- background-color: black;
- }
- /* fixing h1-h6 margin-top if it is first child */
- h1:first-child, h2:first-child, h3:first-child,
- h4:first-child, h5:first-child, h6:first-child,
- ol:first-child, ul:first-child {
- margin-top: .3em;
- }
- [[StyleSheetHeaderMp]]
- [[StyleSheetMenuBarMp]]
- [[StyleSheetSideBarMp]]
- [[StyleSheetTiddlerMp]]
- [[StyleSheetBackstagePanels]]
- /*}}}*/</pre>
- </div>
- <div title="StyleSheet_neui-em" creator="pmario" modifier="pmario" created="201008072118" modified="201009181705" tags="excludeLists" server.title="StyleSheet_neui-em" server.page.revision="107316" server.etag=""neui-em_public/StyleSheet_neui-em/107316;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" revision.text="" _hash="c0616be55f19f0672dce90d9b1bf71cacbe0e131">
- <pre>/*{{{*/
- [[StyleSheetTiddlySpaceMp]]
- [[StyleSheetMediaPrint]]
- /*}}}*/</pre>
- </div>
- <div title="SvgEvent_Animations" creator="pmario" modifier="pmario" created="201007271654" modified="201009181606" tags="excludeLists fxPlugins systemConfig" server.title="SvgEvent_Animations" server.page.revision="53373" server.etag=""fxplugins_public/SvgEvent_Animations/53373;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fxplugins_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fxplugins_public" server.permissions="read, write, create, delete" server.content-type="" _hash="2bf258e34766357a751fc0702010e03ca92abb46">
- <pre>/***
- |''Name''|SvgEvent_Animations|
- |''Description''|contains the global TW jQuery custom events.|
- |''Author''|Mario Pietsch|
- |''Version''|0.2.2|
- |''Status''|''stable''|
- |''Source''|http://fxplugins.tiddlyspace.com|
- |''CoreVersion''|2.6|
- |''Documentation''|[[SvgEvent_Info]]|
- |''Keywords''|svg, events, animation, commands|
- !Important
- !Known issues
- !History
- *V 0.2.2
- **Status: stable
- **[[SvgEvent_Info]] has more info now.
- *V 0.2.1
- **cTglBg searches from parent() now
- *V 0.2.0
- **SvgEventzPlugin is not needed anymore
- **New event names
- !Code
- ***/
- /*{{{*/
- if(!version.extensions.SvgEvent_Animations) { //# ensure that the plugin is only installed once
- version.extensions.SvgEvent_Animations= { installed: true };
- (function($) {
- // if you add components here a
- var eventTypes = ["cTglOpacity", "cTglBg", "cBigger", "cResize", "cSmaller", "cmd99"];
- animations = {
- // IMPORTANT: if you add commands here, don't forget to add them at "var eventTypes" too!
- //trialUpdate
- cTglOpacity: function(e, trial) {
- if (! trial.comp.animations) return false;
- var val = trial.elem.getAttribute('opacity');
- val = (val == 0.8) ? 1:0.8;
- trial.elem.setAttribute('opacity', val);
- },
- cTglBg: function(e, trial) {
- if (! trial.comp.animations) return false;
- var elem = jQuery(trial.elem).parent().find('.showOnHover');
- var val = elem.attr('opacity');
- var old = (elem.attr('oldopacity')) ? elem.attr('oldopacity') : val;
- val = (val == old) ? 1:old;
- elem.attr('opacity', val);
- elem.attr('oldopacity', old);
- },
- //trialFullSize hover, mouse in
- cBigger: function(e, trial) {
- if (! trial.comp.animations) return false;
-
- trial.elem.setAttribute('height','35pt');
- trial.elem.setAttribute('width','35pt');
-
- },
- //mouse up = mouse out = resize
- cResize: function(e, trial) {
- if (! trial.comp.animations) return false;
- trial.elem.setAttribute('height','29pt');
- trial.elem.setAttribute('width','29pt');
- },
- //clicked mouse down
- cSmaller: function(e, trial) {
- if (! trial.comp.animations) return false;
- trial.elem.setAttribute('height','27pt');
- },
- };
- var components = [animations];
- $.each(components, function(i,component) {
- $.each(eventTypes, function(j,eventType) {
- var handler = component[eventType];
- if (handler) $(document).bind(eventType, handler);
- });
- });
- })(jQuery);
- } //# end of "install only once"
- /*}}}*/</pre>
- </div>
- <div title="SvgEvent_Info" creator="pmario" modifier="pmario" created="201007271654" modified="201009181559" tags="fxPlugins" server.title="SvgEvent_Info" server.page.revision="53377" server.etag=""fxplugins_public/SvgEvent_Info/53377;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fxplugins_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fxplugins_public" server.permissions="read, write, create, delete" server.content-type="" _hash="cdb450f67b105d84818e419f19a8a9e9819a5b8d">
- <pre>/***
- |''Name''|SvgEvent_Info|
- |''Description''|connects .svg mouse events with global TW jQuery custom events.|
- |''Author''|Mario Pietsch|
- |''Version''|0.2.0|
- |''Source''|http://fxplugins.tiddlyspace.com|
- |''License''|[[BSD|http://www.opensource.org/licenses/bsd-license.php]]|
- |''CoreVersion''|2.6|
- |''Keywords''|svg, events, animation, commands|
- !Idea
- http://softwareas.com/automagic-event-registration
- !The plugin structure
- # [[SvgEvent_Animations]] .. animation componets
- # [[SvgEvent_Menue]] .. menue / toolbar command components
- !Needed inside an .svg tiddler
- *eg: [[tfgNewTiddler.svg]]
- *onclick(): {{{onclick="jQuery(document).trigger('cmd3', {elem:this, comp:{menue:1}})"}}}
- **Click the icon, will trigger cmd3 in SvgEvent_Menue
- *onmousedown: {{{onmousedown="jQuery(document).trigger('cmd4', {elem:this, comp:{animations:1}})"}}}
- *onmouseup: {{{onmouseup="jQuery(document).trigger('cmd3', {elem:this, comp:{animations:1}})"}}}
- **onmousedown, onmouseup are activating the corresponding commands in SvgEvent_Animations
- !Known issues
- !Elements tagged {{{fxPlugins}}}
- <<list filter [tag[fxPlugins]]>>
- </pre>
- </div>
- <div title="SvgEvent_InitStyleSheet" creator="pmario" modifier="pmario" created="201012271651" modified="201012271758" tags="excludeLists fxPlugins systemConfig" server.title="SvgEvent_InitStyleSheet" server.page.revision="53381" server.etag=""fxplugins_public/SvgEvent_InitStyleSheet/53381;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fxplugins_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fxplugins_public" server.permissions="read, write, create, delete" server.content-type="" _hash="2a87053c287ca3f942680adc57ecdac0908ac90f">
- <pre>//{{{
- config.shadowTiddlers["StyleSheetSvgIcons"]="/*{{{*/\n"+
- "/*replace FG with BG if you want to toggle the BackGround insted of the ForeGround */\n"+
- ".showFG {\n"+
- " opacity: 0;\n"+
- "}\n\n"+
- "svg:hover .showFG {\n"+
- " opacity: 1;\n"+
- "}\n"+
- "/*}}}*/";
- store.addNotification("StyleSheetSvgIcons",refreshStyles);
- //}}}
- </pre>
- </div>
- <div title="SvgEvent_Menue" creator="pmario" modifier="pmario" created="201007271654" modified="201009181605" tags="excludeLists fxPlugins systemConfig" server.title="SvgEvent_Menue" server.page.revision="53389" server.etag=""fxplugins_public/SvgEvent_Menue/53389;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fxplugins_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fxplugins_public" server.permissions="read, write, create, delete" server.content-type="" _hash="a7000abea1d958c284df1bae4bd8acc2b1a37c79">
- <pre>/***
- |''Name''|SvgEvent_Menue|
- |''Description''|contains the global TW jQuery custom events.|
- |''Author''|Mario Pietsch|
- |''Version''|0.2.1|
- |''Status''|''stable''|
- |''Source''|http://fxplugins.tiddlyspace.com|
- |''CoreVersion''|2.6|
- |''Documentation''|[[SvgEvent_Info]]|
- |''Keywords''|svg, events, animation, commands|
- !Important
- !Known issues
- !History
- *V 0.2.1
- **stable
- **[[SvgEvent_Info]] has more info now
- *Version: 0.2.0
- **changed function names. They are not ugly anymore :)
- **SvgEventzPlugin is not needed anymore!
- *Version: 0.1.0
- **initial release
- !Code
- ***/
- /*{{{*/
- if(!version.extensions.SvgEvent_Menue) { //# ensure that the plugin is only installed once
- version.extensions.SvgEvent_Menue= { installed: true };
- (function($) {
- var eventTypes = ["cCloseAll", "cPermaview", "cNewTiddler", "cNewJournal", "cSaveChanges", "cReadDoc", "cmd99"];
- menue= {
- // if you add event types here. Also go to the end and adjust "var eventTypes" accordingly.
- //menueCloseAll
- cCloseAll: function(e, trial) {
- if (! trial.comp.menue) return false;
- story.closeAllTiddlers();
- return false;
- },
- //menuePermaview
- cPermaview: function(e, trial) {
- if (! trial.comp.menue) return false;
- story.permaView();
- return false;
- },
- //menueNewTiddler
- cNewTiddler: function(e, trial) {
- if (! trial.comp.menue) return false;
- // trigger readOnly
- if (readOnly) {$(document).trigger('cmd99', trial); return false;}
- var title = 'New Tiddler';
- story.displayTiddler(null, title);
- config.commands.editTiddler.handler(null, null, title);
- return false;
- },
- //menueNewJournal
- cNewJournal: function(e, trial) {
- if (! trial.comp.menue) return false;
- // trigger readOnly
- if (readOnly) {$(document).trigger('cmd99', trial); return false;}
- var title = config.macros.timeline.dateFormat;
- title = new Date().formatString(title.trim());
- story.displayTiddler(null, title);
- config.commands.editTiddler.handler(null, null, title);
- return false;
- },
- // menueSaveChanges
- cSaveChanges: function(e, trial) {
- if (! trial.comp.menue) return false;
- // trigger readOnly
- if (readOnly) {$(document).trigger('cmd99', trial); return false;}
-
- saveChanges();
- return false;
- },
- cReadDoc: function(e, trial) {
- if (! trial.comp.menue) return false;
- var rdDocMsg= "Read the documentation!";
- displayMessage(rdDocMsg);
- return false;
- },
- cmd99: function(e, trial) {
- var rdOnlyMsg= "System is readOnly!";
- if (! trial.comp.menue) return false;
- displayMessage(rdOnlyMsg);
- trial.elem.setAttribute('opacity', 0.3);
- return false;
- }
- }; // menue
- // if you add components here a
- var components = [menue];
- $.each(components, function(i,component) {
- $.each(eventTypes, function(j,eventType) {
- var handler = component[eventType];
- if (handler) $(document).bind(eventType, handler);
- });
- });
- })(jQuery);
- } //# end of "install only once"
- /*}}}*/</pre>
- </div>
- <div title="SystemSettings" creator="fancybox" modifier="fancybox" created="201101211613" modified="201101211613" tags="excludeLists" server.title="SystemSettings" server.page.revision="47614" server.etag=""fancybox_public/SystemSettings/47614;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="55689bfb37f9bd9538b00b734dfef13625f20aff">
- <pre>chkPrivateMode: true</pre>
- </div>
- <div title="TWDefaultTheme" creator="pmario" modifier="pmario" created="201008061923" modified="201011121427" tags="systemTheme" server.title="TWDefaultTheme" server.page.revision="107330" server.etag=""neui-em_public/TWDefaultTheme/107330;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" _hash="b117017fffbda8a65092ae21e7281b6880d8f623">
- <pre>|''Name:''|[[TWDefaultTheme]]|
- |''Description:''|Your description here!|
- |''Generator:''|[[TW FreeStyle|http://FreeStyle.tiddlyspot.com]]|
- |''Gen.Description:''|Automatically generated from: TWDefaultThemeProject|
- |''PageTemplate:''|PageTemplate|
- |''ViewTemplate:''|ViewTemplate|
- |''EditTemplate:''|EditTemplate|
- |''RevisionTemplate:''|RevisionTemplate|
- |''StyleSheet:''|##StyleSheet|
- !StyleSheet
- /*{{{*/
- /* horizontal main menu stuff if created by list */
- .noBullets a{
- padding-top: 0.2em;
- padding-bottom: 0.2em;
- }
- .noBullets ul,
- .noBullets ol {
- list-style:none;
- padding:0;
- margin: 0;
- }
- .noBullets li {
- float: left;
- }
- [[StyleSheetTiddlySpace]]
- /*}}}*/</pre>
- </div>
- <div title="TagSearchPlugin" creator="tobibeer" modifier="tobibeer" created="201009071451" modified="201010241139" tags="excludeLists systemConfig" server.title="TagSearchPlugin" server.page.revision="149388" server.etag=""tagsearchplugin_public/TagSearchPlugin/149388;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/tagsearchplugin_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="tagsearchplugin_public" server.permissions="read" server.content-type="" _hash="78068874a20e165f7d1c8d6cdf0c4d2760b41de6">
- <pre>/***
- |''Name:''|TagSearchPlugin|
- |''Description:''|Provides a drop down listing current tags and others to be set. Based on [[x-tagger|http://tbgtd.tiddlyspot.com/#x-tagger]] which in turn was once based on [[TaggerPlugin|http://tw.lewcid.org/#TaggerPlugin]].|
- |''Author:''|[[Tobias Beer]]|
- |''Version:''|1.2.0 (2010-10-10)|
- |''Documentation:''|http://tagsearch.tiddlyspot.com|
- |''Source:''|http://tagsearch.tiddlyspot.com/#TagSearchPlugin|
- |''~TiddlyWiki:''|Version 2.5 or better|
- /%***/
- (function(e){config.macros.tagsearch={cfg:{defaultSource:"",defaultMore:"",defaultMode:1,keepModified:false,sidebarOffset:20,newAtSingle:30,newAt:18,excludeTagged:"",toolbar:"",label:"tags",options:"Options",more:"More...",tooltip:"Manage tiddler tags",notags:"no tags set...",aretags:"Current tags",addTag:"Add tag...",addTags:"Set tag...",txtEdit:"~ edit categories...",txtEditTip:"edit tiddler with GTD tag categories used by x-tagger",txtNew:"~ add another tag",txtRemove:"remove tag %0",txtAdd:"set tag %0",txtFor:"To be tagged... ",txtCtrl:" (hold SHIFT to just add it or CTRL to replace in category)",promptNew:"Enter new tag:",modeAsk:"Do you want to remove existing tags from category '%0'?\nCancel simply adds tag '%1'."},handler:function(k,g,i,l,h,n){var m=this.cfg,j=story.findContainingTiddler(k),f=h.parseParams("tagman",null,true);e(createTiddlyButton(k,getParam(f,"label",m.label),getParam(f,"tooltip",m.tooltip),this.click,"button")).attr({id:this.newId("btntgs"),tid:(j?j.getAttribute("tiddler"):"")}).data({pa:i,p:f})},click:function(O){var k,G,S,R,K=[],w=true,W,V,U,M,A,Y,T,D,N,L,J=[],C,f,H,aa=O||window.event,X=e(this),F=X.attr("popup"),B=window.event?"keydown":"keypress",I=config.macros.tagsearch,ab=I.cfg,u=X.data("pa"),Q=X.data("p"),h=u.contains("toolbar"),v=getParam(Q,"source",ab.defaultSource),q=getParam(Q,"more",ab.defaultMore),Z=!u.contains("nosearch"),z=!u.contains("notags"),E=!u.contains("nomore"),n=getParam(Q,"goto",""),o=parseInt(getParam(Q,"mode")),g=getParam(Q,"tiddler",""),r=g?g:X.attr("tid"),ac=(getParam(Q,"exclude","")+" "+ab.excludeTagged).readBracketedList(),y=nu=v?ab.newAt:ab.newAtSingle,P=store.getTiddler(r);if(!r){return}o=isNaN(o)?ab.defaultMode:o;ac.map(function(i){K.pushUnique(i)});for(W=0;W<ac.length;W++){store.getTaggedTiddlers(ac[W]).map(function(i){K.pushUnique(i.title)})}if(v&&!store.getTiddlerText(v)){return false}if(F){D=e("#"+F)[0];e(D).empty()}if(!D){M=true;F=I.newId("tgspop");D=Popup.create(this);e(D).addClass("tgs").attr({id:F}).data({btn:X,tiddler:r,source:v,mode:o}).click(I.noBubble);X.attr("popup",F)}if(v){C=store.getTiddlerText(v).readBracketedList();for(L=0;L<C.length;L++){if(!K.contains(C[L])){H=store.getTaggedTiddlers(C[L]);J.push("TAG:"+C[L]);for(N=0;N<H.length;N++){if(!K.contains(H[N].title)){J.push(H[N].title)}}}}}else{J=store.getTags()}G=P?P.tags.sort():[];Y=function(j,i){return createTiddlyElement(createTiddlyElement(j,"li",null,null),"ol",null,i?i:null)};A=function(j,x,i,p){var m,l;m=createTiddlyElement(createTiddlyElement(j,"li"),"span",null,null);l=e(createTiddlyButton(m,x,p.format(["'"+i+"'"]),I.setTag,"button toggleButton",null));l.data({tiddler:r,tag:i,source:v,mode:o});insertSpacer(m);createTagButton(m,i)};S=Y(D,"tgside");if(config.macros.gotoTiddler&&Z){R=Y(S);if(g){U=createTiddlyElement(R,"li",null,"addto","");wikify("{{title{"+ab.txtFor+"}}}<<tag [["+r+"]]>>",U);R=Y(S)}createTiddlyElement(R,"li",null,"title",ab.addTag);wikify("<<gotoTiddler "+n+" >>",R);e("input",D).bind(B,I.noBubble).data("notify",config.macros.tagsearch.notify).focus()}R=Y(S);createTiddlyElement(R,"li",null,"title",ab.aretags);if(G.length==0){wikify("{{notags{"+ab.notags+"}}}",R)}else{for(L=0;L<G.length;L++){A(R,"[X]",G[L],ab.txtRemove)}}if(z){for(W=0;W<J.length;W++){nu++;f=v?J[W]:J[W][0];if(f.indexOf("TAG:")==0){f=f.substr(4);if(nu>y){nu=0;S=Y(D)}R=Y(S);nu++;createTiddlyLink(createTiddlyElement(R,"li",null,null),f,f,"title")}else{if(!G.contains(f)&&!K.contains(f)){if(!v&&nu>y||v&&nu>ab.newAtSingle){nu=0;S=Y(D);R=Y(S);if(w){createTiddlyElement(createTiddlyElement(R,"li",null,null),"li",null,"title",ab.addTags);w=false}}A(R,"["+String.fromCharCode(160,160,160)+"]",f,ab.txtAdd+(v?ab.txtCtrl:""))}}}}if(E){S=Y(D,"tgside");R=Y(S);createTiddlyElement(R,"li",null,"title",ab.options,null);createTiddlyButton(createTiddlyElement(R,"li"),ab.txtNew,null,I.setTag,"tsopt",null,null,{tiddler:r});if(v){createTiddlyButton(createTiddlyElement(R,"li"),ab.txtEdit,ab.txtEditTip,onClickTiddlerLink,"tsopt",null,null,{tiddlyLink:v.split("##")[0]})}w=true;if(q){T=store.getTiddlerText(q).readBracketedList();if(T.length>0){for(W=0;W<T.length;W++){f=T[W];if(f.indexOf("TAG:")==0){f=f.substr(4,f.length-4);R=Y(S);createTiddlyLink(createTiddlyElement(R,"li",null,null),f,f,"title");k=store.getTaggedTiddlers(f);for(V=0;V<k.length;V++){f=k[V].title;if(!G.contains(f)&&!K.contains(f)){A(R,"["+String.fromCharCode(160,160)+"]",f,ab.txtAdd)}}}else{if(w){R=Y(S);createTiddlyElement(R,"li",null,"title",ab.more);w=false}if(!G.contains(f)&&!K.contains(f)){A(R,"["+String.fromCharCode(160,160)+"]",f,ab.txtAdd)}}}}}}if(M){Popup.show(D,false);if(h){N=document.getElementById("sidebarTabs");D.style.left="";D.style.right=(ab.sidebarOffset+(N?N.offsetWidth:0))+"px"}}return I.noBubble(aa)},setTag:function(w){var q,j,z,l=true,n,u,s,g,v=w||window.event,k=config.macros.tagsearch,y=k.cfg,f=e(this),o=f.closest(".tgs"),i=o.data("btn"),A=f.data("tag"),B=o.data("tiddler"),h=o.data("source"),r=parseInt(o.data("mode"));if(!A){z=prompt(y.promptNew,"");if(!z){return false}else{A=z}}tid=k.exists(B,A);if(tid){u=tid.tags;if(!u.contains(A)){if(h&&r<2&&!v.shiftKey){j=store.getTiddlerText(h).readBracketedList();findTagged:for(q=0;q<j.length;q++){g=j[q];s=store.getTaggedTiddlers(g).map(function(m){return m.title});if(s.contains(A)){s.splice(s.indexOf(A),1);if(!v.ctrlKey&&r==1&&u.containsAny(s)){l=confirm(y.modeAsk.format([g,A]))}if(l){for(n=0;n<s.length;n++){g=s[n];if(u.contains(g)){store.setTiddlerTag(B,false,g)}}}break findTagged}}}store.setTiddlerTag(B,true,A)}else{if(!z){store.setTiddlerTag(B,false,A)}}n=store.getTiddler(B);store.saveTiddler(B,B,n.text,y.keepModified?n.modifier:config.options.txtUserName,y.keepModified?n.modified:new Date(),n.tags,n.fields)}if(config.options.chkAutoSave){autoSaveChanges()}i.click();o.find("input").focus();return k.noBubble(v)},newId:function(f){return f+Math.random().toString().substr(3)},notify:function(f,h){var j=e(h).closest(".tgs"),g=e("form input",j)[0];t=config.macros.tagsearch.exists(j.data("tiddler"),f);if(t&&!t.tags.contains(f)){store.setTiddlerTag(t.title,t,f)}j.data("btn").click();g.select()},exists:function(i,g){if(!store.getTiddler(i)){var h=merge({},config.defaultCustomFields);store.saveTiddler(i,i,"",config.options.txtUserName,new Date(),g,h);return false}return store.getTiddler(i)},noBubble:function(g){var h=g||window.event,f=resolveTarget(h);if(h.keyCode==27){Popup.remove(0)}else{if(h.type!="click"&&f.nodeName.toUpperCase()=="INPUT"){return true}}if(hasClass(f,"tiddlyLink")){return true}Popup.remove(1);h.cancelBubble=true;try{event.keyCode=0}catch(h){}if(window.event){h.returnValue=false}if(h.preventDefault){h.preventDefault()}if(h.stopPropagation){h.stopPropagation()}return false}};config.commands.tagSearch={};var d=config.macros.toolbar;d.createCommandTAGS=d.createCommand;d.createCommand=function(f,h,g,i){if(h=="tagSearch"){wikify("<<tagsearch toolbar "+config.macros.tagsearch.cfg.toolbar+">>",f);e(f.lastChild).attr({commandName:"tagSearch",tiddler:g.title})}else{d.createCommandTAGS.apply(this,arguments)}};var b=config.macros.gotoTiddler;if(b){b.processItem=function(i,g,h,f){if(!i.length){return}h.style.display=f?"block":"none";if(i=="*"){story.search(g.value);return false}if(!f){g.value=i}var j=e(g).data("notify");if(j){j.call(this,i,g)}else{story.displayTiddler(null,i)}return false};b.IEtableFixup="%0"}var c=store.getTiddlerText("ColorPalette::TertiaryMid"),a=store.getTiddlerText("ColorPalette::TertiaryDark");config.shadowTiddlers.StyleSheetTagSearch="/*{{{*/\n.tgs {padding:7px !important;-moz-border-radius:5px; -webkit-border-radius:5px;border-radius:5px;}\n.tgs li a, .tgs .quickopentag .tiddlyLink {display:inline;padding:2px;clear:none;}\n.tgs li a.toggleButton {display:inline;margin-left:5px;}\n.tgs .title {margin:3px 0 0 5px;font-weight:bold;font-size:120%;color:"+c+";padding:0;}\n.tgs form{display:block;float:left;clear:both;padding-left:5px !important;}\n.tgs .addto .quickopentag{display:block;clear:both;padding:5px;font-size:120%;}\n.tgs .notags, .tsopt{display:block;clear:both;margin:5px;}\n.tgs .highlight{background:"+a+";}\n.tgs ol{margin:0;padding:0 0 5px 0;}\n.tgs li{display:block;float:left;padding-bottom:10px !important;}\n.tgs li span{line-height:1em;}\n.tgs li ol li{clear:both;min-width:120px;display:inline;border:1px solid transparent;}\n.tgs li ol li:hover{border:1px solid "+c+";}\n.tgs li ol li ol li{padding:0 !important;}\n.tgs li ol li ol li:hover{border:1px solid transparent;}\n.tgside li ol li {min-width:150px;}.tgs .quickopentag {display:inline;}\n.tgs .quickopentag .tiddlyLink:hover {text-decoration:underline;}\n.tgs .quickopentag .button {border:0;padding:2px;font-size:1.5em;}\n/*}}}*/";store.addNotification("StyleSheetTagSearch",refreshStyles)})(jQuery);
- //%/</pre>
- </div>
- <div title="TagglyTaggingPlugin" creator="pmario" modifier="pmario" created="201008061923" modified="201009181705" tags="excludeLists systemConfig" server.title="TagglyTaggingPlugin" server.page.revision="107334" server.etag=""neui-em_public/TagglyTaggingPlugin/107334;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/neui-em_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="neui-em_public" server.permissions="read, write, create, delete" server.content-type="" _hash="d5a3d484b0efd43e1e7ba601e22b98f063081049">
- <pre>/***
- |Name:|TagglyTaggingPlugin|
- |Description:|tagglyTagging macro is a replacement for the builtin tagging macro in your ViewTemplate|
- |Version:|3.3.1 ($Rev: 9828 $)|
- |Date:|$Date: 2009-06-03 21:38:41 +1000 (Wed, 03 Jun 2009) $|
- |Source:|http://mptw.tiddlyspot.com/#TagglyTaggingPlugin|
- |Author:|Simon Baird <simon.baird@gmail.com>|
- |License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
- !Notes
- See http://mptw.tiddlyspot.com/#TagglyTagging
- ***/
- //{{{
- merge(String.prototype,{
- 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];
- else
- expr += "tiddler.tags.contains('%0')".format([tokens[i].replace(/'/,"\\'")]); // fix single quote bug. still have round bracket bug i think
- if (debug)
- alert(expr);
- return '('+expr+')';
- }
- });
- merge(TiddlyWiki.prototype,{
- getTiddlersByTagExpr: function(tagExpr,sortField) {
- var result = [];
- var expr = tagExpr.parseTagExpr();
- store.forEachTiddler(function(title,tiddler) {
- if (eval(expr))
- result.push(tiddler);
- });
- if(!sortField)
- 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) {
- store.setTiddlerTag(title,true,"excludeSearch");
- store.setTiddlerTag(title,true,"excludeLists");
- store.setTiddlerTag(title,true,"tagglyExpression");
- }
- }
- // 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);
- this.setTagglyOpt(title,opt,newVal);
- },
- 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() {
- config.taggly.toggleTagglyOpt(title,"sortOrder");
- return false;
- }
- }
- else {
- onclick = function() {
- config.taggly.setTagglyOpt(title,"sortBy",type);
- config.taggly.setTagglyOpt(title,"sortOrder",config.taggly.config.listOpts.sortOrder[0]);
- 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() {
- config.taggly.toggleTagglyOpt(title,type);
- 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++)
- singleCol.push(orig[c++]);
- output.push(singleCol);
- }
- 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
- wikify(colOutput,newTd);
- }
- 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);
- else
- 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++)
- leftOvers.push(list[i].title);
- 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)
- allTags.push(t);
- 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")
- allTags.reverse();
- else if (leftOverOutput != "")
- // leftovers first...
- output.push(leftOverOutput);
- 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...
- output.push(leftOverOutput);
- return this.drawTable(place,
- this.makeColumns(output,parseInt(this.getTagglyOpt(title,"numCols"))),
- "grouped");
- },
- // used to build site map
- treeTraverse: function(title,depth,sortBy,sortOrder,isTagExpr) {
- var list = config.taggly.getTiddlers(title,sortBy,isTagExpr);
- if (sortOrder == "desc")
- list.reverse();
- var indent = "";
- for (var j=0;j<depth;j++)
- indent += "*"
- var childOutput = "";
- if (depth > this.config.siteMapDepthLimit)
- childOutput += indent + this.lingo.tooDeepMessage;
- else
- 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;
- else
- 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
- "sitemap"
- );
- },
- 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
- refreshContainer.setAttribute("refresh","macro");
- refreshContainer.setAttribute("macroName",macroName);
- var tag = getParam(parsedParams,"tag");
- var expr = getParam(parsedParams,"expr");
- if (expr) {
- refreshContainer.setAttribute("isTagExpr","true");
- refreshContainer.setAttribute("title",expr);
- refreshContainer.setAttribute("showEmpty","true");
- }
- else {
- refreshContainer.setAttribute("isTagExpr","false");
- if (tag) {
- refreshContainer.setAttribute("title",tag);
- refreshContainer.setAttribute("showEmpty","true");
- }
- else {
- refreshContainer.setAttribute("title",tiddler.title);
- refreshContainer.setAttribute("showEmpty","false");
- }
- }
- this.refresh(refreshContainer);
- },
- refresh: function(place) {
- var title = place.getAttribute("title");
- var isTagExpr = place.getAttribute("isTagExpr") == "true";
- var showEmpty = place.getAttribute("showEmpty") == "true";
- removeChildren(place);
- addClass(place,"tagglyTagging");
- var countFound = config.taggly.getTiddlers(title,'title',isTagExpr).length
- if (countFound > 0 || showEmpty) {
- var lingo = config.taggly.lingo;
- config.taggly.createListControl(place,title,"hideState");
- if (config.taggly.getTagglyOpt(title,"hideState") == "show") {
- createTiddlyElement(place,"span",null,"tagglyLabel",
- isTagExpr ? lingo.labels.exprLabel.format([title]) : lingo.labels.label.format([title]));
- config.taggly.createListControl(place,title,"title");
- config.taggly.createListControl(place,title,"modified");
- config.taggly.createListControl(place,title,"created");
- config.taggly.createListControl(place,title,"listMode");
- config.taggly.createListControl(place,title,"excerpts");
- config.taggly.createListControl(place,title,"numCols");
- config.taggly.createTagglyList(place,title,isTagExpr);
- if (countFound == 0 && showEmpty)
- createTiddlyElement(place,"div",null,"tagglyNoneFound",lingo.labels.noneFound);
- }
- }
- }
- }
- },
- // 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,",
- "td.tagglyTagging",
- " {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; }",
- "/*}}}*/",
- ""].join("\n"),
- init: function() {
- merge(config.macros,this.macros);
- config.shadowTiddlers["TagglyTaggingStyles"] = this.styles;
- store.addNotification("TagglyTaggingStyles",refreshStyles);
- }
- };
- config.taggly.init();
- //}}}
- /***
- InlineSlidersPlugin
- By Saq Imtiaz
- http://tw.lewcid.org/sandbox/#InlineSlidersPlugin
- // 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");
- wikify(lookaheadMatch[3],panel);
- w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
- }
- },
- onClickSlider : function(e) {
- if(!e) var e = window.event;
- var n = this.nextSibling;
- n.style.display = (n.style.display=="none") ? "block" : "none";
- return false;
- }
- });
- //}}}</pre>
- </div>
- <div title="Template.Config" creator="pmario" modifier="pmario" created="201102072057" modified="201102072313" tags="mainMenu template" server.title="Template.Config" server.page.revision="245746" server.etag=""fancybox_public/Template.Config/245746;38557a300c7db6bf205b78f536236444a956e37a"" server.workspace="bags/fancybox_public" server.type="tiddlyweb" server.host="http://fancybox.tiddlyspace.com/" server.recipe="fancybox_private" server.bag="fancybox_public" server.permissions="read, write, create, delete" server.content-type="" _hash="2501f8f1e0f0d27c2b2d9c194f074751d24e4a93">
- <pre>!Info
- This tiddler contains the default values, that can be changed to configure the jQuery.fancybox() library function. FancyBoxPlugin reads the values from TW slices. Every parameters needs to be a valid slice! See the [[About]] for the examples.
- The structure is:
- {{{
- parameterName: value
- // comment the above value
- }}}
- //{{{
- padding: 10
- // Space between FancyBox wrapper and content
- margin: 20
- // Space between viewport and FancyBox wrapper
- opacity: false
- // When true, transparency of content is changed for elastic transitions
- modal: false
- // When true, 'overlayShow' is set to 'true' and 'hideOnOverlayClick', 'hideOnContentClick', 'enableEscapeButton', 'showCloseButton' are set to 'false'
- cyclic: false
- // When true, galleries will be cyclic, allowing you to keep pressing next/back.
- scrolling: auto
- // Set the overflow CSS property to create or hide scrollbars. Can be set to 'auto', 'yes', or 'no'
- width: 560
- height: 340
- // Width for content types 'iframe' and 'swf'. Also set for inline content if 'autoDimensions' is set to 'false'
- // Height for content types 'iframe' and 'swf'. Also set for inline content if 'autoDimensions' is set to 'false'
- autoScale: true
- // If true, FancyBox is scaled to fit in viewport
- autoDimensions: true
- // For inline and ajax views, resizes the view to the element recieves. Make sure it has dimensions otherwise this will give unexpected results
- centerOnScroll: false
- // When true, FancyBox is centered while scrolling page
- hideOnOverlayClick: true
- // Toggle if clicking the overlay should close FancyBox
- hideOnContentClick: false
- // Toggle if clicking the content should close FancyBox
- overlayShow: true
- // Toggle overlay
- overlayOpacity: 0.3
- // Opacity of the overlay (from 0 to 1; default - 0.3)
- overlayColor: #667
- // Color of the overlay
- titleShow: true
- // Toggle title
- titlePosition: outside
- // The position of title. Can be set to 'outside', 'inside' or 'over'
- transitionIn: fade
- transitionOut: fade
- // The transition type. Can be set to 'elastic', 'fade' or 'none'
- speedIn: 300
- speedOut: 300
- // Speed of the fade and elastic transitions, in milliseconds
- changeSpeed: 300
- // Speed of resizing when changing gallery items, in milliseconds
- changeFade: fast
- // Speed of the content fading while changing gallery items
- easingIn: fast
- easingOut: swing
- // Easing used for elastic animations
- showCloseButton: true
- // Toggle close button
- showNavArrows: true
- // Toggle navigation arrows
- enableEscapeButton: true
- // Toggle if pressing Esc button closes FancyBox
- //}}}</pre>
- </div>
- <div title="Template.Config.FancyBox" creator="fancybox" modifier="pmario" created="201101211613" modified="201102072053" tags="excludeLists excludeMissing excludeSearch" server.title="Template.Config.FancyBox" server.page.revision="245574" server.etag=""fancybox_public/Template.Config