Welcome to TiddlyWiki created by Jeremy Ruston, Copyright © 2007 UnaMesa Association
<script> var d = new Date();return '<<today "YYYY.0MM.0DD 0hh:0mm:0ss">>'+" week "+d.getWeek()+" day "+(d.getDay()==0?7:d.getDay())+" (<<today 'ddd'>>)";</script>
<<gradient horiz #fcb #ffffff>> [[2BL 702AM|2BL 702AM]]>>
[img[http://img218.imageshack.us/img218/7518/speakersmqz8.gif]] @@color:#00f;ABC Radio 702AM@@
<html><object width="425" height="350"><embed type="video/x-ms-asf" id="702AM" name="702AM" displaysize="4" autosize="0"
bgcolor="white" showcontrols="true" showtracker="1" showdisplay="1" showstatusbar="1" videoborder3d="0" width="250" height="142" src="http://abc.net.au/streaming/702/702stream.asx" autostart="true" designtimesp="5311" loop="false" volume="100" autostart="0"></embed></object></html>
@@color:#c06;''»''@@ [[Go to Web Site|http://abc.net.au/sydney/]]
@@color:#c06;''»''@@ [[How to contact the station here|702 ABC Sydney - About the station]]
@@color:#c06;''•'' @@ [[Media Player|http://abc.net.au/streaming/702/702stream.asx]]
@@color:#c06;''•'' @@ [[RealPlayer|http://www.abc.net.au/streaming/702/702stream.ram]]
ABC Local brings you continuous audio streaming from metropolitan stations allowing you to listen while you browse or work. Stay in touch with the latest news, sport, weather and more.
[[How to contact the station here|702 ABC Sydney - About the station]]
[[See the 702 program guide here|http://www.abc.net.au/sydney/radio/]]
[img[http://img218.imageshack.us/img218/7518/speakersmqz8.gif]][[Listen 2CBA 103.2FM |mms://202.147.105.45/fm1032]] - [[Go to Web Site|http://fm1032.relate.com.au/]]
[img[http://img218.imageshack.us/img218/7518/speakersmqz8.gif]] [[Listen 2CH 1170AM|http://2ch.com/cgi-bin/listenlive.pl]] - [[ Go to Web Site|http://2ch.com.au/welcome.shtml]]
<<gradient horiz #fcb #fff>> [[2MBS-FM Embed|2MBS-FM Embed]]>>
[img[http://img218.imageshack.us/img218/7518/speakersmqz8.gif]] @@color:#00f;Classical 102.5-FM@@
<html><embed type="video/x-ms-asf" id="929FM" name="929FM" displaysize="4" autosize="0"
bgcolor="white" showcontrols="1" showtracker="1" showdisplay="1" showstatusbar="1" videoborder3d="0" width="250" height="142" src="mms://2mbsfm.primcast.com/2MBSFM" autostart="true" designtimesp="5311" loop="false" volume="100"></embed></html>
@@color:#c06;''»''@@ [[Go to Web Site|http://www.2mbs.com/]]
<<gradient horiz #fcb #fff>> [[2MBS-FM Embed+Obj.|2MBS-FM Embed+Obj.]]>>
[img[http://img218.imageshack.us/img218/7518/speakersmqz8.gif]] @@color:#00f;Classical 102.5-FM@@
<html><embed><object type="video/x-ms-asf" id="929FM" name="929FM" displaysize="4" autosize="0"
bgcolor="white" showcontrols="1" showtracker="1" showdisplay="1" showstatusbar="1" videoborder3d="0" width="250" height="142" src="mms://2mbsfm.primcast.com/2MBSFM" autostart="true" designtimesp="5311" loop="false" volume="100"></object></embed></html>
@@color:#c06;''»''@@ [[Go to Web Site|http://www.2mbs.com/]]
<<gradient horiz #fcb #fff>> [[2MBS-FM Obj.+Embed|2MBS-FM Obj.+Embed]]>>
[img[http://img218.imageshack.us/img218/7518/speakersmqz8.gif]] @@color:#00f;Classical 102.5-FM@@
<html><object embed type="video/x-ms-asf" id="929FM" name="929FM" displaysize="4" autosize="0"
bgcolor="white" showcontrols="1" showtracker="1" showdisplay="1" showstatusbar="1" videoborder3d="0" width="250" height="142" src="mms://2mbsfm.primcast.com/2MBSFM" autostart="true" designtimesp="5311" loop="false" volume="100"></embed></object></html>
@@color:#c06;''»''@@ [[Go to Web Site|http://www.2mbs.com/]]
<<gradient horiz #fcb #fff>> [[2MBS-FM Object|2MBS-FM Object]]>>
[img[http://img218.imageshack.us/img218/7518/speakersmqz8.gif]] @@color:#00f;Classical 102.5-FM@@
<html><object type="video/x-ms-asf" id="929FM" name="929FM" displaysize="4" autosize="0"
bgcolor="white" showcontrols="1" showtracker="1" showdisplay="1" showstatusbar="1" videoborder3d="0" width="250" height="142" src="mms://2mbsfm.primcast.com/2MBSFM" autostart="true" designtimesp="5311" loop="false" volume="100"></object></html>
@@color:#c06;''»''@@ [[Go to Web Site|http://www.2mbs.com/]]
<<gradient horiz #fcb #ffffff>> [[2PB 630AM|2PB 630AM]]>>
[img[http://img218.imageshack.us/img218/7518/speakersmqz8.gif]] @@color:#00f;ABC News Radio 630AM@@
<html><embed type="video/x-ms-asf" id="630AM" name="630AM" displaysize="4" autosize="0"
bgcolor="white" showcontrols="true" showtracker="1" showdisplay="1" showstatusbar="1" videoborder3d="0" width="250" height="142" src="http://www.abc.net.au/streaming/newsradio.asx" autostart="true" designtimesp="5311" loop="false" volume="100"></embed></html>
@@color:#c06;''»''@@ [[Go to Web Site|http://www.abc.net.au/newsradio/]]
@@color:#c06;''•'' @@ [[Media Player|http://www.abc.net.au/newsradio/audio/winplayer.htm]]
@@color:#c06;''•'' @@ [[RealPlayer|http://www.abc.net.au/newsradio/audio/realplayer.htm]]
Welcome to ABC ~NewsRadio Online. For our list of original frequencies <html><a href="http://www.abc.net.au/newsradio/listen/" target="_blank">click here</a></html> or to find out if you are in one of new frequency regions <html><a href="http://www.abc.net.au/newsradio/listen/" target="_blank">click here</a></html>.
<<gradient horiz #fcb #ffffff>> [[2RN-576AM|2RN-576AM]]>>
[img[http://img218.imageshack.us/img218/7518/speakersmqz8.gif]] @@color:#00f;ABC Radio National 576AM@@
<html><embed type="video/x-ms-asf" id="576AM" name="576AM" displaysize="4" autosize="0"
bgcolor="white" showcontrols="true" showtracker="1" showdisplay="1" showstatusbar="1" videoborder3d="0" width="250" height="142" src="http://www.abc.net.au/streaming/RN.asx" autostart="true" designtimesp="5311" loop="false" volume="100"></embed></html>
@@color:#c06;''»''@@ [[Go to Web Site|http://www.abc.net.au/rn/]]
@@color:#c06;''•'' @@ [[Media Player|http://www.abc.net.au/rn/listen/wmp.htm]]
@@color:#c06;''•'' @@ [[RealPlayer|http://www.abc.net.au/rn/listen/real.htm]]
[[See the Radio National program Guide|http://www.abc.net.au/rn/schedule/]]
<<gradient horiz #fcb #fff>> [[3MBS-FM|3MBS-FM]]>>
[img[http://img218.imageshack.us/img218/7518/speakersmqz8.gif]] @@color:#00f;Classical Melbourne@@
<html><hide linebreaks><embed><object data="http://aod.3mbs.org.au:8000/player/player_mp3_maxi.swf?config=http://aod.3mbs.org.au:8000/player/player_mp3_maxi_config" type="application/x-shockwave-flash" align="center" height="40" width="150" autostart="true">
<param value="http://aod.3mbs.org.au:8000/player/player_mp3_maxi.swf" name="movie">
<param value="config=http://aod.3mbs.org.au:8000/player/player_mp3_maxi_config" name="FlashVars">
<param value="high" name="quality">
<param value="#EDEAE8" name="bgcolor">
<div class="body" id="NoFlash" align="left">
<p>The player is not available because you need to install <img src="aod/res/flash_player_20x20.jpg" style="vertical-align: middle;" alt="Adobe Flash Player">and/or enable Javascript to use this feature. <a href="00listen-info.html#get-flash">More information.</a></p>
</div>
</object></embed></html>
@@color:#c06;''»''@@ Click arrow to start.
@@color:#c06;''»''@@[[Go to Web Site|http://www.3mbs.org.au/]]
<<gradient horiz #fcb #fff>> [[4MBS-FM|4MBS-FM]]>>
[img[http://img218.imageshack.us/img218/7518/speakersmqz8.gif]] @@color:#00f;ABC Classic 4MBS-FM@@
<html><embed type="video/x-ms-asf" id="929FM" name="929FM" displaysize="4" autosize="0"
bgcolor="white" showcontrols="1" showtracker="1" showdisplay="1" showstatusbar="1" videoborder3d="0" width="250" height="142" src="http://wma2.viastreaming.net/silvermemories" autostart="true" designtimesp="5311" loop="false" volume="100"></embed></html>
@@color:#c06;''»''@@ [[Go to Web Site|http://www.4mbsclassicfm.com.au/]]
STREET:
700 Harris Street
Ultimo, NSW
MAIL:
GPO Box 9994
Sydney, NSW, 2001
Phone
PHONE:
General enquiries: (02) 8333 1234
Studio talkback: 1300 222 702
(We established this number to allow people in Sydney and the wider New South Wales region to call us on one number, without paying STD rates. So in most instances you’ll only be charged at the cost of a local call (generally $0.25). However, actual call costs can vary depending on your carrier, and may be higher if you’re calling from a mobile phone or a pay phone. There are too many variables to list a simple price, so please check with your telecommunications provider for the exact cost.)
SMS
SMS:
To contact programs on-air: 199 22 702
(All SMS entries are charged at the rate of 25 cents per message regardless of which carrier you are with. Some mobile phones do not have this service enabled; please contact your phone administrator to activate this service.)
fax
FAX:
to fax the station use: (02) 8333 1203
Source: [[702 ABC Sydney - About the station|http://www.abc.net.au/sydney/radio/about.htm?section=contactus]]
A certain smile, a certain face
Can lead an unsuspecting heart on a merry chase
A fleeting glance can say so many lovely things
Suddenly you know why my heart sings
You love awhile and when love goes
You try to hide the tears inside with a cheerful pose
But in the hush of night exactly like a bittersweet refrain
Comes that certain smile to haunt your heart again
But in the hush of night exactly like a bittersweet refrain
Comes that certain smile to haunt your heart again
<<gradient horiz #fcb #fff>> [[ABC 92.9FM|ABC 92.9FM]]>>
[img[http://img218.imageshack.us/img218/7518/speakersmqz8.gif]] @@color:#00f;ABC Classic FM 92.9FM@@
<html><object type="video/x-ms-asf" id="929FM" name="929FM" displaysize="4" autosize="0"
bgcolor="white" showcontrols="1" showtracker="1" showdisplay="1" showstatusbar="1" videoborder3d="0" width="250" height="142" src="http://www.abc.net.au/streaming/classic/classicfm.asx" autostart="true" designtimesp="5311" loop="false" volume="100"></object></html>
@@color:#c06;''»''@@ [[Go to Web Site|http://www.abc.net.au/classic/]]
@@color:#c06;''•''@@ [[Media Player|http://www.abc.net.au/classic/audio/streaming_wmp.htm]]
@@color:#c06;''•'' @@ [[RealPlayer|http://www.abc.net.au/streaming/classic/classicfm.ram]]
Classical music can transform everyday moments into something magical.
Whatever you're doing, wherever you are, ABC Classic FM provides the perfect soundtrack to your day.
<<tabs " " [[Off ]] "" [[AMIntro]] [[2RN-576 ]] "" [[2RN-576AM]] [[2PB 630 ]] "" [[2PB 630AM]] [[2BL 702 ]] "" [[2BL 702AM]] [[RadioAus. ]] "RadioAustralia" [[RadioAustralia]] >>
Instructions +++[click here.]
<<tiddler Help>>
===
{{textcenter{
{{headline{
^^ABC^^[img[http://img295.imageshack.us/img295/9558/whtblkwhtyi3.gif]]^^Browser^^
}}}
}}}
/%
|Name|MiniBrowser|
|Source|http://www.TiddlyTools.com/#MiniBrowser|
|Version|0.0.0|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <<br>>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|script|
|Requires|InlineJavascriptPlugin, MiniBrowserList|
|Overrides||
|Description|use an 'inline frame' to display another site inside a tiddler with navigation buttons and a dropdown list of favorite URLs.|
Usage:
<<tiddler MiniBrowser with: id>>
where:
id - (optional) specifies an ID to assign to the DOM element for the embedded IFRAME. If you want to have **more than one** MiniBrowser displayed at a time, you MUST provide an ID, so that each MiniBrowser can be uniquely identified within the DOM structure.
Note: MiniBrowserList can be *empty*, but must already exist for you to ADD a favorite to the list. If you don't copy the sample list from TiddlyTools, be sure to create this tiddler in your own document if you intend to use the MiniBrowser's "favorites" droplist.
%/<html><form target="browser_$1" style="margin:0;padding:0"
onsubmit="this.action=this.url.value; this.form.done.disabled=false" style="margin:0;padding:0"><nobr><!--
--><input type="button" value="<" title="back" style="font-size:8pt;width:3%"
onclick="try{window.frames['browser_$1'].history.go(-1)}catch(e){window.history.go(-1)}" ><!--
--><input type="button" value=">" title="forward" style="font-size:8pt;width:3%"
onclick="try{window.frames['browser_$1'].history.go(+1)}catch(e){window.history.go(+1)}"><!--
--><input type="button" value="+" title="refresh"style="font-size:8pt;width:3%"
onclick="window.frames['browser_$1'].location.reload()"><!--
--><input type="button" value="x" title="stop"style="font-size:8pt;width:3%"
onclick="window.stop()"><!--
--><select name="bookmarks" id="browser_bookmarks_$1" size="1" style="font-size:8pt;width:21%"
onchange="var f=document.getElementById('browser_$1'); if (!this.value.length) return window.miniBrowserResetSize(); else window.miniBrowserSetSize(this.form); this.form.url.value=this.value; this.form.action=this.value; this.form.submit(); this.form.done.disabled=false">
<option value="">ABC Browser...</option>
</select><!--
--><input type="button" value="add" title="add this URL to the MiniBrowser bookmarks" style="font-size:8pt;width:5%"
onclick="window.miniBrowserAddBookmark(this.form.url);"><!--
--><input type="button" value="del" title="remove this URL from the MiniBrowser bookmarks" style="font-size:8pt;width:5%"
onclick="window.miniBrowserDeleteBookmark(this.form.bookmarks);"><!--
--><input type="button" value="edit" title="edit the MiniBrowser bookmarks list definition" style="font-size:8pt;width:5%"
onclick="story.displayTiddler(null,'MiniBrowserList',2)"><!--
--><input type="text" name="url" size="60" value="" style="font-size:8pt;width:35%"
onfocus="this.select();" onkeyup="var k=event.keyCode; if (k==13|k==10) this.form.go.click();"><!--
--><input type="button" name="go" value="go" title="view this URL" style="font-size:8pt;width:4%"
onclick="if(!this.form.url.value.length) return; window.miniBrowserSetSize(this.form); this.form.action=this.form.url.value; this.form.submit(); this.form.done.disabled=false"><!--
--><input type="button" value="open" title="open this URL in a separate window" style="font-size:8pt;width:6%"
onclick="if(this.form.url.value.length) window.open(this.form.url.value)"><!--
--><input type="button" value="done" name="done" title="stop viewing this URL" disabled style="font-size:8pt;width:6%"
onclick="this.form.url.value=''; this.form.bookmarks.selectedIndex=0; window.miniBrowserResetSize(); this.disabled=true;">
<iframe name="browser_$1" id="browser_$1" style="width:100%;height:1em;display:none;background:#fff;border:1px solid"></iframe><div id="browser_resize_$1" style="text-align:center;marginTop:2px;display:none;font-size:8pt"><!--
--> size: <input type="text" name="w" size="3" value="100%" style="font-size:8pt;"
onfocus="this.select()"><!--
-->x<input type="text" name="h" size="3" value="600" style="font-size:8pt;"
onfocus="this.select()"><!--
--> <input type="button" value="set" style="font-size:8pt;"
onclick="var w=this.form.w.value.trim(); if (!w||!w.length) w='100%'; var h=this.form.h.value.trim(); if (!h||!h.length) h='600'; if (!w.replace(/[0-9]*/,'').length) w+='px'; if (!h.replace(/[0-9]*/,'').length) h+='px'; var f=document.getElementById('browser_$1'); f.style.width=w; f.style.height=h;"><!--
--><input type="button" value="reset" style="font-size:8pt;"
onclick="var w='100%'; var h='600'; var f=document.getElementById('browser_$1'); f.style.width=w; f.style.height=h+'px'; this.form.w.value=w; this.form.h.value=h;"><!--
--><input type="button" value="fit" title="resize to fit containing window" style="font-size:8pt;"
onclick="window.miniBrowserFitSize(this)"><!--
--></div></nobr></form></html><script>
// load bookmarks droplist from HR-separated "MiniBrowserList" tiddler contents
var here=document.getElementById("browser_bookmarks_$1");
while (here.length) here.options[0]=null; // remove current list items
here.options[here.length]=new Option("ABC Browser...","",true,true);
var list=store.getTiddlerText("MiniBrowserList");
if (list && list.trim().length) {
var parts=list.split("\n----\n");
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
var indent=value&&value.length?"\xa0\xa0":"";
here.options[here.length]=new Option(indent+label,value,false,false);
}
}
window.miniBrowserSetSize = function(form) {
var f=document.getElementById('browser_$1');
var w=form.w.value.trim(); if (!w||!w.length) w='100%'; if (!w.replace(/[0-9]*/,'').length) w+='px';
var h=form.h.value.trim(); if (!h||!h.length) h='600'; if (!h.replace(/[0-9]*/,'').length) h+='px';
f.style.width=w; f.style.height=h; f.style.display="block";
document.getElementById('browser_resize_$1').style.display="block";
return false;
}
window.miniBrowserResetSize = function() {
var f=document.getElementById('browser_$1');
if (f.src.length) f.src="";
f.style.width='100%'; f.style.height='1em'; f.style.display="none";
document.getElementById('browser_resize_$1').style.display="none";
return false;
}
window.miniBrowserFitSize = function(place) {
var trim=88; // fudge factor for controls + padding + borders. ADJUST TO FIT LAYOUT
var t=story.findContainingTiddler(place);
if (!t) { t=place; while (t && t.className!='floatingPanel') t=t.parentNode; } if (!t) return;
var w="100%"; // horizontal stretching via CSS works, but vertical stretching doesn't... so:
var h=(t.offsetHeight-trim); // workaround: get containing panel/tiddler height and subtract "trim" height
place.form.w.value=w; place.form.h.value=h; // update width/height input fields
var f=document.getElementById('browser_$1');
f.style.width=w; f.style.height=h+"px";
}
window.miniBrowserAddBookmark = function(place) {
var v=place.value; if (!v.length) return;
var d=prompt("Please enter a description for\n"+place.value); if (!d || !d.length) return;
var t = store.getTiddler("MiniBrowserList"); t.set(null,"%0\n%1\n----\n%2".format([d,v,t.text]));
var here=story.findContainingTiddler(place);
if (here) story.refreshTiddler(here.getAttribute("tiddler"),1,true);
story.refreshTiddler("MiniBrowserList",1,true);
story.refreshTiddler("MiniBrowser",1,true);
store.setDirty(true);
}
window.miniBrowserDeleteBookmark = function(place) {
var v=place.value; if (!v.length) return;
var d=place.options[place.selectedIndex].text; if (!d.length) return;
var t = store.getTiddler("MiniBrowserList");
if (!confirm("Are you sure you want to remove this MiniBrowser bookmark?\n\n"+d+"\n"+v)) return;
var pat='%0\n%1\n----\n'.format([d.replace(/\xa0/g,''),v]); var re=new RegExp(pat,"i");
t.set(null,t.text.replace(re,""));
var here=story.findContainingTiddler(place);
if (here) story.refreshTiddler(here.getAttribute("tiddler"),1,true);
story.refreshTiddler("MiniBrowserList",1,true);
story.refreshTiddler("MiniBrowser",1,true);
store.setDirty(true);
}
</script><<tiddler HideTiddlerTags>>
<<tabs " " [[Off - digIntro ]] "" [[digIntro]] [[digRadio ]] "" [[digRadio]] [[digJazz ]] "" [[digJazz]] [[digCountry ]] "" [[digCountry]] >>
Instructions +++[click here.]
<<tiddler Help>>
===
Instructions +++[click here.]
<<tiddler Help>>
===
!!!<<gradient horiz #fcb #fff>> [[ABC Radio on the Net.|AMIntro]]^^<<tiddler CloseThisOpen with: FormattingText '« back'>>|<<toolbar editTiddler>>» ^^>>
[[Podcasts|http://search.abc.net.au/search/search.cgi?form=simple&num_ranks=20&collection=abcall&query=podcasts]]
[[Saturday Extra|http://www.abc.net.au/rn/saturdayextra/default.htm]]
[[Introduction]]
MainFeatures
NewFeatures
[[Customisation]]
[[Plugins]]
GettingStarted
HowToUpgrade
[[{Index}]]
<<options>>
<<option chkSearchTitles>> Search in tiddler titles
<<option chkSearchText>> Search in tiddler text
<<option chkSearchTags>> Search in tiddler tags
<<option chkSearchFields>> Search in tiddler data fields
<<option chkSearchShadows>> Search in shadow tiddlers
<<option chkSearchTitlesFirst>> Search results show title matches first
<<option chkSearchList>> Search results show list of matching tiddlers
<<option chkSearchIncremental>> Incremental searching
<<option chkHoldSearches>> Hold search results
<html><div align="center"> <object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/Ep4NZn-MDws&hl=en&fs=1&"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/Ep4NZn-MDws&hl=en&fs=1&" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object>
| !Finnish | !English |
|<<tiddler [[Ai ai taas sattuu Loituma##finnish]]>>|<<tiddler [[Ai ai taas sattuu Loituma##english]]>>|
</div></html>
/%
!finnish
Ai-ai-ai, taas sattuu, aa-aa-aa
ehkä siihenkin tottuu, uu-uu-uu.
Kohtalon piston sieluuni sain,
en siitä koskaan toipune kai.
Herätessäin ol' aamun koi.
Huomasin sunnuntaikellot jo soi.
Ai-ai-ai, taas sattuu
ehkä siihenkin tottuu.
!end
!english
Oh, oh, it hurts again,
Maybe I'll get used to it.
Fate pierced my soul,
Will I ever recover?
I woke up, it was dawn,
And the church bells were ringing.
!end
%/
!!!!!<<gradient horiz #fcb #fff>> [[AllNotes]]>>
@@color:#C06;''» »'' @@ Notes/comments attached to tabs: see note below
----
<script>
// get all tiddlers tagged with "allnotes"
var tids=store.getTaggedTiddlers("allnotes");
// keep only tiddlers *also* tagged with New
var list=[];
for (var t=0; t<tids.length; t++)
if (tids[t].isTagged("allnotes")) list.push(tids[t]);
// create output list of tiddler titles, one per line
var out="";
for (var t=0; t<list.length; t++) out+="#[["+list[t].title+"]]\n";
return out;
</script>
This is a list of the notes attached to tabs; the text preceding ''-Comments'' is the name of the tab.
!!!!!<<gradient horiz #fcb #fff>> AllTabs>>
<<list all>>
<script>
var out="";
var tids=store.getTaggedTiddlers("Katie Melua");
for (var t=0; t<tids.length; t++)
if (tids[t].isTagged("amateur")) out+="[["+tids[t].title+"]]\n";
return out;
</script>
{{block{
/***
!!!784 allow tiddler sections in TiddlyLinks to be used as anchor points for intra-tiddler scrolling.
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/784 - OPEN
You can use the tiddler section syntax within the {{{<<tiddler>>}}} macro to //transclude// a subsection of one tiddler into another (e.g., {{{<<tiddler SomeTiddler##SomeSection>>}}}). However, if this syntax is used in a TiddlyLink (e.g., {{{[[SomeTiddler##SomeSection]]}}}), the entire reference is treated as a link to a (non-existent) tiddler that includes the section reference in the tiddler title itself.
This tweak extends the TiddlyLink and displayTiddler() processing so that section references in links can be used to auto-scroll to the indicated heading within a tiddler (i.e., the same 'anchor' behavior as {{{<a name="foo">}}} and {{{<a href="#foo">...</a>}}} when using HTML syntax).
***/
//{{{
Story.prototype.scrollToSection = function(title,section) {
if (!title||!section) return; var t=this.getTiddler(title); if (!t) return null;
var elems=t.getElementsByTagName('*');
for (var i=0; i<elems.length; i++) { var e=elems[i];
if (!['H1','H2','H3','H4','H5'].contains(e.nodeName)) continue;
if (getPlainText(e).indexOf(section)!=-1) {
var delay=config.options.chkAnimate?config.animDuration+1:0; // scroll *after* tiddler animation
setTimeout('window.scrollTo(0,'+findPosY(e)+')',delay);
return e;
}
}
}
window.createTiddlyLink_sectionanchor=window.createTiddlyLink;
window.createTiddlyLink=function(place,title) {
var t=story.findContainingTiddler(place); var tid=t?t.getAttribute('tiddler'):'';
var parts=title.split(config.textPrimitives.sectionSeparator);
if (!parts[0].length) parts[0]=tid; // default to current tiddler for '##section' links
if (parts[1]) arguments[1]=parts[0]; // trim section from tiddler title
var btn=createTiddlyLink_sectionanchor.apply(this,arguments);
if (parts[1]) btn.setAttribute('section',parts[1]); // save section
return btn;
}
window.onClickTiddlerLink_sectionanchor=window.onClickTiddlerLink;
window.onClickTiddlerLink=function(ev) {
var e=ev||window.event; var target=resolveTarget(e); var title=null;
while (target!=null && title==null) {
title=target.getAttribute('tiddlyLink');
section=target.getAttribute('section');
target=target.parentNode;
}
var t=story.findContainingTiddler(target); var tid=t?t.getAttribute('tiddler'):'';
if (title!=tid||!section) onClickTiddlerLink_sectionanchor.apply(this,arguments); // avoid excess scrolling
story.scrollToSection(title,section);
return false;
}
Story.prototype.displayTiddler_sectionanchor=Story.prototype.displayTiddler;
Story.prototype.displayTiddler = function(srcElement,tiddler)
{
var title=(tiddler instanceof Tiddler)?tiddler.title:tiddler;
var parts=title.split(config.textPrimitives.sectionSeparator);
if (parts[0].length && parts[1]) arguments[1]=parts[0]; // trim section from tiddler title
this.displayTiddler_sectionanchor.apply(this,arguments);
story.scrollToSection(parts[0],parts[1]);
}
config.formatterHelpers.isExternalLink_sectionanchor=config.formatterHelpers.isExternalLink;
config.formatterHelpers.isExternalLink=function(link) {
if (link.indexOf(config.textPrimitives.sectionSeparator)!=-1) return false;
return config.formatterHelpers.isExternalLink_sectionanchor.apply(this,arguments);
}
//}}}
<html><div align="center"> <object height="45" width="315" data="http://www.abc.net.au/local/global_flash/player_mp3.swf" [links to www.abc.net.au/local/global_flash/player_mp3.swf] type="application/x-shockwave-flash" class="player_mp3">
<param value="http://www.abc.net.au/local/global_flash/player_mp3.swf" [links to www.abc.net.au/local/global_flash/player_mp3.swf] name="movie"/>
<param value="transparent" name="wmode"/>
<param value="mediaURL=http://mpegmedia.abc.net.au/local/sydney/200810/r304455_1327156.mp3&autoplay=false&glassyplayer=false&playershadow=false&playerbgcolor=#2E2E2E&pausecolor=#FFFFFF&scrubcolor=#FFFFFF&scrubbgcolor=#1A1A1A&itemtimecolor=#FFFFFF&volumeiconcolor=#FFFFFF&timetextcolor=#FFFFFF&loadingbarcolor=#777777&loadingbgcolor=#FFFFFF [links to mpegmedia.abc.net.au/local/sydney/200810/r304455_1327156.mp3&autoplay=false&glassyplayer=false&playershadow=false&playerbgcolor=#2E2E2E&pausecolor=#FFFFFF&scrubcolor=#FFFFFF&scrubbgcolor=#1A1A1A&itemtimecolor=#FFFFFF&volumeiconcolor=#FFFFFF&timetextcolor=#FFFFFF&loadingbarcolor=#777777&loadingbgcolor=#FFFFFF]" name="flashvars"/>
</object></div></html>
<<gradient horiz #fcb #ffffff>> [[2BL 702AM|2BL 702AM]]>>
[img[http://img218.imageshack.us/img218/7518/speakersmqz8.gif]] @@color:#00f;ABC Radio 702AM@@
<html><hide linebreaks>
<OBJECT ID="MediaPlayer1" CLASSID="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" CODEBASE="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab# Version=5,1,52,701" STANDBY="Loading Microsoft Windows® Media Player components..." TYPE="application/x-oleobject" width="280" height="46">
<param name="fileName" value="http://abc.net.au/streaming/702/702stream.asx">
<param name="animationatStart" value="true">
<param name="transparentatStart" value="true">
<param name="autoStart" value="true">
<param name="showControls" value="true">
<param name="Volume" value="-300">
<embed type="application/x-mplayer2" pluginspage="http://www.microsoft.com/Windows/MediaPlayer/" src="http://abc.net.au/streaming/702/702stream.asx" name="MediaPlayer1" width=280 height=46 autostart=1 showcontrols=1 volume=-300>
</OBJECT>
</embed></html>
Arianne's an April morning
That comes rippling through my window
She's the smell of coffee brewing
On a quiet rainy Sunday
And the purring of a kitten
That has made my neck
A pillow for it's head
Arianne's the silly music
That my father used to whistle
She's the new leaf on the fern
That I had given up last winter
And what writer's have to feel like
When they suddenly discover
They've been read
Arianne is mama's crystal
Bread that's nearly finished baking
And the rainbow in a puddle
And the happiest of birthdays
Then the going off on Friday
And the coming back on Monday
With a tan
Arianne is made of feelings
So I milk her of her kisses
And I swallow up her breathing
And I taste her where she loves me
And I'm filled to over flowing
But there's always room for more of Arianne
Arianne is mama's crystal
Bread that's nearly finished baking
And the rainbow in a puddle
And the happiest of birthdays
Then the going off on Friday
And the coming back on Monday
With a tan
Arianne is made of feelings
So I milk her of her kisses
And I swallow up her breathing
And I taste her where she loves me
And I'm filled to over flowing
But there's always room for more of Arianne
<html><iframe src="http://www.bbc.co.uk/iplayer/radio" style="width:100%;height:600px;border:5px solid black;"></iframe></html>
{{borderless{
{{floatright{<html><input type='button' value='Open in a new window » ' onclick='window.open("http://www.carc.org.uk/pdf/FavRx002.pdf","_blank")'></html>}}}{{floatleft{<<tiddler NavButtons>>}}}
----
<html><div align="center"><iframe src ="http://www.carc.org.uk/pdf/FavRx002.pdf" width="100%" align="center" height="600" scrolling="auto" frameborder="0" allowtransparency style="border:none;"></iframe></div></html>}}}
!!!!!<<gradient horiz #fcb #fff>> [[Bach]]>>
<script>
// get all tiddlers tagged with "Bach"
var tids=store.getTaggedTiddlers("Bach");
// keep only tiddlers *also* tagged with ?
var list=[];
for (var t=0; t<tids.length; t++)
if (tids[t].isTagged("Bach")) list.push(tids[t]);
// create output list of tiddler titles, one per line
var out="";
for (var t=0; t<list.length; t++) out+="#[["+list[t].title+"]]\n";
return out;
</script>
config.messages.backstage = {
open: {text: " ", tooltip: "Open the backstage tools."},
close: {text: " ", tooltip: "Close the backstage area"},
prompt: "backstage: ",
decal: {
edit: {text: "edit", tooltip: "Edit the tiddler '%0'"}
}
};
/***
!!!<<gradient horiz #fcb #fff >><<tiddler RefreshStyles>> BackstageCSS>>/%==================================================%/
***/
#backstageArea {background-color:#009;}
#backstageArea a {background-color:#abf;color:#000; border:none;}
#backstageArea a:hover {background:#fff; color:#f00; }
#backstageArea a.backstageSelTab {background:#abf; color:#fff;}
#backstageButton {background:transparent; }
#backstageButton a {background:transparent; color:#abf; border:none;}
#backstageButton a:hover {background:#fff;color:#f00; border:none;}
#backstagePanel {background:#abf; color:#000; border-color:#fcf ;width:50em;}
#backstagePanel a {color:#00f;}
#backstagePanel a:hover {background:#eee;color:#f00; border:#f00 solid 1px;}
.backstagePanelFooter .button {border:none; color:#fcf ;}
.backstagePanelFooter .button:hover {color:#0f0;}
#backstageCloak {background:[[ColorPalette::Foreground]]; opacity:0.5; filter:'alpha(opacity:50)';}
#backstageArea { width:100%;display:none; position:relative; overflow: hidden; z-index:150; padding:0.2em 0.5em 0.2em 0.5em;margin-left:auto;margin-right:auto;}
#backstageToolbar {position:relative; width:60%;margin-left:0;margin-right:auto;}
#backstageButton {display:none; position:absolute; z-index:175; top:0em; margin-right:auto;margin-left:auto; padding:0.1em 0.5em 0.2em 0.5em;}
#backstageArea a {font-weight:normal; margin-left:0.5em; padding:0.2em 0.5em 0.2em 0.5em;}
#backstage {position:relative; width:100%;}
#backstagePanel {display:none; z-index:100; position:absolute; margin:0em 3em 0em 0.2em; padding:1em 1em 1em 1em;}
.backstagePanelFooter {padding-top:0.2em; float:right;}
.backstagePanelFooter a {padding:0.2em 0.4em 0.2em 0.4em;}
#backstageCloak {display:none; z-index:50; position:absolute; width:100%; height:100px;}
.contentWrapper {margin-top:0em;
}
@0950 13.4.08 change backstage to dark blue am saving now.
config.tasks.sidebaroptions = {
text: "SideBarOptions",
tooltip: "A custom backstage tab",
content: "|width:30em;<<tiddler SideBarOptions>><<tiddler SideBarTabs>>|"
};
config.backstageTasks.push("sidebaroptions");
config.tasks.slantedMenu = {
text: "SlantedMenu",
tooltip: "A custom backstage tab",
content: "|width:30em;<<tiddler TrueSlantedMenu>><<tiddler MoreToolsSlider>><<tiddler ViewTabs>>|"
};
config.backstageTasks.push("slantedMenu");
<html><div align="center"> <object width="425" height="350"><param name="movie" value="TYPE URL HERE"></param><param name="wmode" value="transparent"></param><embed src="TYPE URL HERE" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></div></html>
<html><div align="center"> <object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/Zpf38dQpMzk&hl=en&fs=1&autoplay=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/Zpf38dQpMzk&hl=en&fs=1&autoplay=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></div></html>
<html><div align="center"> <object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/EC1E4_imS0A&hl=en&fs=1&autoplay=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/EC1E4_imS0A&hl=en&fs=1&autoplay=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></div></html>
<html><div align="center"><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/hZ9qWpa2rIg&hl=en_US&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/hZ9qWpa2rIg&hl=en_US&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></div></html>
<html><div align="center"><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/MDrLX7FXba4&hl=en&fs=1&autoplay=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/MDrLX7FXba4&hl=en&fs=1&autoplay=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object></div></html>
<html><div align="center"> <object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/49IOKnhX0Sk&hl=en&fs=1&autoplay=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/49IOKnhX0Sk&hl=en&fs=1&autoplay=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></div></html>
@@color:#050;This is a browser within a browser. Set up to run web pages from the ABC this ~MiniBrowser has most of the features to be self-contained and can be very useful.@@{{textcenter{
[img[http://img295.imageshack.us/img295/9558/whtblkwhtyi3.gif]]}}}
Instructions +++[click here.]
<<tiddler Help>>
===
/***
!!!<<gradient horiz #fc3 #fff >><<tiddler RefreshStyles>> ButtonStyle>>/%==================================================%/
***/
input.btn{
color:#000;
font-family:Trebuchet MS,aerial,helvetica,sans-serif;
font-size:100%;
font-weight:normal;
background:url("http://img520.imageshack.us/img520/8688/mainmenugray7ef.gif") repeat-x top left;top left;
background-color:#eee;
border:1px solid;
border-top-color:#000;
border-left-color:#000;
border-right-color:#000;
border-bottom-color:#000;
-moz-border-radius : .25em 0.25em 0.25em 0.25em;
}
input.btnhov{
color:#a00;
background:#fff;
background:url("http://img520.imageshack.us/img520/8688/mainmenugray7ef.gif") repeat-x top left;top left;
border-top-color:#c06;
border-left-color:#c06;
border-right-color:#c06;
border-bottom-color:#c06;
-moz-border-radius : .25em 0.25em 0.25em 0.25em;
}
<<gradient horiz #fcb #ffffff>> [[CKAJ-FM|CKAJ-FM]] @@color:#00f;''Québec''@@>>
[img[http://img218.imageshack.us/img218/7518/speakersmqz8.gif]] @@color:#00f;Québec Canada: radio@@
<html><embed type="video/x-ms-asf" id="CKAJ-FM" name="CKAJ-FM" displaysize="4" autosize="0"
bgcolor="white" showcontrols="true" showtracker="1" showdisplay="1" showstatusbar="1" videoborder3d="0" width="250" height="142" src="mms://199.202.64.76/ckaj" autostart="true" designtimesp="5311" loop="false" volume="100"></embed></html>
Bienvenue sur le site de CKAJ-FM...la seule et unique radio d'appartenance Saguenéenne.
http://www.ckaj.org/
<<gradient horiz #fcb #ffffff>> [[CKAJ-FM-asx|CKAJ-FM-asx]] @@color:#00f;''Québec''@@>>
<html><embed type="video/x-ms-asf" id="CKAJ-FM-asx" name="CKAJ-FM-asx" displaysize="4" autosize="0"
bgcolor="white" showcontrols="true" showtracker="1" showdisplay="1" showstatusbar="1" videoborder3d="0" width="250" height="142" src="http://stream.megaquebec.net/ckaj.asx" autostart="true" designtimesp="5311" loop="false" volume="100"></embed></html>
/***
!!!<<gradient horiz #fc3 #fff >><<tiddler RefreshStyles>> CenterBoxCSS>>/%==================================================%/
***/
/* Layout Stylesheet */
#logo {
margin: 0;
text-align: center
}
#bar-top {
width: 100%;
height: 30px;
background: #c0c0c0;
color: #333333;
border: solid #000000;
border-width: 2px 0;
margin: 0;
}
#bar-bottom {
width: 100%;
height: 30px;
position:relative;
background: #c0c0c0;
color: #333333;
border: solid #000000;
border-width: 2px 0;
}
#content {
height: 350px;
width: 100%;
position:relative;
border: solid #000000;
border-width: 0px 0px;
background: #ffffff;
color: #333333;
overflow: auto;
margin:auto;
}
/* Presentation Stylesheet */
p {
margin:0;
padding:10px 20px 0px 20px;
text-align:left;
}
p:first-letter {
font-size: 80%;
font-weight: bold;
color:blue;
}
h4 {
margin:0;
padding: 5px 0;
}
pre {
text-align:left;
margin:0;
padding:20px 0;
}
<html><hide linebreaks>
<div id="logo" align="center"><<tiddler ElectricBlue>></div>
<div id="bar-top" align="center"><<tiddler SlantedMenu>></div>
<div id="content"><<tiddler MainContent>>
<div align="center" style="color:red;">Ver 2.4</div>
</div>
<div id="bar-bottom"></div>
<div id="copy"><<tiddler contentFooter>></div>
</html>
Chances are 'cause I wear a silly grin
The moment you come into view
Chances are you think that I'm in love with you
Just because my composure sort of slips
The moment that your lips meet mine
Chances are you think my heart's your Valentine
BRIDGE
In the magic of moonlight when I sigh, "Hold me close, dear"
Chances are you believe the stars that fill the skies are in my eyes
Guess you feel you'll always be the one and only one for me
And if you think you could
Well, chances are your chances are awfully good
Chances are you believe the stars that fill the skies are in my eyes
Guess you feel you'll always be the one and only one for me
And if you think you could
Well, chances are your chances are awfully good
The chances are your chances are awfully good
merge(config.macros.saveChanges,{
label: "save",
prompt: "Save all tiddlers to create a new TiddlyWiki",
accessKey: "S"});
merge(config.macros.newTiddler,{
label: "tiddler",
prompt: "Create a new tiddler",
title: "New Tiddler",
accessKey: "N"});
merge(config.macros.newJournal,{
label: "journal",
prompt: "Create a new tiddler from the current date and time",
accessKey: "J"});
Classical Music on the net.
<<tabs " " [[ Off ]] "" [[ClassicIntro]] [[92.9FM ]] "" [[ABC 92.9FM]] [[2MBS-FM ]] "" [[2MBS-FM Embed]] [[3MBS-FM ]] "" [[3MBS-FM]] [[4MBS-FM ]] "" [[4MBS-FM]] >>
Instructions +++[click here.]
<<tiddler Help>>
===
<script label="$2">
var tiddler=story.findContainingTiddler(place);
story.displayTiddler(tiddler,"$1");
story.closeTiddler(tiddler.id.substr(7)); // close self
return false;
</script>
/***
|Name|ConfirmSavePlugin|
|Source|http://www.TiddlyTools.com/#ConfirmSavePlugin|
|Documentation|http://www.TiddlyTools.com/#ConfirmSavePlugin|
|Version|1.1.0|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides|window.saveChanges()|
|Description|if tiddlers are being edited, or there are no unsaved changes, ask before saving|
When <<saveChanges>> command link is clicked, if there are tiddlers still being edited or there are no changes unsaved changes, then ask for confirmation before saving the document to the file.
!!!!!Configuration
<<<
:
<<option chkConfirmSaveIfEditing>> confirm saving if tiddlers are still being edited
<<option chkConfirmSaveIfNoChanges>> confirm saving if there are no unsaved tiddler changes
<<<
!!!!!Revisions
<<<
2008.03.15 [1.1.0] added option settings and check for 'no unsaved changes'
2008.03.15 [1.0.0] Initial Release.
<<<
!!!!!Code
***/
//{{{
version.extensions.ConfirmSave= {major: 1, minor: 1, revision: 0, date: new Date(2008,3,15)};
//}}}
//{{{
if (config.options.chkConfirmSaveIfEditing==undefined) config.options.chkConfirmSaveIfEditing=true;
if (config.options.chkConfirmSaveIfNoChanges==undefined) config.options.chkConfirmSaveIfNoChanges=true;
//}}}
//{{{
if (config.macros.saveChanges.confirmSave_onClick==undefined)
config.macros.saveChanges.confirmSave_onClick=config.macros.saveChanges.onClick
config.macros.saveChanges.onClick=function(e) {
var msg="";
var editing=[]; // check for tiddlers being edited
if (config.options.chkConfirmSaveIfEditing)
story.forEachTiddler(function(tid,elem) { if (elem.getAttribute("dirty")=="true") editing.push(tid);});
if (editing.length) {
msg+="There "+(editing.length>1?"are ":"is ")+editing.length;
msg+=" tiddler"+(editing.length>1?"s":"")+" currently being edited:\n\n";
msg+=editing.join(", ")+"\n\n";
msg+="Changes to "+(editing.length>1?"these tiddlers":"this tiddler");
msg+=" cannot be saved until editing is completed.";
} else if (config.options.chkConfirmSaveIfNoChanges && !store.isDirty())
msg+="There are no unsaved tiddler changes";
if (msg.length) {
msg+="\n\nPress OK to save the document anyway.";
if (!confirm(msg)) return false;
}
return config.macros.saveChanges.confirmSave_onClick.apply(this,arguments); // let core save
}
//}}}
<<tabs tabsCookie
[[ConnieTalbotAllBGT ]] "" [[ConnieTalbotAllBGT]]
[[ConnieTalbot-Ben ]] "" [[ConnieTalbot-Ben]]
[[ConnieTalbot-AlwaysLoveYou ]] "" [[ConnieTalbot-Love]]
[[ConnieTalbot-IWillAlwaysLoveYou-FullVersion ]] "" [[ConnieTalbot-IWillAlwaysLoveYou-FullVersion]]
[[ConnieTalbot-YouRaiseMeUp-AgeSeven ]] "" [[ConnieTalbot-YouRaiseMeUp-AgeSeven]]
[[ConnieTalbot-Imagine ]] "" [[ConnieTalbot-Imagine]]
>>
<html><div align="center"><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/y36bHu9XmTg&hl=en_US&fs=1&rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/y36bHu9XmTg&hl=en_US&fs=1&rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></div></html>
<html><div align="center"><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/I7j8NhBtnpw&hl=en_US&fs=1&rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/I7j8NhBtnpw&hl=en_US&fs=1&rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></div></html>
<html><div align="center"> <object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/GPeB6kGxWY0&hl=en_US&fs=1&rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/GPeB6kGxWY0&hl=en_US&fs=1&rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></div></html>
<html><div align="center"><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/IOfKAPGfd6k&hl=en_US&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/IOfKAPGfd6k&hl=en_US&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></div></html>
<html><div align="center"><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/PJbDndYSInU&hl=en_US&fs=1&rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/PJbDndYSInU&hl=en_US&fs=1&rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></div></html>
<html><div align="center"> <object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/86Pw4qFUjE4&hl=en_US&fs=1&rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/86Pw4qFUjE4&hl=en_US&fs=1&rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></div></html>
<html><div align="center">Copyright Must Watch on [[YouTube|http://www.youtube.com/watch?v=QWNoiVrJDsE&feature=player_embedded]]<br> <object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/QWNoiVrJDsE&hl=en_US&fs=1&rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/QWNoiVrJDsE&hl=en_US&fs=1&rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></div></html>
@@color:#c06;
{{textcenter{
!!!Two Column Fixed Width with Header & FooterVer 2.3
}}}
{{textleftM{
This template is actually a replica of one of my other websites which uses tables for the very same layout. I wanted to see could it be done and it seems to work perfect.
This is basically set up as follows: there is a main outer div which centers the page and is a fixed width. There are 4 main div's within this outer div; header (#hdr), bar (#bar), body (#body) and footer (#ftr). The body div holds 2 more divs, the left div which is for navigation and the right div which is for our content.
One drawback we see immediatly is getting equal heights for the left navigation div and right content div. The work around I use for this is: whichever is likely to be the shortest (in height) div, probably the left navigation div, set the background of the #body div the same as this, also the border separating the two divs - that should be on the right content div.
Another problem discovered recently was that when you use the float property it can cause the floated divs to "jump out" of their container block. The workaround I found for this was simply to specify a height for the container div.
This template has been tested in:
* Mozilla 1.5b & Firebird 0.6.1
* Internet Explorer 6
* Netscape 7.1
* Opera 7.11
Changes in this version:
1. removed box hack
2. added margin:auto; to #outer div for centering.
3. big problem in moz/ns was the bodyblock div,with both the left col and content col floated they were "lifted" out of the bodyblock with then collapsed. IE and Opera were ok. removed float left from content div, added align="right" to the html of the bodyblock and then text-align:left; to the content div to bring the content back. it's ugly but works. using text-align:right; instead of align="right" will not work in moz/ns
Filler Content
Dáig alta in mac sin i tig a athar & a mathar icon airdig i m-Maig Muirthemne, ocus adfeta dó scéla na maccaemi i n-Emain. Dáig is amlaid domeill Conchobar in rigi, o ro gab rígi in rí, .i. mar atraig fóchetóir césta & cangni in choicid d'ordugud. In lá do raind i trí asa athlil: cetna trian de fóchetóir ic fegad na maccaem ic imbirt chless cluchi & immanae, in trian tanaise dond ló ic imbirt brandub & fidchell, & in trian dedenach ic tochathim bíd & lenna, con-dageib cotlud for cách, aes cíuil & airfitid dia thalgud fri sodain. Ciataim ane ar longais riam reme dabiur bréthir, ar Fergus, na fuil in hErind no i n-Albain óclach macsamla Conchobair.
Ocus adfeta don mac sin scéla na maceáem & na maccraide i n-Emain, & radis in mac bec ria mathair ar co n-digsed dá chluchi do chluchemaig na Emna. Romoch duitsiu sain a meic bic, ar a mathair, co n-deoch anruth do anrothaib. Ulad lett no choimthecht ecin do chaimthechtaib Conchobair, do chor th' aesma & t'imdegla for in maccraid. Cían lim-sa di sodain a mathair, ar in mac bec, & ni biu-sa oca idnaide acht tecoisc-siu dam-sa cia airm itá Emain. Is cían uait, ar a mathair, airm in-das-fil. Sliab Fúait etrut & Emain. Dobér-sa ardmes furri amne, ar esium.@@
}}}
/***
|Name|CoreTweaks|
|Source|http://www.TiddlyTools.com/#CoreTweaks|
|Version|n/a|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.2.0|
|Type|plugin|
|Requires||
|Overrides|various|
|Description|a small collection of overrides to TW core functions |
This tiddler contains changes TW core functions to provide minor changes in standard features or behavior. It is hoped that some of these tweaks may someday be added into the TW core, so that these adjustments will be available without needing these add-on definitions.
>''Note: the changes contained in this tiddler are generally applicable for version 2.4.1 of TiddlyWiki. Please view [[CoreTweaksArchive]] for tweaks that may be used with earlier versions of TiddlyWiki.''
----
***/
// // {{block{
/***
!!!824 ~WindowTitle - alternative to combined ~SiteTitle/~SiteSubtitle in window titlebar
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/824 - OPEN
This tweak allows definition of an optional [[WindowTitle]] tiddler that, when present, provides alternative text for display in the browser window's titlebar, instead of using the combined text content from [[SiteTitle]] and [[SiteSubtitle]] (which will still be displayed as usual in the TiddlyWiki document header area).
Note: this ticket replaces http://trac.tiddlywiki.org/ticket/401 (closed), which proposed using a custom [[PageTitle]] tiddler for this purpose. ''If you were using the previous '401 ~PageTitle' tweak, you will need to rename [[PageTitle]] to [[WindowTitle]] to continue to use your custom window title text''
***/
//{{{
config.shadowTiddlers.WindowTitle='<<tiddler SiteTitle>> - <<tiddler SiteSubtitle>>';
window.getPageTitle=function() { return wikifyPlain('WindowTitle'); }
store.addNotification('WindowTitle',refreshPageTitle); // so title stays in sync with tiddler changes
//}}}
// // }}}}}}// // {{block{
/***
!!!823 apply option values via paramifiers (e.g. #chk...and #txt...)
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/823 - no ticket yet
This tweak extends and ''//replaces//'' the core {{{invokeParamifier()}}} function to support use of ''option paramifiers'' that set TiddlyWiki option values on-the-fly, directly from a document URL.
If a paramifier begins with 'chk' (checkbox) or 'txt' (text field), it's value will be automatically stored in {{{config.options.*}}}, adding to or overriding any existing 'chk' or 'txt' option values that may have already been loaded from browser cookies and/or assigned by the TW core or plugin initialization functions using hard-coded default values. Note: option values that have been overriden by paramifiers are only applied during the current document session, and are not //automatically// retained. However, if you edit an overridden option value during that session, then the modified value is, of course, saved in a browser cookie, as usual.
***/
//{{{
function invokeParamifier(params,handler)
{
if(!params || params.length == undefined || params.length <= 1)
return;
for(var t=1; t<params.length; t++) {
var p = config.paramifiers[params[t].name];
if(p && p[handler] instanceof Function)
p[handler](params[t].value);
else { // not a paramifier with handler()... check for an 'option' prefix
var h=config.optionHandlers[params[t].name.substr(0,3)];
if (h && h.set instanceof Function)
h.set(params[t].name,params[t].value);
}
}
}
//}}}
// // }}}}}}// // {{block{
/***
!!!784 allow tiddler sections in TiddlyLinks to be used as anchor points for intra-tiddler scrolling.
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/784 - OPEN
You can use the tiddler section syntax within the {{{<<tiddler>>}}} macro to //transclude// a subsection of one tiddler into another (e.g., {{{<<tiddler SomeTiddler##SomeSection>>}}}). However, if this syntax is used in a TiddlyLink (e.g., {{{[[SomeTiddler##SomeSection]]}}}), the entire reference is treated as a link to a (non-existent) tiddler that includes the section reference in the tiddler title itself.
This tweak extends the TiddlyLink and displayTiddler() processing so that section references in links can be used to auto-scroll to the indicated heading within a tiddler (i.e., the same 'anchor' behavior as {{{<a name="foo">}}} and {{{<a href="#foo">...</a>}}} when using HTML syntax).
***/
//{{{
Story.prototype.scrollToSection = function(title,section) {
if (!title||!section) return; var t=this.getTiddler(title); if (!t) return null;
var elems=t.getElementsByTagName('*');
for (var i=0; i<elems.length; i++) { var e=elems[i];
if (!['H1','H2','H3','H4','H5'].contains(e.nodeName)) continue;
if (getPlainText(e).indexOf(section)!=-1) {
var delay=config.options.chkAnimate?config.animDuration+1:0; // scroll *after* tiddler animation
setTimeout('window.scrollTo(0,'+findPosY(e)+')',delay);
return e;
}
}
}
window.createTiddlyLink_sectionanchor=window.createTiddlyLink;
window.createTiddlyLink=function(place,title) {
var t=story.findContainingTiddler(place); var tid=t?t.getAttribute('tiddler'):'';
var parts=title.split(config.textPrimitives.sectionSeparator);
if (!parts[0].length) parts[0]=tid; // default to current tiddler for '##section' links
if (parts[1]) arguments[1]=parts[0]; // trim section from tiddler title
var btn=createTiddlyLink_sectionanchor.apply(this,arguments);
if (parts[1]) btn.setAttribute('section',parts[1]); // save section
return btn;
}
window.onClickTiddlerLink_sectionanchor=window.onClickTiddlerLink;
window.onClickTiddlerLink=function(ev) {
var e=ev||window.event; var target=resolveTarget(e); var title=null;
while (target!=null && title==null) {
title=target.getAttribute('tiddlyLink');
section=target.getAttribute('section');
target=target.parentNode;
}
var t=story.findContainingTiddler(target); var tid=t?t.getAttribute('tiddler'):'';
if (title!=tid||!section) onClickTiddlerLink_sectionanchor.apply(this,arguments); // avoid excess scrolling
story.scrollToSection(title,section);
return false;
}
Story.prototype.displayTiddler_sectionanchor=Story.prototype.displayTiddler;
Story.prototype.displayTiddler = function(srcElement,tiddler)
{
var title=(tiddler instanceof Tiddler)?tiddler.title:tiddler;
var parts=title.split(config.textPrimitives.sectionSeparator);
if (parts[0].length && parts[1]) arguments[1]=parts[0]; // trim section from tiddler title
this.displayTiddler_sectionanchor.apply(this,arguments);
story.scrollToSection(parts[0],parts[1]);
}
config.formatterHelpers.isExternalLink_sectionanchor=config.formatterHelpers.isExternalLink;
config.formatterHelpers.isExternalLink=function(link) {
if (link.indexOf(config.textPrimitives.sectionSeparator)!=-1) return false;
return config.formatterHelpers.isExternalLink_sectionanchor.apply(this,arguments);
}
//}}}
// // }}}}}}// // {{block{
/***
!!!757 add removeCookie() function
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/757 - OPEN
When a TW option is reset to it's hard-coded default value, the corresponding browser cookie is usually just set to that default value, which results in an accumulation of unnecessary cookies. Unfortunately, there is a browser-imposed limit on the number of cookies that are stored for any given domain and, when that limit is reached, the browser starts removing cookies on it's own, thereby unexpectedly discarding some TW settings. In order to allow core and/or plugin code to 'clean up after themselves' and remove unneeded cookies, this tweak provides a new 'core' function, removeCookie() that is the inverse of the existing saveOptionCookie(), and results in the actual deletion of the browser cookie associated with the specified TW option.
***/
//{{{
if (window.removeCookie===undefined) {
window.removeCookie=function(name) {
document.cookie = name+'=; expires=Thu, 01-Jan-1970 00:00:01 UTC; path=/;';
}
}
//}}}
// // }}}}}}// // {{block{
/***
!!!749 ieCreatePath fixup for handling / in UNC paths
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/749 - OPEN
***/
//{{{
// tweak ieCreatePath to add fallback check for / (in addition to current check for \)
var fn=window.ieCreatePath;
fn=fn.toString().replace(/function ieCreatePath\(path\)/,'window.ieCreatePath=function(path)');
fn=fn.toString().replace(/var pos = path.lastIndexOf\("\\\\"\);/,
'var pos=path.lastIndexOf("\\\\"); if(pos==-1) pos=path.lastIndexOf("/");');
eval(fn);
//}}}
// // }}}}}}// // {{block{
/***
!!!741 allow """<hr>""" directly in wiki-formatted content
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/741 - OPEN
This tweak extends the 'horizontal rule' formatter to recognize {{{<hr>}}} (or {{{<hr />}}}) directly in tiddler content without being enclosed within an HTML block (i.e., {{{<html><hr></html>}}}). This allows HR elements to be used within table cell content, bullet items and other ''line-mode'' syntax, where the required use of newlines surrounding the """----""" syntax would interfere with the enclosing line-mode formatting.
***/
//{{{
config.formatters[config.formatters.findByField('name','rule')].match+='|<hr ?/?>\\n?';
//}}}
// // }}}}}}// // {{block{
/***
!!!683 FireFox3 Import bug: 'browse' button replacement
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/683 - OPEN
The web standard 'type=file' input control that has been used as a local path/file picker for TiddlyWiki no longer works as expected in FireFox3, which has, for security reasons, limited javascript access to this control so that *no* local filesystem path information can be revealed, even when it is intentional and necessary, as it is with TiddlyWiki. This tweak provides alternative HTML source that patches the backstage import panel. It replaces the 'type=file' input control with a text+button combination of controls that invokes a system-native secure 'file-chooser' dialog box to provide TiddlyWiki with access to a complete path+filename so that TW functions properly locate user-selected local files.
>Note: ''This tweak also requires http://trac.tiddlywiki.org/ticket/604 - cross-platform askForFilename()''
***/
//{{{
if (window.Components) {
var fixhtml='<input name="txtBrowse" style="width:30em"><input type="button" value="..."'
+' onClick="window.browseForFilename(this.previousSibling,true)">';
var cmi=config.macros.importTiddlers;
cmi.step1Html=cmi.step1Html.replace(/<input type='file' size=50 name='txtBrowse'>/,fixhtml);
}
merge(config.messages,{selectFile:'Please enter or select a file'}); // ready for I18N translation
window.browseForFilename=function(target,mustExist) { // note: both params are optional
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.askForFilename(msg,path,file,mustExist); // requires #604
if (target && result.length) // set target field and trigger handling
{ target.value=result; target.onchange(); }
return result;
}
//}}}
// // }}}}}}// // {{block{
/***
!!!604 cross-platform askForFilename()
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/604 - OPEN
invokes a system-native secure 'file-chooser' dialog box to provide TiddlyWiki with access to a complete path+filename so that TW functions properly locate user-selected local files.
***/
//{{{
window.askForFilename=function(msg,path,file,mustExist) {
var r = window.mozAskForFilename(msg,path,file,mustExist);
if(r===null || r===false)
r = window.ieAskForFilename(msg,path,file,mustExist);
if(r===null || r===false)
r = window.javaAskForFilename(msg,path,file,mustExist);
if(r===null || r===false)
r = prompt(msg,path+file);
return r||'';
}
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='html';
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;
}
window.ieAskForFilename=function(msg,path,file,mustExist) {
if(!config.browser.isIE) return false;
try {
var s = new ActiveXObject('UserAccounts.CommonDialog');
s.Filter='All files|*.*|Text files|*.txt|HTML files|*.htm;*.html|';
s.FilterIndex=3; // default to HTML files;
s.InitialDir=path;
s.FileName=file;
return s.showOpen()?s.FileName:'';
}
catch(ex) { displayMessage(ex.toString()); }
return result;
}
window.javaAskForFilename=function(msg,path,file,mustExist) {
if(!document.applets['TiddlySaver']) return false;
// TBD: implement java-based askFile(...) function
try { return document.applets['TiddlySaver'].askFile(msg,path,file,mustExist); }
catch(ex) { displayMessage(ex.toString()); }
}
//}}}
// // }}}}}}// // {{block{
/***
!!!676 #story:... paramifier
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/676 - OPEN
extends #story:... to scan the specified 'story' tiddler content for embedded links, rather than simply parsing the content as a space-separated bracketed list. This allows links from ''any'' tiddler to be used as a story, regardless of other wiki-syntax contained in that tiddler. If specified tiddler is a shadow, fallback to using parseParams() to extract the list of links.
***/
//{{{
config.paramifiers.story = {
onstart: function(v) {
var t=store.getTiddler(v); if (t) t.changed();
var list=t?t.links:store.getTiddlerText(v,'').parseParams('open',null,false);
story.displayTiddlers(null,list);
}
};
//}}}
// // }}}}}}// // {{block{
/***
!!!664 Loose links (case-folded/space-folded wiki words)
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/664 - OPEN
This tweak matches non-WikiWord variations of mixed-case and/or added/omitted spaces within double-bracketed text with titles of //existing// tiddlers, using a 'loose' (case-folded/space-folded) comparison. This allows text that occurs in normal prose to be more easily linked to tiddler titles by using double-brackets without the full 'pretty link' syntax. For example:
{{{
[[CoreTweaks]], [[coreTweaks]], [[core tweaks]],
[[CORE TWEAKS]], [[CoRe TwEaKs]], [[coreTWEAKS]]
}}}
>[[CoreTweaks]], [[coreTweaks]], [[core tweaks]],
>[[CORE TWEAKS]], [[CoRe TwEaKs]], [[coreTWEAKS]]
Configuration:
><<option chkLooseLinks>> Allow case-folded and/or space-folded text to link to existing tiddler titles
>"""<<option chkLooseLinks>>"""
***/
//{{{
if (!config.options.chkLooseLinks)
config.options.chkLooseLinks=false; // default to standard behavior
window.caseFold_createTiddlyLink = window.createTiddlyLink;
window.createTiddlyLink = function(place,title,includeText,className) {
var btn=window.caseFold_createTiddlyLink.apply(this,arguments); // create core link
if (!config.options.chkLooseLinks) return btn;
if (store.getTiddlerText(title)) return btn; // matching tiddler (or shadow) exists
var target=title.toLowerCase().replace(/\s/g,'');
var tids=store.getTiddlers('title');
for (var t=0; t<tids.length; t++) {
if (tids[t].title.toLowerCase().replace(/\s/g,'')==target) {
var i=getTiddlyLinkInfo(tids[t].title,className);
btn.setAttribute('tiddlyLink',tids[t].title);
btn.title=i.subTitle;
btn.className=i.classes;
break;
}
}
return btn;
}
//}}}
// // }}}}}}// // {{block{
/***
!!!657 wrap tabs onto multiple lines
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/657 - OPEN
This tweak inserts an extra space element following each tab, allowing them to wrap onto multiple lines if needed.
***/
//{{{
config.macros.tabs.handler = function(place,macroName,params)
{
var cookie = params[0];
var numTabs = (params.length-1)/3;
var wrapper = createTiddlyElement(null,'div',null,'tabsetWrapper ' + cookie);
var tabset = createTiddlyElement(wrapper,'div',null,'tabset');
tabset.setAttribute('cookie',cookie);
var validTab = false;
for(var t=0; t<numTabs; t++) {
var label = params[t*3+1];
var prompt = params[t*3+2];
var content = params[t*3+3];
var tab = createTiddlyButton(tabset,label,prompt,this.onClickTab,'tab tabUnselected');
createTiddlyElement(tab,'span',null,null,' ',{style:'font-size:0pt;line-height:0px'}); // ELS
tab.setAttribute('tab',label);
tab.setAttribute('content',content);
tab.title = prompt;
if(config.options[cookie] == label)
validTab = true;
}
if(!validTab)
config.options[cookie] = params[1];
place.appendChild(wrapper);
this.switchTab(tabset,config.options[cookie]);
};
//}}}
// // }}}}}}// // {{block{
/***
!!!637 TiddlyLink tooltip - custom formatting
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/637 - OPEN
This tweak modifies the tooltip format that appears when you mouseover a link to a tiddler. It adds an option to control the date format, as well as displaying the size of the tiddler (in bytes)
Tiddler link tooltip format:
{{stretch{<<option txtTiddlerLinkTootip>>}}}
^^where: %0=title, %1=username, %2=modification date, %3=size in bytes, %4=description slice^^
Tiddler link tooltip date format:
{{stretch{<<option txtTiddlerLinkTooltipDate>>}}}
***/
//{{{
config.messages.tiddlerLinkTooltip='%0 - %1, %2 (%3 bytes) - %4';
config.messages.tiddlerLinkTooltipDate='DDD, MMM DDth YYYY 0hh12:0mm AM';
config.options.txtTiddlerLinkTootip=
config.options.txtTiddlerLinkTootip||config.messages.tiddlerLinkTooltip;
config.options.txtTiddlerLinkTooltipDate=
config.options.txtTiddlerLinkTooltipDate||config.messages.tiddlerLinkTooltipDate;
Tiddler.prototype.getSubtitle = function() {
var modifier = this.modifier;
if(!modifier) modifier = config.messages.subtitleUnknown;
var modified = this.modified;
if(modified) modified = modified.formatString(config.options.txtTiddlerLinkTooltipDate);
else modified = config.messages.subtitleUnknown;
var descr=store.getTiddlerSlice(this.title,'Description')||'';
return config.options.txtTiddlerLinkTootip.format([this.title,modifier,modified,this.text.length,descr]);
};
//}}}
// // }}}}}}// // {{block{
/***
!!!628 hide 'no such macro' errors
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/628 - OPEN
When invoking a macro that is not defined, this tweak prevents the display of the 'error in macro... no such macro' message. This is useful when rendering tiddler content or templates that reference macros that are defined by //optional// plugins that have not been installed in the current document.
<<option chkHideMissingMacros>> hide 'no such macro' error messages
***/
//{{{
if (config.options.chkHideMissingMacros===undefined)
config.options.chkHideMissingMacros=false;
window.coreTweaks_missingMacro_invokeMacro = window.invokeMacro;
window.invokeMacro = function(place,macro,params,wikifier,tiddler) {
if (!config.macros[macro] || !config.macros[macro].handler)
if (config.options.chkHideMissingMacros) return;
window.coreTweaks_missingMacro_invokeMacro.apply(this,arguments);
}
//}}}
// // }}}}}}// // {{block{
/***
!!!609/610 toolbars - separators and transclusion
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/609 - OPEN (separators)
http://trac.tiddlywiki.org/ticket/610 - OPEN (wikify tiddler/slice/section content)
These tweaks extend the """<<toolbar>>""" macro to permit use of '|' as separators, as well as recognizing references to tiddlernames, slices, or sections and rendering their content inline within the toolbar
''see [[ToolbarCommands]] for examples of how these features can be used''
***/
//{{{
merge(config.macros.toolbar,{
separator: '|'
});
config.macros.toolbar.handler = function(place,macroName,params,wikifier,paramString,tiddler)
{
for(var t=0; t<params.length; t++) {
var c = params[t];
switch(c) {
case '|': // ELS - SEPARATOR
case '!': // ELS - SEPARATOR (alternative for use in tiddler slices)
createTiddlyText(place,this.separator); // ELS
break; // ELS
case '>':
var btn = createTiddlyButton(place,this.moreLabel,this.morePrompt,config.macros.toolbar.onClickMore);
addClass(btn,'moreCommand');
var e = createTiddlyElement(place,'span',null,'moreCommand');
e.style.display = 'none';
place = e;
break;
default:
var theClass = '';
switch(c.substr(0,1)) {
case '+':
theClass = 'defaultCommand';
c = c.substr(1);
break;
case '-':
theClass = 'cancelCommand';
c = c.substr(1);
break;
}
if(c in config.commands)
this.createCommand(place,c,tiddler,theClass);
else { // ELS - WIKIFY TIDDLER/SLICE/SECTION
if (c.substr(0,1)=='~') c=c.substr(1); // ignore leading ~
var txt=store.getTiddlerText(c);
if (txt) {
txt=txt.replace(/^\n*/,'').replace(/\n*$/,''); // trim any leading/trailing newlines
txt=txt.replace(/^\{\{\{\n/,'').replace(/\n\}\}\}$/,''); // trim PRE format wrapper if any
wikify(txt,createTiddlyElement(place,'span'),null,tiddler);
}
} // ELS - end WIKIFY CONTENT
break;
}
}
};
//}}}
// // }}}}}}// // {{block{
/***
!!!608 toolbar - more/less toggle
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/608 - OPEN
This tweak extends the """<<toolbar>>""" macro to make the '>' (more) a //toggle// between more/less with the additional toolbar commands displayed on a separate line.
***/
//{{{
merge(config.macros.toolbar,{
moreLabel: 'more',
morePrompt: 'Show additional commands',
lessLabel: 'less',
lessPrompt: 'Hide additional commands'
});
config.macros.toolbar.onClickMore = function(ev)
{
var e = this.nextSibling;
var showing=e.style.display=='block';
e.style.display = showing?'none':'block';
this.innerHTML=showing?config.macros.toolbar.moreLabel:config.macros.toolbar.lessLabel;
this.title=showing?config.macros.toolbar.morePrompt:config.macros.toolbar.lessPrompt;
return false;
};
//}}}
// // }}}}}}// // {{block{
/***
!!!607 add HREF link on permaview command
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/607 - OPEN
This tweak automatically sets the HREF for the 'permaview' sidebar command link so you can use the 'right click' context menu for faster, easier bookmarking. Note that this does ''not'' automatically set the permaview in the browser's current location URL... it just sets the HREF on the command link. You still have to click the link to apply the permaview.
***/
//{{{
config.macros.permaview.handler = function(place)
{
var btn=createTiddlyButton(place,this.label,this.prompt,this.onClick);
addEvent(btn,'mouseover',this.setHREF);
addEvent(btn,'focus',this.setHREF);
};
config.macros.permaview.setHREF = function(event){
var links = [];
story.forEachTiddler(function(title,element) {
links.push(String.encodeTiddlyLink(title));
});
var newURL=document.location.href;
var hashPos=newURL.indexOf('#');
if (hashPos!=-1) newURL=newURL.substr(0,hashPos);
this.href=newURL+'#'+encodeURIComponent(links.join(' '));
}
//}}}
// // }}}}}}// // {{block{
/***
!!!529 IE fixup - case-sensitive element lookup of tiddler elements
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/529 - OPEN
This tweak hijacks the standard browser function, document.getElementById(), to work-around the case-INsensitivity error in Internet Explorer (all versions up to and including IE7) //''Note: This tweak is only applied when using IE, and only for lookups of rendered tiddler elements within the containing 'tiddlerDisplay' element.''//
***/
//{{{
if (config.browser.isIE) {
document.coreTweaks_coreGetElementById=document.getElementById;
document.getElementById=function(id) {
var e=document.coreTweaks_coreGetElementById(id);
if (!e || !e.parentNode || e.parentNode.id!='tiddlerDisplay') return e;
for (var i=0; i<e.parentNode.childNodes.length; i++)
if (id==e.parentNode.childNodes[i].id) return e.parentNode.childNodes[i];
return null;
};
}
//}}}
// // }}}}}}// // {{block{
/***
!!!471 'creator' field for new tiddlers
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/471 - OPEN
This tweak HIJACKS the core's saveTiddler() function to automatically add a 'creator' field to a tiddler when it is FIRST created. You can use """<<view creator>>""" (or """<<view creator wikified>>""" if you prefer) to show this value embedded directly within the tiddler content, or {{{<span macro="view creator"></span>}}} in the ViewTemplate and/or EditTemplate to display the creator value in each tiddler.
***/
//{{{
// hijack saveTiddler()
TiddlyWiki.prototype.CoreTweaks_creatorSaveTiddler=TiddlyWiki.prototype.saveTiddler;
TiddlyWiki.prototype.saveTiddler=function(title,newTitle,newBody,modifier,modified,tags,fields)
{
var existing=store.tiddlerExists(title);
var tiddler=this.CoreTweaks_creatorSaveTiddler.apply(this,arguments);
if (!existing) store.setValue(title,'creator',config.options.txtUserName);
return tiddler;
}
//}}}
// // }}}}}}// // {{block{
/***
!!!458 add permalink-like HREFs on internal TiddlyLinks
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/458 - CLOSED: WON'T FIX
This tweak assigns a permalink-like HREF to internal Tiddler links (which normally do not have any HREF defined). This permits the link's context menu (right-click) to include 'open link in another window/tab' command. Based on a request from Dustin Spicuzza.
***/
//{{{
window.coreTweaks_createTiddlyLink=window.createTiddlyLink;
window.createTiddlyLink=function(place,title,includeText,theClass,isStatic,linkedFromTiddler,noToggle)
{
// create the core button, then add the HREF (to internal links only)
var link=window.coreTweaks_createTiddlyLink.apply(this,arguments);
if (!isStatic)
link.href=document.location.href.split('#')[0]+'#'+encodeURIComponent(String.encodeTiddlyLink(title));
return link;
}
//}}}
// // }}}}}}// // {{block{
/***
!!!444 'tiddler' and 'place' - global variables for use in computed macro parameters
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/444 - OPEN
When invoking a macro, this tweak makes the current containing tiddler object and DOM rendering location available as global variables (window.tiddler and window.place, respectively). These globals can then be used within //computed macro parameters// to retrieve tiddler-relative and/or DOM-relative values or perform tiddler-specific side-effect functionality.
***/
//{{{
window.coreTweaks_invokeMacro = window.invokeMacro;
window.invokeMacro = function(place,macro,params,wikifier,tiddler) {
var here=story.findContainingTiddler(place);
window.tiddler=here?store.getTiddler(here.getAttribute('tiddler')):tiddler;
window.place=place;
window.coreTweaks_invokeMacro.apply(this,arguments);
}
//}}}
// // }}}}}}// // {{block{
/***
!!!067 Missing links - ignore non-wiki syntax source content
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/67 - OPEN
The missing links list includes items contained within quoted text (i.e., content that will not render as wiki-syntax, and so CANNOT create any tiddler links, even if the quoted text matches valid link syntax). This tweak removes content contained between certain delimiters before scanning tiddler source for possible links.
Delimiters include:
{{{
/%...%/
{{{...}}}
"""..."""
<nowiki>...</nowiki>
<html>...</html>
<script>...</script>
}}}
***/
//{{{
Tiddler.prototype.coreTweaks_changed = Tiddler.prototype.changed;
Tiddler.prototype.changed = function()
{
var savedtext=this.text;
// remove 'quoted' text before scanning tiddler source
this.text=this.text.replace(/\/%((?:.|\n)*?)%\//g,''); // /%...%/
this.text=this.text.replace(/\{{3}((?:.|\n)*?)\}{3}/g,''); // {{{...}}}
this.text=this.text.replace(/"{3}((?:.|\n)*?)"{3}/g,''); // """..."""
this.text=this.text.replace(/\<nowiki\>((?:.|\n)*?)\<\/nowiki\>/g,''); // <nowiki>...</nowiki>
this.text=this.text.replace(/\<html\>((?:.|\n)*?)\<\/html\>/g,''); // <html>...</html>
this.text=this.text.replace(/\<script((?:.|\n)*?)\<\/script\>/g,''); // <script>...</script>
this.coreTweaks_changed.apply(this,arguments);
// restore quoted text to tiddler source
this.text=savedtext;
};
//}}}
// // }}}}}}// // {{block{
/***
!!!(no ticket) """<<tag>>""" macro - sortby parameter
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/TBD - TBD
This tweak adds an optional 'sortby' parameter to the """<<tag tagname label tip sortby>>""" macro, as well as the """<<allTags excludeTag sortby>>""" macro used to generate the sidebar contents 'tags' list. Specify the field on which the contents of each tag popup is to be sorted, with a '+' or '-' prefix to indicate ascending/descending order, respectively.
Example: """<<tag systemConfig "plugins" "list plugins by date, most recent first" "-modified">>"""
Try it: <<tag systemConfig "plugins" "list plugins by date, most recent first" "-modified">>
Similarly, to change the sort order used by the popups from all tags shown in the sidebar contents, edit the [[TagTags]] shadow tiddler and enter: """<<allTags excludeLists -modified>>"""
***/
//{{{
// hijack tag handler() to add 'sortby' attribute to tag button
config.macros.tag.CoreTweaksSortTags_handler=config.macros.tag.handler;
config.macros.tag.handler = function(place,macroName,params)
{
this.CoreTweaksSortTags_handler.apply(this,arguments);
var btn=place.lastChild;
if (params[3]) btn.setAttribute('sortby',params[3]);
}
// tweak <<allTags>> macro to add 'sortby' attribute to each tag button
var fn=config.macros.allTags.handler;
var lines=fn.toString().split('\n');
lines.splice(lines.length-2,0,['if(params[1]) btn.setAttribute("sortby",params[1]);']);
fn=lines.join('\n');
eval('config.macros.allTags.handler='+fn);
// tweak tag event handler to:
// * use tag filtering (only if '[' is present in tag value)
// * use optional 'sortby' attribute
// * save 'sortby' value in 'open all' command (for displaying tiddlers in sorted order)
var fn=onClickTag;
fn=fn.toString().replace(
/store.getTaggedTiddlers\(tag\);/g,
'(tag.indexOf("[")==-1?store.getTaggedTiddlers(tag):store.filterTiddlers(tag));'
+'var sortby=this.getAttribute("sortby");'
+'if(sortby&&sortby.length) store.sortTiddlers(tagged,sortby);'
);
fn=fn.toString().replace(
/openAll.setAttribute\("tag",\s*tag\);/g,
'openAll.setAttribute("tag",tag); openAll.setAttribute("sortby",sortby);'
);
eval(fn);
// tweak 'open all' event handler to use 'sortby' attribute
var fn=onClickTagOpenAll;
fn=fn.toString().replace(
/story.displayTiddlers\(this,\s*tiddlers\);/g,
'var sortby=this.getAttribute("sortby");'
+'if(sortby&&sortby.length) store.sortTiddlers(tiddlers,sortby);'
+'story.displayTiddlers(this,tiddlers);'
);
eval(fn);
//}}}
// // }}}}}}// // {{block{
/***
!!!(no ticket) backslash-quoting for embedding newlines in 'line-mode' formats
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/TBD - TBD
This tweak pre-processes source content to convert 'double-backslash-newline' into {{{<br>}}} before wikify(), so that literal newlines can be embedded in line-mode wiki syntax (e.g., tables, bullets, etc.)
***/
//{{{
window.coreWikify = wikify;
window.wikify = function(source,output,highlightRegExp,tiddler)
{
if (source) arguments[0]=source.replace(/\\\\\n/mg,'<br>');
coreWikify.apply(this,arguments);
}
//}}}
// // }}}}}}
// // <<foldHeadings>>
/***
|''Name:''|CryptoFunctionsPlugin|
|''Description:''|Support for cryptographic functions|
***/
//{{{
if(!version.extensions.CryptoFunctionsPlugin) {
version.extensions.CryptoFunctionsPlugin = {installed:true};
//--
//-- Crypto functions and associated conversion routines
//--
// Crypto "namespace"
function Crypto() {}
// Convert a string to an array of big-endian 32-bit words
Crypto.strToBe32s = function(str)
{
var be = Array();
var len = Math.floor(str.length/4);
var i, j;
for(i=0, j=0; i<len; i++, j+=4) {
be[i] = ((str.charCodeAt(j)&0xff) << 24)|((str.charCodeAt(j+1)&0xff) << 16)|((str.charCodeAt(j+2)&0xff) << 8)|(str.charCodeAt(j+3)&0xff);
}
while (j<str.length) {
be[j>>2] |= (str.charCodeAt(j)&0xff)<<(24-(j*8)%32);
j++;
}
return be;
};
// Convert an array of big-endian 32-bit words to a string
Crypto.be32sToStr = function(be)
{
var str = "";
for(var i=0;i<be.length*32;i+=8)
str += String.fromCharCode((be[i>>5]>>>(24-i%32)) & 0xff);
return str;
};
// Convert an array of big-endian 32-bit words to a hex string
Crypto.be32sToHex = function(be)
{
var hex = "0123456789ABCDEF";
var str = "";
for(var i=0;i<be.length*4;i++)
str += hex.charAt((be[i>>2]>>((3-i%4)*8+4))&0xF) + hex.charAt((be[i>>2]>>((3-i%4)*8))&0xF);
return str;
};
// Return, in hex, the SHA-1 hash of a string
Crypto.hexSha1Str = function(str)
{
return Crypto.be32sToHex(Crypto.sha1Str(str));
};
// Return the SHA-1 hash of a string
Crypto.sha1Str = function(str)
{
return Crypto.sha1(Crypto.strToBe32s(str),str.length);
};
// Calculate the SHA-1 hash of an array of blen bytes of big-endian 32-bit words
Crypto.sha1 = function(x,blen)
{
// Add 32-bit integers, wrapping at 32 bits
add32 = function(a,b)
{
var lsw = (a&0xFFFF)+(b&0xFFFF);
var msw = (a>>16)+(b>>16)+(lsw>>16);
return (msw<<16)|(lsw&0xFFFF);
};
// Add five 32-bit integers, wrapping at 32 bits
add32x5 = function(a,b,c,d,e)
{
var lsw = (a&0xFFFF)+(b&0xFFFF)+(c&0xFFFF)+(d&0xFFFF)+(e&0xFFFF);
var msw = (a>>16)+(b>>16)+(c>>16)+(d>>16)+(e>>16)+(lsw>>16);
return (msw<<16)|(lsw&0xFFFF);
};
// Bitwise rotate left a 32-bit integer by 1 bit
rol32 = function(n)
{
return (n>>>31)|(n<<1);
};
var len = blen*8;
// Append padding so length in bits is 448 mod 512
x[len>>5] |= 0x80 << (24-len%32);
// Append length
x[((len+64>>9)<<4)+15] = len;
var w = Array(80);
var k1 = 0x5A827999;
var k2 = 0x6ED9EBA1;
var k3 = 0x8F1BBCDC;
var k4 = 0xCA62C1D6;
var h0 = 0x67452301;
var h1 = 0xEFCDAB89;
var h2 = 0x98BADCFE;
var h3 = 0x10325476;
var h4 = 0xC3D2E1F0;
for(var i=0;i<x.length;i+=16) {
var j,t;
var a = h0;
var b = h1;
var c = h2;
var d = h3;
var e = h4;
for(j = 0;j<16;j++) {
w[j] = x[i+j];
t = add32x5(e,(a>>>27)|(a<<5),d^(b&(c^d)),w[j],k1);
e=d; d=c; c=(b>>>2)|(b<<30); b=a; a = t;
}
for(j=16;j<20;j++) {
w[j] = rol32(w[j-3]^w[j-8]^w[j-14]^w[j-16]);
t = add32x5(e,(a>>>27)|(a<<5),d^(b&(c^d)),w[j],k1);
e=d; d=c; c=(b>>>2)|(b<<30); b=a; a = t;
}
for(j=20;j<40;j++) {
w[j] = rol32(w[j-3]^w[j-8]^w[j-14]^w[j-16]);
t = add32x5(e,(a>>>27)|(a<<5),b^c^d,w[j],k2);
e=d; d=c; c=(b>>>2)|(b<<30); b=a; a = t;
}
for(j=40;j<60;j++) {
w[j] = rol32(w[j-3]^w[j-8]^w[j-14]^w[j-16]);
t = add32x5(e,(a>>>27)|(a<<5),(b&c)|(d&(b|c)),w[j],k3);
e=d; d=c; c=(b>>>2)|(b<<30); b=a; a = t;
}
for(j=60;j<80;j++) {
w[j] = rol32(w[j-3]^w[j-8]^w[j-14]^w[j-16]);
t = add32x5(e,(a>>>27)|(a<<5),b^c^d,w[j],k4);
e=d; d=c; c=(b>>>2)|(b<<30); b=a; a = t;
}
h0 = add32(h0,a);
h1 = add32(h1,b);
h2 = add32(h2,c);
h3 = add32(h3,d);
h4 = add32(h4,e);
}
return Array(h0,h1,h2,h3,h4);
};
}
//}}}
/***
!!!<<gradient horiz #fc3 #fff >><<tiddler RefreshStyles>> CustomCSS>>/%==================================================%/
***/
/***CustomCSS is a style sheet that contains the "custom class" CSS to customize special features in TW Help. It is placed in StyleSheet as a [[NestedStyleSheet|NestedStyleSheets]] and is an essential component.***/
/***There may be extra nested stylesheets at the end of this stylesheet***/
/***
!!!<<gradient horiz #FF8888 #ffffff >> ~CustomTable>>/%==================================================%/
***/
/*{{{*/
.popup {
max-height:275px;
min-height:auto;
width: auto;
overflow: auto;
margin:auto;
-moz-border-radius : 0.65em 0.2em 0.2em 0.65em;
}
.viewer table {
border: 1px solid #008;
margin-left:0em;
}
#tiddlerMondoGreen a:hover{
background: #FFF;
color: #F00;
}
#tiddlerDigitalRadio .tabContents {
padding:5px;
margin-left;0px;
width:250px;
background-color: #eee;
}
#tiddlerABCRadio .tabContents {
padding:5px;
margin-left;0px;
width:250px;
background-color: #eee;
}
#tiddlerRA3J .tabContents {
padding:5px;
margin-left;0px;
width:250px;
background-color: #eee;
}
.scroll{overflow: scroll}
.scrollauto {overflow: auto}
.nowrap {white-space:nowrap;}
.wrap{wrap;}
.liststyleNone{list-style:none;}
.tableright table {border:0 !important;td.vertical-align:top;margin-left:auto ; margin-right:0 auto !important; text-align:left; padding:0px;}
.tablecenter table { border:0 !important;td.vertical-align:top;margin-left: auto; margin-right: auto; text-align:left; padding:0px;}
.tablecenterpad17 table { td.vertical-align:top;margin-left: auto; margin-right: auto; text-align:
left; padding:17px;}
.borderless, .borderless table, .borderless td, .borderless tr, .borderless th, .borderless tbody
{ border:0 !important; margin:0 !important; padding:3px !important; td.vertical-align:top !important;margin-left: auto !important; margin-right: auto !important;}
.borderless5px, .borderless5px table, .borderless5px td, .borderless5px tr, .borderless5px th, .borderless5px tbody { border:0 !important; margin:0 !important; padding:5px !important; td.vertical-align:top !important;margin-left: auto !important; margin-right: auto !important;}
.borderlessL, .borderlessL table, .borderlessL td, .borderlessL tr, .borderlessL th, .borderlessL tbody
{ border:0 !important; margin:0 !important; padding:7px !important; td.vertical-align:top !important;margin-left: 0 !important; margin-right: auto !important;}
.borderlessL0, .borderlessL 0table, .borderlessL0 td, .borderlessL0 tr, .borderlessL0 th, .borderlessL0 tbody
{ border:0 !important; margin:0 !important; padding:0px !important; td.vertical-align:top !important;margin-left: 0 !important; margin-right: auto !important;}
.borderlessR, .borderlessR table, .borderlessR td, .borderlessR tr, .borderlessR th, .borderlessR tbody
{ border:0 !important; margin:0 !important; padding:7px !important; td.vertical-align:top !important;margin-left: auto !important; margin-right: 0 !important;}
.viewer tr.oddRow { background-color: #eaeaea;}
.viewer tr.evenRow { background-color:#fff; }
/%row code for html%/
tr.d0 td {background-color: #ccc; color: black;}
tr.d1 td {background-color: #eaeaea; color: black;}
/*}}}*/
/***
!!!<<gradient horiz #FF8888 #ffffff >> ~CustomText>>/%==================================================%/
***/
/*{{{*/
.c06 {color:#c06;}
.gray9 {color:#999;}
.fontsize40 {font-size:0.5em}
.fontsize80 {font-size:0.75em}
.textleft { display:block;text-align:left; }
.textright { display:block;text-align:right; }
.textcenter { display:block;text-align:center; }
.textjustify { display:block;text-align:justify; }
.textindent { display:block;margin:0;padding:0;border:0;margin-left:2em; }
.wrap { white-space:normal; }
.nowrap { white-space:nowrap; }
.headingcolor{color:#FFF;background:#ff8888;}
.wrappingClass{padding: 0px 0.5em 0px 0.5em;color: #FFF; background: #06f;}
.firstletter{
display:block;
float:left;
width:1.0em;
font-size:400%;
font-family:times,courier;
line-height:80%;
}
.firstletterK{
display:block;
float:left;
width:0.75em;
font-size:400%;
font-family:times,courier;
line-height:80%;
}
.firstletterT{
display:block;
float:left;
width:0.65em;
font-size:300%;
font-family:times,courier;
line-height:95%;
}
.headline{
color:#c06;
font-size:180%;
font-family:times,arial;
line-height:60%;
}
.doubleborder {
border: 4px double #999;
margin: 8px;
}
/*}}}*/
/***
!!!<<gradient horiz #FF8888 #ffffff >> Layout>>/%==================================================%/
***/
/*{{{*/
.twocolumns { display:block; -moz-column-count:2; -moz-column-gap:1em; -moz-column-
width:50%;}
.threecolumns { display:block; -moz-column-count:3; -moz-column-gap:1em; -moz-column-
width:33%}
.fourcolumns { display:block; -moz-column-count:4; -moz-column-gap:1em; -moz-column-
width:25%}
.floatboxright {
float: right;
width: 20em;
border: solid 1px;
padding:3px;
background-color:#fcf;
/* whatever other styling you want.. */
}
.floatboxleft {
float: left;
width: 20em;
border: solid 1px;
padding:3px;
background-color:#fcf;
/* whatever other styling you want.. */
}
.floatleft{ float:left; }
.floatright{ float:right; }
.moveovermainmenu{margin-left:7px;}
.textleftpad5{text-align:left;padding: 0px 5px 0px 5px;}
.textindent25 {text-indent:25px;}
.smallform{ white-space:nowrap; }
.imgfloatright{display:block;float:right;padding:0.4em;}
.imgfloatleft{display:block;float:left;padding:0.4em;}
.imgfloatcenter{display:block;margin-left: auto;margin-right: auto;padding:0.3em;}
.alt { background-color:#abf; }
.fdfbackground {background:#fdf;}
/*}}}*/
/***
!!!<<gradient horiz #FF8888 #ffffff >> Links>>/%==================================================%/
***/
/*{{{*/
.boldLink a {font-weight:bold;}
.unboldLink a {font-weight:normal;}
.bigLink a { font-size:10pt;font-weight:bold;}
.whiteLink a { color: #fff;font-weight:normal; }
.twLink a { color: #090;font-weight:normal; }
.locLink a { color: #f6f;font-weight:normal; }
.remLink a { color: #c90;font-weight:normal; }
.blueLink a {color:#00f;}
.grayLink a {color:#ccc;}
.darkgrayLink a {color:#999;}
.editLink a {color:#ccc;font-size:0.01em}
.wrappingLinks{color: #000; background: #B3FFB3;}
.wrappingLinksAlt{color: #000; background: #C0FFFF;}
/*}}}*/
/***
!!!<<gradient horiz #FF8888 #ffffff >> Specific Tiddler Custom CSSCSS>>/%=================================================%/
***/
/*{{{*/
{{{
For tiddler titles with spaces
#tiddlerNew\000020Tiddler a {color: #f00;}
}}}
#tiddlerSystemContents .tabContents {padding 0.5em;margin:auto;}
#tiddlerTabTimeline {list-style:none;}
#tiddlerScience .firstletter{
float:left;
width:0.75em;
margin-right:0.2em;
font-size:400%;
font-family:times,arial;
line-height:70%;
}
#tiddlerEditTemplate .button {color: #000;text-decoration:none;}
#tiddlerTWHelp-SearchResults .viewer {
overflow: auto;
}
#tiddlerTranslate .viewer {
overflow: auto;
}
#tiddlerSideBarOptions {
color:#ffc;
background: transparent;
}
#tiddlerNewWelcome .viewer .tabContents {
background: transparent;
border-top: 1px solid #999;
border-right: 0px solid #999;
border-bottom: 0px solid #999;
border-left: 0px solid #999;
}
#tiddlerTWHelpSiteLinks ol { list-style-type: decimal }
#tiddlerBorderlessIframe .viewer {
background:#fff;
}
#mainMenu a:hover{
background: #FFF;
color: #F00;
}
#tiddlerMargin_Properties.viewer th{
border: 1px solid #000;
padding: 0px;
vertical-align:top;
}
#tiddlerFormattingPageIntro .viewer th, .viewer td, .viewer tr,.viewer caption{
border: 1px solid #F6F;
padding: 0px;
vertical-align:top;
}
#tiddlerTWHelp-SearchResults .viewer table, .viewer td{
border: 1px solid #F6F;
padding-left: 5px;
padding-right: 5px;
vertical-align:top;
td.vertical-align:top;
margin-left: auto;
margin-right: auto;
}
#tiddlerTables .viewer td.even{
background:#ccc;
}
#tiddlerTWHelp-SearchResults .viewer a {
color:#04b;
text-decoration:none;
}
#tiddlerAlpha .viewer tr.oddRow { background-color: #abf;}
#tiddlerAlpha .viewer tr.evenRow { background-color:#eaeaea; }
#tiddlerNewWelcome .viewer tr.oddRow { background-color: #eaeaea;}
#tiddlerNewWelcome .viewer tr.evenRow { background-color:#fff; }
#tiddlerImages img {
border: 5px double #999;
margin: 4px;
}
#searchBar {
float: right;
font-size: 0.9em;
padding-right: 1.5em;
padding-bottom: 0em;
}
#searchBar .button {
padding-right: 0.5em;
border: none;
}
.gotoBar {
float: right;
font-size: 0.9em;
padding-right: 1.5em;
padding-top: 1.0em;
}
/*}}}*/
/***
!!!<<gradient horiz #FF8888 #ffffff >>Footer >>/%==================================================%/
***/
/*{{{*/
#ContentFooter {
text-align: center;
clear: both;
color:#ccc;
background: transparent;
padding: 1em 2em;
font-weight:normal;
}
#ContentFooter a {
color:#ccc;
}
.popup {
max-height:275px;
min-height:auto;
width: auto;
overflow: auto;
margin:auto;
-moz-border-radius : 0.65em 0.2em 0.2em 0.65em;
}
/*}}}*/
/***
!!!<<gradient horiz #090 #fff>> @@color:#fff;End@@>>/%==================================================%/
***/
/*{{{*/
!!!!!<<gradient horiz #fcb #fff>> Customisation>>
<<tiddler NextTiddler with: [[NewFeatures]] 'previous'>> @@color:#C06;''«4 »'' @@ <<tiddler NextTiddler with: [[Plugins]] 'next'>>
You can customise the appearance and behaviour of TiddlyWiki to almost any degree you want:
* Use the ColorPalette to change the basic colour scheme
* Create a CustomStyleSheet for finer grained control over the appearance
* Customise the PageTemplate, ViewTemplate or EditTemplate to change the composition of the page and the layout of individual tiddlers
* Use off-the-shelf themes from TiddlyThemes
* Visit the Configuration summary to see all the special configuration tiddlers
* Install Plugins to extend the core functionality (find them at TiddlyVault or you can try writing or adapting your own)
* Use TiddlyBookmarklets for low level hacking of TiddlyWiki documents
There are also a bunch of TiddlyWikiTools that you can use to enhance TiddlyWiki.
Tue, Nov 27, 2007 10:00
<html><embed type="video/x-ms-asf" id="player_FF" name="player_FF" displaysize="2" autosize="0"
bgcolor="white" showcontrols="true" showtracker="0" showdisplay="0" showstatusbar="1" videoborder3d="0" width="300" height="50" src="http://abc.net.au/streaming/digjazz/digjazz.m3u" autostart="true" designtimesp="5311" loop="false" volume="100"></embed></html>
<html><embed type="video/x-ms-asf" id="player_FF" name="player_FF" displaysize="2" autosize="0"
bgcolor="white" showcontrols="true" showtracker="0" showdisplay="0" showstatusbar="0" videoborder3d="0" width="300" height="25" src="http://abc.net.au/streaming/digradio/digradio.m3u" autostart="true" designtimesp="5311" loop="false" volume="100"></embed></html>
function onClickDefaultHome(e) {
story.closeAllTiddlers();
config.options.txtDefaultTiddlers = "";
saveOptionCookie('txtDefaultTiddlers');
var start = store.getTiddlerText("EditingTiddlers");
if(start)
story.displayTiddlers(null,start.readBracketedList());
}
config.macros["defaultHome"] = {label: "Home", prompt: "Show the default tiddlers", title: "Home"};
config.macros.defaultHome.handler = function(place) {
createTiddlyButton(place,this.label,this.prompt,onClickDefaultHome);
}
[[KatieMelua]]
[[Rediscovering Chopin]]
[[JoniMitchell]]
[[JengaPistol]]
[[Sony Rolly in Motion]]
[[FiatAbarthZagato]]
[[Elton]]
[[MyRadioStuff]]
[[Browser]]
[[Peter'sPicks]]
[[Classical]]
[[BBCRadio]]
[[ABCDigital]]
[[ABC-AM]]
[[MrBojangles]]
[[ThatsWorthWhileWaitingFor1920]]
[[Impossible]]
[[ConnieTalbot]]
[[HowEnginesWork]]
[[LargestGummyWorm]]
/***
|''Name:''|DeprecatedFunctionsPlugin|
|''Description:''|Support for deprecated functions removed from core|
***/
//{{{
if(!version.extensions.DeprecatedFunctionsPlugin) {
version.extensions.DeprecatedFunctionsPlugin = {installed:true};
//--
//-- Deprecated code
//--
// @Deprecated: Use createElementAndWikify and this.termRegExp instead
config.formatterHelpers.charFormatHelper = function(w)
{
w.subWikify(createTiddlyElement(w.output,this.element),this.terminator);
};
// @Deprecated: Use enclosedTextHelper and this.lookaheadRegExp instead
config.formatterHelpers.monospacedByLineHelper = 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 text = lookaheadMatch[1];
if(config.browser.isIE)
text = text.replace(/\n/g,"\r");
createTiddlyElement(w.output,"pre",null,null,text);
w.nextMatch = lookaheadRegExp.lastIndex;
}
};
// @Deprecated: Use <br> or <br /> instead of <<br>>
config.macros.br = {};
config.macros.br.handler = function(place)
{
createTiddlyElement(place,"br");
};
// Find an entry in an array. Returns the array index or null
// @Deprecated: Use indexOf instead
Array.prototype.find = function(item)
{
var i = this.indexOf(item);
return i == -1 ? null : i;
};
// Load a tiddler from an HTML DIV. The caller should make sure to later call Tiddler.changed()
// @Deprecated: Use store.getLoader().internalizeTiddler instead
Tiddler.prototype.loadFromDiv = function(divRef,title)
{
return store.getLoader().internalizeTiddler(store,this,title,divRef);
};
// Format the text for storage in an HTML DIV
// @Deprecated Use store.getSaver().externalizeTiddler instead.
Tiddler.prototype.saveToDiv = function()
{
return store.getSaver().externalizeTiddler(store,this);
};
// @Deprecated: Use store.allTiddlersAsHtml() instead
function allTiddlersAsHtml()
{
return store.allTiddlersAsHtml();
}
// @Deprecated: Use refreshPageTemplate instead
function applyPageTemplate(title)
{
refreshPageTemplate(title);
}
// @Deprecated: Use story.displayTiddlers instead
function displayTiddlers(srcElement,titles,template,unused1,unused2,animate,unused3)
{
story.displayTiddlers(srcElement,titles,template,animate);
}
// @Deprecated: Use story.displayTiddler instead
function displayTiddler(srcElement,title,template,unused1,unused2,animate,unused3)
{
story.displayTiddler(srcElement,title,template,animate);
}
// @Deprecated: Use functions on right hand side directly instead
var createTiddlerPopup = Popup.create;
var scrollToTiddlerPopup = Popup.show;
var hideTiddlerPopup = Popup.remove;
// @Deprecated: Use right hand side directly instead
var regexpBackSlashEn = new RegExp("\\\\n","mg");
var regexpBackSlash = new RegExp("\\\\","mg");
var regexpBackSlashEss = new RegExp("\\\\s","mg");
var regexpNewLine = new RegExp("\n","mg");
var regexpCarriageReturn = new RegExp("\r","mg");
}
//}}}
Instructions +++[click here.]
<<tiddler Help>>
===
/***
|!''Name:''|!''E''asily ''A''daptable ''S''ource ''E''ditor|
|''Description:''|this framework allows you to easily create commands that work on the current tiddler text selection in edit mode|
|''Version:''|0.1.0|
|''Date:''|13/01/2007|
|''Source:''|http://yann.perrin.googlepages.com/twkd.html#E.A.S.E|
|''Author:''|[[Yann Perrin|YannPerrin]]|
|''License:''|[[BSD open source license]]|
|''~CoreVersion:''|2.x|
|''Browser:''|Firefox 1.0.4+; Firefox 1.5; InternetExplorer 6.0|
***/
////Messages Definition
//{{{
config.messages.Ease = {
noselection:"nothing selected",
asktitle:"enter the new tiddler title",
exists:" already exists, please enter another title",
askForTagsLabel:"enter the new tiddler tags",
tiddlercreated:" tiddler created"
}
//}}}
////
//{{{
if (!window.TWkd) window.TWkd={context:{}};
if (!TWkd.Ease)
TWkd.Ease = function (text,tooltip){
this.text = text;
this.tooltip = tooltip;
this.modes = [];
this.addMode = function(modeDefinition) {this.modes.push(modeDefinition);};
this.handler = function(event,src,title) {
TWkd.context.command = this;
TWkd.context.selection=this.getSelection(title);
if (this.modes.length==1) {
this.modes[0].operation();
}
else {
var popup = Popup.create(src);
if(popup) {
for (var i=0; i<this.modes.length; i++) {
createTiddlyButton(createTiddlyElement(popup,"li"), this.modes[i].name, this.modes[i].tooltip, this.OperateFromButton, null, 'id'+i, null);
}
Popup.show(popup,false);
event.cancelBubble = true;
if (event.stopPropagation) event.stopPropagation();
return false;
}
}
};
};
TWkd.Ease.prototype.OperateFromButton = function(e){
var commandMode=this.getAttribute('Id').replace('id','');
TWkd.context.command.modes[commandMode].operation();
};
TWkd.Ease.prototype.getTiddlerEditField = function(title,field){
var tiddler = document.getElementById(story.idPrefix + title);
if(tiddler != null){
var children = tiddler.getElementsByTagName("*")
var e = null;
for (var t=0; t<children.length; t++){
var c = children[t];
if(c.tagName.toLowerCase() == "input" || c.tagName.toLowerCase() == "textarea"){
if(!e) {e = c;}
if(c.getAttribute("edit") == field){e = c;}
}
}
if(e){return e;}
}
} // closes getTiddlerEditField function definition
TWkd.Ease.prototype.getSelection = function(title,quiet) {
var tiddlerTextArea = this.getTiddlerEditField(title,"text");
var result = {};
if (document.selection != null && tiddlerTextArea.selectionStart == null) {
tiddlerTextArea.focus();
var range = document.selection.createRange();
var bookmark = range.getBookmark();
var contents = tiddlerTextArea.value;
var originalContents = contents;
var marker = "##SELECTION_MARKER_" + Math.random() + "##";
while(contents.indexOf(marker) != -1) {
marker = "##SELECTION_MARKER_" + Math.random() + "##";
}
var selection = range.text;
range.text = marker + range.text + marker;
contents = tiddlerTextArea.value;
result.start = contents.indexOf(marker);
contents = contents.replace(marker, "");
result.end = contents.indexOf(marker);
tiddlerTextArea.value = originalContents;
range.moveToBookmark(bookmark);
range.select();
}
else {
result.start=tiddlerTextArea.selectionStart;
result.end=tiddlerTextArea.selectionEnd;
}
result.content=tiddlerTextArea.value.substring(result.start,result.end);
result.source=title;
if (!result.content&&!quiet) displayMessage(config.messages.Ease.noselection);
return(result);
}//closes getSelection function definition
// replace selection or insert new content
TWkd.Ease.prototype.putInPlace=function(content,workplace) {
var tiddlerText = this.getTiddlerEditField(workplace.source,"text");
tiddlerText.value = tiddlerText.value.substring(0,workplace.start)+content+tiddlerText.value.substring(workplace.end);
}
// asking for title
TWkd.Ease.prototype.askForTitle = function(suggestion) {
if (!suggestion)
suggestion = "";
var newtitle;
while (!newtitle||store.tiddlerExists(newtitle))
{
if (store.tiddlerExists(newtitle))
displayMessage(newtitle+config.messages.Ease.exists);
newtitle = prompt(config.messages.Ease.asktitle,suggestion);
if (newtitle==null)
{
displayMessage(config.messages.Ease.titlecancel);
return(false);
}
}
return(newtitle);
}//closes askForTitle function definition
// creation of a new tiddler
TWkd.Ease.prototype.newTWkdLibTiddler = function(title,content,from,askForTags){
var tiddler = new Tiddler();
tiddler.title = title;
tiddler.modifier = config.options.txtUserName;
tiddler.text = content;
(from) ? tiddler.tags = [from] : tiddler.tags=[];
if (askForTags)
tiddler.tags = prompt(config.messages.Ease.askForTagsLabel,'[['+from+']]').readBracketedList();
store.addTiddler(tiddler);
//store.notifyAll();
displayMessage(title+config.messages.Ease.tiddlercreated);
}
if (!TWkd.Mode)
TWkd.Mode = function (name,tooltip,ask,operation) {
this.name = name;
this.tooltip = tooltip;
this.ask = ask;
this.operation = operation;
};
//}}}
<script label="edit a tiddler">
var title=prompt("Enter the title of a tiddler to edit (case sensitive)");
while (title && title.length && !store.tiddlerExists(title)) {
displayMessage("The tiddler '%0' doesn't exist".format([title]));
var title=prompt("Please enter a tiddler title",title);
}
if (!title||!title.length) return; /* cancelled by user */
story.displayTiddler(null,title,2);
</script>
<!--{{{-->
<div class='toolbar' macro='toolbar +saveTiddler -cancelTiddler deleteTiddler'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div class="editLabel">.</div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser'></span></div>
<div macro='annotations'></div>
<span macro='toolbar format slice'></span>
<div class='editor' macro='edit text'></div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar +saveTiddler -cancelTiddler deleteTiddler'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div class="editLabel">.</div>
<div class='editor' macro='edit tags'></div><div class='editorFooter><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser'></span></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<!--}}}-->
[[BackstageCSS]]
[[ButtonStyle]]
[[CenterBoxCSS]]
[[CustomCSS]]
[[CustomCSS]]
[[EditingTiddlers]]
[[EditTemplate]]
[[PageCSS]]
[[PageTemplate]]
[[SlantedStyle]]
[[StyleSheet]]
[[StyleSheetTiddlersBar]]
[[ViewTemplate]]
[[WebPageTLCF]]
[[WebStyleSheet]]
<html><div align="center"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="420" height="350" align="middle" id="usermap"/><param name="allowScriptAccess" value="always" /><param name="movie" value="http://www.latimes.com/includes/electoralmap/usermap.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><param name="FlashVars" value="usergen=112111002111111000111011000102110210121102021120022" /><embed src="http://www.latimes.com/includes/electoralmap/usermap.swf" width="420" height="350" quality="high" bgcolor="#ffffff" FlashVars="usergen=112111002111111000111011000102110210121102021120022" name="usermap" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object></div></html>
<<gradient vert #00c #0ff #008>><br>@@color:#000;font-size:24pt;~ElectricBlue@@<br>@@color:#f00;an experiment in web site design@@>>
!!!!!<<gradient horiz #fcb #fff>> [[Elton]]>>
<script>
// get all tiddlers tagged with "Elton"
var tids=store.getTaggedTiddlers("elton");
// keep only tiddlers *also* tagged with ?
var list=[];
for (var t=0; t<tids.length; t++)
if (tids[t].isTagged("elton")) list.push(tids[t]);
// create output list of tiddler titles, one per line
var out="";
for (var t=0; t<list.length; t++) out+="#[["+list[t].title+"]]\n";
return out;
</script>
<script>
/*<![CDATA[*/
/***********************************************
* Encrypt Email script- Please keep notice intact
* Tool URL: http://www.dynamicdrive.com/emailriddler/
* **********************************************/
<!-- Encrypted version of: tiddlywikihelp [at] *****.***.** //-->
var emailriddlerarray=[116,105,100,100,108,121,119,105,107,105,104,101,108,112,64,121,97,104,111,111,46,99,111,109,46,97,117]
var encryptedemail_id69='' //variable to contain encrypted email
for (var i=0; i<emailriddlerarray.length; i++)
encryptedemail_id69+=String.fromCharCode(emailriddlerarray[i])
document.write('<a href="mailto:'+encryptedemail_id69+'?subject=From TW Help Page">Email</a>')
/*]]>*/
</script>
<script>
/*<![CDATA[*/
/***********************************************
* Encrypt Email script- Please keep notice intact
* Tool URL: http://www.dynamicdrive.com/emailriddler/
* **********************************************/
<!-- Encrypted version of: tiddlywikihelp [at] *****.***.** //-->
var emailriddlerarray=[116,105,100,100,108,121,119,105,107,105,104,101,108,112,64,121,97,104,111,111,46,99,111,109,46,97,117]
var encryptedemail_id69='' //variable to contain encrypted email
for (var i=0; i<emailriddlerarray.length; i++)
encryptedemail_id69+=String.fromCharCode(emailriddlerarray[i])
document.write('<a href="mailto:'+encryptedemail_id69+'?subject=From TW Help Page">Email Us</a>')
/*]]>*/
</script>
<html><div align="center"><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/KaHm1ecBCgw"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/KaHm1ecBCgw" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></div></html>
!!!!!<<gradient horiz #fcb #fff>> Entities>>
(~Non-Keyboard Characters)
Supplied courtesy of [[TW Help|http://twhelp.tiddlyspot.com/]]
<<<
GreekEntities
HTMLEntities
LatinEntities
MathEntities
<<<
<<tabs " " [[ExcludedFromSearches ]] "" [[ExcludedFromSearches]] [[ExcludedFromLists ]] "" [[ExcludedFromLists]] >>
@@color:#C06;''» »'' @@ Tabs excluded From Lists
----
<script>
// get all tiddlers tagged with "excludeLists"
var tids=store.getTaggedTiddlers("excludeLists");
// keep only tiddlers *also* tagged with New
var list=[];
for (var t=0; t<tids.length; t++)
if (tids[t].isTagged("excludeLists")) list.push(tids[t]);
// create output list of tiddler titles, one per line
var out="";
for (var t=0; t<list.length; t++) out+="#[["+list[t].title+"]]\n";
return out;
</script>
@@color:#C06;''» »'' @@ Tabs excluded from searches.
----
<script>
// get all tiddlers tagged with "excludeSearch"
var tids=store.getTaggedTiddlers("excludeSearch");
// keep only tiddlers *also* tagged with New
var list=[];
for (var t=0; t<tids.length; t++)
if (tids[t].isTagged("excludeSearch")) list.push(tids[t]);
// create output list of tiddler titles, one per line
var out="";
for (var t=0; t<list.length; t++) out+="#[["+list[t].title+"]]\n";
return out;
</script>
!!!<<gradient horiz #fcb #fff>> FFKeyStrokes^^<<tiddler CloseThisOpen with: KeyStrokes '« back'>>|<<toolbar editTiddler>>» ^^>>
The following Ctrl- characters are already used by FireFox:
----
A - select all
B - show bookmarks
C - copy
D - bookmark this page
E - moves focus to GoogleSearch in toolbar
F - Find
G - Find Again
H - show history
I - (shift) DOM Inspector
J - download manager
K - web search
L - open location
M
N - new window
O - open file
P - print
Q
R - reload
S - save page as
T - new tab
U - view page source
V - paste
W - close tab (shift - close window)
X - cut
Y - redo
Z - undo
ctrl-0, ctrl-+ ctrl-minus - adjust text size
In addition, various FireFox plugins (such as Firebug) also assign keybindings to ctrl+shift+letter and, because these plugins areimplemented at a browser-native level (as opposed to TW javascript),
their key bindings are likely to take precedent, even if you couldcapture the keystrokes in TW.
''The Yaesu FT-757GX is an affordable HF transceiver covering 160 to 10 meters and has ten memories. The general coverage receiver tunes from 150 kHz to 30 MHz. Power is 100 watts in CW, SSB, FM and 25 watts AM. The FT-757GX features IF Shift, IF Notch and Noise Blanker. The FT-757GX requires 13.8 VDC at 19 amps. 238x93x238mm 5.2 kg. Supplied with DC cord and MH-1B8 hand mic.''
----
''Features''
* 160-10 meters
* Electronic Keyer
* If Notch
* IF Shift
* Dual VFOs
* Noise Blanker
* 100 Watts Output
* Semi/Full Break-in CW
* Attenuator
* Speech Compressor
* VOX
* Electronic Keyer
@@color:#C06;''» »'' @@ [[Go to Photos|##Photos]]
!!Video
''This is the exact year and model and colour I had. The only difference with mine was it only had the racing stripe down the center and none of the blazing on the mudguards.''
<html><div align="center"> <object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/83TgQykJHBI&hl=en&fs=1&autoplay=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/83TgQykJHBI&hl=en&fs=1&autoplay=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></div></html>
!Photos
@@color:#C06;''» »'' @@ [[Back to Video|##Video]]
{{textcenter{
[img[http://img212.imageshack.us/img212/5439/abarthzagatoxv3.jpg]]
[img[http://img204.imageshack.us/img204/1406/abarthzagato43705471fo6.jpg]]
''Another Zagato from Italy''
[img[http://img204.imageshack.us/img204/2697/ab44436587ec0.jpg]]
[img[http://img297.imageshack.us/img297/217/ab54474061qo5.jpg]]
}}}
@@color:#C06;''» »'' @@ <<tiddler EditATiddler>>
----
|>|<<search>>|
|<<option chkSearchTitles>> Titles <<option chkSearchText>> Text <<option chkSearchTags>>Tags<<option chkHoldSearches>> Hold |
|borderlessL|k
----
|>|@@color:#04b;font-weight:bold;goto ''» »'' @@<<gotoTiddler>>|
|borderlessL|k
/***
|Name|FontSizePlugin|
|Created by|SaqImtiaz|
|Location|http://tw.lewcid.org/#FontSizePlugin|
|Version|1.0|
|Requires|~TW2.x|
!Description:
Resize tiddler text on the fly. The text size is remembered between sessions by use of a cookie.
You can customize the maximum and minimum allowed sizes.
(only affects tiddler content text, not any other text)
Also, you can load a TW file with a font-size specified in the url.
Eg: http://tw.lewcid.org/#font:110
!Demo:
Try using the font-size buttons in the sidebar, or in the MainMenu above.
!Installation:
Copy the contents of this tiddler to your TW, tag with systemConfig, save and reload your TW.
Then put {{{<<fontSize "font-size:">>}}} in your SideBarOptions tiddler, or anywhere else that you might like.
!Usage
{{{<<fontSize>>}}} results in <<fontSize>>
{{{<<fontSize font-size: >>}}} results in <<fontSize font-size:>>
!Customizing:
The buttons and prefix text are wrapped in a span with class fontResizer, for easy css styling.
To change the default font-size, and the maximum and minimum font-size allowed, edit the config.fontSize.settings section of the code below.
!Notes:
This plugin assumes that the initial font-size is 100% and then increases or decreases the size by 10%. This stepsize of 10% can also be customized.
!History:
*27-07-06, version 1.0 : prevented double clicks from triggering editing of containing tiddler.
*25-07-06, version 0.9
!Code
***/
//{{{
config.fontSize={};
//configuration settings
config.fontSize.settings =
{
defaultSize : 100, // all sizes in %
maxSize : 200,
minSize : 40,
stepSize : 5
};
//startup code
var fontSettings = config.fontSize.settings;
if (!config.options.txtFontSize)
{config.options.txtFontSize = fontSettings.defaultSize;
saveOptionCookie("txtFontSize");}
setStylesheet(".tiddler .viewer {font-size:"+config.options.txtFontSize+"%;}\n","fontResizerStyles");
setStylesheet("#contentWrapper .fontResizer .button {display:inline;font-size:105%; font-weight:bold; margin:0 1px; padding: 0 3px; text-align:center !important;}\n .fontResizer {margin:0 0.5em;}","fontResizerButtonStyles");
//macro
config.macros.fontSize={};
config.macros.fontSize.handler = function (place,macroName,params,wikifier,paramString,tiddler)
{
var sp = createTiddlyElement(place,"span",null,"fontResizer");
sp.ondblclick=this.onDblClick;
if (params[0])
createTiddlyText(sp,params[0]);
createTiddlyButton(sp,"+","increase font-size",this.incFont);
createTiddlyButton(sp,"=","reset font-size",this.resetFont);
createTiddlyButton(sp,"–","decrease font-size",this.decFont);
}
config.macros.fontSize.onDblClick = function (e)
{
if (!e) var e = window.event;
e.cancelBubble = true;
if (e.stopPropagation) e.stopPropagation();
return false;
}
config.macros.fontSize.setFont = function ()
{
saveOptionCookie("txtFontSize");
setStylesheet(".tiddler .viewer {font-size:"+config.options.txtFontSize+"%;}\n","fontResizerStyles");
}
config.macros.fontSize.incFont=function()
{
if (config.options.txtFontSize < fontSettings.maxSize)
config.options.txtFontSize = (config.options.txtFontSize*1)+fontSettings.stepSize;
config.macros.fontSize.setFont();
}
config.macros.fontSize.decFont=function()
{
if (config.options.txtFontSize > fontSettings.minSize)
config.options.txtFontSize = (config.options.txtFontSize*1) - fontSettings.stepSize;
config.macros.fontSize.setFont();
}
config.macros.fontSize.resetFont=function()
{
config.options.txtFontSize=fontSettings.defaultSize;
config.macros.fontSize.setFont();
}
config.paramifiers.font =
{
onstart: function(v)
{
config.options.txtFontSize = v;
config.macros.fontSize.setFont();
}
};
//}}}
Highlight this message and right click and copy it.
''Now go back to the open tiddler in the side bar LEFT CLICK ON IT and type CONTROL-V ''
Your wish has been fulfilled You used a right click context copy in the main window and pasted it into an open tiddler in the sidebar :-)
Name it :"Magic" and seal it by clicking "done" in the toolbar.
To finalize this procedure go to the upper right corner of the SIDEBAR and click "backstage" to drop down the menu.
Click "save" in the backstage menu and wait for the message that your Magic tiddler was saved.
Now go to the MAIN WINDOW again and search for the word "Magic again see if it isn't the one with your secret message and the copy and paste.
Tell the group about this :-)
Morris :-)
<html><a
href="javascript:void(0)"
onclick="story.closeAllTiddlers();story.displayTiddlers(null,store.getTiddlerText('EditingTiddlers').readBracketedList())"
>Home</a></html>
!!!<<gradient horiz #fcb #ffffff>>[[Fri]]^^<<tiddler CloseThisOpen with: MiniPlanner '« back'>><<toolbar editTiddler>>» ^^>>
*It's too late in the week to start anything.
/***
|Name|FullScreenPlugin|
|Created by|SaqImtiaz|
|Location|http://tw.lewcid.org/#FullScreenPlugin|
|Version|1.1|
|Requires|~TW2.x|
!Description:
Toggle between viewing tiddlers fullscreen and normally. Very handy for when you need more viewing space.
!Demo:
Click the ↕ button in the toolbar for this tiddler. Click it again to turn off fullscreen.
!Installation:
Copy the contents of this tiddler to your TW, tag with systemConfig, save and reload your TW.
Edit the ViewTemplate to add the fullscreen command to the toolbar.
!History:
*25-07-06: ver 1.1
*20-07-06: ver 1.0
!Code
***/
//{{{
var lewcidFullScreen = false;
config.commands.fullscreen =
{
text:"«FullScreen»",
tooltip:"Fullscreen mode"
};
config.commands.fullscreen.handler = function (event,src,title)
{
if (lewcidFullScreen == false)
{
lewcidFullScreen = true;
setStylesheet('#sidebar, .header, #mainMenu{display:none;} #displayArea{margin:0em 0 0 0 !important;}',"lewcidFullScreenStyle");
}
else
{
lewcidFullScreen = false;
setStylesheet(' ',"lewcidFullScreenStyle");
}
}
config.macros.fullscreen={};
config.macros.fullscreen.handler = function(place,macroName,params,wikifier,paramString,tiddler)
{
var label = params[0]||" «FullScreen» ";
var tooltip = params[1]||"Fullscreen mode";
createTiddlyButton(place,label,tooltip,config.commands.fullscreen.handler);
}
var lewcid_fullscreen_closeTiddler = Story.prototype.closeTiddler;
Story.prototype.closeTiddler =function(title,animate,slowly)
{
lewcid_fullscreen_closeTiddler.apply(this,arguments);
if (story.isEmpty() && lewcidFullScreen == true)
config.commands.fullscreen.handler();
}
Slider.prototype.lewcidStop = Slider.prototype.stop;
Slider.prototype.stop = function()
{
this.lewcidStop();
if (story.isEmpty() && lewcidFullScreen == true)
config.commands.fullscreen.handler();
}
//}}}
!!!!!<<gradient horiz #fcb #fff>> Plugins>>
<<tiddler NextTiddler with: [[Plugins]] 'previous'>> @@color:#C06;''«6 »'' @@ <<tiddler NextTiddler with: [[HowToUpgrade]] 'next'>>
The easiest way to learn about TiddlyWiki is to use it! Try clicking on various links and see what happens - you cannot damage tiddlywiki.com or your browser. (Use the close all button over on the right to clear all the displayed tiddlers and start again).
There is an extensive Community documentation wiki, including an invaluable FAQ. Other useful guides include:
* Dave Gifford's [[TiddlyWiki for the Rest of Us|http://www.giffmex.org/twfortherestofus.html]] and his [[slideshow introduction|http://giffmex.tiddlyspot.com/]]
* Morris Gray's [[TW Help - TiddlyWiki help file for beginners|http://twhelp.tiddlyspot.com]]
* Dmitri Popov's TiddlyWiki quick reference card
* Screencasts from JimVentola and LeonKilat.
When you're ready to create your own TiddlyWiki on your computer, follow the instructions in DownloadSoftware and SaveChanges. There is also a free hosted service at http://tiddlyspot.com/ that makes it easier to share your TiddlyWiki with others (for more demanding applications there are several other ServerSide solutions available).
Tue, Nov 27, 2007 10:00
<html><div align="center"> <object width="425" height="350"><param name="movie" value="http://www.metacafe.com/fplayer/yt-mIThPL8Akgc/goodbye_norma_jean_aka_marilyn_monroe.swf"></param><param name="wmode" value="transparent"></param><embed src="http://www.metacafe.com/fplayer/yt-mIThPL8Akgc/goodbye_norma_jean_aka_marilyn_monroe.swf" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></div></html>
<html><div align="center"> <object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/wqQfGIIatoo&hl=en_US&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/wqQfGIIatoo&hl=en_US&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></div></html>
Goodbye Norma Jean
Though I never knew you at all
You had the grace to uphold yourself
While those around you crawled
They crawled out of the woodwork
And they whispered into your brain
They set you on a treadmill
And they made you change your name
And it seems to me, you lived your life
Like a candle in the wind
Never knowing who to cling to
When the rain set in
And I would have liked to have known you
But I was just a kid
Your candle burned out long before
Your legend ever did
I know lonliness was tough
The toughest role you ever played
Hollywood created a superstar
And pain was the price you paid
And even when you died
Oh, the press still hounded you
All the papers had to say
Was that Marilyn was found in the nude
And it seems to me, you lived your life
Like a candle in the wind
Never knowing who to cling to
When the rain set in
And I would have liked to have known you
But I was just a kid
Your candle burned out long before
Your legend ever did
Goodbye Norma Jean
Though I never knew you at all
Goodbye Norma Jean
From the young man in the twenty-second row
Who sees you as something more than sexual
More than just Marilyn Monroe
And it seems to me, you lived your life
Like a candle in the wind
Never knowing who to cling to
When the rain set in
And I would have liked to have known you
But I was just a kid
Your candle burned out long before
Your legend ever did
Goodbye Norma Jean
Goodbye Norma Jean
Goodbye
Goodbye Norma Jean
/***
|Name|GotoPlugin|
|Source|http://www.TiddlyTools.com/#GotoPlugin|
|Documentation|http://www.TiddlyTools.com/#GotoPluginInfo|
|Version|1.5.0|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides||
|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//'' being displayed, press //escape// to clear the current text input and start over.
!!!!!Documentation
>see [[GotoPluginInfo]]
!!!!!Revisions
<<<
2008.02.17 [1.5.0] ENTER key always displays tiddler based on current input regardless of whether input matches any existing tiddler
|please see [[GotoPluginInfo]] for additional revision details|
2006.05.05 [0.0.0] started
<<<
!!!!!Code
***/
//{{{
version.extensions.gotoTiddler = {major: 1, minor: 5, revision: 0, date: new Date(200,2,17)};
// automatically tweak shadow SideBarOptions to add <<gotoTiddler>> macro above <<search>>
config.shadowTiddlers.SideBarOptions=config.shadowTiddlers.SideBarOptions.replace(/<<search>>/,"{{button{goto}}}\n<<gotoTiddler>><<search>>");
config.macros.gotoTiddler= {
handler:
function(place,macroName,params) {
var quiet=(params[0] && params[0]=="quiet"); if (quiet) params.shift();
var insert=(params[0] && params[0]=="insert"); if (insert) params.shift();
var instyle=params.shift(); if (!instyle) instyle="";
var liststyle=params.shift(); if (!liststyle) liststyle="";
var keyevent=window.event?"onkeydown":"onkeypress";
createTiddlyElement(place,"span").innerHTML
=this.html.replace(/%keyevent%/g,keyevent).replace(/%insert%/g,insert).replace(/%quiet%/g,quiet).replace(/%instyle%/g,instyle).replace(/%liststyle%/g,liststyle);
},
html:
'<form onsubmit="return false" style="display:inline;margin:0;padding:0">\
<input name=gotoTiddler type=text autocomplete="off" accesskey="G" style="%instyle%"\
value="type tiddler name" title="enter a tiddler title"\
onclick="this.form.list.style.display=\'none\';"\
onfocus="this.select(); this.setAttribute(\'accesskey\',\'G\');"\
%keyevent%="return config.macros.gotoTiddler.inputEscKeyHandler(event,this,this.form.list);"\
onkeyup="return config.macros.gotoTiddler.inputKeyHandler(event,this,this.form.list,%quiet%,%insert%);">\
<select name=list style="%liststyle%;display:none;position:absolute"\
onchange="if (!this.selectedIndex) this.selectedIndex=1;"\
onblur="this.style.display=\'none\';"\
%keyevent%="return config.macros.gotoTiddler.selectKeyHandler(event,this,this.form.gotoTiddler,%insert%);"\
onclick="return config.macros.gotoTiddler.processItem(this.value,this.form.gotoTiddler,this,%insert%);">\
</select>\
</form>',
getItems:
function(val) {
if (!this.items.length || val.length<2) { // starting new search, refresh cached list of tiddlers/shadows/tags
this.items=new Array();
var tiddlers=store.getTiddlers("title","excludeLists");
for(var t=0; t<tiddlers.length; t++) this.items.push(tiddlers[t].title);
for (var t in config.shadowTiddlers) this.items.pushUnique(t);
var tags=store.getTags();
for(var t=0; t<tags.length; t++) this.items.pushUnique(tags[t][0]);
}
var found = [];
var match=val.toLowerCase();
for(var i=0; i<this.items.length; i++)
if (this.items[i].toLowerCase().indexOf(match)!=-1) found.push(this.items[i]);
return found;
},
items: [], // cached list of tiddlers/shadows/tags
getItemSuffix:
function(t) {
if (store.tiddlerExists(t)) return ""; // tiddler
if (store.isShadowTiddler(t)) return " (shadow)"; // shadow
return " (tag)"; // tag
},
keyProcessed:
function(ev) { // utility function: exits handler and prevents browser from processing the keystroke
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) {
var key=event.keyCode;
// escape... hide list (2nd esc=clears input)
if (key==27) {
if (list.style.display=="none")
here.value=here.defaultValue;
list.style.display="none";
return this.keyProcessed(event);
}
return true; // key bubbles up
},
inputKeyHandler:
function(event,here,list,quiet,insert) {
var key=event.keyCode;
// non-printing chars... bubble up, except: backspace=8, enter=13, space=32, down=40, delete=46
if (key<48) switch(key) { case 8: case 13: case 32: case 40: case 46: break; default: return true; }
// blank input... if down/enter... fall through (list all)... else, and hide list
if (!here.value.length && !(key==40 || key==13))
{ list.style.display="none"; return this.keyProcessed(event); }
// find matching items...
var found = this.getItems(here.value);
// non-blank input... enter key... show/create tiddler
if (key==13) return this.processItem(here.value,here,list,insert);
// make sure list is shown/hidden
list.style.display=(!quiet && found.length)?"block":"none";
// no matches, key bubbles up
if (!found.length) return true;
// down key... shows/moves to list...
if (key==40) { list.style.display="block"; list.focus(); }
// finally, if list is showing, fill it with found results...
if (list.style.display!="none") {
while (list.length > 0) list.options[0]=null; // clear list
found.sort(); // alpha by title
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++) // fill list...
list.options[list.length]=new Option(found[t]+this.getItemSuffix(found[t]),found[t],false,false);
list.size=(found.length<this.listMaxSize?found.length:this.listMaxSize)+1; // resize list...
list.selectedIndex=(key==40 || key==13)?1:0;
}
return true; // key bubbles up
},
listMaxSize: 10,
listHeading: 'Found %0 matching title%1:',
selectKeyHandler:
function(event,list,editfield,insert) {
if (event.keyCode==27) // escape... hide list, move to edit field
{ editfield.focus(); list.style.display="none"; return this.keyProcessed(event); }
if (event.keyCode==13 && list.value.length) // enter... view selected item
{ this.processItem(list.value,editfield,list,insert); return this.keyProcessed(event); }
return true; // key bubbles up
},
processItem:
function(title,here,list,insert) {
if (!title.length) return; here.value=title; list.style.display='none';
if (insert) {
var tidElem=story.findContainingTiddler(here); if (!tidElem) { here.focus(); return false; }
var e=story.getTiddlerField(tidElem.getAttribute("tiddler"),"text");
if (!e||e.getAttribute("edit")!="text") return false;
var txt=prompt(this.askForText,title); if (!txt||!txt.length) { here.focus(); return false; }
e.focus(); // put focus on target field before setting selection
replaceSelection(e,"[["+txt+"|"+title+"]]"); // insert selected tiddler as a PrettyLink
}
else
story.displayTiddler(null,title); // show selected tiddler
return false;
},
askForText: "Enter the text to display for this link"
}
//}}}
|>|>| !Greek Letters [[^|GreekHtmlEntities]] |
| !Symbol | !upper-case | !lower-case |
| {{{Α}}} | Α | α |
| {{{Β}}} | Β | β |
| {{{Γ}}} | Γ | γ |
| {{{Δ}}} | Δ | δ |
| {{{Ε}}} | Ε | ε |
| {{{Ζ}}} | Ζ | ζ |
| {{{Η}}} | Η | η |
| {{{Θ}}} | Θ | θ |
| {{{&Thetasym;}}} | ϑ | |
| {{{Ι}}} | Ι | ι |
| {{{Κ}}} | Κ | κ |
| {{{Λ}}} | Λ | λ |
| {{{Μ}}} | Μ | μ |
| {{{Ν}}} | Ν | ν |
| {{{Ξ}}} | Ξ | ξ |
| {{{Ο}}} | Ο | ο |
| {{{Π}}} | Π | π |
| {{{Π}}} | π | |
| {{{Ρ}}} | Ρ | ρ |
| {{{Σ}}} | Σ | σ |
| {{{Τ}}} | Τ | τ |
| {{{Υ}}} | Υ | υ |
| {{{Υ}}} | ϒ | |
| {{{Φ}}} | Φ | φ |
| {{{Χ}}} | Χ | χ |
| {{{Ψ}}} | Ψ | ψ |
| {{{Ω}}} | Ω | ω |
|>|>|width:96%; !Money |
| !Symbol | !Character | !Description |
| {{{¢}}} | ¢ |cent sign |
| {{{£}}} | £ |pound sign |
| {{{¤}}} | ¤ |currency sign |
| {{{¥}}} | ¥ |yen sign |
| {{{€}}} | € |euro sign |
|>|>|width:96%; !Symbols |
| !Symbol | !Character | !Description |
| {{{©}}} | © |copyright sign |
| {{{®}}} | ® |registered trade mark |
| {{{™}}} | ™ |trade mark sign |
| {{{º}}} | º |masculine ordinal indicator |
| {{{ª}}} | ª |feminine ordinal indicator |
| {{{†}}} | † |dagger |
| {{{‡}}} | ‡ |double dagger |
| {{{•}}} | • |bullet |
| {{{♠}}} | ♠ |spade |
| {{{♣}}} | ♣ |club |
| {{{♥}}} | ♥ |heart |
| {{{♦}}} | ♦ |diamond |
|>|>|width:96%; !Lines |
| !Symbol | !Character | !Description |
| {{{¯}}} | ¯ |overline |
| {{{¦}}} | ¦ |broken vertical bar |
| {{{–}}} | – |en dash |
| {{{—}}} | — |em dash |
| {{{‾}}} | ‾ |overline |
| {{{⌈}}} | ⌈ |left ceiling |
| {{{⌉}}} | ⌉ |right ceiling |
| {{{⌊}}} | ⌊ |left floor |
| {{{⌋}}} | ⌋ |right floor |
|>|>|width:96%; !Arrows |
| !Symbol | !Character | !Description |
| {{{←}}} | ← |left arrow |
| {{{↑}}} | ↑ |up arrow |
| {{{→}}} | → |right arrow |
| {{{↓}}} | ↓ |down arrow |
| {{{↔}}} | ↔ |left right arrow |
| {{{↵}}} | ↵ |down arrow with corner leftwards / carriage return |
| {{{⇐}}} | ⇐ |left double arrow |
| {{{⇑}}} | ⇑ |up double arrow |
| {{{⇒}}} | ⇒ |right double arrow |
| {{{⇓}}} | ⇓ |down double arrow |
| {{{⇔}}} | ⇔ |left right double arrow |
|>|>|width:96%; !Punctuation |
| !Symbol | !Character | !Description |
| {{{¡}}} | ¡ |inverted exclamation mark |
| {{{¿}}} | ¿ |inverted question mark |
| {{{¨}}} | ¨ |diaeresis |
| {{{´}}} | ´ |acute accent |
| {{{¶}}} | ¶ |paragraph sign |
| {{{§}}} | § |section sign |
| {{{¸}}} | ¸ |cedilla |
| {{{&}}} | & |ampersand |
| {{{'}}} | ' |apostrophe mark |
| {{{ˆ}}} | ˆ |circumflex accent |
| {{{˜}}} | ˜ |small tilde |
| {{{…}}} | … |horizontal ellipsis |
|>|>|width:96%; !Quotations |
| !Symbol | !Character | !Description |
| {{{"}}} | " |quotation mark |
| {{{»}}} | » |right double angle quotation mark |
| {{{«}}} | « |left double angle quotation mark |
| {{{‘}}} | ‘ |left single quotation mark|
| {{{’}}} | ’ |right single quotation mark |
| {{{‚}}} | ‚ |single low-9 quotation mark |
| {{{“}}} | “ |left double quotation mark |
| {{{”}}} | ” |right double quotation mark |
| {{{„}}} | „ |double low-9 quotation mark |
| {{{‹}}} | ‹ |single left-pointing angle quotation mark |
| {{{›}}} | › |single right-pointing angle quotation mark |
|>|>|width:96%; !Whitespace |
|vertical-align:middle; !Symbol | !~~(marked with i)~~ |vertical-align:middle; !Description |
| {{{ }}} | i i |non-breaking space |
| {{{ }}} | i i |en space |
| {{{ }}} | i i |em space |
| {{{ }}} | i i |thin space |
| {{{‌}}} | i‌i |zero width non-joiner (ignored by ~FireFox) |
| {{{‍}}} | i‍i |zero width joiner (ignored by ~FireFox) |
| {{{‎}}} | i‎i |left-to-right mark (ignored by ~FireFox) |
| {{{‏}}} | i‏i |right-to-left mark (ignored by ~FireFox) |
| {{{­}}} | i­i |soft hyphen (ignored by ~FireFox) |
/***
|Name|HTMLFormattingPlugin|
|Source|http://www.TiddlyTools.com/#HTMLFormattingPlugin|
|Documentation|http://www.TiddlyTools.com/#HTMLFormattingPluginInfo|
|Version|2.2.0|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides|'HTML' formatter|
|Description|embed wiki syntax formatting inside of HTML content|
The ~HTMLFormatting plugin allows you to ''mix wiki-style formatting syntax within HTML formatted content'' by extending the action of the standard TiddlyWiki formatting handler.
!!!!!Documentation
>see [[HTMLFormattingPluginInfo]]
!!!!!Revisions
<<<
2008.09.19 [2.2.0] in wikifyTextNodes(), don't wikify the contents of STYLE nodes (thanks to MorrisGray for bug report)
| see [[HTMLFormattingPluginInfo]] for additional revision details |
2005.06.26 [1.0.0] Initial Release (as code adaptation - pre-dates TiddlyWiki plugin architecture!!)
<<<
!!!!!Code
***/
//{{{
version.extensions.HTMLFormattingPlugin= {major: 2, minor: 2, revision: 0, date: new Date(2008,9,19)};
// find the formatter for HTML and replace the handler
initHTMLFormatter();
function initHTMLFormatter()
{
for (var i=0; i<config.formatters.length && config.formatters[i].name!="html"; i++);
if (i<config.formatters.length) config.formatters[i].handler=function(w) {
if (!this.lookaheadRegExp) // fixup for TW2.0.x
this.lookaheadRegExp = new RegExp(this.lookahead,"mg");
this.lookaheadRegExp.lastIndex = w.matchStart;
var lookaheadMatch = this.lookaheadRegExp.exec(w.source)
if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
var html=lookaheadMatch[1];
// if <hide linebreaks> is present, suppress wiki-style literal handling of newlines
if (html.indexOf('<hide linebreaks>')!=-1) html=html.replace(/\n/g,' ');
// remove all \r's added by IE textarea and mask newlines and macro brackets
html=html.replace(/\r/g,'').replace(/\n/g,'\\n').replace(/<</g,'%%(').replace(/>>/g,')%%');
// create span, let browser parse HTML
var e=createTiddlyElement(w.output,"span"); e.innerHTML=html;
// re-render text nodes as wiki-formatted content
wikifyTextNodes(e);
// continue parsing
w.nextMatch = this.lookaheadRegExp.lastIndex;
}
}
}
// wikify text nodes remaining after HTML content is processed (pre-order recursion)
function wikifyTextNodes(theNode)
{
function unmask(s) { return s.replace(/\%%\(/g,'<<').replace(/\)\%%/g,'>>').replace(/\\n/g,'\n'); }
switch (theNode.nodeName.toLowerCase()) {
case 'style': case 'option': case 'select':
theNode.innerHTML=unmask(theNode.innerHTML);
break;
case 'textarea':
theNode.value=unmask(theNode.value);
break;
case '#text':
var txt=unmask(theNode.nodeValue);
var newNode=createTiddlyElement(null,"span");
theNode.parentNode.replaceChild(newNode,theNode);
wikify(txt,newNode);
break;
default:
for (var i=0;i<theNode.childNodes.length;i++)
wikifyTextNodes(theNode.childNodes.item(i)); // recursion
break;
}
}
//}}}
@@color:#000;Maybe there should be something in here.@@
<html><hide linebreaks>
<div class="outer">
<div id="wrap">
<div id="header"></div>
<div id="nav"></div>
<div id="sidebar" macro='tiddler SideBarTabs'></div>
<div id="main" macro='tiddler SideBarOptions'></div>
<div id="SBl-col" macro='tiddler SideBarOptions'></div>
<div id="SBcont" macro='tiddler SideBarTabs'><div>
<div id="footer"></div>
</div>
</div>
</html>
/***
!!!<<gradient horiz #fc3 #fff >><<tiddler RefreshStyles>> TwoColumnCSS>>/%==================================================%/
http://tinyurl.com/3yt37
***/
div.outer {
height:100%;
min-width:50px;
background:#fcf;
}
wrap {
height:100%;
background:#occ;
margin:0 auto;
width:750px;
}
header {
background:#ddd;
}
nav {
background:#c99;
}
main {
height:100%;
background:#9c9;
float:left;
width:150px;
}
sidebar {
height:100%;
background:#c9c;
float:right;
width:150px;
}
footer {
background:#cc9;
}
!!!!!<<gradient horiz #fcb #fff>> Halloween>>
<html><div align="center"> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" height="300" width="412">
<param name="movie" value="/blog/radio/halloweencollab.swf">
<param name="quality" value="high">
<embed src="http://davidvanwert.com/blog/radio/halloweencollab.swf" quality="high" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" height="300" width="412">
</object></div></html>
<html><div align="center"> <object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/__yo60V8Nzg&hl=en&fs=1&autoplay=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/__yo60V8Nzg&hl=en&fs=1&autoplay=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></div></html>
<<gradient vert #0000C8 #003>>[img[Science Matters|http://img512.imageshack.us/img512/2316/sciencematterslogokl1.gif]]<br>@@color:#abf;an experiment in web site design<br><br>@@>>
!!!!<<gradient horiz #fcb #fff>> Help>>
----
@@color:#C06;''» »'' @@ ''You can download ~SidebarRadio to your harddisk here:''<html><a href='http://sidebarradio.tiddlyspot.com/download' class='button'>download</a></html>
----
@@color:#C06;''» »'' @@ ''Find instructions how to load Sidebar Radio into the Firefox sidebar''+++[here.]
<<tiddler Instructions>>
===
----
@@color:#C06;''» »'' @@ ''The menu is accessed at the top banner next to Sidebar Radio'' <<toggleslantedmenu "" "" hide>> [img[http://img408.imageshack.us/img408/5150/daquo3gq1.gif]]
----
|>|!The Menu |
|bgcolor:#fcb;''« Load'' |@@color:#c06;loads this page into FF sidebar@@|
|bgcolor:#fcb;''~NoTabs'' |@@color:#c06;toggles the tabs to hidden@@|
|bgcolor:#fcb;''Edit'' |@@color:#c06;toggles the toolbars to visible@@|
|bgcolor:#fcb;''View'' |@@color:#c06;all tabs by category@@|
|bgcolor:#fcb;''Tools''|@@color:#c06; for saving-admin-@@|
|bgcolor:#fcb;''Options'' |@@color:#c06; Search titles text tags@@|
|bgcolor:#fcb;''Font Size''|@@color:#c06; (''+ = –'') changes size +/– times 15@@|
@@color:#C06;''» »'' @@ Both toggles ''Edit'' and ''~NoTabs'' can be set to default to either ''show'' or ''hide'' upon startup; in the SlantedMenu. Tabs can be put into edit mode by double-clicking on them and can be saved by clicking on the exclamation-mark (!) in the tab itself. See more on editing below.
@@color:#C06;''» »'' @@ When first clicking on a toggle it usually takes a second click to get it into synch. after that one click should suffice per session.
@@color:#C06;''» »'' @@ The ideal ''minimum'' width of the sidebar is to narrow it with the tabs showing until the Menu just starts to wrap then relax it back a fraction. The tabs will continue to wrap before the menu does. The ideal ''maximum'' is what makes you happy regardless of how the sidebar feels about how it looks.
----
''Copying between main wIndow and sidebar''
{{c06{
~Control-C to copy
~Control-V to paste
}}}
''Copy from main window to sidebar''
{{c06{
Highlight in main window: Right-click and copy
Paste in sidebar: ~Control-V
}}}
''Copying from sidebar to main window''
{{c06{
~Control-C to copy
~Control-V to paste Or Right-click and paste
}}}
''Editing''
When editing Sidebar Radio:
Tabs can be put into edit mode by double-clicking on them and can be saved by clicking on the exclamation-mark (!) in the tab itself. See below.
For space and appearence reasons the normal toolbar( jump close close others edit permalink references) and the editing toolbar (done cancel delete) are hidden from view by default. They can be toggled on and off with the ''Edit'' button on the menu. When in editing mode the button changes to ''Editing''. (''Note:'' Certain conditions while editing Opening and closing other tabs can cause the toolbar to toggle back off, simply click the button again to restore it.')To change the default to normally ''on''edit the SlantedMenu. The code {{{<<toggleToolyBars "" "" hide>>}}} should be changed from ''hide'' to ''show''
@@color:#C06;''» »'' @@ Saving changes via the ''backstage toolbar'' by passes the alert box warning of tiddlers opened for editing. Saving through ''<save changes>'' is preferred.
@@color:#C06;''» »'' @@ If you get an Alert when clicking on a link in the sidebar it is probably trying to load into the main Main Window. In any case it is safest to click cancel and check for unsaved ~TiddlyWikis.
@@color:#C06;''» »'' @@ You should be consistent where you edit Sidebar Notes. Whether in the sidebar or main window always save and refresh immediately thereafter. If you edit in the sidebar and even if you save and refresh probably the next action you perform , say clicking on another page will result in an alert box saying there are unsaved changes. clicking cancel will only result delaying the inevitable. What it's trying to do is reload in the main window, click OK and let it.
!!!!!<<gradient horiz #fcb #fff>> On Comments>>
The TiddlerNotesPlugin allows you to add notes/comments to tiddlers, without needing to edit the original tiddler. This means that your original content will remain unaltered, and if you update it in the future, you won’t lose your notes. Notes are stored in separate tiddlers, but can be viewed and edited from within the original tiddler.
For a tiddler titled "~MySlide", the notes are by default saved in a tiddler titled "~MySlide-Notes" and is given a tag of "Notes". The suffix and tags of the notes tiddlers are customizable. You can have one or multiple notes per tiddlers. So it is possible to have for example, teacher's notes and student's notes in the same file.
Notes can be configured to start off blank, or pre-filled with the contents of the original tiddler. See more details in TiddlerNotesPlugin.
!!!!!<<gradient horiz #fcb #fff>> [[History]]>>
@@color:#C06;''» »'' @@ History of Tabs listed by date of last modification.
----
<<timeline>>
{{textcenter{
+++[Show controls]...
{{borderless{
|vertical-align:bottom;<<toolbar fullscreen>>|<<tiddler NavButtons>>|vertical-align:bottom;[[Open in a new window|http://library.thinkquest.org/C006011/english/sites/diesel.php3?v=2]] »|
===
----
{{textcenter{
<html><a href="javascript: void(0)" onclick='window.open("http://library.thinkquest.org/C006011/english/sites/diesel.php3?v=2","plagiarism")'>URL to target at iframe</a></html>
}}}
----
<html><div align="center"><iframe id="plagiarism" name="plagiarism" src ="http://library.thinkquest.org/C006011/english/sites/diesel.php3?v=2" width="100%" align="center" height="800" scrolling="auto" frameborder="0" allowtransparency style="border:none;"></iframe></div></html>}}}
!!!!!<<gradient horiz #fcb #fff>> About ~HowToUpgrade>>
<<tiddler NextTiddler with: [[GettingStarted]] 'previous'>> @@color:#C06;''«7 »'' @@ <<tiddler NextTiddler with: [[Introduction]] 'next'>>
The core TiddlyWiki code is regularly updated with bug fixes and new features. If you're using an earlier revision of TiddlyWiki, here's the simple way to upgrade to the latest version:
* Download a fresh, empty version of TiddlyWiki by right-clicking on this link, selecting 'Save target' or 'Save link' and saving it in a convenient location as (say) "mynewtiddlywiki.html"
* Open the new TiddlyWiki file in your browser
* Choose import from the BackstageArea at the top of the window (you may need to click the 'backstage' button at the upper right to show the BackstageArea)
* Click the browse button and select your original TiddlyWiki file (say, "mytiddlywiki.html") from the file browser
* Click the open button on the import wizard; a list of all of your tiddlers is displayed
* Click on the top-left checkbox to select all the tiddlers in the list
* Scroll down to the bottom of the wizard and ensure that the checkbox labelled Keep these tiddlers linked to this server... is clear
* Click the import button
The most likely cause of the upgrade process not working properly is that one of the Plugins you're using is not compatible with a change in the new release. If so, you can repeat the process omitting the troublesome plugins.
Wed, Dec 5, 2007 7:57
<html><div align="center"> <object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/x25F3-sR2Yo&hl=en_US&fs=1&"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/x25F3-sR2Yo&hl=en_US&fs=1&" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></div></html>
{{borderless{
|vertical-align:bottom;[[Open in a new window|file:///C:/Users/MORRIS~1/AppData/Local/Temp/www.abc.net.au_player.htm_1.htm_2.htm]] »|
----
<html><div align="center"><iframe src ="file:///C:/Users/MORRIS~1/AppData/Local/Temp/www.abc.net.au_player.htm_1.htm_2.htm" width="100%" align="center" height="600" scrolling="auto" frameborder="0" allowtransparency style="border:none;"></iframe></div></html>}}}
On Wednesday, 27 October 2010 8:51:40 PM, YourName imported 4 tiddlers from
[[F:\TiddlyWiki\SidebaRadio\sidebarradio.html|F:\TiddlyWiki\SidebaRadio\sidebarradio.html]]:
<<<
#[[2MBS-FM Embed]] - replaces 2MBS-FM Embed - 7/21/2008 13:06:00 by YourName
#[[3MBS-FM]] - replaces 3MBS-FM - 7/21/2008 13:08:00 by YourName
#[[4MBS-FM]] - replaces 4MBS-FM - 7/6/2008 09:00:00 by YourName
#[[ABC 92.9FM]] - replaces ABC 92.9FM - 10/20/2008 22:10:00 by YourName
<<<
----
On Sunday, 25 January 2009 7:55:33 PM, YourName imported 338 tiddlers from
[[F:\TiddlyWiki2.3\SidebarRadio\sidebarradio.html|F:\TiddlyWiki2.3\SidebarRadio\sidebarradio.html]]:
<<<
#[[2008.04.11 15:36:35]] - added
#[[2BL 702AM]] - added
#[[2BL 702AM-Comments]] - added
#[[2CBA]] - added
#[[2CH]] - added
#[[2MBS-FM Embed]] - added
#[[2MBS-FM Embed+Obj.]] - added
#[[2MBS-FM Obj.+Embed]] - added
#[[2MBS-FM Object]] - added
#[[2PB 630AM]] - added
#[[2PB 630AM-Comments]] - added
#[[2RN-576AM]] - added
#[[2RN-576AM-Comments]] - added
#[[3MBS-FM]] - added
#[[4MBS-FM]] - added
#[[702 ABC Sydney - About the station]] - added
#[[A certain smile]] - added
#[[ABC 92.9FM]] - added
#[[ABC 92.9FM-Comments]] - added
#[[ABC-AM]] - added
#[[ABC-AM-Comments]] - added
#[[ABCBrowser]] - added
#[[ABCDigital]] - added
#[[ABCDigital-Comments]] - added
#[[ABCRadio-Comments]] - added
#[[AMIntro]] - added
#[[AboutTiddlyWikiList]] - added
#[[AdvancedOptions]] - added
#[[AllNotes]] - added
#[[AllNotes-Comments]] - added
#[[AllTabs]] - added
#[[AlsoTaggedWith]] - added
#[[AndrewOllieLectures]] - added
#[[AnotherPlayer]] - added
#[[Arianne]] - added
#[[BC453]] - added
#[[Bach]] - added
#[[BackstageButtonConfig]] - added
#[[BackstageCSS]] - added
#[[BackstageCSS-Comments]] - added
#[[BackstageSidebarTab]] - added
#[[BackstageSlantedMenuTab]] - added
#[[BlankObject]] - added
#[[Brandenburg Concertos No.1]] - added
#[[Brandenburg Concertos No.2]] - added
#[[Brandenburg Concertos No.3]] - added
#[[Brandenburg Concertos No.4]] - added
#[[Brandenburg Concertos No.5]] - added
#[[Browser]] - added
#[[Browser-Comments]] - added
#[[ButtonStyle]] - added
#[[CKAJ-FM]] - added
#[[CKAJ-FM-asx]] - added
#[[CenterBoxCSS]] - added
#[[CenterBoxHTML]] - added
#[[Chances are]] - added
#[[ChangeSaveLabelMacro]] - added
#[[ClassicIntro]] - added
#[[Classical]] - added
#[[Classical-Comments]] - added
#[[CloseThisOpen]] - added
#[[ConfirmSavePlugin]] - added
#[[ContentOne]] - added
#[[CoreTweaks]] - added
#[[CryptoFunctionsPlugin]] - added
#[[CustomCSS]] - added
#[[Customisation]] - added
#[[DIGJazz]] - added
#[[DIGRadio]] - added
#[[DefaultHome]] - added
#[[DefaultTiddlers]] - added
#[[DeprecatedFunctionsPlugin]] - added
#[[DigitalRadio-Comments]] - added
#[[E.A.S.E]] - added
#[[EditATiddler]] - added
#[[EditTemplate]] - added
#[[EditTemplateOld]] - added
#[[EditingTiddlers]] - added
#[[Election2008]] - added
#[[ElectricBlue]] - added
#[[Elton]] - added
#[[Email]] - added
#[[EmailTWHelp]] - added
#[[Entities]] - added
#[[Excluded]] - added
#[[ExcludedFromLists]] - added
#[[ExcludedFromSearches]] - added
#[[FFKeyStrokes]] - added
#[[FT-757GX]] - added
#[[Find]] - added
#[[FontSizePlugin]] - added
#[[For Ouroboro]] - added
#[[ForEditing]] - added
#[[Fri]] - added
#[[FullScreenPlugin]] - added
#[[GettingStarted]] - added
#[[Goodbye Norma Jean]] - added
#[[GotoPlugin]] - added
#[[GreekEntities]] - added
#[[HTMLEntities]] - added
#[[HTMLFormattingPlugin]] - added
#[[HTMLStructureTwoColumn]] - added
#[[HTMLStructureTwoColumnCSS]] - added
#[[Halloween]] - added
#[[HarryLime]] - added
#[[Header]] - added
#[[Help]] - added
#[[History]] - added
#[[HowToUpgrade]] - added
#[[IframeRadio]] - added
#[[Incremental=false]] - added
#[[IndexProject]] - added
#[[IndexProjectList]] - added
#[[IndexProjectList-Comments]] - added
#[[InlineJavascriptPlugin]] - added
#[[InstantTimestampPlugin]] - added
#[[Instructions]] - added
#[[IntroPlanner]] - added
#[[Introduction]] - added
#[[Introduction-Comments]] - added
#[[IntroductionList]] - added
#[[JJJ]] - added
#[[Julian]] - added
#[[Katie Melua]] - added
#[[Katie Melua & Eva Cassidy - What A Wonderful World]] - added
#[[Katie Melua - A Documentary]] - added
#[[Katie Melua - Benissimo]] - added
#[[Katie Melua - Crawlin up a hill]] - added
#[[Katie Melua - Have yourself a merry little Christmas.]] - added
#[[Katie Melua - I Cried for You]] - added
#[[Katie Melua - I Put A Spell On You]] - added
#[[Katie Melua - It's Only Pain]] - added
#[[Katie Melua - Just Like Heaven]] - added
#[[Katie Melua - Mary Pickford]] - added
#[[Katie Melua - Nine Million Bicycles]] - added
#[[Katie Melua - Shy Boy]] - added
#[[Katie Melua - Spider's Web]] - added
#[[Katie Melua - The Closest Thing to Crazy]] - added
#[[Katie'sOfficialWebsite]] - added
#[[KatieMelua]] - added
#[[KatiesClips]] - added
#[[KatiesPic]] - added
#[[KeyStrokes]] - added
#[[KranskySisters]] - added
#[[LatinEntities]] - added
#[[ListTags]] - added
#[[LoadThroughProxy]] - added
#[[Lyrics]] - added
#[[MainContent]] - added
#[[MainFeatures]] - added
#[[MainMenu]] - added
#[[MarkupPostBody]] - added
#[[MarkupPreBody]] - added
#[[MathEntities]] - added
#[[Memorize]] - added
#[[Menu]] - added
#[[MenuTabsSlider]] - added
#[[MiniBrowserList]] - added
#[[MiniBrowserListBkUp]] - added
#[[MiniPlanner]] - added
#[[MiniPlanner-Comments]] - added
#[[Mon]] - added
#[[Mon-Comments]] - added
#[[MondoGreen]] - added
#[[MondoOrange]] - added
#[[MoreTools]] - added
#[[MoreTools-Comments]] - added
#[[MoreToolsSlider]] - added
#[[MoreToolsSlider-Comments]] - added
#[[My Funny Valentine]] - added
#[[MyRadioStuff]] - added
#[[MyRadioStuff-Comments]] - added
#[[MyStartUp]] - added
#[[MyStartup]] - added
#[[NC240DSpecs]] - added
#[[NavButtons]] - added
#[[NestedSlidersPlugin]] - added
#[[NewFeatures]] - added
#[[NewJournal]] - added
#[[NewObjectFromTemplate]] - added
#[[NewTabs]] - added
#[[NewTiddler]] - added
#[[NewsList]] - added
#[[NewsList-Comments]] - added
#[[NextTiddler]] - added
#[[NorahJones]] - added
#[[NotesScript]] - added
#[[NumericalIndex]] - added
#[[OldTimeRadio]] - added
#[[Options]] - added
#[[Other]] - added
#[[PRE]] - added
#[[PageCSS]] - added
#[[PageProjectList]] - added
#[[PageProjectList-Comments]] - added
#[[PageSystemScript]] - added
#[[PageTemplate]] - added
#[[PageTemplateMondo]] - added
#[[PageTemplateMondo2]] - added
#[[PageTemplateTry]] - added
#[[PageTitle]] - added
#[[Peter'sPicks]] - added
#[[PluginServers]] - added
#[[Plugins]] - added
#[[Present2]] - added
#[[Present3]] - added
#[[PresentCSS]] - added
#[[PresentContents]] - added
#[[Presentation]] - added
#[[Procrastination]] - added
#[[Programs]] - added
#[[ProjectList]] - added
#[[RA3J-Comments]] - added
#[[RAJIntro]] - added
#[[RAJIntro-Comments]] - added
#[[Radio]] - added
#[[Radio Lovers]] - added
#[[Radio1]] - added
#[[RadioAustralia]] - added
#[[RadioAustralia-Comments]] - added
#[[RadioIntro]] - added
#[[RadioOnline]] - added
#[[RadioYesteryear]] - added
#[[Redirect Macro]] - added
#[[ReferenceList]] - added
#[[ReferenceList-Comments]] - added
#[[RefreshStyles]] - added
#[[Reload]] - added
#[[Reload Mainwindow]] - added
#[[SBCSS]] - added
#[[Sat]] - added
#[[SaveAsPlugin]] - added
#[[SaveTiddlerToFile]] - added
#[[SaveTiddlerToFile-Comments]] - added
#[[SavingTiddler]] - added
#[[Script]] - added
#[[Search]] - added
#[[SearchOptions]] - added
#[[SearchOptionsPlugin]] - added
#[[SearchWeb]] - added
#[[SetTabBackgrounds]] - added
#[[SetTabBackgrounds-Comments]] - added
#[[SideBarOptions CSS]] - added
#[[SideBarStuff]] - added
#[[SideBarTabs]] - added
#[[SideBarTabsSlider]] - added
#[[SidebarLinks]] - added
#[[SidebarLinks-Comments]] - added
#[[SidebarNews]] - added
#[[SidebarNotesUpdate]] - added
#[[SidebarPageProject]] - added
#[[Simon Singh vs Katie Melua]] - added
#[[SiteSubtitle]] - added
#[[SiteTitle]] - added
#[[SlantedMenu]] - added
#[[SlantedStyle]] - added
#[[Slider576]] - added
#[[SliderMenu]] - added
#[[Sophie Zelmani - Dreamer]] - added
#[[SoutarAccountants]] - added
#[[SparklinePlugin]] - added
#[[Sprout And The Bean]] - added
#[[StepOne]] - added
#[[StepThree]] - added
#[[StepTwo]] - added
#[[StyleSheet]] - added
#[[StyleSheetColors]] - added
#[[StyleSheetLayout]] - added
#[[StyleSheetTiddlersBar]] - added
#[[Styling]] - added
#[[Sun]] - added
#[[SystemTabs]] - added
#[[TWGroups]] - added
#[[TWHelp]] - added
#[[TWHelp-SearchResults]] - added
#[[TWHelpNews]] - added
#[[TWKeyStrokes]] - added
#[[TWSites]] - added
#[[TabSizeScript]] - added
#[[TabsCSS]] - added
#[[TabsIntro]] - added
#[[Tagcss]] - added
#[[TaggedTemplateTweak]] - added
#[[Tags]] - added
#[[ThisPermalink]] - added
#[[Thu]] - added
#[[TiddlerNotesPlugin]] - added
#[[TiddlersBarPlugin]] - added
#[[TiddlyWikiGroups]] - added
#[[ToggleEditingMacro]] - added
#[[ToggleFooterMacro]] - added
#[[ToggleMenuMacro]] - added
#[[ToggleSideBarMacroOrig]] - added
#[[ToggleTiddlersBar]] - added
#[[ToolTabs]] - added
#[[ToolTabsIntro]] - added
#[[Tools]] - added
#[[TripleJ]] - added
#[[TrueSlantedMenu]] - added
#[[TspotSetupPlugin]] - added
#[[TspotSidebar]] - added
#[[Tue]] - added
#[[Tue-Comments]] - added
#[[Tue-Notes]] - added
#[[TwHelpSearchPlugin]] - added
#[[Until the Twelfth of Never]] - added
#[[UploadLog]] - added
#[[UploadPlugin]] - added
#[[Version]] - added
#[[ViewTabs]] - added
#[[ViewTemplate]] - added
#[[Was-SideBarOptions]] - added
#[[WebPage]] - added
#[[WebPageTLCF]] - added
#[[WebStyleSheet]] - added
#[[Wed]] - added
#[[Wed-Comments]] - added
#[[WikifyPlugin]] - added
#[[WorldNews]] - added
#[[WorldNews-Comments]] - added
#[[contentFooter]] - added
#[[dig Radio]] - added
#[[digCountry]] - added
#[[digIntro]] - added
#[[digJazz]] - added
#[[digRadio]] - added
#[[folk finger style part 1]] - added
#[[folk finger style part 2]] - added
#[[herbal]] - added
#[[joul (amateur) - Nine Million Bicycles]] - added
#[[lastModified]] - added
#[[magic]] - added
#[[nonotesViewTemplate]] - added
#[[notesViewTemplate]] - added
#[[systemConfig]] - added
#[[{Index2}]] - added
#[[{IndexProj}]] - added
#[[{Index}]] - added
<<<
<html><div align="center"> <object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/Axi58IkRkvk&hl=en_US&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/Axi58IkRkvk&hl=en_US&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></div></html>
config.options.chkSearchIncremental=false;
!!!!!<<gradient horiz #fcb #fff>> IndexProject>>
<<<
<html><ol><li><a href="javascript:void(0)" onclick="story.closeAllTiddlers();story.displayTiddlers(null,store.getTiddlerText('IndexProjectList').readBracketedList())"><span title="Close all tiddlers and open Welcome" style="cursor:pointer">IndexProject</span></a></li></ol></html>
<<<
[[{Index}]]
StepThree
StepTwo
StepOne
<<tiddler CloseThisOpen with: {Index} '« back'>>
/***
|Name|InlineJavascriptPlugin|
|Source|http://www.TiddlyTools.com/#InlineJavascriptPlugin|
|Version|1.6.0|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <<br>>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides||
|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.
!!!!!Usage
<<<
When installed, this plugin adds new wiki syntax for surrounding tiddler content with {{{<script>}}} and {{{</script>}}} markers, so that it can be treated as embedded javascript and executed each time the tiddler is rendered.
''Deferred execution from an 'onClick' link''
By including a {{{label="..."}}} parameter in the initial {{{<script>}}} marker, the plugin will create a link to an 'onclick' script that will only be executed when that specific link is clicked, rather than running the script each time the tiddler is rendered. You may also include a {{{title="..."}}} parameter to specify the 'tooltip' text that will appear whenever the mouse is moved over the onClick link text
''External script source files:''
You can also load javascript from an external source URL, by including a src="..." parameter in the initial {{{<script>}}} marker (e.g., {{{<script src="demo.js"></script>}}}). This is particularly useful when incorporating third-party javascript libraries for use in custom extensions and plugins. The 'foreign' javascript code remains isolated in a separate file that can be easily replaced whenever an updated library file becomes available.
''Display script source in tiddler output''
By including the keyword parameter "show", in the initial {{{<script>}}} marker, the plugin will include the script source code in the output that it displays in the tiddler.
''Defining javascript functions and libraries:''
Although the external javascript file is loaded while the tiddler content is being rendered, any functions it defines will not be available for use until //after// the rendering has been completed. Thus, you cannot load a library and //immediately// use it's functions within the same tiddler. However, once that tiddler has been loaded, the library functions can be freely used in any tiddler (even the one in which it was initially loaded).
To ensure that your javascript functions are always available when needed, you should load the libraries from a tiddler that will be rendered as soon as your TiddlyWiki document is opened. For example, you could put your {{{<script src="..."></script>}}} syntax into a tiddler called LoadScripts, and then add {{{<<tiddler LoadScripts>>}}} in your MainMenu tiddler.
Since the MainMenu is always rendered immediately upon opening your document, the library will always be loaded before any other tiddlers that rely upon the functions it defines. Loading an external javascript library does not produce any direct output in the tiddler, so these definitions should have no impact on the appearance of your MainMenu.
''Creating dynamic tiddler content''
An important difference between this implementation of embedded scripting and conventional embedded javascript techniques for web pages is the method used to produce output that is dynamically inserted into the document:
* In a typical web document, you use the document.write() function to output text sequences (often containing HTML tags) that are then rendered when the entire document is first loaded into the browser window.
* However, in a ~TiddlyWiki document, tiddlers (and other DOM elements) are created, deleted, and rendered "on-the-fly", so writing directly to the global 'document' object does not produce the results you want (i.e., replacing the embedded script within the tiddler content), and completely replaces the entire ~TiddlyWiki document in your browser window.
* To allow these scripts to work unmodified, the plugin automatically converts all occurences of document.write() so that the output is inserted into the tiddler content instead of replacing the entire ~TiddlyWiki document.
If your script does not use document.write() to create dynamically embedded content within a tiddler, your javascript can, as an alternative, explicitly return a text value that the plugin can then pass through the wikify() rendering engine to insert into the tiddler display. For example, using {{{return "thistext"}}} will produce the same output as {{{document.write("thistext")}}}.
//Note: your script code is automatically 'wrapped' inside a function, {{{_out()}}}, so that any return value you provide can be correctly handled by the plugin and inserted into the tiddler. To avoid unpredictable results (and possibly fatal execution errors), this function should never be redefined or called from ''within'' your script code.//
''Accessing the ~TiddlyWiki DOM''
The plugin provides one pre-defined variable, 'place', that is passed in to your javascript code so that it can have direct access to the containing DOM element into which the tiddler output is currently being rendered.
Access to this DOM element allows you to create scripts that can:
* vary their actions based upon the specific location in which they are embedded
* access 'tiddler-relative' information (use findContainingTiddler(place))
* perform direct DOM manipulations (when returning wikified text is not enough)
<<<
!!!!!Examples
<<<
an "alert" message box:
><script show>
alert('InlineJavascriptPlugin: this is a demonstration message');
</script>
dynamic output:
><script show>
return (new Date()).toString();
</script>
wikified dynamic output:
><script show>
return "link to current user: [["+config.options.txtUserName+"]]";
</script>
dynamic output using 'place' to get size information for current tiddler:
><script show>
if (!window.story) window.story=window;
var title=story.findContainingTiddler(place).id.substr(7);
return title+" is using "+store.getTiddlerText(title).length+" bytes";
</script>
creating an 'onclick' button/link that runs a script:
><script label="click here" title="clicking this link will show an 'alert' box" show>
if (!window.story) window.story=window;
alert("Hello World!\nlinktext='"+place.firstChild.data+"'\ntiddler='"+story.findContainingTiddler(place).id.substr(7)+"'");
</script>
loading a script from a source url:
>http://www.TiddlyTools.com/demo.js contains:
>>{{{function demo() { alert('this output is from demo(), defined in demo.js') } }}}
>>{{{alert('InlineJavascriptPlugin: demo.js has been loaded'); }}}
><script src="demo.js" show>
return "loading demo.js..."
</script>
><script label="click to execute demo() function" show>
demo()
</script>
<<<
!!!!!Installation
<<<
import (or copy/paste) the following tiddlers into your document:
''InlineJavascriptPlugin'' (tagged with <<tag systemConfig>>)
<<<
!!!!!Revision History
<<<
''2007.02.19 [1.6.0]'' added support for title="..." to specify mouseover tooltip when using an onclick (label="...") script
''2006.10.16 [1.5.2]'' add newline before closing '}' in 'function out_' wrapper. Fixes error caused when last line of script is a comment.
''2006.06.01 [1.5.1]'' when calling wikify() on script return value, pass hightlightRegExp and tiddler params so macros that rely on these values can render properly
''2006.04.19 [1.5.0]'' added 'show' parameter to force display of javascript source code in tiddler output
''2006.01.05 [1.4.0]'' added support 'onclick' scripts. When label="..." param is present, a button/link is created using the indicated label text, and the script is only executed when the button/link is clicked. 'place' value is set to match the clicked button/link element.
''2005.12.13 [1.3.1]'' when catching eval error in IE, e.description contains the error text, instead of e.toString(). Fixed error reporting so IE shows the correct response text. Based on a suggestion by UdoBorkowski
''2005.11.09 [1.3.0]'' for 'inline' scripts (i.e., not scripts loaded with src="..."), automatically replace calls to 'document.write()' with 'place.innerHTML+=' so script output is directed into tiddler content. Based on a suggestion by BradleyMeck
''2005.11.08 [1.2.0]'' handle loading of javascript from an external URL via src="..." syntax
''2005.11.08 [1.1.0]'' pass 'place' param into scripts to provide direct DOM access
''2005.11.08 [1.0.0]'' initial release
<<<
!!!!!Credits
<<<
This feature was developed by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]]
<<<
!!!!!Code
***/
//{{{
version.extensions.inlineJavascript= {major: 1, minor: 6, revision: 0, date: new Date(2007,2,19)};
config.formatters.push( {
name: "inlineJavascript",
match: "\\<script",
lookahead: "\\<script(?: src=\\\"((?:.|\\n)*?)\\\")?(?: label=\\\"((?:.|\\n)*?)\\\")?(?: title=\\\"((?:.|\\n)*?)\\\")?( 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) {
if (lookaheadMatch[1]) { // load a script library
// make script tag, set src, add to body to execute, then remove for cleanup
var script = document.createElement("script"); script.src = lookaheadMatch[1];
document.body.appendChild(script); document.body.removeChild(script);
}
if (lookaheadMatch[5]) { // there is script code
if (lookaheadMatch[4]) // show inline script code in tiddler output
wikify("{{{\n"+lookaheadMatch[0]+"\n}}}\n",w.output);
if (lookaheadMatch[2]) { // create a link to an 'onclick' script
// add a link, define click handler, save code in link (pass 'place'), set link attributes
var link=createTiddlyElement(w.output,"a",null,"tiddlyLinkExisting",lookaheadMatch[2]);
link.onclick=function(){try{return(eval(this.code))}catch(e){alert(e.description?e.description:e.toString())}}
link.code="function _out(place){"+lookaheadMatch[5]+"\n};_out(this);"
link.setAttribute("title",lookaheadMatch[3]?lookaheadMatch[3]:"");
link.setAttribute("href","javascript:;");
link.style.cursor="pointer";
}
else { // run inline script code
var code="function _out(place){"+lookaheadMatch[5]+"\n};_out(w.output);"
code=code.replace(/document.write\(/gi,'place.innerHTML+=(');
try { var out = eval(code); } 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;
}
}
} )
//}}}
/***
| Name:|InstantTimestampPlugin|
| Created by:|SimonBaird|
| Location:|http://instanttimestamp.tiddlyspot.com/|
| Version:|1.0.5 (17-Jan-2007)|
| Requires:|~TW2.x|
!Description
If you enter {ts} in your tiddler content (without the spaces) it will be replaced with a timestamp when you save the tiddler. Full list:
* {ts} or {t} -> timestamp
* {ds} or {d} -> datestamp
* !ts or !t at start of line -> !!timestamp
* !ds or !d at start of line -> !!datestamp
(I added the extra ! since that's how I like it. Remove it from translations below if required)
!Notes
* Change the timeFormat and dateFormat below to suit your preference.
* See also AutoCorrectPlugin
!History
* 17-Jan-07, version 1.0.5
** added fields param to saveTiddler method needed in TW 2.1+
* 06-Apr-06, version 1.0.4
** removed the AutoCorrect stuff and put it in AutoCorrectPlugin
* 05-Apr-06, version 1.0.3
** now have exclusion by tag and tiddler name, probably less important here than in AutoCorrectPlugin
* 05-Apr-06, version 1.0.2
** put matches into array to and eval them to allow generic substitutions
* 05-Apr-06, version 1.0.1
** added ds for datestamp as suggested by DanielBaird
** made case insensitive
** Added translation for !t at start of line
* 05-Apr-06, version 1.0.0
** written after suggestion by Achim Wessling
!Code
***/
//{{{
config.InstantTimestamp = {
// adjust to suit
timeFormat: 'YY0hh0mm',
dateFormat: '0DD.0MM.YY',
translations: [
[/^!ts?$/img, "'!!'+now.formatString(config.InstantTimestamp.timeFormat)"],
[/^!ds?$/img, "'!!'+now.formatString(config.InstantTimestamp.dateFormat)"],
[/\{ts?\}/ig, "now.formatString(config.InstantTimestamp.timeFormat)"],
[/\{ds?\}/ig, "now.formatString(config.InstantTimestamp.dateFormat)"]
],
excludeTags: [
"noAutoCorrect",
"html",
"CSS",
"css",
"systemConfig",
"zsystemConfig",
"Plugins",
"Plugin",
"plugins",
"plugin",
"javascript",
"code"
],
excludeTiddlers: [
"StyleSheet",
"StyleSheetLayout",
"StyleSheetColors",
"StyleSheetPrint"
]
};
if (!Array.prototype.contains)
Array.prototype.contains = function(item) {
return (this.find(item) != null);
};
if (!Array.prototype.containsAny)
Array.prototype.containsAny = function(items) {
for (var i=0;i<items.length;i++)
if (this.contains(items[i]))
return true;
return false;
};
TiddlyWiki.prototype.saveTiddler_mptw_instanttimestamp = TiddlyWiki.prototype.saveTiddler;
TiddlyWiki.prototype.saveTiddler = function(title,newTitle,newBody,modifier,modified,tags,fields) {
tags = (typeof(tags) == "string") ? tags.readBracketedList() : tags;
var conf = config.InstantTimestamp;
if ( !tags.containsAny(conf.excludeTags) && !conf.excludeTiddlers.contains(newTitle) ) {
var now = new Date();
var trans = config.InstantTimestamp.translations;
for (var i=0;i<trans.length;i++) {
newBody = newBody.replace(trans[i][0], eval(trans[i][1]));
}
}
return this.saveTiddler_mptw_instanttimestamp(title,newTitle,newBody,modifier,modified,tags,fields);
}
//}}}
!!!!!<<gradient horiz #fcb #fff>> Load into Firefox sidebar>>
*''There are 3 ways to get Sidebar Radio into your Firefox sidebar.''
#The easy way is by click 'menu' on the top banner next to Sidebar Radio. When menu slides down click <html><span style="float:center;padding-left:0em;" title="Load this page in sidebar" style="cursor:help"><a href="#" target="_search">« Load</a></span></html>.
#Bookmark it then @@color:#C06;''» »'' @@ go to the bookmarks, right click on it in the dropdown list, and in the properties of the bookmark tick "Load this bookmark in the sidebar" From then on you merely click on the bookmark.
# The fastest loading (and you can customise it). Save it to your hard disk by going to ''Tools'' and click ''download''
##Open with Firefox and bookmark where you saved it.
##Go to the bookmark, right click on it, and in the properties of the bookmark tick "Load this bookmark in the sidebar" Then click on the bookmark.
''Note:''
@@color:#C06;''» »'' @@ The toolbar and the titles for tiddlers are hidden for space reasons and can be toggled with ''Edit'' on the top menu (It can be set to either show or be hidden on startup)
|bgcolor:#fcf;~~Sidebar Radio was designed and built by Morris Gray the designer of [[TW Help|http://twhelp.tiddlyspot.com]] Please send inquiries here<<tiddler [[Email]]>>~~|
!!!!!<<gradient horiz #fcb #fff>> MiniPlanner>>
----
Do something every day that you don't want to do; this is the golden rule for acquiring the habit of doingyour duty without pain.
----
!!!!!<<gradient horiz #fcb #fff>> About ~TiddlyWiki>>
<<tiddler NextTiddler with: [[HowToUpgrade]] 'previous'>> @@color:#C06;''«1 »'' @@ <<tiddler NextTiddler with: [[MainFeatures]] 'next'>>
|borderless|k
Here is a brief introduction to ~TiddlyWiki
*Open each below in the @@color:blue;~TiddlyWiki@@ way (non-linear) at your discretion.
<<<
MainFeatures
NewFeatures
[[Customisation]]
[[Plugins]]
GettingStarted
HowToUpgrade
<<<
<<tiddler CloseThisOpen with: {Index} '« back'>>
[[Introduction]]
[[{Index}]]
<html><div align="center"> <object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/F9BmTmMEOhQ&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/F9BmTmMEOhQ&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></div></html>
{{textcenter{
+++[Show controls]...
{{borderless{
|vertical-align:bottom;<<toolbar fullscreen>><<toggleSideBar>>|<<tiddler NavButtons>>|vertical-align:bottom;[[Open in a new window|http://jonimitchell.com/]] »|
===
----
{{textcenter{
<html><a href="javascript: void(0)" onclick='window.open("http://jonimitchell.com/","plagiarism")'>Home</a></html> | <html><a href="javascript: void(0)" onclick='window.open("http://jonimitchell.com/music/songlist.cfm","plagiarism")'>Lyrics</a></html>
}}}
----
<html><div align="center"><iframe id="plagiarism" name="plagiarism" src ="http://jonimitchell.com/" width="100%" align="center" height="800" scrolling="auto" frameborder="0" allowtransparency style="border:none;"></iframe></div></html>}}}
{{borderless{
|vertical-align:bottom;|<<tiddler NavButtons>>|vertical-align:bottom;Open in a new window[img[Open outside link in a new window|http://img229.imageshack.us/img229/1687/extlink7226466sx5.gif][http://jonimitchell.com/]]|
----
<html><div align="center"><iframe src ="http://jonimitchell.com/" width="100%" align="center" height="600" scrolling="auto" frameborder="0" allowtransparency style="border:none;"></iframe></div></html>}}}
<script>
Date.prototype.julianDate=function() {
var j=parseInt((this.getTime()-new Date('Dec 30,'+(this.getFullYear()-1)+' 23:00:00').getTime())/86400000).toString(),
i=3-j.length;
while(i-->0)j=0+j;
return j};
document.write(new Date().julianDate())
</script>
!!!!!<<gradient horiz #fcb #fff>> [[Katie Melua]]>>
*[[Katie'sOfficialWebsite]]
*[[Simon Singh vs Katie Melua]] (Radio Interview)
<script>
// get all tiddlers tagged with "Katie Melua"
var tids=store.getTaggedTiddlers("Katie Melua");
// keep only tiddlers *also* tagged with ?
var list=[];
for (var t=0; t<tids.length; t++)
if (tids[t].isTagged("Katie Melua")) list.push(tids[t]);
// create output list of tiddler titles, one per line
var out="";
for (var t=0; t<list.length; t++) out+="#[["+list[t].title+"]]\n";
return out;
</script>
<html><div align="center"> <object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/_C5mNs8vFSc&hl=en&fs=1&autoplay=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/_C5mNs8vFSc&hl=en&fs=1&autoplay=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></div></html>
<html><div align="center"> <object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/bqFnNY39cto&hl=en&fs=1&autoplay=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/bqFnNY39cto&hl=en&fs=1&autoplay=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></div></html>
<html><div align="center"> <object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/TKr8TLDXqJE&hl=en&fs=1&autoplay=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/TKr8TLDXqJE&hl=en&fs=1&autoplay=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></div></html>
<html><div align="center"> <object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/jnL8yeKZ4Mc&autoplay=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/jnL8yeKZ4Mc&autoplay=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></div></html>
<html><div align="center"><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/lxstt9KnawI&color1=11645361&color2=13619151&fs=1&autoplay=1"></param><param name="wmode" value="transparent"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/lxstt9KnawI&color1=11645361&color2=13619151&fs=1autoplay=1" type="application/x-shockwave-flash" allowfullscreen="true" wmode="transparent" width="425" height="344"></embed></object></div></html>
<html><div align="center"><td> <object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/ftZAZWLrWKo&autoplay=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/ftZAZWLrWKo&autoplay=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></td><td>
You're beautiful so silently
It lies beneath a shade of blue
It struck me so violently
When I looked at you
But others pass, the never pause,
To feel that magic in your hand
To me you're like a wild rose
They never understand why
I cried for you
When the sky cried for you
And when you went
I became a hopeless drifter
But this life was not for you
Though I learned from you,
That beauty need only be a whisper
I'll cross the sea for a different world,
With your treasure, a secret for me to hold
In many years they may forget
This love of ours or that we met,
They may not know
how much you meant to me.
I cried for you
And the sky cried for you,
And when you went
I became a hopeless drifter.
But this life was not for you,
Though I learned from you,
That beauty need only be a whisper
Without you now I see,
How fragile the world can be
And I know you've gone away
But in my heart you'll always stay.
I cried for you
And the sky cried for you,
And when you went
I became a hopeless drifter.
But this life was not for you,
Though I learned from you,
That beauty need only be a whisper
That beauty need only be a whisper
</div></td></html>
<html><div align="center"> <object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/-lbHrQFXCgk&hl=en&fs=1&autoplay=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/-lbHrQFXCgk&hl=en&fs=1&autoplay=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></div></html>
<html><div align="center"> <td><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/iOIZRu1G1As&autoplay=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/iOIZRu1G1As&autoplay=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></td><td>
It's only pain
It only hurts
I am only down on the floor
where I have been before
And I'll be here again
Though it hurts to lose you
It's only pain
We went so far
We flew so high
Now it's not easy
To watch it die
To just let go
And not ask the reason way
It won't matter anymore
It's only pain
It only hurts
I am only down on the floor
where I have been before
And I'll be here again
Though it hurts to lose you
It's only pain
It's not my style
It's not my way
To see the future
In shades of grey
Though I still can't bring myself to say
That you don't matter anymore
It's only pain
It only hurts
I am only down on the floor
where I have been before
And I'll be here again
Though it hurts to lose you
It's only pain
It's only pain
</td></div></html>
<html><div align="center"> <object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/2Rmil_raUtU&hl=en&fs=1&autoplay=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/2Rmil_raUtU&hl=en&fs=1&autoplay=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></div></html>
<html><div align="center"> <object width="425" height="350"><param name="movie" value="http://www.dailymotion.com/swf/6Uao9oSYbno9ip1nT&autoplay=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.dailymotion.com/swf/6Uao9oSYbno9ip1nT&autoplay=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></div></html>
<html><div align="center"><td> <object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/DTy3WA0Pq8M&autoplay=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/DTy3WA0Pq8M&autoplay=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></td><td>
There are nine million bicycles in Beijing
That's a fact,
It's a thing we can't deny
Like the fact that I will love you till I die.
We are twelve billion light years from the edge,
That's a guess,
No-one can ever say it's true
But I know that I will always be with you.
I'm warmed by the fire of your love everyday
So don't call me a liar,
Just believe everything that I say
There are six BILLION people in the world
More or less
and it makes me feel quite small
But you're the one I love the most of all
[INTERLUDE]
We're high on the wire
With the world in our sight
And I'll never tire,
Of the love that you give me every night
There are nine million bicycles in Beijing
That's a Fact,
it's a thing we can't deny
Like the fact that I will love you till I die
And there are nine million bicycles in Beijing
And you know that I will love you till I die!
</td></div></html>
<html><div align="center"> <object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/LFBBvifJI70&amp;autoplay=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/LFBBvifJI70&amp;autoplay=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></div></html>
<html><div align="center"> <object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/BuoTuL1we_c&amp;autoplay=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/BuoTuL1we_c&amp;autoplay=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></div></html>
[[Chords|http://www.e-chords.com/cifra/idmusica/45953.htm]]
+++[Chords]
{{borderless center{
----
<html><div align="center"><iframe src ="http://www.e-chords.com/cifra/idmusica/45953.htm" width="100%" align="center" height="600" scrolling="auto" frameborder="0" allowtransparency style="border:none;"></iframe></div></html>}}}
}}}
===
<html><div align="center"><td> <object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/5DCacIEbAlM&autoplay=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/5DCacIEbAlM&autoplay=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></td><td>
How can I think I'm standing strong?
Yet feel the air beneath my feet.
How can happiness feel so wrong?
How can misery feel so sweet?
How can you let me watch you sleep?
Then break my dreams the way you do.
How can I have got in so deep?
Why did I fall in love with you?
[Chorus]
This is the closest thing to crazy
I have ever been.
Feeling twenty-two, acting seventeen.
This is the nearest thing to crazy
I have ever known.
But I was never crazy on my own.
And now I know
That there's a link between the two,
Being close to craziness, and being close to you
How can you let me fall apart?
Then break my fall with lovin lies.
It's so easy to break a heart,
It's so easy to close your eyes.
How can you treat me like a child?
Yet like a child I yearn for you.
How can anyone feel so wild?
How can anyone feel so blue?
[Chorus]
This is the closest thing to crazy
I have ever been.
Feeling twenty-two, acting seventeen.
This is the nearest thing to crazy
I have ever known.
I was never crazy on my own.
And now I know
That there's a link between the two,
Being close to craziness, and being close to you</td></div></html>
{{borderless{
|vertical-align:bottom;<<toolbar fullscreen>>|<<tiddler NavButtons>>|vertical-align:bottom;[[Open in a new window|http://www.katiemelua.com/]] »|
----
<html><div align="center"><iframe src ="http://www.katiemelua.com/" width="100%" align="center" height="600" scrolling="auto" frameborder="0" allowtransparency style="border:none;"></iframe></div></html>}}}
[[KatieMeluaVideosHere|http://www.last.fm/music/Katie+Melua/+videos]]
|<<tiddler KatiesClips>>|<<tiddler KatiesPic>>|
|borderless|k
<<tiddler [[Katie Melua]]>>
{{doubleborder{
[img[http://img384.imageshack.us/img384/4959/66iq5.jpg]]
}}}
<<tabs tabsKeystroke [[TWKeyStrokes ]] "" [[TWKeyStrokes]] [[FFKeyStrokes ]] "" [[FFKeyStrokes]]>>
!!!!!<<gradient horiz #fcb #fff>> KranskySisters>>
<html><hide linebreaks><br>
<div align="left"><a href="http://www.thekranskysisters.com/" target="_blank">Kransky Sisters Home Page</a></div><br>
<div align="left"><a href="http://www.youtube.com/watch?v=XngCQxkCOnQ" target="_blank">"You're so Vain" on The Sideshow (ABC-2007) - You Tube </a></font></div>
<div align="left"><a href="http://www.youtube.com/watch?v=C1Z6b0q-JWo" target="_blank">"Psychokiller" on The Sideshow (ABC-2007) - You Tube </a></font></div>
<div align="left"><a href="http://www.youtube.com/watch?v=By1SmF5bvno" target="_blank">"Abracadabra" on The Sideshow (ABC-2007) - You Tube </a></div>
<div align="left"><a href="http://www.youtube.com/watch?v=cEQhqNNuicg" target="_blank">"Sounds of Silence" on The Sideshow (ABC-2007) You Tube </a></div>
<div align="left"><a href="http://www.youtube.com/watch?v=HgqvZ2FvrnY" target="_blank">"Pop Musik" on The Sideshow (ABC-2007) - You Tube </a></div>
<div align="left"><a href="http://www.youtube.com/watch?v=hDGV3sG_bLQ" target="_blank">"Sweet Dreams" on The Sideshow (ABC-2007) - You Tube</a></div>
<div align="left"><a href="http://www.youtube.com/watch?v=GXVgnfEkxRw" target="_blank">MJ Medley on Comedy Shuffle (BBC-2007) - You Tube</a> </div>
<div align="left"><a href="http://www.youtube.com/watch?v=i5pq5GnAfFo" target="_blank">Speak & "Overload" on In Siberia Tonight (SBS-2004) - You Tube</a> </div>
<div align="left"><a href="http://www.youtube.com/watch?v=TF4C9DYs09M&mode=related&search=">"Education" on In Siberia Tonight (SBS-2004) - You Tube</a></div></html>
<html><div align="center"><object width="640" height="390"><param name="movie" value="http://www.youtube.com/v/7RXmNRr8x7I&hl=en_US&feature=player_embedded&version=3"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.youtube.com/v/7RXmNRr8x7I&hl=en_US&feature=player_embedded&version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="390"></embed></object></div></html>
|>|>| !Latin Letters |
| !Symbol | !upper-case | !lower-case |
| {{{À}}} | À | à |
| {{{Á}}} | Á | á |
| {{{Â}}} | Â | â |
| {{{Ã}}} | Ã | ã |
| {{{Ä}}} | Ä | ä |
| {{{Å}}} | Å | å |
| {{{Æ}}} | Æ | æ |
| {{{Ç}}} | Ç | ç |
| {{{È}}} | È | è |
| {{{É}}} | É | é |
| {{{Ê}}} | Ê | ê |
| {{{Ë}}} | Ë | ë |
| {{{Ì}}} | Ì | ì |
| {{{Í}}} | Í | í |
| {{{Î}}} | Î | î |
| {{{Ï}}} | Ï | ï |
| {{{Ð}}} | Ð | ð |
| {{{Ñ}}} | Ñ | ñ |
| {{{Ò}}} | Ò | ò |
| {{{Ó}}} | Ó | ó |
| {{{Ô}}} | Ô | ô |
| {{{Õ}}} | Õ | õ |
| {{{Ö}}} | Ö | ö |
| {{{Ø}}} | Ø | ø |
| {{{Ù}}} | Ù | ù |
| {{{Ú}}} | Ú | ú |
| {{{Û}}} | Û | û |
| {{{Ü}}} | Ü | ü |
| {{{Ý}}} | Ý | ý |
| {{{Þ}}} | Þ | þ |
| {{{Ÿ}}} | Ÿ | ÿ |
| {{{Œ}}} | Œ | œ |
| {{{Š}}} | Š | š |
| {{{ ß}}} | ß |ß |
<<list filter "[tag[Katie Melua]] [tag[amateur]]">>
/***
|''Name:''|LoadRemoteFileThroughProxy (previous LoadRemoteFileHijack)|
|''Description:''|When the TiddlyWiki file is located on the web (view over http) the content of [[SiteProxy]] tiddler is added in front of the file url. If [[SiteProxy]] does not exist "/proxy/" is added. |
|''Version:''|1.1.0|
|''Date:''|mar 17, 2007|
|''Source:''|http://tiddlywiki.bidix.info/#LoadRemoteFileHijack|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0|
***/
//{{{
version.extensions.LoadRemoteFileThroughProxy = {
major: 1, minor: 1, revision: 0,
date: new Date("mar 17, 2007"),
source: "http://tiddlywiki.bidix.info/#LoadRemoteFileThroughProxy"};
if (!window.bidix) window.bidix = {}; // bidix namespace
if (!bidix.core) bidix.core = {};
bidix.core.loadRemoteFile = loadRemoteFile;
loadRemoteFile = function(url,callback,params)
{
if ((document.location.toString().substr(0,4) == "http") && (url.substr(0,4) == "http")){
url = store.getTiddlerText("SiteProxy", "/proxy/") + url;
}
return bidix.core.loadRemoteFile(url,callback,params);
}
//}}}
<html><div align="center"><embed type="application/x-shockwave-flash" width="640" height="504" allowfullscreen="true" allowscriptaccess="always" src="http://www.archive.org/flow/flowplayer.commercial-3.0.5.swf" w3c="true" flashvars='config={"key":"#$b6eb72a0f2f1e29f3d4","playlist":[{"url":"http://www.archive.org/download/Frontier1937/format=Thumbnail?.jpg","autoPlay":true,"scaling":"fit"},{"url":"http://www.archive.org/download/Frontier1937/Frontier1937_512kb.mp4","autoPlay":false,"accelerated":true,"scaling":"fit","provider":"h264streaming"}],"clip":{"autoPlay":false,"accelerated":true,"scaling":"fit","provider":"h264streaming"},"canvas":{"backgroundColor":"0x000000","backgroundGradient":"none"},"plugins":{"audio":{"url":"http://www.archive.org/flow/flowplayer.audio-3.0.3-dev.swf"},"controls":{"playlist":false,"fullscreen":true,"gloss":"high","backgroundColor":"0x000000","backgroundGradient":"medium","sliderColor":"0x777777","progressColor":"0x777777","timeColor":"0xeeeeee","durationColor":"0x01DAFF","buttonColor":"0x333333","buttonOverColor":"0x505050"},"h264streaming":{"url":"http://www.archive.org/flow/flowplayer.h264streaming-3.0.5.swf"}},"contextMenu":[{"View+Frontier1937+at+archive.org":"function()"},"-","Flowplayer 3.0.5"]}'> </embed></div></html>
<script>
// get all tiddlers tagged with "lyrics"
var tids=store.getTaggedTiddlers("lyrics");
// keep only tiddlers *also* tagged with ?
var list=[];
for (var t=0; t<tids.length; t++)
if (tids[t].isTagged("lyrics")) list.push(tids[t]);
// create output list of tiddler titles, one per line
var out="";
for (var t=0; t<list.length; t++) out+="#[["+list[t].title+"]]\n";
return out;
</script>
{{textleftM{
<<tiddler SideBarTabs>><<slider "chkCookieName" "MainMenu" "Menu »" "tooltip" >>
}}}
<<tiddler ContentOne>>
<<tiddler ContentOne>>
!!!!!<<gradient horiz #fcb #fff>> ~MainFeatures>>
<<tiddler NextTiddler with: [[Introduction]] 'previous'>> @@color:#C06;''«2 »'' @@ <<tiddler NextTiddler with: [[NewFeatures]] 'next'>>
|borderless|k
Out of the box, TiddlyWiki offers:
* Works with all major desktop browsers on Windows, Macintosh and Linux and many mobile browsers such as the Apple iPhone and the Nokia 770/N800
*You can SaveChanges with FireFox, Opera, InternetExplorer for Windows, Safari, and Camino
* The BackstageArea for handy access to authoring tools including importing and synchronisation of tiddlers with external files and servers
* Full text formatting including MonospacedText, ExtendedFormatting, NonWikiWordLinks, WikiWordEscape, PrettyLinks, SubHeadings, BulletPoints, NumberedBulletPoints, Tables, BlockQuotes, HorizontalRules and the ability to use a CustomCssClass and InlineHTML
* ...EmbeddedImages
* Macros providing rich interactive features, including Sparklines and Gradients
* InterfaceOptions and AdvancedOptions, including the ability to GenerateAnRssFeed, SaveBackups and AutoSave
* KeyboardShortcuts so you can finish editing a tiddler with Control-Enter or abandon it with Escape
* Extensive StartupParameters to control the behaviour of TiddlyWiki through specially crafted URLs
* There are translations of TiddlyWiki available in many languages, including Chinese, French, German, Spanish, Portuguese
The Community around TiddlyWiki has extended this basic functionality with a wide range of Plugins and TiddlyWikiAdaptations.
Thu, Oct 18, 2007 23:20
[[WelcomeToTiddlyspot]]
GettingStarted
<!-- Start of StatCounter Code -->
<script type="text/javascript">
var sc_project=3842559;
var sc_invisible=1;
var sc_partition=31;
var sc_click_stat=1;
var sc_security="9ac2bee9";
</script>
<script type="text/javascript" src="http://www.statcounter.com/counter/counter_xhtml.js"></script><noscript><div class="statcounter"><a href="http://www.statcounter.com/" target="_blank"><img class="statcounter" src="http://c32.statcounter.com/3842559/0/9ac2bee9/1/" alt="free web tracker" ></a></div></noscript>
<!-- End of StatCounter Code -->
<!-- Start of StatCounter Code -->
<script type="text/javascript">
var sc_project=3842559;
var sc_invisible=1;
var sc_partition=31;
var sc_click_stat=1;
var sc_security="9ac2bee9";
</script>
<script type="text/javascript"
src="http://www.statcounter.com/counter/counter_xhtml.js"></script><noscript><div
class="statcounter"><a href="http://www.statcounter.com/"
target="_blank"><img class="statcounter"
src="http://c32.statcounter.com/3842559/0/9ac2bee9/1/" alt="free web
tracker" ></a></div></noscript>
<!-- End of StatCounter Code -->
|>|>| !Math |
| !Symbol | !Character | !Description |
| {{{°}}} | ° |degree sign |
| {{{±}}} | ± |plus or minus sign |
| {{{×}}} | × |multiplication sign |
| {{{÷}}} | ÷ |division sign |
| {{{<}}} | < |less-than sign |
| {{{>}}} | > |greater-than sign |
| {{{⟨}}} | ⟨ |left angle bracket |
| {{{⟩}}} | ⟩ |right angle bracket |
| {{{¬}}} | ¬ |not sign |
| {{{¹}}} | ¹ |superscript one |
| {{{²}}} | ² |superscript two |
| {{{³}}} | ³ |superscript three |
| {{{·}}} | · |middle dot |
| {{{&afrac14;}}} | ¼ |one quarter |
| {{{½}}} | ½ |one half |
| {{{¾}}} | ¾ |three quarters |
| {{{‰}}} | ‰ |per mille sign |
| {{{ƒ}}} | ƒ |latin small f with hook (function) |
| {{{′}}} | ′ |prime / minutes / feet |
| {{{″}}} | ″ |double prime / seconds / inches |
| {{{⁄}}} | ⁄ |fraction slash |
| {{{℘}}} | ℘ |script capital P |
| {{{ℑ}}} | ℑ |bold I / imaginary part |
| {{{ℜ}}} | ℜ |bold R / real part |
| {{{ℵ}}} | ℵ |first transfinite cardinal |
| {{{µ}}} | µ |micro sign |
| {{{∀}}} | ∀ |for all |
| {{{∂}}} | ∂ |partial differential |
| {{{∃}}} | ∃ |there exists |
| {{{∅}}} | ∅ |empty set / diameter |
| {{{∇}}} | ∇ |backward difference |
| {{{∈}}} | ∈ |element of |
| {{{∉}}} | ∉ |not an element of |
| {{{∋}}} | ∋ |contains as member |
| {{{∏}}} | ∏ |product sign |
| {{{∑}}} | ∑ |n-ary sumation |
| {{{−}}} | − |minus sign |
| {{{∗}}} | ∗ |asterisk operator |
| {{{√}}} | √ |square root / radical |
| {{{∝}}} | ∝ |proportional to |
| {{{∞}}} | ∞ |infinity |
| {{{∠}}} | ∠ |angle |
| {{{∧}}} | ∧ |logical and |
| {{{∨}}} | ∨ |logical or |
| {{{∩}}} | ∩ |intersection |
| {{{∪}}} | ∪ |union |
| {{{∫}}} | ∫ |integral |
| {{{∴}}} | ∴ |therefore |
| {{{∼}}} | ∼ |similar to |
| {{{≅}}} | ≅ |approximately equal to |
| {{{≈}}} | ≈ |almost equal to |
| {{{≠}}} | ≠ |not equal to |
| {{{≡}}} | ≡ |identical to |
| {{{≤}}} | ≤ |less-than or equal to |
| {{{≥}}} | ≥ |greater-than or equal to |
| {{{⊂}}} | ⊂ |subset of |
| {{{⊃}}} | ⊃ |superset of |
| {{{⊄}}} | ⊄ |not a subset of |
| {{{⊆}}} | ⊆ |subset of or equal to |
| {{{⊇}}} | ⊇ |superset of or equal to |
| {{{⊕}}} | ⊕ |direct sum |
| {{{⊗}}} | ⊗ |vector product |
| {{{⊥}}} | ⊥ |orthogonal to / perpendicular |
| {{{⋅}}} | ⋅ |dot operator |
!!!!!<<gradient horiz #fcb #fff>> Memorize International Phonics>>
~~{{c06{Try clicking (memorize) in both columns (to decide which side to start with).}}}~~
----
<html><div align="left"><iframe id="mem" name="mem" src ="http://www.symbex.net.au/Wiki/memorizePhonics.htm" width="100%" align="center" height="600" scrolling="auto" frameborder="0" allowtransparency style="border:none;></iframe></div></html>
{{textleftM unboldLink{
[[TheElements]]
[[Anthropology]]
[[Astronomy]]
WebPage
WebPageTwo
PageTemplate
MarkupPreBody
StyleSheet
ToggleHeaderMacro
ToggleEditingMacro
ToggleSideBarMacroOrig
SlantedMenu
<<tiddler MainMenu>>
}}}
<<tiddler SideBarTabsSlider>>
BBCRadio
http://www.bbc.co.uk/iplayer/radio/bbc_radio_one
----
XERF
http://www.modestoradiomuseum.org/story%20of%20xerf.html
----
BBC Radio 3
http://www.bbc.co.uk/radio/aod/radio3.shtml
----
Radio Locator
http://www.radio-locator.com/
----
Katie Melua's Videos
http://www.last.fm/music/Katie+Melua/+videos
----
LastFmWidget
LastFmWidget.htm
----
Last.FM
http://www.last.fm/
----
===Radio===
----
ABC Classic FM
http://www.abc.net.au/classic/
----
ABC Local Radio
http://www.abc.net.au/sydney/
----
ABC News Radio
http://www.abc.net.au/newsradio/
----
ABC Radio National
http://www.abc.net.au/rn/
----
ABC Radio Australia
http://www.radioaustralia.net.au/
----
===TV===
----
AllSydneyTV
http://www.yourtv.com.au/guide/?action=tonight®ion_id=73
----
ABC TV Guide
http://www.abc.net.au/tv/guide/
----
SBS TV Guide
http://www.sbs.com.au/schedule
----
ABC Subjects
http://www.abc.net.au/subjects.htm
----
ABC News
http://www.abc.net.au/news/default.htm
----
===Science===
----
Compass
http://abc.net.au/compass/
----
Catalyst
http://www.abc.net.au/catalyst/
----
Catapult
http://www.abc.net.au/catapult/
----
Health Report
http://www.abc.net.au/health/
----
Ockhams Razor
http://www.abc.net.au/rn/ockhamsrazor/default.htm
----
Science News
http://www.abc.net.au/science/news/
----
Science Show
http://www.abc.net.au/rn/scienceshow/
----
The Lab
http://abc.net.au/science/
----
Astronomy Picture of Today
http://antwrp.gsfc.nasa.gov/apod/
----
Indianapolis Star
http://www.indystar.com/apps/pbcs.dll/frontpage
----
ABC Classic FM
http://www.abc.net.au/classic/
----
ABC Local Radio
http://www.abc.net.au/sydney/
----
ABC News Radio
http://www.abc.net.au/newsradio/
----
ABC Radio National
http://www.abc.net.au/rn/
----
ABC Radio Australia
http://www.radioaustralia.net.au/
----
===TV===
----
AllSydneyTV
http://www.yourtv.com.au/guide/?action=tonight®ion_id=73
----
ABC TV Guide
http://www.abc.net.au/tv/guide/
----
SBS TV Guide
http://www.sbs.com.au/schedule
----
ABC Subjects
http://www.abc.net.au/subjects.htm
----
ABC News
http://www.abc.net.au/news/default.htm
----
===Science===
----
Compass
http://abc.net.au/compass/
----
Catalyst
http://www.abc.net.au/catalyst/
----
Catapult
http://www.abc.net.au/catapult/
----
Health Report
http://www.abc.net.au/health/
----
Ockhams Razor
http://www.abc.net.au/rn/ockhamsrazor/default.htm
----
Science News
http://www.abc.net.au/science/news/
----
Science Show
http://www.abc.net.au/rn/scienceshow/
----
The Lab
http://abc.net.au/science/
----
Astronomy Picture of Today
http://antwrp.gsfc.nasa.gov/apod/
----
Indianapolis Star
http://www.indystar.com/apps/pbcs.dll/frontpage
----
<<tabs "monfri" [[Intro ]] "" [[IntroPlanner]] [[Mon ]] "" [[Mon]] [[Tue ]] "" [[Tue]] [[Wed ]] "" [[Wed]] [[Thu ]] "" [[Thu]] [[Fri ]] "" [[Fri]] >>
<<tabs "satsun" [[Sat ]] "" [[Sat]] [[Sun ]] "" [[Sun]] [[Other ]] "" [[Other]] >>
<<tiddler CloseThisOpen with: {Index} '« back'>>This is Msg's note for Monday
!!!<<gradient horiz #fcb #ffffff>>[[Mon]]^^<<tiddler CloseThisOpen with: MiniPlanner '« back'>><<toolbar editTiddler>>» ^^>>
<<tiddler SaveTiddlerToFile with: "Save to file" tooltip filename path>> (An experiment on saving a tab to a file.)
----
Procrastination can drive most of us into a spiral of shame that’s as mundane as it is painfully personal. We know what we should be doing, but some invisible hang-up keeps us on the line.
----
* Messy garage - Goal: 10 minutes or 1 full garbage bag. Spend 10 minutes working in one area of the garage. Take out old papers, break down some boxes, or move the Christmas ornaments to the top shelf. When the timer buzzes at you, stop.
Who invented Mondays... they should be part of the weekend.
<html><span style="color:#009;font-variant:small-caps;line-height:1.9em;font-size:10pt;font-weight:normal;letter-spacing: 0.5em;padding-left:0.5em;"><a href="javascript:void(0)" onclick="story.closeAllTiddlers();story.displayTiddlers(null,store.getTiddlerText('DefaultTiddlers').readBracketedList());"><span title="Close all tiddlers and go Home" style="color:#009;font-variant:small-caps;line-height:1.9em;font-size:10pt;font-weight:bold;letter-spacing: 0.5em;padding-left:0.5em;">@@color:#a00;S@@idebar@@color:#a00;R@@adio</span></span></a><br><span style='letter-spacing: 0.0em;font-size:7pt;padding-left:1.2em;'> [img[http://img408.imageshack.us/img408/5150/daquo3gq1.gif]] <a href="javascript:void(0)" onclick="story.closeAllTiddlers();story.displayTiddlers(null,store.getTiddlerText('DefaultTiddlers').readBracketedList());"><span title="Close all tiddlers and go Home" style="cursor:pointer">home</span></a>@@color:#C06; | @@[[view|ViewTabs]] @@color:#C06; | @@<<permaview>>@@color:#C06; | @@<<saveChanges>>@@color:#C06; | @@<<toggleslantedmenu "" "" hide>> [img[http://img408.imageshack.us/img408/5150/daquo3gq1.gif]]</span></span></html>
<<gradient vert #0cc #0ff
#0cc>>@@color:#f00;font-variant:small-caps;line-height:1.8em;font-size:10pt;font-weight:bold;letter-spacing: 0.3em;padding-left:0.5em;Sidebar Notes@@@@color:#f00;@@>>
<<gradient vert #0aa #0ff
#0aa>>@@color:#f00;font-variant:small-caps;line-height:1.8em;font-size:10pt;font-weight:bold;letter-spacing: 0.3em;padding-left:0.5em;Sidebar Notes@@@@color:#f00;@@>>
<<gradient vert #088 #0ff
#088>>@@color:#000;font-variant:small-caps;line-height:1.8em;font-size:10pt;font-weight:bold;letter-spacing: 0.3em;padding-left:0.5em;Sidebar Notes@@@@color:#f00;@@>>
<<gradient vert #066 #0ff
#066>>@@color:#fff;font-variant:small-caps;line-height:1.8em;font-size:10pt;font-weight:bold;letter-spacing: 0.3em;padding-left:0.5em;Sidebar Notes@@@@color:#f00;@@>>
<<gradient vert #044 #0cc
#044>>@@color:#fff;font-variant:small-caps;line-height:1.8em;font-size:10pt;font-weight:bold;letter-spacing: 0.3em;padding-left:0.5em;Sidebar Notes@@@@color:#f00;@@>>
<<gradient vert #044 #0cc
#044>>@@color:#000;font-variant:small-caps;line-height:1.8em;font-size:10pt;font-weight:bold;letter-spacing: 0.3em;padding-left:0.5em;Sidebar Notes@@@@color:#f00;@@>>
<<gradient vert #044 #0cc
#044>>@@color:#fa0;font-variant:small-caps;line-height:1.8em;font-size:10pt;font-weight:bold;letter-spacing: 0.3em;padding-left:0.5em;Sidebar Notes@@@@color:#f00;@@>>
<<gradient vert #044 #0cc
#044>>@@color:#f00;font-variant:small-caps;line-height:1.8em;font-size:10pt;font-weight:bold;letter-spacing: 0.3em;padding-left:0.5em;Sidebar Notes@@@@color:#f00;@@>>
<script>
place.style.backgroundColor="#ccc"; /* set background color */
place.style.color="#"; /* set text color */
</script>
<<tabs " " [[Save/Options ]] "" [[ToolTabsIntro]] [[Options ]] "" [[OptionsPanel]] [[AdvancedOptions ]] "" [[AdvancedOptions]] [[TspotControls ]] "" [[TspotControls]] [[SideBarTabs ]] "" [[SideBarTabsSlider]] >>
+++[Instructions click here]
<<tiddler Help>>
===
+++[MoreTools]
<<tiddler MoreTools>>
===
I just imported MoreTools 0923 am going to save and reload
Sammy Davis Jr.
Mr Bojangles lyrics
I knew a man, Bojangles, and he danced for you
In worn out shoes.
With silver hair, a ragged shirt and baggy pants,
The old soft shoe.
He jumped so high, jumped so high, then he lightly touched down.
I met him in a cell in New Orleans, I was
So down and out.
He looked at me to be the eyes of age,
As he spoke right out.
He talked of life, he talked of life. He laughed, clicked heels instead.
Mister Bojangles
Mister Bojangles
Mister Bojangles,
dance!
He danced for those at minstrel shows and county fairs
Throughout the South.
He spoke with tears of fifteen years how his dog and he
Traveled about.
His dog up and died, dog up and died, after twentyyears he still grieved.
He said, I dance now at every chance in honky tonks
For drinks and tips.
But most of the time I spend behind these county bars.
He said, I drink a bit.
He shook his head and as he shook his head I heard someone ask, please
Mister Bojangles
Mister Bojangles
Mister Bojangles,
dance!
- Jerry Jeff Walker
My funny valentine,
Sweet comic valentine,
You make me smile with my heart.
You looks are laughable, unphotographable;
Yet you're my favorite work of art.
Is your figure less than Greek?
Is your mouth a little bit weak?
When you open it to speak, are you smart?
Don't change a hair for me,
Not if you care for me.
Stay little valentine stay.
Each day is valentine's day.
<<tiddler Engineer>>
''Some links:''
----
http://brasspounder.com:8873/
http://www.g4fon.net/CW%20Trainer.htm
http://www.shlrc.mq.edu.au/~robinson/Information/index.html
http://www.carc.org.uk/pdf/FavRx002.pdf
http://www.qsl.net/la5ki/org/vi/cou.htm
http://groups.yahoo.com/group/skcc/?yguid=122470967
http://groups.yahoo.com/group/MorseMail/?yguid=122470967
http://www.tpub.com/neets/book10/42o.htm
----
[img[http://img59.imageshack.us/img59/2849/myradiolc1.jpg]]
----
''Professionally built crystal set in circ.1923''
----
<br><br>
[img[NC-240-D|http://img367.imageshack.us/img367/9940/nc240dig7.jpg]]
''Designed for the radio amateur, the ~NC-240D receiver is also suitable for general communications service in the 490 to 30,000 kc. range. Calibrated electrical bandspread tuning is provided for the 80, 40, 20, 11-10 meter Amateur bands. 1948 -1955''
----
<<slider "" "NC240DSpecs" "NC240DSpecs" "tooltip" >>
----
<br><br>
[img[BC453|http://img174.imageshack.us/img174/3839/bc453di3.jpg]]
''~BC453 War surplus Command Receiver 150Khz to 560Khz 1940-1945''
----
<<slider "" "BC453" "BC453 Specs" "Specs" >>
----
<br><br>
[img[E.F.Johnson Viking Ranger|http://img258.imageshack.us/img258/50/rangerwv8.jpg]]
----
''This is the original (ca. 1960) Johnson Viking Ranger, plate modulated, AM transmitter. It uses a single 6146 rf power output tube. It operates on 160, 80, 40, 20, 15, 11, and 10 meters with a built-in VFO. The output power is approximately 50 watts (carrier level).''
----
[img[E.F.Johnson Viking Ranger maxing out its 6146 probably from having no load on it. Notice the antenna connector.|http://img297.imageshack.us/img297/8184/rangerpwruy8.gif]]
----
''An E.F.Johnson Viking Ranger maxing out its 6146 probably from having no load on it. Notice the empty antenna connector.''
----
<br><br>
[img[E.F.Johnson 500 Watt Linear Amp.|http://img293.imageshack.us/img293/1836/couwj3.jpg]]
----
''Viking Courier 500 watt linear amplifier - continuous coverage of amateur bands 80 meter and above - 500 watts cw, 200 watts am, 500 watts pep ssb - choose class c or class b operation - uses a pair of rugged 811A tubes - completely self-contained.''
----
<br><br>
[img[http://img174.imageshack.us/img174/4415/yaesuft757gxhh8.jpg]]
----
<<tiddler FT-757GX>>
----
The FT757 is the current station. Devoid of an antenna system it lays silent.
Create a tab or tabs you want visible at startup and put them in DefaultTiddlers
Put your start-up info here.
{{borderless{
{{floatright{<html><input type='button' value='Open in a new window » ' onclick='window.open("http://www.io.com/~nielw/nat_list/nc240d.htm","_blank")'></html>}}}{{floatleft{<<tiddler NavButtons>>}}}
----
<html><div align="center"><iframe src ="http://www.io.com/~nielw/nat_list/nc240d.htm" width="100%" align="center" height="600" scrolling="auto" frameborder="0" allowtransparency style="border:none;"></iframe></div></html>}}}
<html><div style="font-size:1em;text-align:center;" ><input type="button" value="« Back" onClick="history.go(-1)" name="button" class="btn" onmouseover="this.className='btn btnhov'" onmouseout="this.className='btn'"/><a href="javascript:" onclick="var tid=story.findContainingTiddler(this); if (tid) story.refreshTiddler(tid.getAttribute('tiddler'),null,true); return false;"><span style="font-size:0.95em;"><input class="btn" type="button" onmouseover="this.className='btn btnhov'" onmouseout="this.className='btn'" value="Reload"></a></span><input class="btn" type="button" onmouseover="this.className='btn btnhov'" onmouseout="this.className='btn'" value="Forward »"onClick="history.forward()"></div></html>
/***
|Name|NestedSlidersPlugin|
|Source|http://www.TiddlyTools.com/#NestedSlidersPlugin|
|Version|2.3.2|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides|Slider.prototype.stop|
|Description|show content in nest-able 'slider' or 'floating' panels, without needing to create separate tiddlers for each panel|
!!!!!Configuration
<<<
Enable animation for slider panels
<<option chkFloatingSlidersAnimate>> allow sliders to animate when opening/closing
>(note: This setting is in //addition// to the general option for enabling/disabling animation effects:
><<option chkAnimate>> enable animations (entire document)
>For slider animation to occur, you must also allow animation in general.
Debugging messages for 'lazy sliders' deferred rendering:
<<option chkDebugLazySliderDefer>> show debugging alert when deferring slider rendering
<<option chkDebugLazySliderRender>> show debugging alert when deferred slider is actually rendered
<<<
!!!!!Usage
<<<
When installed, this plugin adds new wiki syntax for embedding 'slider' panels directly into tiddler content. Use {{{+++}}} and {{{===}}} to delimit the slider content. You can also 'nest' these sliders as deep as you like (see complex nesting example below), so that expandable 'tree-like' hierarchical displays can be created. This is most useful when converting existing in-line text content to create in-line annotations, footnotes, context-sensitive help, or other subordinate information displays.
Additional optional syntax elements let you specify
*default to open
*cookiename
*heading level
*floater (with optional CSS width value)
*transient display (clicking elsewhere closes panel)
*custom class/label/tooltip/accesskey
*alternate label/tooltip (displayed when panel is open)
*panelID (for later use with {{{<<DOM>>}}} macro. See [[DOMTweaksPlugin]])
*automatic blockquote style on panel
*deferred rendering of panel content
The complete syntax, using all options, is:
//{{{
++++(cookiename)!!!!!^width^*{{class{[label=key|tooltip][altlabel|alttooltip]}}}#panelID:>...
content goes here
===
//}}}
where:
* {{{+++}}} (or {{{++++}}}) and {{{===}}}<br>marks the start and end of the slider definition, respectively. When the extra {{{+}}} is used, the slider will be open when initially displayed.
* {{{(cookiename)}}}<br>saves the slider opened/closed state, and restores this state whenever the slider is re-rendered.
* {{{!}}} through {{{!!!!!}}}<br>displays the slider label using a formatted headline (Hn) style instead of a button/link style
* {{{^width^}}} (or just {{{^}}})<br>makes the slider 'float' on top of other content rather than shifting that content downward. 'width' must be a valid CSS value (e.g., "30em", "180px", "50%", etc.). If omitted, the default width is "auto" (i.e., fit to content)
* {{{"*"}}} //(without the quotes)//<br>denotes "transient display": when a click occurs elsewhere in the document, the slider/floating panel will be automatically closed. This is useful for creating 'pulldown menus' that automatically go away after they are used. //Note: using SHIFT-click on a slider label will open/close that slider without triggering the automatic closing of any transient slider panels that are currently displayed, permitting ''temporary'' display of several transient panels at once.//
* """{{class{[label=key|tooltip][altlabel|alttooltip]}}}"""<br>uses label/tooltip/accesskey. """{{class{...}}}""", """=key""", """|tooltip""" and """[altlabel|alttooltip]""" are optional. 'class' is any valid CSS class name, used to style the slider label text. 'key' must be a ''single letter only''. altlabel/alttooltip specifiy alternative label/tooltip for use when slider/floating panel is displayed.
* {{{#panelID:}}}<br>defines a unique DOM element ID that is assigned to the panel element used to display the slider content. This ID can then be used later to reposition the panel using the {{{<<DOM move id>>}}} macro (see [[DOMTweaksPlugin]]), or to access/modify the panel element through use of {{{document.getElementById(...)}}}) javascript code in a plugin or inline script.
* {{{">"}}} //(without the quotes)//<br>automatically adds blockquote formatting to slider content
* {{{"..."}}} //(without the quotes)//<br>defers rendering of closed sliders until the first time they are opened. //Note: deferred rendering may produce unexpected results in some cases. Use with care.//
//Note: to make slider definitions easier to read and recognize when editing a tiddler, newlines immediately following the {{{+++}}} 'start slider' or preceding the {{{===}}} 'end slider' sequence are automatically supressed so that excess whitespace is eliminated from the output.//
<<<
!!!!!Examples
<<<
simple in-line slider:
{{{
+++
content
===
}}}
+++
content
===
----
use a custom label and tooltip:
{{{
+++[label|tooltip]
content
===
}}}
+++[label|tooltip]
content
===
----
content automatically blockquoted:
{{{
+++>
content
===
}}}
+++>
content
===
----
all options combined //(default open, cookie, heading, sized floater, transient, class, label/tooltip/key, blockquoted, deferred)//
{{{
++++(testcookie)!!!^30em^*{{big{[label=Z|click or press Alt-Z to open]}}}>...
content
===
}}}
++++(testcookie)!!!^30em^*{{big{[label=Z|click or press Alt-Z to open]}}}>...
content
===
----
complex nesting example:
{{{
+++[get info...=I|click for information or press Alt-I]
put some general information here,
plus a floating panel with more specific info:
+++^10em^[view details...|click for details]
put some detail here, which could in turn contain a transient panel,
perhaps with a +++^25em^*[glossary definition]explaining technical terms===
===
===
}}}
+++[get info...=I|click for information or press Alt-I]
put some general information here,
plus a floating panel with more specific info:
+++^10em^[view details...|click for details]
put some detail here, which could in turn contain a transient panel,
perhaps with a +++^25em^*[glossary definition]explaining technical terms===
===
===
<<<
!!!!!Installation
<<<
import (or copy/paste) the following tiddlers into your document:
''NestedSlidersPlugin'' (tagged with <<tag systemConfig>>)
<<<
!!!!!Revision History
<<<
''2007.11.14 - 2.3.2'' in onClickNestedSlider(), prevent SHIFT-click events from opening a new, empty browser window by setting "cancelBubble=true" and calling "stopPropagation()". Note: SHIFT-click is still processed as a normal click (i.e., it toggles the slider panel display). Also, using SHIFT-click will prevent 'transient' sliders from being automatically closed when another slider is opened, allowing you to *temporarily* display several transient sliders at once.
''2007.07.26 - 2.3.1'' in document.onclick(), propagate return value from hijacked core click handler to consume OR bubble up click as needed. Fixes "IE click disease", whereby nearly every mouse click causes a page transition.
|please see [[NestedSlidersPluginHistory]] for additional revision details|
''2005.11.03 - 1.0.0'' initial public release
<<<
!!!!!Credits
<<<
This feature was implemented by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]] with initial research and suggestions from RodneyGomes, GeoffSlocock, and PaulPetterson.
<<<
!!!!!Code
***/
//{{{
version.extensions.nestedSliders = {major: 2, minor: 3, revision: 2, date: new Date(2007,11,14)};
//}}}
//{{{
// options for deferred rendering of sliders that are not initially displayed
if (config.options.chkDebugLazySliderDefer==undefined) config.options.chkDebugLazySliderDefer=false;
if (config.options.chkDebugLazySliderRender==undefined) config.options.chkDebugLazySliderRender=false;
if (config.options.chkFloatingSlidersAnimate==undefined) config.options.chkFloatingSlidersAnimate=false;
// default styles for 'floating' class
setStylesheet(".floatingPanel { position:absolute; z-index:10; padding:0.5em; margin:0em; \
background-color:#eee; color:#000; border:1px solid #000; text-align:left; }","floatingPanelStylesheet");
//}}}
//{{{
config.formatters.push( {
name: "nestedSliders",
match: "\\n?\\+{3}",
terminator: "\\s*\\={3}\\n?",
lookahead: "\\n?\\+{3}(\\+)?(\\([^\\)]*\\))?(\\!*)?(\\^(?:[^\\^\\*\\[\\>]*\\^)?)?(\\*)?(?:\\{\\{([\\w]+[\\s\\w]*)\\{)?(\\[[^\\]]*\\])?(\\[[^\\]]*\\])?(?:\\}{3})?(\\#[^:]*\\:)?(\\>)?(\\.\\.\\.)?\\s*",
handler: function(w)
{
lookaheadRegExp = new RegExp(this.lookahead,"mg");
lookaheadRegExp.lastIndex = w.matchStart;
var lookaheadMatch = lookaheadRegExp.exec(w.source)
if(lookaheadMatch && lookaheadMatch.index == w.matchStart)
{
// var defopen=lookaheadMatch[1]
// var cookiename=lookaheadMatch[2]
// var header=lookaheadMatch[3]
// var panelwidth=lookaheadMatch[4]
// var transient=lookaheadMatch[5]
// var class=lookaheadMatch[6]
// var label=lookaheadMatch[7]
// var openlabel=lookaheadMatch[8]
// var panelID=lookaheadMatch[9]
// var blockquote=lookaheadMatch[10]
// var deferred=lookaheadMatch[11]
// location for rendering button and panel
var place=w.output;
// default to closed, no cookie, no accesskey, no alternate text/tip
var show="none"; var cookie=""; var key="";
var closedtext=">"; var closedtip="";
var openedtext="<"; var openedtip="";
// extra "+", default to open
if (lookaheadMatch[1]) show="block";
// cookie, use saved open/closed state
if (lookaheadMatch[2]) {
cookie=lookaheadMatch[2].trim().slice(1,-1);
cookie="chkSlider"+cookie;
if (config.options[cookie]==undefined)
{ config.options[cookie] = (show=="block") }
show=config.options[cookie]?"block":"none";
}
// parse label/tooltip/accesskey: [label=X|tooltip]
if (lookaheadMatch[7]) {
var parts=lookaheadMatch[7].trim().slice(1,-1).split("|");
closedtext=parts.shift();
if (closedtext.substr(closedtext.length-2,1)=="=")
{ key=closedtext.substr(closedtext.length-1,1); closedtext=closedtext.slice(0,-2); }
openedtext=closedtext;
if (parts.length) closedtip=openedtip=parts.join("|");
else { closedtip="show "+closedtext; openedtip="hide "+closedtext; }
}
// parse alternate label/tooltip: [label|tooltip]
if (lookaheadMatch[8]) {
var parts=lookaheadMatch[8].trim().slice(1,-1).split("|");
openedtext=parts.shift();
if (parts.length) openedtip=parts.join("|");
else openedtip="hide "+openedtext;
}
var title=show=='block'?openedtext:closedtext;
var tooltip=show=='block'?openedtip:closedtip;
// create the button
if (lookaheadMatch[3]) { // use "Hn" header format instead of button/link
var lvl=(lookaheadMatch[3].length>6)?6:lookaheadMatch[3].length;
var btn = createTiddlyElement(createTiddlyElement(place,"h"+lvl,null,null,null),"a",null,lookaheadMatch[6],title);
btn.onclick=onClickNestedSlider;
btn.setAttribute("href","javascript:;");
btn.setAttribute("title",tooltip);
}
else
var btn = createTiddlyButton(place,title,tooltip,onClickNestedSlider,lookaheadMatch[6]);
btn.innerHTML=title; // enables use of HTML entities in label
// set extra button attributes
btn.setAttribute("closedtext",closedtext);
btn.setAttribute("closedtip",closedtip);
btn.setAttribute("openedtext",openedtext);
btn.setAttribute("openedtip",openedtip);
btn.sliderCookie = cookie; // save the cookiename (if any) in the button object
btn.defOpen=lookaheadMatch[1]!=null; // save default open/closed state (boolean)
btn.keyparam=key; // save the access key letter ("" if none)
if (key.length) {
btn.setAttribute("accessKey",key); // init access key
btn.onfocus=function(){this.setAttribute("accessKey",this.keyparam);}; // **reclaim** access key on focus
}
btn.onmouseover=function(event) // mouseover on button aligns floater position with button
{ if (window.adjustSliderPos) window.adjustSliderPos(this.parentNode,this,this.sliderPanel,this.sliderPanel.className); }
// create slider panel
var panelClass=lookaheadMatch[4]?"floatingPanel":"sliderPanel";
var panelID=lookaheadMatch[9]; if (panelID) panelID=panelID.slice(1,-1); // trim off delimiters
var panel=createTiddlyElement(place,"div",panelID,panelClass,null);
panel.button = btn; // so the slider panel know which button it belongs to
btn.sliderPanel=panel; // so the button knows which slider panel it belongs to
panel.defaultPanelWidth=(lookaheadMatch[4] && lookaheadMatch[4].length>2)?lookaheadMatch[4].slice(1,-1):"";
panel.setAttribute("transient",lookaheadMatch[5]=="*"?"true":"false");
panel.style.display = show;
panel.style.width=panel.defaultPanelWidth;
panel.onmouseover=function(event) // mouseover on panel aligns floater position with button
{ if (window.adjustSliderPos) window.adjustSliderPos(this.parentNode,this.button,this,this.className); }
// render slider (or defer until shown)
w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
if ((show=="block")||!lookaheadMatch[11]) {
// render now if panel is supposed to be shown or NOT deferred rendering
w.subWikify(lookaheadMatch[10]?createTiddlyElement(panel,"blockquote"):panel,this.terminator);
// align floater position with button
if (window.adjustSliderPos) window.adjustSliderPos(place,btn,panel,panelClass);
}
else {
var src = w.source.substr(w.nextMatch);
var endpos=findMatchingDelimiter(src,"+++","===");
panel.setAttribute("raw",src.substr(0,endpos));
panel.setAttribute("blockquote",lookaheadMatch[10]?"true":"false");
panel.setAttribute("rendered","false");
w.nextMatch += endpos+3;
if (w.source.substr(w.nextMatch,1)=="\n") w.nextMatch++;
if (config.options.chkDebugLazySliderDefer) alert("deferred '"+title+"':\n\n"+panel.getAttribute("raw"));
}
}
}
}
)
// TBD: ignore 'quoted' delimiters (e.g., "{{{+++foo===}}}" isn't really a slider)
function findMatchingDelimiter(src,starttext,endtext) {
var startpos = 0;
var endpos = src.indexOf(endtext);
// check for nested delimiters
while (src.substring(startpos,endpos-1).indexOf(starttext)!=-1) {
// count number of nested 'starts'
var startcount=0;
var temp = src.substring(startpos,endpos-1);
var pos=temp.indexOf(starttext);
while (pos!=-1) { startcount++; pos=temp.indexOf(starttext,pos+starttext.length); }
// set up to check for additional 'starts' after adjusting endpos
startpos=endpos+endtext.length;
// find endpos for corresponding number of matching 'ends'
while (startcount && endpos!=-1) {
endpos = src.indexOf(endtext,endpos+endtext.length);
startcount--;
}
}
return (endpos==-1)?src.length:endpos;
}
//}}}
//{{{
window.onClickNestedSlider=function(e)
{
if (!e) var e = window.event;
var theTarget = resolveTarget(e);
var theLabel = theTarget.firstChild.data;
var theSlider = theTarget.sliderPanel
var isOpen = theSlider.style.display!="none";
// toggle label
theTarget.innerHTML=isOpen?theTarget.getAttribute("closedText"):theTarget.getAttribute("openedText");
// toggle tooltip
theTarget.setAttribute("title",isOpen?theTarget.getAttribute("closedTip"):theTarget.getAttribute("openedTip"));
// deferred rendering (if needed)
if (theSlider.getAttribute("rendered")=="false") {
if (config.options.chkDebugLazySliderRender)
alert("rendering '"+theLabel+"':\n\n"+theSlider.getAttribute("raw"));
var place=theSlider;
if (theSlider.getAttribute("blockquote")=="true")
place=createTiddlyElement(place,"blockquote");
wikify(theSlider.getAttribute("raw"),place);
theSlider.setAttribute("rendered","true");
}
// show/hide the slider
if(config.options.chkAnimate && (theSlider.className!='floatingPanel' || config.options.chkFloatingSlidersAnimate))
anim.startAnimating(new Slider(theSlider,!isOpen,e.shiftKey || e.altKey,"none"));
else
theSlider.style.display = isOpen ? "none" : "block";
// reset to default width (might have been changed via plugin code)
theSlider.style.width=theSlider.defaultPanelWidth;
// align floater panel position with target button
if (!isOpen && window.adjustSliderPos) window.adjustSliderPos(theSlider.parentNode,theTarget,theSlider,theSlider.className);
// if showing panel, set focus to first 'focus-able' element in panel
if (theSlider.style.display!="none") {
var ctrls=theSlider.getElementsByTagName("*");
for (var c=0; c<ctrls.length; c++) {
var t=ctrls[c].tagName.toLowerCase();
if ((t=="input" && ctrls[c].type!="hidden") || t=="textarea" || t=="select")
{ ctrls[c].focus(); break; }
}
}
var cookie=theTarget.sliderCookie;
if (cookie && cookie.length) {
config.options[cookie]=!isOpen;
if (config.options[cookie]!=theTarget.defOpen)
saveOptionCookie(cookie);
else { // remove cookie if slider is in default display state
var ex=new Date(); ex.setTime(ex.getTime()-1000);
document.cookie = cookie+"=novalue; path=/; expires="+ex.toGMTString();
}
}
// prevent SHIFT-CLICK from being processed by browser (opens blank window... yuck!)
// but allow plain click to bubble up to page background (to dismiss open popup, if any)
if (e.shiftKey) { e.cancelBubble=true; if (e.stopPropagation) e.stopPropagation(); }
return false;
}
//}}}
//{{{
// click in document background closes transient panels
document.nestedSliders_savedOnClick=document.onclick;
document.onclick=function(ev) { if (!ev) var ev=window.event; var target=resolveTarget(ev);
// call original click handler
if (document.nestedSliders_savedOnClick)
var retval=document.nestedSliders_savedOnClick.apply(this,arguments);
// if click was inside transient panel (or something contained by a transient panel)... leave it alone
var p=target;
while (p)
if ((p.className=="floatingPanel"||p.className=="sliderPanel")&&p.getAttribute("transient")=="true") break;
else p=p.parentNode;
if (p) return retval;
// otherwise, find and close all transient panels...
var all=document.all?document.all:document.getElementsByTagName("DIV");
for (var i=0; i<all.length; i++) {
// if it is not a transient panel, or the click was on the button that opened this panel, don't close it.
if (all[i].getAttribute("transient")!="true" || all[i].button==target) continue;
// otherwise, if the panel is currently visible, close it by clicking it's button
if (all[i].style.display!="none") window.onClickNestedSlider({target:all[i].button})
}
return retval;
};
//}}}
//{{{
// adjust floating panel position based on button position
if (window.adjustSliderPos==undefined) window.adjustSliderPos=function(place,btn,panel,panelClass) {
if (panelClass=="floatingPanel") {
var left=0;
var top=btn.offsetHeight;
if (place.style.position!="relative") {
var left=findPosX(btn);
var top=findPosY(btn)+btn.offsetHeight;
var p=place; while (p && p.className!='floatingPanel') p=p.parentNode;
if (p) { left-=findPosX(p); top-=findPosY(p); }
}
if (findPosX(btn)+panel.offsetWidth > getWindowWidth()) // adjust position to stay inside right window edge
left-=findPosX(btn)+panel.offsetWidth-getWindowWidth()+15; // add extra 15px 'fudge factor'
panel.style.left=left+"px"; panel.style.top=top+"px";
}
}
function getWindowWidth() {
if(document.width!=undefined)
return document.width; // moz (FF)
if(document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) )
return document.documentElement.clientWidth; // IE6
if(document.body && ( document.body.clientWidth || document.body.clientHeight ) )
return document.body.clientWidth; // IE4
if(window.innerWidth!=undefined)
return window.innerWidth; // IE - general
return 0; // unknown
}
//}}}
//{{{
// TW2.1 and earlier:
// hijack Slider animation handler 'stop' handler so overflow is visible after animation has completed
Slider.prototype.coreStop = Slider.prototype.stop;
Slider.prototype.stop = function()
{ this.coreStop.apply(this,arguments); this.element.style.overflow = "visible"; }
// TW2.2+
// hijack Morpher animation handler 'stop' handler so overflow is visible after animation has completed
if (version.major+.1*version.minor+.01*version.revision>=2.2) {
Morpher.prototype.coreStop = Morpher.prototype.stop;
Morpher.prototype.stop = function()
{ this.coreStop.apply(this,arguments); this.element.style.overflow = "visible"; }
}
//}}}
!!!!!<<gradient horiz #fcb #fff>> About ~NewFeatures>>
<<tiddler NextTiddler with: [[MainFeatures]] 'previous'>> @@color:#C06;''«3 »'' @@ <<tiddler NextTiddler with: [[Customisation]] 'next'>>
TiddlyWiki has been improved in several other areas for release 2.2. Here are some of the highlights; see the full release note at tiddlywiki.org for more details.
''Usability''
There's a slew of significant usability enhancements including:
* The new BackstageArea to separate off authoring specific functionality
* Popup previews of tiddler contents in the plugin manager, sync manager, and ImportTiddlers
* 'More' command to simplify tiddler toolbars
* "Yellow note" annotations to indicate the purpose of special tiddlers such as shadow tiddlers
* New {{{<<options>>}}} macro to allow access to the complete set of available configuration options
* New "size" and "execution time" columns in the plugin manager
* Improved NewTiddler and NewJournal macros that can accept custom fields
* Embolden tags in the tag listing that are also defined as tiddlers
''Performance''
* New DomScrubbing feature to deal with memory leaks
* Revised storage format using <PRE> tags to permit whitespace and new lines to be preserved without requiring escaping
* Greatly enhanced animation engine that performs better on slower hardware
''Hackability''
As usual, several of the new features are intended to make life easier for plugin writers and other TiddlyWiki hackers:
* A new ServerConnectivity architecture
* New PluginLoadOrder mechanism for controlling the execution order of plugins
* Better startup timing instrumentation
* Rearranged shadow tiddlers into their own, unencoded store area
* Refactored saveChanges() to make it easier to add new save mechanisms
* Added paramifier for overriding current read-only state (eg, http://www.tiddlywiki.com/beta/#readOnly:no)
* ...and by popular request, we've started to reformat the TiddlyWiki source code to use the more conventional K&R layout standard
Internationalisation
TiddlyWiki benefits from an extensive set of translations. There are several enhancements in this release to make it easier to maintain translations.
Thu, Oct 18, 2007 23:20
!!!!Create @@color:#C06;''» »'' @@ <<newTiddler>><<newJournal "DD MMM YYYY" "journal">>
<<newTiddler
label:"newObject"
title:"NewObjectTiddler"
text:{{store.getTiddlerText('BlankObject')}}
tag:"object"
focus:"title"
>>
<<tabs tabsCookie [[Intro ]] "tooltip 1" [[TheScientificMethod]] [[Astronomy ]] "" [[Astronomy]] [[Anthropology]] "" [[Anthropology]] [[TheElements ]] "" [[TheElements]] >>
!!!!Create @@color:#C06;''» »'' @@ <<newTiddler>><<newJournal "DD MMM YYYY" "journal">>
http://delicast.com/radio/reggae/LaWebRadio_Tropica
[[WorldNews]]
[[TWHelpNews]]
[[SidebarNews]]
[[{Index}]]
<<tiddler CloseThisOpen with: {Index} '« back'>>
/%
|Name|NextTiddler|
|Source|http://www.TiddlyTools.com/#NextTiddler|
|Version|0.0.0|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|script|
|Requires|InlineJavascriptPlugin|
|Overrides||
|Description|insert a link that, when clicked, closes the current tiddler and opens another one in its place|
usage: <<tiddler NextTiddler with: NewTiddlerTitle linktext>>
%/<script label="$2">
var tiddler=story.findContainingTiddler(place);
story.displayTiddler(tiddler,"$1");
story.closeTiddler(tiddler.getAttribute("tiddler")); // close self
return false;
</script>
[img[http://img262.imageshack.us/img262/5115/norahjonesiq6.jpg]]
!!!!!<<gradient horiz #fcb #fff>> [[notes]]>>
@@color:#C06;''» »'' @@ Notes/comments attached to tabs: see note below
----
<script>
// get all tiddlers tagged with "Notes"
var tids=store.getTaggedTiddlers("notes");
// keep only tiddlers *also* tagged with New
var list=[];
for (var t=0; t<tids.length; t++)
if (tids[t].isTagged("notes")) list.push(tids[t]);
// create output list of tiddler titles, one per line
var out="";
for (var t=0; t<list.length; t++) out+="#[["+list[t].title+"]]\n";
return out;
</script>
[[1|Science]] • [[2|TheScientificMethod]] • [[3|Anthropology]] • [[4|Astronomy]] • [[5|TheElements]] • 6
[img[http://img218.imageshack.us/img218/7518/speakersmqz8.gif]][[OldTimeRadio|http://www.otr.com/private.shtml]]
<<slider chkSliderOptionsPanel OptionsPanel "options »" "Change TiddlyWiki advanced options">>
!!!<<gradient horiz #fcb #ffffff>>[[Other]]^^<<tiddler CloseThisOpen with: MiniPlanner '« back'>><<toolbar editTiddler>>» ^^>>
Yes I was wondering about that too. We'll have to stop meeting like this.
> Without becoming a TiddlyWiki wizard, which seems to defeat the appeal
> of TW, is there a way to tell it to leave a block of text alone in a
> tiddler? Just display exactly as entered. I want to put code
> snippets in by pasting and I don't want to have to format it with TW
> codes - doing so is more work than it's worth. Indentation is
> particularly important.
First method:
--------------------
{{{
insert content here
}}}
--------------------
creates a PRE ('preformatted') element, with default styling using
monospaced font, within a yellow-ish background with 1pixel border.
Whitespace (newlines, tabs, and spaces) are rendered "as-is". note:
the {{{ and }}} must be on lines by themselves
Second method:
--------------------
@@white-space:pre;<nowiki>
insert content here
</nowiki>@@
--------------------
uses "inline CSS" to preserve white space plus <nowiki>...</nowiki>
delimiters for 'non-wikified' text content. Uses default font
(usually Arial/Helvetica), without any special background/border.
enjoy,
-e
Eric Shulman
TiddlyTools / ELS Design Studios
/***
!!!<<gradient horiz #fcb #fff >><<tiddler RefreshStyles>> PageCSS >>/%==================================================%/
{{{
background:url("http://img261.imageshack.us/img261/8603/navbargrayhw1.png") repeat-x top left;top left;
http://img520.imageshack.us/img520/8688/mainmenugray7ef.gif
background:url("http://img181.imageshack.us/img181/4080/headerredtv7.png") repeat-x top left;top left;
http://img518.imageshack.us/img518/465/bgxbk0.jpg
body { background: url("http://img168.imageshack.us/img168/1254/leftbackdo6.gif"); background-repeat: repeat;}
body { background: url("http://img518.imageshack.us/img518/465/bgxbk0.jpg"); background-repeat: repeat;}
}}}
***/
body { background: url("http://img242.imageshack.us/img242/1641/blackspottedbglgll8.jpg"); background-repeat: repeat;}
body { background: url("http://img168.imageshack.us/img168/1254/leftbackdo6.gif"); background-repeat: repeat;}
#outer {
width:100%;
margin:auto;
}
#hdr {
height:100%;
background:url("http://img261.imageshack.us/img261/8603/navbargrayhw1.png") repeat-x top left;top left;
color: #333333;
}
#hdr a:hover {
background: #FFF;
color: #F00;
}
#slantedmenu {
height:100%;
}
#bar {
height:100%;
}
#bodyblock {
position:relative;
background: #dcdcdc;
color: #333333;
width:650px;
padding:0;
}
#l-col {
float:left;
background:#dcdcdc;
color: #333333;
width:145px;
}
#cont {
width:100%;
background:#ffffff;
color: #333333;
text-align:left;
margin:auto;
}
#systemcontents {
height: 350px;
width: 100%;
position:relative;
overflow: auto;
margin:auto;
}
#ftr {
height:100%;
background:#fff;
color: #333333;
border:solid black;
border-width:1px 0 0 0;
margin-top:1em;
margin-bottom:1em;
}
/* Presentation Stylesheet */
h3, p {
margin:0;
padding:15px;
}
h4 {
margin:0;
padding: 5px 0;
}
p:first-letter {
font-size: 80%;
font-weight: bold;
color:blue;
}
[[{Index}]]
[[AllTabs]]
[[BackstageCSS]]
[[ButtonStyle]]
[[CenterBoxCSS]]
[[CustomCSS]]
[[History]]
[[PageCSS]]
[[PageTemplate]]
[[Programs]]
[[MondoGreen]]
[[SlantedStyle]]
[[SlantedMenu]]
[[StyleSheet]]
[[StyleSheetTiddlersBar]]
[[Styling]]
[[ViewTabs]]
[[WebStyleSheet]]
<<tiddler CloseThisOpen with: {Index} '« back'>>
!!!!!<<gradient horiz #fcb #fff>> PageSystemList>>
<script>
// get all tiddlers tagged with "system"
var tids=store.getTaggedTiddlers("system");
// keep only tiddlers *also* tagged with New
var list=[];
for (var t=0; t<tids.length; t++)
if (tids[t].isTagged("system")) list.push(tids[t]);
// create output list of tiddler titles, one per line
var out="";
for (var t=0; t<list.length; t++) out+="[[[["+list[t].title+"]]]]\n";
return out;
</script>
<!--{{{-->
<div id="outer"><div id='hdr' align='left' refresh='content' tiddler='MondoGreen'></div>
<div id='slantedmenu' refresh='content' tiddler='SlantedMenu'></div><div id='tiddlersBar' refresh='none' ondblclick='config.macros.tiddlersBar.onTiddlersBarAction(event)'></div><div id="cont">
<div id='displayArea'><div id='tiddlerDisplay'></div>
<div id='messageArea'></div>
</div><div id="ftr" align="center" refresh='content' tiddler='contentFooter''>></div><div id='sidebar'></div></div></div
<!--}}}-->
<!--{{{-->
<div id="outer"><div id="TWHhdr" align="center"><span class='newHeader' refresh='content' force='true' tiddler='MondoGreen'></span><span class='slantedMenu' refresh='content' force='true' tiddler='SlantedMenu'></span>
<div id="TWHbar"><div id='tiddlersBar' refresh='none' ondblclick='config.macros.tiddlersBar.onTiddlersBarAction(event)'></div></div>
<div id="TWHl-col"><span class='something' tiddler='Menu'</span></div>
<div id="TWHcont"><span class='science' tiddler='ScienceContent'></span></div></div>
<div id='messageArea'></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='messageArea'></div>
<div id='tiddlerDisplay'></div><span style='display:none' macro='tiddler SetTiddlerHeight with:
85%'></span>
<div id="ftr" align="center"><span class="contentFooter" refresh='content' tiddler='contentFooter'></span></div>
<!--}}}-->
<!--{{{-->
<div id="TWHouter"><div id="TWHhdr" align="center"><span class='newHeader' refresh='content' force='true' tiddler='WebPage'></span></div></div>
<div id='messageArea'></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='messageArea'></div>
<div id='tiddlerDisplay'><div id='tiddlersBar' refresh='none' ondblclick='config.macros.tiddlersBar.onTiddlersBarAction(event)'></div></div><span style='display:none' macro='tiddler SetTiddlerHeight with:
85%'></span>
<div id="ftr" align="center"><span class="contentFooter" refresh='content' tiddler='contentFooter'></span></div>
<!--}}}-->
<div class="outer"><div class="hdr" align="center"><span class='something' refresh='content' tiddler='Header'></span><span class='somethingelse' refresh='content' tiddler='SlantedMenu'></span></div>
<div id="bar" macro='today'></div>
<div id="bodyblock" align="right">
<div id="l-col" align="left"><span class='somethingL' refresh='content' tiddler='Menu'></span>
</div>
<div id="cont" refresh='content' tiddler='MainContent'></div>
</div>
<div id="ftr" align="center">Copyright (c) You 2003</div>
</div>
/***
|''Name:''|PasswordOptionPlugin|
|''Description:''|Extends TiddlyWiki options with non encrypted password option.|
|''Version:''|1.0.2|
|''Date:''|Apr 19, 2007|
|''Source:''|http://tiddlywiki.bidix.info/#PasswordOptionPlugin|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0 (Beta 5)|
***/
//{{{
version.extensions.PasswordOptionPlugin = {
major: 1, minor: 0, revision: 2,
date: new Date("Apr 19, 2007"),
source: 'http://tiddlywiki.bidix.info/#PasswordOptionPlugin',
author: 'BidiX (BidiX (at) bidix (dot) info',
license: '[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D]]',
coreVersion: '2.2.0 (Beta 5)'
};
config.macros.option.passwordCheckboxLabel = "Save this password on this computer";
config.macros.option.passwordInputType = "password"; // password | text
setStylesheet(".pasOptionInput {width: 11em;}\n","passwordInputTypeStyle");
merge(config.macros.option.types, {
'pas': {
elementType: "input",
valueField: "value",
eventName: "onkeyup",
className: "pasOptionInput",
typeValue: config.macros.option.passwordInputType,
create: function(place,type,opt,className,desc) {
// password field
config.macros.option.genericCreate(place,'pas',opt,className,desc);
// checkbox linked with this password "save this password on this computer"
config.macros.option.genericCreate(place,'chk','chk'+opt,className,desc);
// text savePasswordCheckboxLabel
place.appendChild(document.createTextNode(config.macros.option.passwordCheckboxLabel));
},
onChange: config.macros.option.genericOnChange
}
});
merge(config.optionHandlers['chk'], {
get: function(name) {
// is there an option linked with this chk ?
var opt = name.substr(3);
if (config.options[opt])
saveOptionCookie(opt);
return config.options[name] ? "true" : "false";
}
});
merge(config.optionHandlers, {
'pas': {
get: function(name) {
if (config.options["chk"+name]) {
return encodeCookie(config.options[name].toString());
} else {
return "";
}
},
set: function(name,value) {config.options[name] = decodeCookie(value);}
}
});
// need to reload options to load passwordOptions
loadOptionsCookie();
/*
if (!config.options['pasPassword'])
config.options['pasPassword'] = '';
merge(config.optionsDesc,{
pasPassword: "Test password"
});
*/
//}}}
<<tabs "" [[Bach ]] "" [[Bach]] [[CKAJ-FM ]] "" [[CKAJ-FM]] [[151.625FM]] "" [[RadioYesteryear]] [[Ai ai taas sattuu Loituma ]] "" [[Ai ai taas sattuu Loituma]] [[levan Polkka ]] "" [[levan Polkka]] [[NewWebRadioStation ]] "" [[NewWebRadioStation]]>>
!!!!!<<gradient horiz #fcb #fff>> PluginServers>>
<<<
[[TheCompletePluginList|http://tiddlyvault.tiddlyspot.com/]]
[[AbegoExtensions|http://tiddlywiki.abego-software.de/]]
[[BidiXTWServer|http://tiddlywiki.bidix.info/]]
[[BobsPluginsServer|http://bob.mcelrath.org/plugins.html]]
[[Gimcrack'dServer|http://gimcrackd.com/etc/src/]]
[[GoogleGroups|http://groups.google.com/group/TiddlyWiki/topics]]
[[JacksTiddlyWikiServer|http://jackparke.googlepages.com/jtw.html]]
[[LewcidTWServer|http://tw.lewcid.org/]]
[[MartinsPluginsServer|http://www.martinswiki.com/]]
[[MonkeyPirateTWServer|http://mptw.tiddlyspot.com/]]
[[PeachTWServer |http://bradleymeck.tiddlyspot.com/]]
[[Paul Soares|http://www.math.ist.utl.pt/~psoares/addons.html#Plugins]]
[[PrinceTiddlyWikiExtensionsServer|http://ptw.sourceforge.net/ptwe.html]]
[[RedMountainVistaServer|http://solo.dc3.com/tw/]]
[[TiddlySpot|http://www.TiddlySpot.com]]
[[TiddlyStylesServer|http://tiddlystyles.com/]]
[[TiddlyToolsServer|http://www.tiddlytools.com/]]
[[TiddlyWikiServer|http://www.TiddlyWiki.com/]]
[[VisualTW|http://visualtw.ouvaton.org/VisualTW.html]]
<<<
!!!!!<<gradient horiz #fcb #fff>> Plugins>>
<<tiddler NextTiddler with: [[Customisation]] 'previous'>> @@color:#C06;''«5 »'' @@ <<tiddler NextTiddler with: [[GettingStarted]] 'next'>>
TiddlyWiki can be extended by InstallingPlugins that implement new Macros, Themes, Tweaks or other features. The easiest way of InstallingPlugins is to use ImportTiddlers. Like other features that need to modify TiddlyWiki files, it only works when TiddlyWiki is loaded from a file:// URL.
DaveGifford oversees an extensive catalogue of available plugins at TiddlyVault.
Some of the leading plugin sites from independent developers are here tagged as systemServer which also makes them available in ImportTiddlers.
ChrisKlimas has written The Macrocodex, some superb documentation on writing plugins and macros for TiddlyWiki.
Tue, Nov 27, 2007 10:00
<html><hide linebreaks>
<div id="pre-hdr"><<tiddler Astronomy>></div>
</html>
<html><hide linebreaks>
<div id="pre-hdr"><<tiddler TheElements>></div>
</html>
/***
!!!<<gradient horiz #fc3 #fff >><<tiddler RefreshStyles>> PresentCSS>>/%==================================================%/
***/
#pre-hdr {
width:100%;
height:100%;
background:#fef;
color: #00f;
}
|width:750px;{{floatleft{ [[1|Present1]] • [[2|Present2]] • 3 • 4 • 5 • 6}}}{{floatright{[[previous|Present]] @@color:#C06;''« »'' @@ [[next|Present1]]}}}|
This is my first attempt at a presentation web site.
<html><hide linebreaks>
<div id="pre-hdr"><<tiddler PresentContents>></div>
</html>
<html><hide linefeeds><ul>
<li><a href="http://www.43folders.com/2005/01/19/mark-taw-on-procrastination/">Mark Taw on Procrastination</a> - Mark’s article gets to the core problems that cause people to get derailed, distracted, and perpetually off-target.</li>
<li><a href="http://www.43folders.com/2005/06/20/solid-tactics-for-understanding-and-beating-procrastination/">Solid tactics for understanding (and beating) procrastination</a> - Excellent, <a href="http://thenowhabit.43folders.com/" title="Neil Fiore's 'The Now Habit' on the 43 Folders Store">Neil Fiore</a>-esque advice on unpacking why you’re procrastinating and rewiring the crummy thinking that supports it. </li>
<li><a href="http://www.43folders.com/2005/04/25/choosing-a-daily-gtd-action-plan/">Choosing a daily GTD action plan</a> - Chris Murtland’s “revolving workflow strategies” for GTD are smart, realistic, and just might save you from a _fractal productivity spiral.</li>
<li><a href="http://www.43folders.com/2005/06/28/unpacking-the-anxieties-on-your-todo-list/">Unpacking the anxieties on your TODO list</a> - I like <a href="http://www.secretgeek.net/procrastless.asp" title="">this practical, tactical approach</a> to “<a href="http://www.43folders.com/2005/05/23/cringe-busting-your-todo-list/">cringe-busting</a>” a list of tasks that you’ve been procrastinating. Basically, you write down each thing you want to do as well as the <em>anxiety</em> that’s kept you from doing it. </li>
<li><a href="http://www.43folders.com/2005/09/08/kick-procrastinations-ass-run-a-dash/">Kick procrastination’s ass: Run a dash</a> - Make fast, stress-free progress on a project you’ve been putting off.</li>
<li><a href="http://www.43folders.com/2005/09/28/jeff-covey-running-a-progressive-dash/">Jeff Covey: Running a Progressive Dash</a> - Reader <a href="http://jeffcovey.net/" title="">Jeff Covey</a> shares how he’s started <a href="http://www.43folders.com/2005/09/08/kick-procrastinations-ass-run-a-dash/" title="">beating procrastination with a dash</a>. Jeff’s system features a very fast daily start-up and smart way to make sure every to-do gets touched first thing every morning.</li>
<li><a href="http://www.43folders.com/2005/10/11/procrastination-hack-1025/">Procrastination hack: “(10+2)*5”</a> - Following on the idea of the <a href="http://www.43folders.com/2005/09/08/kick-procrastinations-ass-run-a-dash/">procrastination dash</a> and <a href="http://www.43folders.com/2005/09/jeff_covey_runn.html">Jeff’s progressive dash</a>, I’ve been experimenting with a squirelly new system to pound through my procrastinated to-do list. </li>
</ul</html>
!!!!!<<gradient horiz #fcb #fff>> [[Programs]]>>
@@color:#C06;''» »'' @@ Tabs containing programs (plugins) written in ~JavaScript (if tagged as systemConfig begin running at startup.)
----
<script>
// get all tiddlers tagged with "systemConfig"
var tids=store.getTaggedTiddlers("systemConfig");
// keep only tiddlers *also* tagged with New
var list=[];
for (var t=0; t<tids.length; t++)
if (tids[t].isTagged("systemConfig")) list.push(tids[t]);
// create output list of tiddler titles, one per line
var out="";
for (var t=0; t<list.length; t++) out+="#[["+list[t].title+"]]\n";
return out;
</script>
[[ProjectList]]
[[CustomCSS]]
[[DefaultTiddlers]]
[[EditTemplate]]
[[PageCSS]]
[[PageTemplate]]
[[SlantedMenu]]
[[SlantedStyle]]
[[StyleSheet]]
[[ViewTemplate]]
[[{Index}]]
Instructions +++[click here.]
<<tiddler Help>>
===
!!!!!<<gradient horiz #fcb #fff>> ''Radio Australia and Triple J''>>
@@color:#C06;''Radio Australia''@@
Comprising seven languages and focusing uniquely on Asia and the Pacific, Radio Australia is the international radio and online service of the Australian national broadcaster, the Australian Broadcasting Corporation.
Radio Australia's shortwave signals are tailored to be heard at peak audience times in our target areas of Asia and the Pacific. If you live in another area, our frequencies and broadcast times may not be suitable.
The Radio Australia staff is a unique collection of individuals from enormously varied backgrounds. We bring passion, experience and a range of skills to our jobs. Above all, we share a commitment to providing our audiences with independent and engaging radio and online content, including English lessons, information about Australia and objective, accurate regional news and current affairs.
@@color:#C06;''Triple J''@@
Australia wide radio station with topics concerning all the youth's of Australia.
{{wrap{{{textleft{
<<tabs tabsClass [[Intro ]]""[[RadioIntro]] [[2RN-576AM ]]"ABC Radio National"[[2RN-576AM]][[2PB 630AM ]]"ABC News Radio"[[2PB 630AM]][[2BL 702AM ]]"ABC Radio 702"[[2BL 702AM]] [[ABC-92.9FM ]] "ABC 92.9FM" [[ABC 92.9FM]] [[2CH ]]"2CH Radio 1170 AM"[[2CH]][[RadioOnline ]] "Lists of Australian Radio Stations Online Web Site" [[RadioOnline]] [[RadioLovers ]] "Old time radio programs" [[Radio Lovers]] [[OldTimeRadio ]] "Old time radio programs"[[OldTimeRadio]] [[dig-Radio ]] "dig Radio" [[dig Radio]] [[RadioAustralia ]] "RadioAustralia" [[RadioAustralia]]>>
}}}
[img[http://img218.imageshack.us/img218/7518/speakersmqz8.gif]][[Radio Lovers|http://www.radiolovers.com/]]
{{borderless{
|[[Open in a new window|http://www.1radio.com.au/]] »|
}}}<html><div align="center"><iframe src ="http://www.1radio.com.au/" width="100%" align="center" height="600"></iframe></div></html>
<<gradient horiz #fcb #ffffff>> [[RadioAustralia|RadioAustralia]]>>
@@color:#c06;''•''@@ @@color:#00f;ABC Radio Australia@@ ~~[img[http://img218.imageshack.us/img218/7518/speakersmqz8.gif]]~~
<html><embed type="video/x-ms-asf" id="RA" name="RA" displaysize="4" autosize="0"
bgcolor="white" showcontrols="true" showtracker="1" showdisplay="1" showstatusbar="1" videoborder3d="0" width="250" height="142" src="http://www.abc.net.au/streaming/ra.asx" autostart="true" designtimesp="5311" loop="false" volume="100"></embed></html>
@@color:#c06;''»''@@ [[Go to Web Site|http://www.radioaustralia.net.au/]]
@@color:#C06;''»''@@ [[Program Guide|http://www.radioaustralia.net.au/programguide/]]
Comprising seven languages and focusing uniquely on Asia and the Pacific, Radio Australia is the international radio and online service of the Australian national broadcaster, the Australian Broadcasting Corporation.
Radio Australia's shortwave signals are tailored to be heard at peak audience times in our target areas of Asia and the Pacific. If you live in another area, our frequencies and broadcast times may not be suitable.
The Radio Australia staff is a unique collection of individuals from enormously varied backgrounds. We bring passion, experience and a range of skills to our jobs. Above all, we share a commitment to providing our audiences with independent and engaging radio and online content, including English lessons, information about Australia and objective, accurate regional news and current affairs.
<<gradient horiz #fc3 #fff>> [[Internet Radio|RadioIntro]]>>
{{borderlessL{
[<img[http://img295.imageshack.us/img295/9558/whtblkwhtyi3.gif]]''ABC Radio is a commercial-free public radio network owned by the People of Australia.'' (so far)
}}}
[img[http://img218.imageshack.us/img218/7518/speakersmqz8.gif]] [[Monte-Carlo Monaco|http://www.surfmusic.de/radio-station/monte-carlo-monaco,2220.html]]
[img[http://img218.imageshack.us/img218/7518/speakersmqz8.gif]] [[Radio around the world|http://www.djstationonline.com/]]
[img[http://img218.imageshack.us/img218/7518/speakersmqz8.gif]] [[BBC Radio|http://www.bbc.co.uk/radio/]]
[img[http://img218.imageshack.us/img218/7518/speakersmqz8.gif]] [[Deutsche Welle|http://www.dw-world.de/dw/0,2142,4703,00.html]]
[img[http://img218.imageshack.us/img218/7518/speakersmqz8.gif]] {{locLink{[[Radio1|http://www.1radio.com.au/]] }}}@@color:#C06;''» »'' @@ Australian Radio Stations
[[Lists of Australian Radio Stations Online Web Site|http://www.adonline.id.au/radio/]]
!!!!<<gradient horiz #fcb #fff>> [[RadioYesteryear]]>>
[img[http://img218.imageshack.us/img218/7518/speakersmqz8.gif]] Radio Yesteryear 151.625FM
<html><embed type="video/x-ms-asf" id="player_FF" name="player_FF" displaysize="4" autosize="0" bgcolor="white" showcontrols="true" showtracker="1" showdisplay="1" showstatusbar="1" videoborder3d="0" width="300" height="142" src="mms://ryy.stream.integritynet.com.au/ryy" autostart="true" designtimesp="5311" loop="false" volume="100"></embed></html>
@@color:#C06;''» »'' @@ [[Radio Yesteryear Web Site|http://www.radioyesteryear.org.au/]]
/***
|Macro|redirect (alias)|
|Author|[[Clint Checketts]] and Paul Petterson|
|Version|1.1 Jan 26, 2006|
|Location|http://checkettsweb.com/styles/themes.htm#RedirectMacro|
|Description|This macro tells TW to find all instances of a word and makes it point to a different link. For example, whenever I put the word 'Clint' in a tiddler I want TiddlyWiki to turn it into a link that points to a tiddler titled 'Clint Checketts' Or the word 'TW' could point to a tiddler called 'TiddlyWiki' It even matches clint (which is lowercase) [[Clint]] leet lEEt LEET|
|Usage|{{{<<redirect TW TiddlyWiki>>}}} |
|Example|<<redirect TW "TiddlyWiki">> <<redirect Clint "Clint Checketts">> (Nothing should appear, its just setting it all up)<<redirectExact lEEt Elite>>|
!Revisions
1.1- Fixed tiddler refresh so a tiddler declaring a redirect will also render the redirect
1.0- Updated to work with TiddlyWiki 2.0 (thanks to Udo Borkowski)
0.9- Original release October 2005
!Code
***/
//{{{
version.extensions.redirectExact = {major: 1, minor: 2, revision: 0, date: new Date(2005,10,24)};
config.macros.redirectExact = {label: "Pickles Rock!"};
config.macros.redirectExact.handler = function(place,macroName,params,wikifier,paramString,tiddler){
config.macros.redirect.handler(place,macroName,params,wikifier,paramString,tiddler);
}
version.extensions.redirect = {major: 1, minor: 2, revision: 0, date: new Date(2005,10,24)};
config.macros.redirect = {label: "Pickles Rock!"};
config.macros.redirect.handler = function(place,macroName,params,wikifier,paramString,tiddler){
var redirectExists = false
// Check to see if the wikifier exists
for (var i=0;i<config.formatters.length;i++)
if (config.formatters[i].name == "redirect"+params[0])
redirectExists = true;
//If it doesn't exist, add it!
if (!redirectExists){
for( var i=0; i<config.formatters.length; i++ )
if ( config.formatters[i].name=='wikiLink') break ;
if ( i >= config.formatters.length ) {
var e = "Can't find formatter for wikiLink!" ;
displayMessage( e ) ;
throw( e ) ;
}
var pattern;
if (macroName == 'redirect'){pattern=params[0].escapeRegExp().replace(/([A-Z])/img, function($1) {return("["+$1.toUpperCase()+$1.toLowerCase()+"]");});
} else {
pattern=params[0].escapeRegExp();
}
config.formatters.splice( i, 0, {
name: "redirect"+params[0],
match: "(?:\\b)(?:\\[\\[)?"+pattern+"(?:\\]\\])?(?:\\b)",
subst: params[1],
handler: function(w) {
var link = createTiddlyLink(w.output,this.subst,false);
w.outputText(link,w.matchStart,w.nextMatch);
}
});
formatter = new Formatter(config.formatters); //update the tiddler
if(tiddler) story.refreshTiddler(tiddler.title,null,true); //refresh tiddler so the new rule is applied
} // End if
}
//}}}
{{twocolumns {
@@font-size:2em;''Chopin Ballade No. 1 to 4''@@
''Frédéric Chopin's four ballades are'' one-movement pieces for solo piano, composed between 1835 and 1842. They are some of the most challenging pieces in the standard piano repertoire.
''The term "ballade" was associated with'' French poetry until the mid-19th century, when Chopin was among the first to pioneer the ballade as a musical form. The four ballades are said to have been inspired by poet Adam Mickiewicz. The exact inspiration for each individual ballade, however, is unclear and disputed.
''It is clear, however, that they are'' a novel innovation of Chopin's, and that they cannot be placed into another (e.g. the sonata) form. The ballades have also directly influenced composers such as Franz Liszt and Johannes Brahms who, after Chopin, wrote ballades of their own.
''Besides sharing the title, the four ballades are'' entities distinct from each other. According to composer and music critic Louis Ehlert, "Each [ballade] differs entirely from the others, and they have but one thing in common their romantic working out and the nobility of their motifs."
''The four ballades are'' among the most enduring of Chopin's compositions, and are frequently heard in concerts.
[[More at Wikipedia|http://en.wikipedia.org/wiki/Ballades_%28Chopin%29]]
}}}
<html><hide linebreaks><iframe id="Ballade1" name="Ballade1" title="Ballade1" width="480" height="390" src="http://www.youtube.com/embed/XhnRIuGZ_dc" frameborder="0" allowfullscreen></iframe><iframe id="Ballade2" name="Ballade2" title="Ballade2" width="480" height="390" src="http://www.youtube.com/embed/MsoUIBcl7iw" frameborder="0" allowfullscreen></iframe></html><html>
<iframe id="Ballade3" name="Ballade3" title="Ballade3" width="480" height="390" src="http://www.youtube.com/embed/PCW3631sxkw" frameborder="0" allowfullscreen></iframe><iframe id="Ballade4" name="Ballade4" title="Ballade4" width="480" height="390" src="http://www.youtube.com/embed/D_PBTGfhWD8" frameborder="0" allowfullscreen></iframe></html>
[[{Index}]]
[[SliderMenu]]
[[KeyStrokes]]
[[Memorize]]
[[TWHelp]]
[[TWSites]]
[[Entities]]
[[PluginServers]]
[[SearchWeb]]
[[SetTabBackgrounds]]
<<tiddler CloseThisOpen with: {Index} '« back'>>
<html><input type="button" value="Refresh Styles" onClick="javascript:refreshStyles('StyleSheet');" name="button" class="btn" onmouseover="this.className='btn btnhov'" onmouseout="this.className='btn'"/></html>
<html><a href="document.location.parent.location();">Reload</a></html>
<a href="javascript:load.('first.htm')">first</a>
<a href="javascript:load('first.htm')">first</a>
<html><a href="javascript:load(document.location.href.substring(7));">Reload</a></html>
="parent.location='thankspage.html'">
http://"+document.location.href.substring(7));
<html>
<FORM>
<INPUT TYPE="button" VALUE="BACK"
onClick="history.go(-1)">
<INPUT TYPE="button" VALUE="FORWARD"
onClick="history.go(1)">
</FORM>
</html>
<html><div style="text-align:center;"><input class="btn" type="button" value="Reload Page" onClick="location.reload()" onmouseover="this.className='btn btnhov'" onmouseout="this.className='btn'"/></div></html>
<html><a href="javascript:refreshStyles('StyleSheet');">
refresh styles and layout
</a></html>
http://www.htmlgoodies.com/beyond/javascript/article.php/3470771
<html><td><input class="btn" type="button" value="Reload Mainwindow" onClick="location.reload()" onmouseover="this.className='btn btnhov'" onmouseout="this.className='btn'"/></td></html>
/***
!!!<<gradient horiz #fc3 #fff >><<tiddler RefreshStyles>> SDCSS>>/%==================================================%/
***/
#SBouter {
text-align:left;
border:1px solid #000000;
width:100%;
margin:auto;
background:#ffccff;
}
#SBhdr {
width:100%;
height:100%;
background:#999;
color: #333333;
}
#SBbodyblock {
position:relative;
background: #dcdcdc;
color: #333333;
padding:0;
}
#SBl-col {
float:left;
background:#dcdcdc;
background-color: #f00;
width:120px;
}
#SBcont {
background:#ffffff;
color: #333333;
border:solid #000000;
border-width:0 0 0 1px;
text-align:left;
width:60%;
}
#SBftr {
height:35px;
background:#fff;
color: #333333;
border:solid black;
border-width:1px 0 0 0;
margin:0;
}
Presentation Stylesheet
h3, p {
margin:0;
padding:15px;
}
h4 {
margin:0;
padding: 5px 0;
}
p:first-letter {
font-size: 80%;
font-weight: bold;
color:blue;
}
!!!<<gradient horiz #fcb #ffffff>>[[Sat]]^^<<tiddler CloseThisOpen with: MiniPlanner '« back'>><<toolbar editTiddler>>» ^^>>
Come Saturday morning I'm going away with my friend....We'll Saturday spend til the end...of the day.
/***
|Name|SaveAsPlugin|
|Source|http://www.TiddlyTools.com/#SaveAsPlugin|
|Documentation|http://www.TiddlyTools.com/#SaveAsPlugin|
|Version|1.0.1|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides||
|Description|Save current document to a different path/filename|
!!!!!Documentation
<<<
Syntax: {{{<<saveAs>>}}}
<<saveAs>>
<<<
!!!!!Revisions
<<<
2008.04.12 [1.0.1] automatically add "saveAs" to backstage commands
2008.04.12 [1.0.0] initial release - derived from [[NewDocumentPlugin]]
<<<
!!!!!Code
***/
//{{{
version.extensions.SaveAsPlugin= {major: 1, minor: 0, revision: 1, date: new Date(2008,4,12)};
config.macros.saveAs = {
label: "save as...",
prompt: "Save current document to a different path/file",
filePrompt: "Please select or enter a target path/filename",
defaultFilename: "new.html",
okmsg: "%0 tiddlers written to %1",
failmsg: "An error occurred while creating %0",
handler: function(place,macroName,params)
{ var btn=createTiddlyButton(place,this.label,this.prompt,this.go); },
go: function() {
// make sure we are local
if (window.location.protocol!="file:") {
alert(config.messages.notFileUrlError);
if (store.tiddlerExists(config.messages.saveInstructions))
story.displayTiddler(null,config.messages.saveInstructions);
return;
}
// get current saved file
var currPath=getLocalPath(window.location.href);
var original=loadFile(currPath);
if (!original) {
alert(config.messages.cantSaveError);
if (store.tiddlerExists(config.messages.saveInstructions))
story.displayTiddler(null,config.messages.saveInstructions);
return;
}
// get new target path/filename
var newPath=currPath;
var slashpos=newPath.lastIndexOf("/"); if (slashpos==-1) slashpos=newPath.lastIndexOf("\\");
if (slashpos!=-1) newPath=newPath.substr(0,slashpos+1); // trim filename
var newFile=currPath.substr(newPath.length); // trim path
if (!newFile.length) newFile=config.macros.saveAs.defaultFilename;
var target=config.macros.saveAs.ask(config.macros.saveAs.filePrompt,newPath,newFile);
if (!target) return; // cancelled by user
// if specified file does not include a path, assemble fully qualified path and filename
var slashpos=target.lastIndexOf("/"); if (slashpos==-1) slashpos=target.lastIndexOf("\\");
if (slashpos==-1) target=target+config.macros.saveAs.defaultFilename;
var link="file:///"+target.replace(/\\/g,'/'); // link for message text
// write target
if (saveFile(target,updateOriginal(original)))
var msg=config.macros.saveAs.okmsg.format([store.getTiddlers("title").length,target]);
else
var msg=config.macros.saveAs.failmsg.format([target]);
clearMessage(); displayMessage(msg,link);
},
ask: function(msg,path,file) {
if(window.Components) { // moz
try {
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
var nsIFilePicker = window.Components.interfaces.nsIFilePicker;
var picker = Components.classes['@mozilla.org/filepicker;1'].createInstance(nsIFilePicker);
picker.init(window, msg, nsIFilePicker.modeSave);
var thispath = Components.classes['@mozilla.org/file/local;1'].createInstance(Components.interfaces.nsILocalFile);
thispath.initWithPath(path);
picker.displayDirectory=thispath;
picker.defaultExtension='html';
picker.defaultString=file;
picker.appendFilters(nsIFilePicker.filterAll|nsIFilePicker.filterText|nsIFilePicker.filterHTML);
if (picker.show()!=nsIFilePicker.returnCancel) var result=picker.file.persistentDescriptor;
}
catch(e) { alert('error during local file access: '+e.toString()) }
}
else { // IE
try { // XP/Vista only
var s = new ActiveXObject('UserAccounts.CommonDialog');
s.Filter='All files|*.*|Text files|*.txt|HTML files|*.htm;*.html|';
s.FilterIndex=3; // default to HTML files;
s.InitialDir=path;
s.FileName=file;
if (s.showOpen()) var result=s.FileName;
}
catch(e) { var result=prompt(msg,path+file); } // fallback for non-XP IE
}
return result;
}
};
//}}}
//{{{
// automatically add saveAs to backstage
config.tasks.saveAs = {
text: "saveAs",
tooltip: config.macros.saveAs.prompt,
action: function(){ clearMessage(); config.macros.saveAs.go(); }
}
config.backstageTasks.splice(config.backstageTasks.indexOf("save")+1,0,"saveAs");
//}}}
/%
|Name|SaveTiddlerToFile|
|Source|http://www.TiddlyTools.com/#SaveTiddlerToFile|
|Version|1.0.0|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|script|
|Requires|InlineJavascriptPlugin|
|Overrides||
|Description|save tiddler SOURCE text to a local file|
Usage: Usage: <<tiddler SaveTiddlerToFile with: label tooltip filename path>>
where all parameters are optional, and:
* label - is text to be displayed as a clickable link
* tooltip - is guide text for when you mouseover the link
* filename and path - specify the location in which to save the file. Any "*" characters embedded in the filename or path are automatically replaced with the current tiddler title. If you omit the path, the current document directory is used. If you omit the filename, you will be automatically prompted to select a destination, using a system-specific "prompt for filename" dialog box.
%/<script label="$1" title="$2">
function promptForFilename(msg,path,file,defext)
{
if(window.Components) { // moz
try {
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
var nsIFilePicker = window.Components.interfaces.nsIFilePicker;
var picker = Components.classes['@mozilla.org/filepicker;1'].createInstance(nsIFilePicker);
picker.init(window, msg, nsIFilePicker.modeSave);
picker.displayDirectory=null;
picker.defaultExtension=defext;
picker.defaultString=file;
picker.appendFilters(nsIFilePicker.filterAll|nsIFilePicker.filterText|nsIFilePicker.filterHTML);
if (picker.show()!=nsIFilePicker.returnCancel) var result=picker.file.persistentDescriptor;
}
catch(e) { var result=prompt(msg,path+file); }
}
else { // IE
try { // XP only
var s = new ActiveXObject('UserAccounts.CommonDialog');
s.Filter='All files|*.*|Text files|*.txt|HTML files|*.htm;*.html|';
s.FilterIndex=1; // default to ALL files;
s.InitialDir=path;
s.FileName=file;
if (s.showOpen()) var result=s.FileName;
}
catch(e) { var result=prompt(msg,path+file); } // fallback for non-XP IE
}
return result;
}
var okmsg="Tiddler source written to %0";
var failmsg="An error occurred while creating %0";
var here=story.findContainingTiddler(place); if (!here) return;
var title=here.getAttribute('tiddler');
var tid=store.getTiddler(title);
var path=getLocalPath(document.location.href);
var slashpos=path.lastIndexOf("/"); if (slashpos==-1) slashpos=path.lastIndexOf("\\");
if (slashpos!=-1) path = path.substr(0,slashpos+1); // remove filename from path, leave the trailing slash
if ("$3"!="$"+"3") var fn="$3".replace(/\*/g,title); // custom filename with "*" marker to insert tiddlername
if ("$4"!="$"+"4") var path="$4".replace(/\*/g,title); // custom path with "*" marker to insert tiddlername
if ("$3"=="$"+"3") // not filename specified, ask user
var filename=promptForFilename("select an output filename for this tiddler",path,title,""); // ask
else
var filename=path+fn;
if (!filename || !filename.length) return false;
var ok=saveFile(filename,tid.text);
var msg=ok?okmsg:failmsg;
var link=ok?"file:///"+filename.replace(/\\/g,'/'):""; // change local path to link text
clearMessage();
displayMessage(msg.format([filename]),link);
return false;
</script><script>
place.lastChild.style.fontWeight="normal";
if ("$1"=="$"+"1") place.lastChild.innerHTML="save this tiddler to a file";
if ("$2"=="$"+"2") place.lastChild.title="save this tiddler's SOURCE text to a local file";
</script>
This script saves the complete contents, as if it was in edit mode, of a tab to a text file of your choosing.
Edit this tab to see the script.
{{textcenter{
----
<<saveChanges>><<closeAll>><<permaview>>
----
<<toggleTiddlersBar "" "" show>><<toggleToolyBars "" "" hide>>
----
<html><td><input class="btn" type="button" value="Refresh Window" onClick="location.reload()" onmouseover="this.className='btn btnhov'" onmouseout="this.className='btn'"/></td></html>
----
@@<<tiddler TspotSidebar>>@@
----
}}}
<<tiddler ToolTabs>>
!!!!!<<gradient horiz #fcb #fff>> [[Script]]>>
@@color:#C06;''» »'' @@ These are tabs containing ~JavaScript
----
<script>
// get all tiddlers tagged with "script"
var tids=store.getTaggedTiddlers("script");
// keep only tiddlers *also* tagged with ?
var list=[];
for (var t=0; t<tids.length; t++)
if (tids[t].isTagged("script")) list.push(tids[t]);
// create output list of tiddler titles, one per line
var out="";
for (var t=0; t<list.length; t++) out+="#[["+list[t].title+"]]\n";
return out;
</script>
!!!!!<<gradient horiz #fcb #fff>> Search Options>>
{{tablecenter table{
|bgcolor:#0cc;@@color:#000;'' /enter search/ ''@@|
|bgcolor(#E3FFE3):<<search>>|
|<<option chkSearchTitles>> Titles <<option chkSearchText>> Text <<option chkSearchTags>>Tags|
|<<option chkHoldSearches>> Hold <<option chkCaseSensitiveSearch>> ~CaseSensitive|
}}}
{{tablecenter table{
|<<option chkSearchTitles>> Titles <<option chkSearchText>> Text <<option chkSearchTags>>Tags<<option chkHoldSearches>> Hold |
}}}
/***
|''Name:''|SearchOptionsPlugin|
|''Source:''|http://www.TiddlyTools.com/#SearchOptionsPlugin|
|''Author:''|Eric Shulman - ELS Design Studios|
|''License:''|[[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|''~CoreVersion:''|2.0.10|
The TiddlyWiki search function normally looks in both tiddler titles and tiddler body content ('text'). However, narrowing the search so that it examines only titles or only text, or expanding the search to include text contained in tiddler tags can be very helpful, especially when searching on common words or phrases. In addition, it is often useful for the search results to show tiddlers with matching titles before tiddlers that contain matching text or tags.
!!!!!Usage
<<<
This plugin adds checkboxes (see below and in AdvancedOptions) to let you selectively configure the TiddlyWiki search function to just examine any combination of tiddler titles, text, or tags. It also provides an option to switch the search results order between 'titles mixed in' (default) and 'titles shown first', as well as an option display the search results as a list of links (in an auto-generated "SearchResults" tiddler), rather than actually displaying all matching tiddlers. You can also enable/disable the "incremental search" (key-by-key searching), so that a search is only initiated when you press the ENTER key or click on the "search:" prompt text.
<<<
!!!!!Configuration
<<<
In additional to the checkboxes in AdvancedOptions, a self-contained control panel is included here for your convenience:
<<option chkSearchTitles>> Search tiddler titles
<<option chkSearchText>> Search tiddler text
<<option chkSearchTags>> Search in tiddler tags
<<option chkSearchFields>> Search in tiddler data fields
<<option chkSearchShadows>> Search shadow tiddlers
<<option chkSearchTitlesFirst>> Show title matches first
<<option chkSearchList>> Show list of matching tiddlers
<<option chkSearchIncremental>> Incremental searching
<<<
!!!!!Installation
<<<
import (or copy/paste) the following tiddlers into your document:
''SearchOptionsPlugin'' (tagged with <<tag systemConfig>>)
^^documentation and javascript for SearchOptionsPlugin handling^^
When installed, this plugin automatically adds checkboxes in the AdvancedOptions shadow tiddler so you can enable/disable the extended search behavior. However, if you have customized your AdvancedOptions, you will need to manually add {{{<<option chkSearchTitles>>}}}, {{{<<option chkSearchText>>}}} and {{{<<option chkSearchTitlesFirst>>}}} (with suitable prompt text) to your customized tiddler.
<<<
!!!!!Revision History
<<<
''2007.01.17 [mgray]'' disabled 'no search on empty box' by adding Alert to doSearch() from older version.
''2006.10.10 [2.4.0]'' added support for "search in tiddler data" (tiddler.fields) Default is to search extended data.
''2006.04.06 [2.3.0]'' added support for "search in shadow tiddlers". Default is *not* to search in the shadows (i.e.standard TW behavior). Note: if a shadow tiddler has a 'real' counterpart, only the real tiddler is searched, since the shadow is inaccessible for viewing/editing.
''2006.02.03 [2.2.1]'' rewrite timeout clearing code and blank search text handling to match 2.0.4 core release changes. note that core no longer permits "blank=all" searches, so neither does this plugin. To search for all, use "." with text patterns enabled.
''2006.02.02 [2.2.0]'' in search.handler(), KeyHandler() function clears 'left over' timeout when search input is < 3 chars. Prevents searching on shorter text when shortened by rapid backspaces (<500msec)
''2006.02.01 [2.1.9]'' in Story.prototype.search(), correct inverted logic for using/not using regular expressions when searching
also, blank search text now presents "No search text. Continue anyway?" confirm() message box, so search on blank can still be processed if desired by user.
''2006.02.01 [2.1.8]'' in doSearch(), added alert/return if search text is blank
''2006.01.20 [2.1.7]'' fixed setting of config.macros.search.reportTitle so that Tweaks can override it.
''2006.01.19 [2.1.6]'' improved SearchResults formatting, added a "search again" form to the report (based on a suggestion from MorrisGray)
define results report title using config.macros.search.reportTitle instead of hard-coding the tiddler title
''2006.01.18 [2.1.5]'' Created separate functions for reportSearchResults(text,matches) and discardSearchResults(), so that other developers can create alternative report generators.
''2006.01.17 [2.1.4]'' Use regExp.search() instead of regExp.test() to scan for matches. Correctd the problem where only half the matching tiddlers (the odd-numbered ones) were being reported.
''2006.01.15 [2.1.3]'' Added information (date/time, username, search options used) to SearchResults output
''2006.01.10 [2.1.2]'' use displayTiddlers() to render matched tiddlers. This lets you display multiple matching tiddlers, even if SinglePageModePlugin is enabled.
''2006.01.08 [2.1.1]'' corrected invalid variable reference, "txt.value" to "text" in story.search()
''2006.01.08 [2.1.0]'' re-write to match new store.search(), store.search.handler() and story.search() functions.
''2005.12.30 [2.0.0]'' Upgraded to TW2.0
when rendering SearchResults tiddler, closeTiddler() first to ensure display is refreshed.
''2005.12.26 [1.4.0]'' added option to search for matching text in tiddler tags
''2005.12.21 [1.3.7]'' use \\ to 'escape' single quotes in tiddler titles when generating "Open all matching tiddlers" link. Also, added access key: "O", to trigger "open all" link.
Based on a suggestion by UdoBorkowski.
''2005.12.18 [1.3.6]'' call displayMessage() AFTER showing matching tiddlers so message is not cleared too soon
''2005.12.17 [1.3.5]'' if no matches found, just display message and delete any existing SearchResults tiddler.
''2005.12.17 [1.3.4]'' use {/%%/{/%%/{ and }/%%/}/%%/} to 'escape' display text in SearchResults tiddler to ensure that formatting contained in search string is not rendered
Based on a suggestion by UdoBorkowski.
''2005.12.14 [1.3.3]'' tag SearchResults tiddler with 'excludeSearch' so it won't list itself in subsequent searches
Based on a suggestion by UdoBorkowski.
''2005.12.14 [1.3.2]'' added "open all matching tiddlers..." link to search results output.
Based on a suggestion by UdoBorkowski.
''2005.12.10 [1.3.1]'' added "discard search results" link to end of search list tiddler output for quick self-removal of 'SearchResults' tiddler.
''2005.12.01 [1.3.0]'' added chkSearchIncremental to enable/disable 'incremental' searching (i.e., search after each keystroke) (default is ENABLED).
added handling for Enter key so it can be used to start a search.
Based on a suggestion by LyallPearce
''2005.11.25 [1.2.1]'' renamed from SearchTitleOrTextPlugin to SearchOptionsPlugin
''2005.11.25 [1.2.0]'' added chkSearchList option
Based on a suggestion by RodneyGomes
''2005.10.19 [1.1.0]'' added chkSearchTitlesFirst option.
Based on a suggestion by ChristianHauck
''2005.10.18 [1.0.0]'' Initial Release
Based on a suggestion by LyallPearce.
<<<
!!!!!Credits
<<<
This feature was developed by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]].
<<<
!!!!!Code
***/
//{{{
version.extensions.SearchTitleOrText = {major: 2, minor: 4, revision: 0, date: new Date(2006,10,12)};
//}}}
//{{{
if (config.options.chkSearchTitles==undefined) config.options.chkSearchTitles=true;
if (config.options.chkSearchText==undefined) config.options.chkSearchText=true;
if (config.options.chkSearchTags==undefined) config.options.chkSearchTags=true;
if (config.options.chkSearchFields==undefined) config.options.chkSearchFields=true;
if (config.options.chkSearchTitlesFirst==undefined) config.options.chkSearchTitlesFirst=false;
if (config.options.chkSearchList==undefined) config.options.chkSearchList=false;
if (config.options.chkSearchIncremental==undefined) config.options.chkSearchIncremental=false;
if (config.options.chkSearchShadows==undefined) config.options.chkSearchShadows=false;
config.shadowTiddlers.AdvancedOptions += "\n<<option chkSearchTitles>> Search in tiddler titles";
config.shadowTiddlers.AdvancedOptions += "\n<<option chkSearchText>> Search in tiddler text";
config.shadowTiddlers.AdvancedOptions += "\n<<option chkSearchTags>> Search in tiddler tags";
config.shadowTiddlers.AdvancedOptions += "\n<<option chkSearchFields>> Search in tiddler data fields";
config.shadowTiddlers.AdvancedOptions += "\n<<option chkSearchShadows>> Search in shadow tiddlers";
config.shadowTiddlers.AdvancedOptions += "\n<<option chkSearchTitlesFirst>> Search results show title matches first";
config.shadowTiddlers.AdvancedOptions += "\n<<option chkSearchList>> Search results show list of matching tiddlers";
config.shadowTiddlers.AdvancedOptions += "\n<<option chkSearchIncremental>> Incremental searching";
//}}}
//{{{
if (config.macros.search.reportTitle==undefined)
config.macros.search.reportTitle="SearchResults";
//}}}
//{{{
config.macros.search.handler = function(place,macroName,params)
{
var lastSearchText = "";
var searchTimeout = null;
var doSearch = function(txt)
{
if (!txt.value.length && !confirm("No search text. Continue anyway?")) { txt.focus(); return; }
{
story.search(txt.value,config.options.chkCaseSensitiveSearch,config.options.chkRegExpSearch);
lastSearchText = txt.value;
}
};
var clickHandler = function(e)
{
doSearch(this.nextSibling);
return false;
};
var keyHandler = function(e)
{
if (!e) var e = window.event;
switch(e.keyCode)
{
case 13: // ELS: handle enter key
doSearch(this);
break;
case 27:
this.value = "";
clearMessage();
break;
}
if (config.options.chkSearchIncremental)
{
if(this.value.length > 2)
{
if(this.value != lastSearchText)
{
if(searchTimeout) clearTimeout(searchTimeout);
var txt = this;
searchTimeout = setTimeout(function() {doSearch(txt);},500);
}
}
else
if(searchTimeout) clearTimeout(searchTimeout);
}
};
var focusHandler = function(e)
{
this.select();
};
var btn = createTiddlyButton(place,this.label,this.prompt,clickHandler);
var txt = createTiddlyElement(place,"input",null,null,null);
if(params[0])
txt.value = params[0];
txt.onkeyup = keyHandler;
txt.onfocus = focusHandler;
txt.setAttribute("size",this.sizeTextbox);
txt.setAttribute("accessKey",this.accessKey);
txt.setAttribute("autocomplete","off");
if(config.browser.isSafari)
{
txt.setAttribute("type","search");
txt.setAttribute("results","5");
}
else
txt.setAttribute("type","text");
}
//}}}
//{{{
Story.prototype.search = function(text,useCaseSensitive,useRegExp)
{
highlightHack = new RegExp(useRegExp ? text : text.escapeRegExp(),useCaseSensitive ? "mg" : "img");
var matches = store.search(highlightHack,"title","excludeSearch");
var q = useRegExp ? "/" : "'";
clearMessage();
if (!matches.length) {
if (config.options.chkSearchList) discardSearchResults();
displayMessage(config.macros.search.failureMsg.format([q+text+q]));
} else {
if (config.options.chkSearchList)
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;
}
//}}}
//{{{
TiddlyWiki.prototype.search = function(searchRegExp,sortField,excludeTag)
{
var candidates = this.reverseLookup("tags",excludeTag,false,sortField);
// scan for matching titles first...
var results = [];
if (config.options.chkSearchTitles) {
for(var t=0; t<candidates.length; t++)
if(candidates[t].title.search(searchRegExp)!=-1)
results.push(candidates[t]);
if (config.options.chkSearchShadows)
for (var t in config.shadowTiddlers)
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<candidates.length; t++) {
if (config.options.chkSearchText && candidates[t].text.search(searchRegExp)!=-1)
results.pushUnique(candidates[t]);
if (config.options.chkSearchTags && candidates[t].tags.join(" ").search(searchRegExp)!=-1)
results.pushUnique(candidates[t]);
if (config.options.chkSearchFields && store.forEachField!=undefined) // requires TW2.1 or above
store.forEachField(candidates[t],
function(tid,field,val) { if (val.search(searchRegExp)!=-1) results.pushUnique(candidates[t]); },
true); // extended fields only
}
// then check for matching text in shadows
if (config.options.chkSearchShadows)
for (var t in config.shadowTiddlers)
if ((config.shadowTiddlers[t].search(searchRegExp)!=-1) && !store.tiddlerExists(t))
results.pushUnique((new Tiddler()).assign(t,config.shadowTiddlers[t]));
// if not 'titles first', 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 (!config.options.chkSearchTitlesFirst) results.sort(bySortField);
return results;
}
//}}}
// // ''REPORT GENERATOR''
//{{{
if (!window.reportSearchResults) window.reportSearchResults=function(text,matches)
{
var title=config.macros.search.reportTitle
var q = config.options.chkRegExpSearch ? "/" : "'";
var body="\n";
// summary: nn tiddlers found matching '...', options used
body+="''"+config.macros.search.successMsg.format([matches.length,q+"{{{"+text+"}}}"+q])+"''\n";
body+="^^//searched in:// ";
body+=(config.options.chkSearchTitles?"''titles'' ":"");
body+=(config.options.chkSearchText?"''text'' ":"");
body+=(config.options.chkSearchTags?"''tags'' ":"");
body+=(config.options.chkSearchFields?"''fields'' ":"");
body+=(config.options.chkSearchShadows?"''shadows'' ":"");
if (config.options.chkCaseSensitiveSearch||config.options.chkRegExpSearch) {
body+=" //with options:// ";
body+=(config.options.chkCaseSensitiveSearch?"''case sensitive'' ":"");
body+=(config.options.chkRegExpSearch?"''text patterns'' ":"");
}
body+="^^";
// numbered list of links to matching tiddlers
body+="\n<<<";
for(var t=0;t<matches.length;t++) body+="\n# [["+matches[t].title+"]]";
body+="\n<<<\n";
// open all matches button
body+="<html><input type=\"button\" href=\"javascript:;\" ";
body+="onclick=\"story.displayTiddlers(null,["
for(var t=0;t<matches.length;t++)
body+="'"+matches[t].title.replace(/\'/mg,"\\'")+"'"+((t<matches.length-1)?", ":"");
body+="],1);\" ";
body+="accesskey=\"O\" ";
body+="value=\"open all matching tiddlers\"></html> ";
// discard search results button
body+="<html><input type=\"button\" href=\"javascript:;\" ";
body+="onclick=\"story.closeTiddler('"+title+"'); store.deleteTiddler('"+title+"'); store.notify('"+title+"',true);\" ";
body+="value=\"discard "+title+"\"></html>";
// search again
body+="\n\n----\n";
body+="<<search \""+text+"\">> ";
body+="<<option chkSearchTitles>>titles ";
body+="<<option chkSearchText>>text ";
body+="<<option chkSearchTags>>tags";
body+="<<option chkSearchFields>>fields";
body+="<<option chkSearchShadows>>shadows";
body+="<<option chkCaseSensitiveSearch>>case-sensitive ";
body+="<<option chkRegExpSearch>>text patterns";
// create/update the tiddler
var tiddler=store.getTiddler(title); if (!tiddler) tiddler=new Tiddler();
tiddler.set(title,body,config.options.txtUserName,(new Date()),"excludeLists excludeSearch");
store.addTiddler(tiddler); story.closeTiddler(title);
// use alternate "search again" label in <<search>> macro
var oldprompt=config.macros.search.label;
config.macros.search.label="search again";
// render/refresh tiddler
story.displayTiddler(null,title,1);
store.notify(title,true);
// restore standard search label
config.macros.search.label=oldprompt;
}
if (!window.discardSearchResults) window.discardSearchResults=function()
{
// remove the tiddler
story.closeTiddler(config.macros.search.reportTitle);
store.deleteTiddler(config.macros.search.reportTitle);
}
//}}}
{{textcenter{
[img[http://img135.imageshack.us/img135/9148/cooplogopb8.jpg]]<html><form id="searchbox_009953271955546518926:sihzqd-xyr0" action="http://www.google.com/cse" target="_blank"><input type="hidden" name="cx" value="009953271955546518926:sihzqd-xyr0" /><input name="q" type="text" size="40" value=" TiddlyWiki " /><input type="submit" name="sa" value="Search" /><input type="hidden" name="cof" value="FORID:0" /></form><script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=searchbox_009953271955546518926%3Asihzqd-xyr0"></script></html>
[img[http://img511.imageshack.us/img511/1281/poweredbyffffffqs2.gif]] ^^Custom Search^^
@@color:#999;~~Include the word ~TiddlyWiki in your search for best results~~@@
}}}
First, install this tiddler:
http://www.TiddlyTools.com/#SetTiddlerBackground
Next, create a tiddler called ~BackgroundColors containing:
{{{
<<tiddler SetTiddlerBackground with: #0C0 - onschedule tiddler>>
<<tiddler SetTiddlerBackground with: #FC0 - imminent tiddler>>
<<tiddler SetTiddlerBackground with: #F00 - pastdue tiddler>>
}}}
Then, modify your [[ViewTemplate]] and add:
{{{
<span macro="tiddler BackgroundColors" style="display:none"></span>
}}}
Finally, tag the desired tiddlers with "onschedule" or "imminent" or
"pastdue"
Source: http://tinyurl.com/6d5sue
This only changes the background of the contents of the tab; not the tab itself.
#container {
position: relative;
margin: 0 auto;
padding: 0;width: 770px;
text-align: left;
background: #F1EFE2 url(container-bg.gif) no-repeat 0px 185px;}
#detail-left
{position: absolute;
top: 185px;left: 0;
margin: 0;
padding: 0;
width: 10px;
height: 65px;
background: url(detail-left.gif) no-repeat;
}
#detail-right {
position: absolute;top:
185px;right: 0;
margin: 0;
padding: 0;
width: 10px;
height: 65px;
background: url(detail-right.gif) no-repeat;
}
<html><hide linebreaks>
<div class="container">
<div class="left" macro='tiddler SideBarOptions'></div>
<div class="content" macro='tiddler SideBarTabs'></div>
<div
<div class="footer" macro='tiddler ToolTabs'></div>
</html>
<html><div id="systemcontents">@@padding:0.6em;<<slider chkSliderSideBarTabs SideBarTabsSlider 'tabs »' 'tiddlers, timeline, all, tags, and more'>>@@</div></html>
<<tabs txtMainTab "Timeline" "Timeline" TabTimeline "All" "All tiddlers" TabAll "Tags" "All tags" TabTags "More" "More lists" TabMore>>
!!!!!<<gradient horiz #fcb #fff>> SidebarLinks^^<<tiddler CloseThisOpen with: {Index} '« back'>>|<<toolbar editTiddler>>» ^^>>
@@color:#C06;''» »'' @@ On thumb-drive
[[MySidebarProjects|file:///F:/TiddlyWiki2.3/SideBarProjects/MySidebarProjects/mysidebarprojects.html]]
[[SidebarProjectsTry|file:///F:/TiddlyWiki2.3/SideBarProjects/sidebarprojectsTry.html]]
[[SidebarProjects|file:///F:\TiddlyWiki2.3\SideBarProjects\MySidebarProjects\sidebarprojects.html]]
[[SidebarTiddlyVault|file:///F:/TiddlyWiki2.3/sidebarpluginvault/Workingsidebarpluginvault/sidebarpluginvault.html]]
----
@@color:#C06;''» »'' @@ Online
http://sidebarnotes.tiddlyspot.com/
http://sidebarpluginvault.tiddlyspot.com/
http://sidebarprojects.tiddlyspot.com/ password
http://sidebarrealestate.tiddlyspot.com/ password
http://sidebarscience.tiddlyspot.com/ password
<<tiddler CloseThisOpen with: {Index} '« back'>>
!!!!!<<gradient horiz #fcb #fff>> SidebarNews>>
*See [[instructions|Instructions]] how to load Sidebar Notes into your Firefox browser sidebar
*There is now a new discussion group dedicated to sidebar news. This includes all existing ~TiddlyWiki sidebars and those under development. Customized tiddlers to fit any sidebar is encouraged.
*This will allow ~TiddlyWiki non-programmers to participate in development of applications and share in the joy of making a contribution to the ~TiddlyWiki community. *Anyone in the ~TiddlyWiki community is invited to participate.
<<<
Join the discussion group here:[[SidebarNews|http://groups.google.com/group/sidebarnews?lnk=li]]
<<<
<<tiddler SidebarNotesUpdate>>
!!!!!<<gradient horiz #fcb #fff>> This could be your news $>>
Enquires: <<tiddler [[EmailTWHelp]]>>
This is ~SideBar Notes live update notification.
----
<html><iframe id="sidebarupdate" name="sidebarupdate" src="http://www.symbex.net.au/Wiki/SidebarLastUpdate.htm" frameborder="0" width="100%" height="100" marginheight="2px" marginwidth="2px"></iframe></html>
<html><ol><li><a href="javascript:void(0)" onclick="story.closeAllTiddlers();story.displayTiddlers(null,store.getTiddlerText('PageProjectList').readBracketedList())"><span title="Close all tiddlers and open Welcome" style="cursor:pointer">SidebarPageProject</span></a>{{grayLink{[[edit»|PageProjectList]]}}}</li></ol></html>
{{headline{''The pop star controversy; beauty and the scientist''}}}
{{headline{Listen to a live interview with Simon and Katie over the light hearted controversy about the science in the song.}}}
@@color:#c06;• @@''Listen to'' Simon Singh's criticism of Katie's song and the re-recorded version of the song here.(requires [[RealPlayer|http://tinyurl.com/62jewd]]) http://www.bbc.co.uk/radio4/today/listenagain/ram/today1_melua_20051015.ram
''It took me years to write my three bestselling books on'' cosmology, mathematics, and cryptography. Yet I am particularly proud of a 500-word article that I wrote last fall in less than an hour and of the hullabaloo that it caused. The consequences were bizarre: As far as I know I became the first ex-particle physicist to persuade a No.1-selling pop artist to re-record a song to make it more scientifically accurate.{{imgfloatright doubleborder{[img[http://img338.imageshack.us/img338/6824/katie20meluaxa5.jpg]]}}}
The artist was Katie Melua, Britain's answer to+++^[Norah Jones] <<tiddler NorahJones>>=== In October she had a top-five hit with a song entitled Nine Million Bicycles, which essentially said that it was a fact that there are nine million bicycles in Beijing. She went on to quote another fact, namely that she would always remain with her new found love. So far, so good.
However, in the second verse, Katie made a reference to cosmology that implied that the universe is 12 billion years old, whereas current estimates imply an age of 13.7 billion years. While this error annoyed me, the next line was even more irritating. She implied that scientists could only ever guess at the age of the universe, contrasting such guesswork with her own confidence in her blossoming long-term love.
I responded by writing an article for The Guardian newspaper in which I corrected the fact and tried to explain that the number is not a mere guess but rather a careful measurement. To some extent my article was tongue-in-cheek but I was also trying to make a serious point: Although much of cosmology seems fanciful and is indeed still speculative (for example, theories about wormholes and inflation), there are some aspects that are on much firmer ground, such as the age of the universe.{{imgfloatleft doubleborder{[img[http://img389.imageshack.us/img389/4489/singhhy6.jpg]]}}}
I thought that would be the end of the matter but I was wrong. Mike Batt, Katie Melua's co-writer, wrote a rebuttal in the same newspaper, light-heartedly defending his poetic license. Katie herself occasionally commented on my article when she was being interviewed on TV and radio about her new album. Eventually, the artist-versus-scientist controversy was featured in two other national newspapers, on a primetime quiz on BBC1, and in newspapers in Germany, Australia, and India.
The highlight of the whole two weeks came when Katie Melua offered to re-record the contentious verse according to some lyrics that I had composed for her. We met in a recording studio where she admitted that she was particularly embarrassed by the error in her song because she had been a member of the astronomy club at school. I admitted that I was embarrassed by my lyrics, which had sacrificed rhyme for reason. I had also sacrificed scansion and any notion of romanticism. Nevertheless, the result was played on Britain's biggest breakfast news radio show.
Thanks to my flippant spat with Katie, people who would never think of picking up my 500-page book on the big bang were getting a dose of cosmology. As a writer who wants to get people excited about science, the writing of the original article was probably the most productive hour of my career.
The original verse by Katie Melua in the original version of Nine Million Bicycles
We are 12 billion light years from the edge
That’s a guess
No one can ever say it’s true
But I know that I will always be with you.
The new, more scientifically accurate verse by Simon Singh
We are 13.7 billion light years from the edge of the observable universe
That’s a good estimate with well defined error bars
Scientists say it’s true, but acknowledge that it may be refined
And with the available information, I predict that I will always be with you.
Listen to the re-recorded version of the song at:
http://www.bbc.co.uk/radio4/today/listenagain/ram/today1_melua_20051015.ram
Source: [[symmetry - February 2006 - Essay: Simon Singh|http://symmetrymagazine.org/cms/?pid=1000266]]
a reusable non-linear personal web notebook
@@color:#0cc;font-size:2.5em;~SidebarRadio@@
<<gradient vert #eee #eee #eee #eee #abf>><html><span style="font-size:8pt;letter-spacing: 0.5em;font-weight:normal;padding-left:0.75em;color:#c06;">ABC Radio Online</span><div id="slantedmenu" padding:top:2em;white-space:nowrap;><span style='font-weight:normal;float:center;'><ul><li><a href="javascript:void(0)" onclick="story.closeAllTiddlers();story.displayTiddlers(null,store.getTiddlerText('DefaultTiddlers').readBracketedList())"><span title="Close all tiddlers and open Welcome" style="cursor:pointer">Home</span></a></li><li><span style="float:center;padding-left:0em;" title="Load this page in sidebar" style="cursor:help"><a href="#" target="_search">« Load</a></span></li><li><<toggleToolyBars "" "" show>></li><li><<toggleTiddlersBar "" "" show>></li><li><span title='Help on using SideSnips'>[[Help|Help]]</span></li><br><li><<search>></li><li><span style='align-center;'><<slider " " "SearchOptions" "search in" "choose from titles/text/tags"'>></span></li><br><li><span title='view all tabs listed by category'>[[View|ViewTabs]]</span></li><li><<newTiddler>></li><li><<saveChanges>></li><li><<tiddler NewObjectFromTemplate>></li><li><span title='save changes, save as, upload/download'>[[Tools|MoreTools]]</span></li></div></html>>>
/***
!!!<<gradient horiz #fc3 #fff >><<tiddler RefreshStyles>> SlantedStyle>>/%==================================================%/
***/
/*Credits: Dynamic Drive CSS Library */
/*URL: http://www.dynamicdrive.com/style/ */
#slantedmenu{
font-size: 95%;
border-bottom: solid 0px #00a;
border-top: solid 1px #00a;
}
#slantedmenu:after{ /*Add margin between menu and rest of content in Firefox*/
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
#slantedmenu ul{
text-indent: 10px;
padding: 7px 0;
margin: 0;
background-color: #ccc;
border: 0px solid #f6f;
text-align: center; /*set value to "center" for example to center items*/
}
#slantedmenu ul li{
display: inline;
}
#slantedmenu ul li a{
font-weight: bold;
color: #00a;
padding: 3px 0;
padding-right: 5px;
padding-left: 5px;
margin: 0;
text-decoration: none;
background: transparent url("") top right no-repeat;
}
#slantedmenu ul li a:hover{
color: #f00;
background:#fff;
}
<<slider " " "2RN-576AM" "Play Radio National 576AM" "2RN-576AM" >>
<<slider " " "2PB 630AM" "Play 2PB 630AM" "2PB 630AM" >>
<<slider " " "2BL 702AM" "Play 2BL 702AM" "2BL 702AM" >>
<<slider " " "ABC 92.9FM" "Play Classic 92.9FM" "ABC 92.9FM" >>
<<slider " " "RadioAustralia" "Play RadioAustralia" "RadioAustralia" >>
Actually, ~TiddlyVault is just using several of the TW core's standard
{{{<<slider>>}}} macros in the [[MainMenu]], with a little bit of extra CSS
applied via a "class wrapper" around each, like this:
{{{
{{tuduSlider{<<slider chkAppearance Appearance 'Appearance »'>>}}}
{{tuduSlider{<<slider chkNavigation Navigation 'Navigation »'>>}}}
{{tuduSlider{<<slider chkTools Tools 'Tools »'>>}}}
{{tuduSlider{<<slider chkWorkingWith WorkingWith 'Working with...
»'>>}}}
}}}
Where "tuduSlider" is a custom CSS class (defined in [[StyleSheet]]),
and the macro params are:
{{{<<slider cookiename tiddlername label tooltip>>}}}
This means that there are four separate tiddlers that define the
contents of the menu subsections: Appearance, Navigation
Tools, and ~WorkingWith, each of which contains a bullet list
of ~TiddlyLinks.
You can get a similar effect by importing:
http://www.TiddlyTools.com/#NestedSlidersPlugin
which will allow you to write the entire menu within the MainMenu
tiddler, without using separate tiddlers for each subsection, like
this:
{{{
+++(chkAppearance){{classname{[Appearance »]}}}
* bullet
* bullet
etc.
===
+++(chkNavigation){{classname{[Navigation »]}}}
* bullet
* bullet
etc.
===
+++(chkTools){{classname{[Tools »]}}}
* bullet
* bullet
etc.
===
+++(chkWorkingWith){{classname{[WorkingWith »]}}}
* bullet
* bullet
etc.
===
}}}
... and, you can also add a "*" into the ~NestedSliders usage, like
this:
{{{
+++(cookiename)!!!*{{classname{[label]}}}
* bullet
* bullet
etc.
===
}}}
which makes each slider "transient", so that only one slider is open
at a time (i.e., the 'accordion effect', and clicking elsewhere in the
document closes all subsections to automatically reduce clutter while
working.
There's several other convenient syntax options, including alternative
labels for opened vs. closed sliders and key assignments for quick alt-
shift-letter access. See
http://www.TiddlyTools.com/#NestedSlidersPluginInfo for complete details.}}}
e
enjoy,
Source: Tiddly Vault Menu - TiddlyWiki : Google Groups
<html><div align="center"> <object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/HTxdKi77G20&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/HTxdKi77G20&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></div></html>
<html><div align="center"> <object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/OMhgdZiuGbg&autoplay=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/OMhgdZiuGbg&autoplay=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></div></html>
{{borderless{
|vertical-align:bottom;<<toolbar fullscreen>><<toggleSideBar>>|<<tiddler NavButtons>>|vertical-align:bottom;[[Open in a new window|http://www.soutaraccountants.com.au]] »|
----
<html><div align="center"><iframe src ="http://www.soutaraccountants.com.au" width="100%" align="center" height="600" scrolling="auto" frameborder="0" allowtransparency style="border:none;"></iframe></div></html>}}}
/***
|''Name:''|SparklinePlugin|
|''Description:''|Sparklines macro|
***/
//{{{
if(!version.extensions.SparklinePlugin) {
version.extensions.SparklinePlugin = {installed:true};
//--
//-- Sparklines
//--
config.macros.sparkline = {};
config.macros.sparkline.handler = function(place,macroName,params)
{
var data = [];
var min = 0;
var max = 0;
var v;
for(var t=0; t<params.length; t++) {
v = parseInt(params[t]);
if(v < min)
min = v;
if(v > max)
max = v;
data.push(v);
}
if(data.length < 1)
return;
var box = createTiddlyElement(place,"span",null,"sparkline",String.fromCharCode(160));
box.title = data.join(",");
var w = box.offsetWidth;
var h = box.offsetHeight;
box.style.paddingRight = (data.length * 2 - w) + "px";
box.style.position = "relative";
for(var d=0; d<data.length; d++) {
var tick = document.createElement("img");
tick.border = 0;
tick.className = "sparktick";
tick.style.position = "absolute";
tick.src = "data:image/gif,GIF89a%01%00%01%00%91%FF%00%FF%FF%FF%00%00%00%C0%C0%C0%00%00%00!%F9%04%01%00%00%02%00%2C%00%00%00%00%01%00%01%00%40%02%02T%01%00%3B";
tick.style.left = d*2 + "px";
tick.style.width = "2px";
v = Math.floor(((data[d] - min)/(max-min)) * h);
tick.style.top = (h-v) + "px";
tick.style.height = v + "px";
box.appendChild(tick);
}
};
}
//}}}
<html><div align="center"> <object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/IYl0uLrXP7U&autoplay=1""></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/IYl0uLrXP7U&autoplay=1"" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></div></html>
!!!!!<<gradient horiz #fcb #fff>> Entities>>
<html><hide linebreaks><ul><li><a href="http://www.43folders.com/2005/01/19/mark-taw-on-procrastination/">Mark Taw on Procrastination</a> - Mark’s article gets to the core problems that cause people to get derailed, distracted, and perpetually off-target.</li></ul</html>
!!!!!<<gradient horiz #fcb #fff>> StepThree>>
<html><hide linebreaks><ul><li><a href="http://www.43folders.com/2005/04/25/choosing-a-daily-gtd-action-plan/">Choosing a daily GTD action plan</a> - Chris Murtland’s “revolving workflow strategies” for GTD are smart, realistic, and just might save you from a _fractal productivity spiral.</li></ul</html>
!!!!!<<gradient horiz #fcb #fff>> StepTwo>>
<html><hide linebreaks><ul><li><a href="http://www.43folders.com/2005/06/20/solid-tactics-for-understanding-and-beating-procrastination/">Solid tactics for understanding (and beating) procrastination</a></li><li><a href="http://thenowhabit.43folders.com/" title="Neil Fiore's 'The Now Habit' on the 43 Folders Store">Neil Fiore</a>-esque advice on unpacking why you’re procrastinating and rewiring the crummy thinking that supports it. </li></ul</html>
/***
!!!<<gradient horiz #FF8888 #ffffff >> ~StyleSheet>>/%==================================================%/
***/
/*{{{*/
.popup li a, .popup li a:visited {color:[[ColorPalette::Foreground]]; border: none;}
.popup li a, .popup li a:visited {color:#090; border: none;}
body {background:#fff;
font-size:0.75em;}
body {
background: url("http://img242.imageshack.us/img242/1641/blackspottedbglgll8.jpg") repeat top left;}
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;margin-bottom:0.12em;}
h1 {font-size:1.35em;}
h2 {font-size:1.25em;}
h3 {font-size:1.1em;}
h4 {font-size:1em;}
h5 {font-size:.9em;}
p.first-line
{
color: #ff0000;
font-variant: small-caps
}
.txtMainTab .tabContents #tiddlertimeline li {list-style:none;}
.popup li {list-style:none;}
.header {position:relative; height:60px;}
.header a:hover {background:transparent;}
/*.headerShadow {position: relative;padding: 0em 0em 0em 1em;left: 0px; top: 0px;}
.headerForeground {position:absolute;padding:0.0em 0em 1em 1em; left:0px; top:0px;}*/
.title {
color:#c06;
font-variant:small-caps;
font-size:1.4em;
font-weight:normal;
padding-top: 0em;
padding-left: 0.65em;
}
.editorFooter a {color:#f00;}
.editorFooter a:hover {color:#f00;background:#0cc;}
/*}}}*/
/***
!!!<<gradient horiz #FF8888 #ffffff >> Viewer>>/%==================================================%/
***/
/*{{{*/
.viewer {
padding-left: 0em;
padding-right: 0em;
padding-top: 0.0em;
}
.viewer a {
color:#04b;
background: transparent;
padding-left:2px;
padding-right:2px;
text-decoration:none;
}
.viewer a:hover {
background: #fff;
color: #f00;
}
.viewer hr {
border: 0px;
border-top: solid 1px #c06;
color: #c06;
}
.viewer .tabSelected {
font-size:0.95em;
font-weight:bold;
color:#000;
text-decoration:none;
background: #eef;
border: 1px 1px 0px 1px solid #999;
}
.viewer .tabUnselected {
font-size:0.95em;
font-weight:bold;
color:#008;
background:#adf;/% #f88;%/
text-decoration:none;
border:#000;
border-left: 1px solid #999;
border-top: 1px solid #999;
border-right: 1px solid #999;
}
.viewer .button {
border: 0px solid #fff;
color:#090;
}
.viewer th, .viewer thead td, .twtable th, .twtable thead td {background:#0cc;}
.viewer blockquote {
border-left: 1px solid #c06;
}
.viewer tr.oddRow { background-color: #eaeaea;}
.viewer tr.evenRow { background-color:#fff; }
.viewer {
background:#fff;
padding-left: 0.5em;
padding-right: 0.5em;
padding-top: 0.5em;
}
.button {
border: 0px solid #fff;
}
.textleft { display:block;text-align:left; }
.textleftM { display:block;text-align:left; margin:0;padding:0;border:0;margin-left:.95em; }
.textright { display:block;text-align:right; }
.textcenter { display:block;text-align:center; }
.textjustify { display:block;text-align:justify; }
.textindent { display:block;margin:0;padding:0;border:0;margin-left:2em; }
.whiteLink a { color: #fff;
font-weight:normal; }
.unboldlink a {font-weight:normal;}
.twLink a { color: #090;
font-weight:normal; }
.locLink a { color: #c06;
font-weight:normal; }
.remLink a { color: #c90;
font-weight:normal; }
.floatleft{ float:left; }
.floatright{ float:right; }
.firstletter{ float:left; width:0.40em; font-size:400%; font-family:times,arial; line-height:90%; }
#tiddlerTheBath img {
border: 5px double #999;
margin: 4px;}
.toolbar {
color: #fff;
}
.selected .toolbar a {
color: #000;
}
.selected .toolbar a:hover {
background: #ffd /*#ef9*/;
color: #F00;
}
/***
!!!<<gradient horiz #FF8888 #ffffff >> Nested Style Sheets>>/%==================================================%/
***/
/*}}}*/
[[ButtonStyle]]
[[CustomCSS]]
[[SlantedStyle]]
[[BackstageCSS]]
[[StyleSheetTiddlersBar]]
[[WebStyleSheet]]
[[CenterBoxCSS]]
[[WebPageTLCF]]
[[PageCSS]]
[[PresentCSS]]
[[SDCSS]]
[[HTMLStructureTwoColumnCSS]]
[[TabsCSS]]
/*{{{*/
/***
!!!<<gradient horiz #FF8888 #ffffff >> Nested Style Sheets>>/%==================================================%/
***/
#messageArea {
background-color: #abf;
border-color: #00a;
color:#FFF;
border-width: 4px;
border-style: dotted;
font-size: 90%;
padding: 0.5em;
margin-right:2em;
-moz-border-radius: 1em; }
#messageArea .button { text-decoration:none; font-weight:bold; background:transparent; border:0px; }
#messageArea .button:hover {background: #F00; }
#tiddlerDisplay {padding-right:0em; padding-left:0em;margin:auto;}
.header {display:none;}
#sidebar{display:none;}
#mainMenu{display:none;}
#contentWrapper {margin:0em 0em 0em 0em;padding:0em 0em 0em 0em;}
#displayArea {margin:0em 0em 0em -0.25em;padding:0em 0em 0em 0em;}
#tiddlerDisplay {margin:0em 0em 0em -0.25em;;padding:1em 0em 0em 0em;}
#tiddlersBar {margin:0em 0em 0em 0em;padding:0em 0em 0em 0em;}
.tiddler {margin:0em -2em 0em -2em;padding:0em 0em 0em 0em;}
.button {color: #009;}
.button:hover {color: #f00;background: #fff;}
.button:visited {color: #009;}
.button:active {color: #f00;}
a:visited {color: #009;}
.popup {
max-height:275px;
min-height:auto;
width: auto;
overflow: auto;
margin:auto;
-moz-border-radius : 0.65em 0.2em 0.2em 0.65em;
}
/*}}}*/
/*{{{*/
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]];}
#messageArea {border:1px solid [[ColorPalette::SecondaryMid]]; background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]];}
#messageArea .button {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::SecondaryPale]]; border:none;}
.popupTiddler {background:[[ColorPalette::TertiaryPale]]; border:2px solid [[ColorPalette::TertiaryMid]];}
.popup {background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]]; border-left:1px solid [[ColorPalette::TertiaryMid]]; border-top:1px solid [[ColorPalette::TertiaryMid]]; border-right:2px solid [[ColorPalette::TertiaryDark]]; border-bottom:2px solid [[ColorPalette::TertiaryDark]];}
.popup hr {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::PrimaryDark]]; border-bottom:1px;}
.popup li.disabled {color:[[ColorPalette::TertiaryMid]];}
.popup li a, .popup li a:visited {color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:active {background:[[ColorPalette::SecondaryPale]]; color:[[ColorPalette::Foreground]]; border: none;}
.popupHighlight {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
.listBreak div {border-bottom:1px solid [[ColorPalette::TertiaryDark]];}
.tiddler .defaultCommand {font-weight:bold;}
.shadow .title {color:[[ColorPalette::TertiaryDark]];}
.title {color:[[ColorPalette::SecondaryDark]];}
.subtitle {color:[[ColorPalette::TertiaryDark]];}
.toolbar {color:[[ColorPalette::PrimaryMid]];}
.toolbar a {color:[[ColorPalette::TertiaryLight]];}
.selected .toolbar a {color:[[ColorPalette::TertiaryMid]];}
.selected .toolbar a:hover {color:[[ColorPalette::Foreground]];}
.tagging, .tagged {border:1px solid [[ColorPalette::TertiaryPale]]; background-color:[[ColorPalette::TertiaryPale]];}
.selected .tagging, .selected .tagged {background-color:[[ColorPalette::TertiaryLight]]; border:1px solid [[ColorPalette::TertiaryMid]];}
.tagging .listTitle, .tagged .listTitle {color:[[ColorPalette::PrimaryDark]];}
.tagging .button, .tagged .button {border:none;}
.footer {color:[[ColorPalette::TertiaryLight]];}
.selected .footer {color:[[ColorPalette::TertiaryMid]];}
.sparkline {background:[[ColorPalette::PrimaryPale]]; border:0;}
.sparktick {background:[[ColorPalette::PrimaryDark]];}
.error, .errorButton {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Error]];}
.warning {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryPale]];}
.lowlight {background:[[ColorPalette::TertiaryLight]];}
.zoomer {background:none; color:[[ColorPalette::TertiaryMid]]; border:3px solid [[ColorPalette::TertiaryMid]];}
.imageLink, #displayArea .imageLink {background:transparent;}
.annotation {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border:2px solid [[ColorPalette::SecondaryMid]];}
.viewer .listTitle {list-style-type:none; margin-left:-2em;}
.viewer .button {border:1px solid [[ColorPalette::SecondaryMid]];}
.viewer blockquote {border-left:3px solid [[ColorPalette::TertiaryDark]];}
.viewer table, table.twtable {border:2px solid [[ColorPalette::TertiaryDark]];}
.viewer th, .viewer thead td, .twtable th, .twtable thead td {background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::Background]];}
.viewer td, .viewer tr, .twtable td, .twtable tr {border:1px solid [[ColorPalette::TertiaryDark]];}
.viewer pre {border:1px solid [[ColorPalette::SecondaryLight]]; background:[[ColorPalette::SecondaryPale]];}
.viewer code {color:[[ColorPalette::SecondaryDark]];}
.viewer hr {border:0; border-top:dashed 1px [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::TertiaryDark]];}
.highlight, .marked {background:[[ColorPalette::SecondaryLight]];}
.editor input {border:1px solid [[ColorPalette::PrimaryMid]];}
.editor textarea {border:1px solid [[ColorPalette::PrimaryMid]]; width:100%;}
.editorFooter {color:[[ColorPalette::TertiaryMid]];}
#backstageArea {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::TertiaryMid]];}
#backstageArea a {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstageArea a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; }
#backstageArea a.backstageSelTab {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
#backstageButton a {background:none; color:[[ColorPalette::Background]]; border:none;}
#backstageButton a:hover {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstagePanel {background:[[ColorPalette::Background]]; border-color: [[ColorPalette::Background]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]];}
.backstagePanelFooter .button {border:none; color:[[ColorPalette::Background]];}
.backstagePanelFooter .button:hover {color:[[ColorPalette::Foreground]];}
#backstageCloak {background:[[ColorPalette::Foreground]]; opacity:0.6; filter:'alpha(opacity:60)';}
/*}}}*/
/*{{{*/
* html .tiddler {height:1%;}
body {font-size:.75em; font-family:arial,helvetica; margin:0; padding:0;}
h1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;}
h1,h2,h3 {padding-bottom:1px; margin-top:1.2em;margin-bottom:0.3em;}
h4,h5,h6 {margin-top:1em;}
h1 {font-size:1.35em;}
h2 {font-size:1.25em;}
h3 {font-size:1.1em;}
h4 {font-size:1em;}
h5 {font-size:.9em;}
hr {height:1px;}
a {text-decoration:none;}
dt {font-weight:bold;}
ol {list-style-type:decimal;}
ol ol {list-style-type:lower-alpha;}
ol ol ol {list-style-type:lower-roman;}
ol ol ol ol {list-style-type:decimal;}
ol ol ol ol ol {list-style-type:lower-alpha;}
ol ol ol ol ol ol {list-style-type:lower-roman;}
ol ol ol ol ol ol ol {list-style-type:decimal;}
.txtOptionInput {width:11em;}
#contentWrapper .chkOptionInput {border:0;}
.externalLink {text-decoration:underline;}
.indent {margin-left:3em;}
.outdent {margin-left:3em; text-indent:-3em;}
code.escaped {white-space:nowrap;}
.tiddlyLinkExisting {font-weight:bold;}
.tiddlyLinkNonExisting {font-style:italic;}
/* the 'a' is required for IE, otherwise it renders the whole tiddler in bold */
a.tiddlyLinkNonExisting.shadow {font-weight:bold;}
#mainMenu .tiddlyLinkExisting,
#mainMenu .tiddlyLinkNonExisting,
#sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;}
#sidebarTabs .tiddlyLinkExisting {font-weight:bold; font-style:normal;}
.header {position:relative;}
.header a:hover {background:transparent;}
.headerShadow {position:relative; padding:4.5em 0em 1em 1em; left:-1px; top:-1px;}
.headerForeground {position:absolute; padding:4.5em 0em 1em 1em; left:0px; top:0px;}
.siteTitle {font-size:3em;}
.siteSubtitle {font-size:1.2em;}
#mainMenu {position:absolute; left:0; width:10em; text-align:right; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;}
#sidebar {position:absolute; right:3px; width:16em; font-size:.9em;}
#sidebarOptions {padding-top:0.3em;}
#sidebarOptions a {margin:0em 0.2em; padding:0.2em 0.3em; display:block;}
#sidebarOptions input {margin:0.4em 0.5em;}
#sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;}
#sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;}
#sidebarOptions .sliderPanel input {margin:0 0 .3em 0;}
#sidebarTabs .tabContents {width:15em; overflow:hidden;}
.wizard {padding:0.1em 1em 0em 2em;}
.wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0em 0em 0em 0em; margin:0.4em 0em 0.2em 0em;}
.wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0em 0em 0em 0em; margin:0.4em 0em 0.2em 0em;}
.wizardStep {padding:1em 1em 1em 1em;}
.wizard .button {margin:0.5em 0em 0em 0em; font-size:1.2em;}
.wizardFooter {padding:0.8em 0.4em 0.8em 0em;}
.wizardFooter .status {padding:0em 0.4em 0em 0.4em; margin-left:1em;}
.wizard .button {padding:0.1em 0.2em 0.1em 0.2em;}
#messageArea {position:fixed; top:2em; right:0em; margin:0.5em; padding:0.5em; z-index:2000; _position:absolute;}
.messageToolbar {display:block; text-align:right; padding:0.2em 0.2em 0.2em 0.2em;}
#messageArea a {text-decoration:underline;}
.tiddlerPopupButton {padding:0.2em 0.2em 0.2em 0.2em;}
.popupTiddler {position: absolute; z-index:300; padding:1em 1em 1em 1em; margin:0;}
.popup {position:absolute; z-index:300; font-size:.9em; padding:0; list-style:none; margin:0;}
.popup .popupMessage {padding:0.4em;}
.popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0em;}
.popup li.disabled {padding:0.4em;}
.popup li a {display:block; padding:0.4em; font-weight:normal; cursor:pointer;}
.listBreak {font-size:1px; line-height:1px;}
.listBreak div {margin:2px 0;}
.tabset {padding:1em 0em 0em 0.5em;}
.tab {margin:0em 0em 0em 0.25em; padding:2px;}
.tabContents {padding:0.5em;}
.tabContents ul, .tabContents ol {margin:0; padding:0;}
.txtMainTab .tabContents li {list-style:none;}
.tabContents li.listLink { margin-left:.75em;}
#contentWrapper {display:block;}
#splashScreen {display:none;}
#displayArea {margin:1em 17em 0em 14em;}
.toolbar {text-align:right; font-size:.9em;}
.tiddler {padding:1em 1em 0em 1em;}
.missing .viewer,.missing .title {font-style:italic;}
.title {font-size:1.6em; font-weight:bold;}
.missing .subtitle {display:none;}
.subtitle {font-size:1.1em;}
.tiddler .button {padding:0.2em 0.4em;}
.tagging {margin:0.5em 0.5em 0.5em 0; float:left; display:none;}
.isTag .tagging {display:block;}
.tagged {margin:0.5em; float:right;}
.tagging, .tagged {font-size:0.9em; padding:0.25em;}
.tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;}
.tagClear {clear:both;}
.footer {font-size:.9em;}
.footer li {display:inline;}
.annotation {padding:0.5em; margin:0.5em;}
* html .viewer pre {width:99%; padding:0 0 1em 0;}
.viewer {line-height:1.4em; padding-top:0.5em;}
.viewer .button {margin:0em 0.25em; padding:0em 0.25em;}
.viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;}
.viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;}
.viewer table, table.twtable {border-collapse:collapse; margin:0.8em 1.0em;}
.viewer th, .viewer td, .viewer tr,.viewer caption,.twtable th, .twtable td, .twtable tr,.twtable caption {padding:3px;}
table.listView {font-size:0.85em; margin:0.8em 1.0em;}
table.listView th, table.listView td, table.listView tr {padding:0px 3px 0px 3px;}
.viewer pre {padding:0.5em; margin-left:0.5em; font-size:1.2em; line-height:1.4em; overflow:auto;}
.viewer code {font-size:1.2em; line-height:1.4em;}
.editor {font-size:1.1em;}
.editor input, .editor textarea {display:block; width:100%; font:inherit;}
.editorFooter {padding:0.25em 0em; font-size:.9em;}
.editorFooter .button {padding-top:0px; padding-bottom:0px;}
.fieldsetFix {border:0; padding:0; margin:1px 0px 1px 0px;}
.sparkline {line-height:1em;}
.sparktick {outline:0;}
.zoomer {font-size:1.1em; position:absolute; overflow:hidden;}
.zoomer div {padding:1em;}
* html #backstage {width:99%;}
* html #backstageArea {width:99%;}
#backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em 0.3em 0.5em;}
#backstageToolbar {position:relative;}
#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em 0.3em 0.5em;}
#backstageButton {display:none; position:absolute; z-index:175; top:0em; right:0em;}
#backstageButton a {padding:0.1em 0.4em 0.1em 0.4em; margin:0.1em 0.1em 0.1em 0.1em;}
#backstage {position:relative; width:100%; z-index:50;}
#backstagePanel {display:none; z-index:100; position:absolute; margin:0em 3em 0em 3em; padding:1em 1em 1em 1em;}
.backstagePanelFooter {padding-top:0.2em; float:right;}
.backstagePanelFooter a {padding:0.2em 0.4em 0.2em 0.4em;}
#backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}
.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
/*}}}*/
/***
!!!<<gradient horiz #fc3 #fff >><<tiddler RefreshStyles>> StyleSheetTiddlersBar>>/%==================================================%/
***/
#tiddlersBar .button {border:1px; color:#000;}
#tiddlersBar .tab {white-space:nowrap;}
#tiddlersBar {padding : 0.75em 0.5em 0.05em 1.0em;margin-left:0em;margin-right:0em}
#tiddlersBar {margin-bottom:0px;}
.tabSelected .button:hover {font-size:0.75em;font-weight:bold;color: #f00;background: #fff;padding : 0px 0px 0px 2px;}
.tabUnselected .button:hover {font-size:0.75em;color: #f00;background: #fff; padding : 0px 0px 0px 2px;}
.tabUnselected .button {font-size:0.75em;font-weight:bold;color: #066; padding : 0px 0px 0px 2px;}
.tabSelected .button {font-size:0.75em;font-weight:bold;color: #333;padding : 0px 0px 0px 2px;}
.tabUnselected {
background:url("http://img520.imageshack.us/img520/8688/mainmenugray7ef.gif") repeat-x top left;top left;
background-color:#eee;
border:1px #eee solid; border-bottom:0px;font-size:0.95em; }
.tabSelected {
background:url("http://img258.imageshack.us/img258/8210/selectedbuttonbggi0.gif") repeat-x top left;top left;
background-color:#fcb;
color: #a00;border: 1px #c06 solid;border-bottom:0px; font-size:0.95em;}
.tabUnselected .tabButton {font-weight:bold;font-size:0.75em;color:#333;background:transparent; padding : 0px 2px 0px 2px; margin: 0 0 0 1px;}
.tabSelected .tabButton {font-weight:bold;font-size:0.75em;color:#000;background:transparent;padding : 0px 2px 0px 2px; margin: 0 0 0 1px;}
.tabSelected .tabButton:hover {font-weight:bold;color: #f00;background: #fff;}
.tabUnselected .tabButton:hover {font-weight:bold;color: #f00;background: #fff;}
.tiddler, .tabContents {border-top:0px #fa0 solid;margin-left:0.5em;margin-right:0.5em;}
#tiddlersBar .tab {-moz-border-radius : 0.4em 0.4em 0 0;}
#tiddlersBar {background: url("http://img168.imageshack.us/img168/1254/leftbackdo6.gif"); background-repeat: repeat;line-height: 1.45em;}
.tiddlerDisplay {margin-top:2.0em;margin-right:1em;}
/%#tiddlersBar {background:#abf;line-height: 1.45em;}%/
!!!!!<<gradient horiz #fcb #fff>> [[Styling]]>>
@@color:#C06;''» »'' @@ Tabs containing CSS styling code (controls layout and visual style)
----
<script>
// get all tiddlers tagged with "css"
var tids=store.getTaggedTiddlers("css");
// keep only tiddlers *also* tagged with New
var list=[];
for (var t=0; t<tids.length; t++)
if (tids[t].isTagged("css")) list.push(tids[t]);
// create output list of tiddler titles, one per line
var out="";
for (var t=0; t<list.length; t++) out+="#[["+list[t].title+"]]\n";
return out;
</script>
!!!<<gradient horiz #fcb #ffffff>>[[Sun]]^^<<tiddler CloseThisOpen with: MiniPlanner '« back'>><<toolbar editTiddler>>» ^^>>
Got no plans for next Sunday, got no plans for today. I've had nothing but sorrow since you've been away
{{twocolumns{
''Suzanne takes you down to her place near the river''
You can hear the boats go by
You can spend the night beside her
And you know that she’s half crazy
But that’s why you want to be there
And she feeds you tea and oranges
That come all the way from China
And just when you mean to tell her
That you have no love to give her
Then she gets you on her wavelength
And she lets the river answer
That you’ve always been her lover
And you want to travel with her
And you want to travel blind
And you know that she will trust you
For you’ve touched her perfect body with your mind.
''And Jesus was a sailor''
When he walked upon the water
And he spent a long time watching
From his lonely wooden tower
And when he knew for certain
Only drowning men could see him
He said "All men will be sailors then
Until the sea shall free them"
But he himself was broken
Long before the sky would open
Forsaken, almost human
He sank beneath your wisdom like a stone
And you want to travel with him
And you want to travel blind
And you think maybe you’ll trust him
For he’s touched your perfect body with his mind.
''Now Suzanne takes your hand''
And she leads you to the river
She is wearing rags and feathers
From Salvation Army counters
And the sun pours down like honey
On our lady of the harbour
And she shows you where to look
Among the garbage and the flowers
There are heroes in the seaweed
There are children in the morning
They are leaning out for love
And they will lean that way forever
While Suzanne holds the mirror
And you want to travel with her
And you want to travel blind
And you know that you can trust her
For she’s touched your perfect body with her mind.
}}}
@@color:#C06;''» »'' @@ Tabs with reserved names (can be 'over-written' with Tabs of the same name making the originals silent; but, they remain unchanged in the core code)
----
{{threecolumns{
<<list shadowed>>
}}}
+++[TWGroups more...]}}}
<<<
[[TiddlyWiki|http://groups.google.com/group/TiddlyWiki?lnk=li]]
[[TiddlyWikiDiv|http://groups.google.com/group/TiddlyWikiDev?lnk=li]]
[[TiddlyWikiDocs|http://groups.google.com/group/tiddlywikidocs?lnk=li]]
<<<
===
!!!!!<<gradient horiz #fcb #fff>> TWHelp>>
doubleborder
<html><div style="float:right;"><a href="http://twhelp.tiddlyspot.com/" target="_blank"><span style="doubleborder;"><img src="http://img413.imageshack.us/img413/8916/twhelpio4.png" border="1" style="height: 120px;"/></a></span></div></html>
TW Help is an advanced beginners reference site on TiddlyWiki and its inter-workings and hidden mechanisms.
It takes a page down approach drilling down from the completed page to through each level of construction. It has working examples and the code for each. It also has lots of hints and kinks and snippets of hard to find scripts, macros and how they are used. Some of the Hints are unstructured adding a sense of discovery to the experience.
|>|bgcolor(#8af):@@color(#000080):''3 tiddlers found matching /{{{twocolumns}}}/''@@|bgcolor(#8af): @@color(#A00000): SearchHelp@@ |
|>|>|bgcolor(#E3FFE3):<<search>> <<option chkSearchTitles>> Titles <<option chkSearchText>> Text <<option chkSearchTags>>Tags <<option chkHoldSearches>> Hold |
| |bgcolor(#8af): @@color(#000080):sort by: ''Titles''@@ |bgcolor(#8af): @@color(#000080): ''Size'' (bytes)@@ |bgcolor(#8af): @@color(#000080): ''Tags''@@ |h
| 1|[[Chopin Ballade No. 1 to 4]]| 1862|@@object,chopin@@|
| 2|[[CustomCSS]]| 9245|@@css,system@@|
| 3|[[Suzanne_by_Leonard_Cohen]]| 1679|@@lyrics@@|
!!!!!<<gradient horiz #fcb #fff>> This could be your news $>>
Enquires: <<tiddler [[EmailTWHelp]]>>
Go visit our first advertiser @@color:#C06;''» »'' @@[[TW Help|http://twhelp.tiddlyspot.com]]
----
<html><iframe id="updatewindow" name="updatewindow" src="http://www.symbex.net.au/Wiki/LastUpdate.htm" frameborder="0" width="100%" height="100" marginheight="2px" marginwidth="2px"></iframe></html>
!!!<<gradient horiz #fcb #ffffff>>TWKeyStrokes ^^<<tiddler CloseThisOpen with: KeyStrokes '« back'>>|<<toolbar editTiddler>>» ^^>>
''CTRL ENTER''
Closes and accepts changes to the current tiddler being edited.
|NOTE:Check your EditTemplate and make sure there are no plus signs (+) in front of any command preceding +saveTiddler when using ~Ctrl-Enter |
''ESCAPE''
Closes and discards changes to the current tiddler being edited.
!!!!Cut, Copy, and Paste
''CTRL X''
Cut the selected text to the clipboard
''CTRL C''
Copy the selected text to the clipboard
''CTRL V''
Paste the clipboard to the current cursor position
!!!!Undo and Redo
''CTRL Z''
Undo the last editing command
''CTRL Y''
Redo the last undo command
----
Source: [[Tid-Help - a primer for tiddlywiki|http://tidhelp.tiddlyspot.com/]]
!!!!!<<gradient horiz #fcb #fff>> TWSites>>
<html><div id="systemcontents">
[[Master TiddlyWiki Site|http://tiddlywiki.com/]]<br>{{gray9{Jeremy Ruston's Official TW Information Source}}}<br>
[[TiddlyWiki Discussion Group|http://groups.google.com/group/TiddlyWiki/topics]] <br>{{gray9{~TiddlyWiki Discussion Group}}}<br>
[[TiddlyWiki Developers Group|http://groups.google.com/group/TiddlyWikiDev/]] <br>{{gray9{~TiddlyWiki Developers Discussion Group}}}<br>
[[Sidebar Discussion Group|http://groups.google.com/group/sidebarnews]] <br> {{gray9{A discussion group for Sidebar topics and Applications}}}<br>
[[Public Wiki Help Site|http://www.tiddlywiki.org/]] <br>{{gray9{ Go add your knowledge.}}}<br>
[[TiddlyVault|http://tiddlyvault.tiddlyspot.com/]]<br>{{gray9{ A directory of all known plugins}}}<br>
----
[[TiddlyWiki for the rest of us |http://www.giffmex.org/twfortherestofus.html]]<br>{{gray9{~TiddlyWiki tutorial
Some other Giffmex, themes and applications.<br>[[Journal|http://www.giffmex.org/organizertw.html]]
[[My Notes|http://www.giffmex.org/emptynotestw.html]]
[[TW Showcase|http://giffmex.tiddlyspot.com/]]
[[TiddlyDu|http://www.giffmex.org/tiddlydu.html]]
[[Plugin (vault ) Directory|http://tiddlyvault.tiddlyspot.com/]]
[[Web View Example|http://www.giffmex.org/webviewtwexample.html]]
----
[[A PowerPoint presentation on TiddlyWiki|http://www.giffmex.org/tiddlywikipowerpoint.ppt]] <br>{{gray9{ By Dave Gifford (7mb)}}}<br>
[[TiddlerToddler|http://tiddlertoddler.tiddlyspot.com/]] <br>{{gray9{ an absolute beginner's guide to ~TiddlyWiki}}}<br>
[[Wiki On A Stick|http://uniforum.chi.il.us/slides/TiddlyWiki.html]]
[[VisualTW|http://visualtw.ouvaton.org/VisualTW.html]] <br>{{gray9{ Wysiwyg plugin <br>{{gray9{ Encrypted fields plugin}}}<br>
[[TiddlyWiki Guides|http://tiddlywikiguides.org/]] <br>{{gray9{Welcome to the (unofficial) ~TiddlyWiki Guides}}}<br>
[[TiddlyWikiTips|http://tiddlywikitips.com/]] <br>{{gray9{~TiddlyWikiTips.com is run by Jim Barr }}}<br>
[[TiddlyWikiTutorial|http://www.blogjones.com/TiddlyWikiTutorial.html]] <br>{{gray9{Learn the Basics of ~TiddlyWiki}}}<br>
[[TiddlySpot|http://tiddlyspot.com/]] <br>{{gray9{Free Tiddlywikis and Hosting}}}<br>
[[TiddlySpotFAQ|http://twfaq.tiddlyspot.com/]] <br>{{gray9{Questions and Answers}}}<br>
[[TiddlyThemes|http://tiddlythemes.com/Home]]<br>{{gray9{ A gallery of ~TiddlyWiki themes }}}<br>
[[TiddlyThemes-Rin|http://tiddlythemes.com/empties/Rin.html]]<br>{{gray9{ A Most Popular Theme [[Clint Checkett's Blog|http://blog.checkettsweb.com/]]}}}<br>
[[TiddlyTools|http://tiddlytools.com/]] <br>{{gray9{Extensive collection of fabulous Plugins and much more}}}<br>
[[TiddlyWiki Org|http://www.tiddlywiki.org/]] <br>
+++[Read more...]
{{gray9{The purpose of ~TiddlyWiki.org is to support the community that has grown up around ~TiddlyWiki with the infrastructure needed to share in its development while maintaining and improving quality. ~TiddlyWiki.org also hosts projects related to ~TiddlyWiki such as ~ZiddlyWiki (a serverside implementation of ~TiddlyWiki) and ~TiddlySnip (a Firefox extension that enhances ~TiddlyWiki).}}}
===
[[Tid-Help|http://tidhelp.tiddlyspot.com/]] <br>{{gray9{ Help/Tutorial}}}<br>
[[Knightnet|http://knighjm.googlepages.com/knightnet-default-tw.html]] <br>{{gray9{Knightnet Default ~TiddlyWiki TW the way I like it - plus my Plugins}}}<br>
[[Using TiddlyWiki|http://en.wikibooks.org/wiki/Using_TiddlyWiki]] <br>{{gray9{From Wikibooks, the open-content textbooks collection}}}<br>
[[TW Help|http://twhelp.tiddlyspot.com/]] <br>{{gray9{A ~TiddlyWiki help site for beginners <br> TW Help Alt.http://tinyurl.com/3x3p4d}}}<br>
Martin's Wiki|http://www.martinswiki.com/]] <br>{{gray9{ ~Cross-Wiki Formatting plugins}}}<br>
http://svn.tiddlywiki.org/Trunk/
http://svn.tiddlywiki.org/Trunk/contributors/
http://trac.tiddlywiki.org/browser/Trunk
</div></html>
<script>
if (!window.story) window.story=window;
var title=story.findContainingTiddler(place).id.substr(7);
return title+" is using "+store.getTiddlerText(title).length+" bytes";
</script>
.viewer .tabSelected {
background:url("http://img258.imageshack.us/img258/8210/selectedbuttonbggi0.gif") repeat-x top left;top left;
background-color:#fcb;
font-size:0.95em;
font-weight:bold;
color:#a00;
text-decoration:none;
border: 1px1px 0px 1px solid #999;
-moz-border-radius : 0.4em 0.4em 0 0;
}
.viewer .tabUnselected {
background:url("http://img520.imageshack.us/img520/8688/mainmenugray7ef.gif") repeat-x top left;top left;
background-color:#eee;
font-size:0.95em;
font-weight:bold;
color:#008;
text-decoration:none;
border:#000;
border-left: 1px solid #999;
border-top: 1px solid #999;
border-right: 1px solid #999;
-moz-border-radius : 0.4em 0.4em 0 0;
}
.viewer .tabContents {
background: #fef;
border-top: 1px solid #999;
border-right: 0px solid #999;
border-bottom: 0px solid #999;
border-left: 0px solid #999;
}
@@color:#C06;''» »'' @@ ''Click on the tabs above to view''
----
*''AllTabs'' @@color:#C06;''» »'' @@ All tabs in alphabetical order
*''[[History]]'' @@color:#C06;''» »'' @@ Tabs with history of activity in reverse date order
* [[SystemTabs]] @@color:#C06;''» »'' @@ Tabs with reserved names (can be 'on top' appended but not changed)
*[[Programs]] @@color:#C06;''» »'' @@ Tabs containing programs written in ~JavaScript (if tagged as systemConfig begin running a startup.)
*[[Styling]] @@color:#C06;''» »'' @@ Tabs containing CSS styling code (controls layout and visual style)
*ExcludedFromSearches @@color:#C06;''» »'' @@ Tabs not required (or desired) in searches
*ExcludedFromLists @@color:#C06;''» »'' @@ Tabs not required (or desired) in lists
/***
|Name|TaggedTemplateTweak|
|Source|http://www.TiddlyTools.com/#TaggedTemplateTweak|
|Documentation|http://www.TiddlyTools.com/#TaggedTemplateTweakInfo|
|Version|1.2.0|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides|Story.prototype.chooseTemplateForTiddler()|
|Description|use alternative ViewTemplate/EditTemplate for tiddler's tagged with specific tag values|
This tweak extends story.chooseTemplateForTiddler() so that ''whenever a tiddler is marked with a specific tag value, it can be viewed and/or edited using alternatives to the standard tiddler templates.''
!!!!!Documentation
>see [[TaggedTemplateTweakInfo]]
!!!!!Revisions
<<<
2008.04.01 [1.2.0] added support for using systemTheme section-based template definitions (requested by Phil Hawksworth)
2008.01.22 [*.*.*] plugin size reduction - documentation moved to [[TaggedTemplateTweakInfo]]
2007.06.23 [1.1.0] re-written to use automatic 'tag prefix' search instead of hard coded check for each tag. Allows new custom tags to be used without requiring code changes to this plugin.
| please see [[TaggedTemplateTweakInfo]] for previous revision details |
2007.06.11 [1.0.0] initial release
<<<
!!!!!Code
***/
//{{{
version.extensions.taggedTemplate= {major: 1, minor: 2, revision: 0, date: new Date(2008,4,1)};
Story.prototype.taggedTemplate_chooseTemplateForTiddler = Story.prototype.chooseTemplateForTiddler
Story.prototype.chooseTemplateForTiddler = function(title,template)
{
// get default template from core
var template=this.taggedTemplate_chooseTemplateForTiddler.apply(this,arguments);
// if the tiddler to be rendered doesn't exist yet, just return core result
var tiddler=store.getTiddler(title); if (!tiddler) return template;
// look for template whose prefix matches a tag on this tiddler
for (i=0; i<tiddler.tags.length; i++) {
var t=tiddler.tags[i]+template; // add tag prefix
var c=t.substr(0,1).toUpperCase()+t.substr(1); // capitalized for WikiWord title
var s=config.options.txtTheme+"##"; // systemTheme section prefix
if (store.tiddlerExists(t)) { template=t; break; }
if (store.tiddlerExists(c)) { template=c; break; }
if (store.getTiddlerText(s+t)) { template=s+t; break; }
if (store.getTiddlerText(s+c)) { template=s+c; break; }
}
return template;
}
//}}}
{{threecolumns{
<<tiddler TabTags>>
}}}
{{borderless{<html><hide linebreaks>
<div><table cellpadding="0" cellspacing="0"><TR VALIGN="MIDDLE"><TD style="background-image: url(http://beemp3.com/player/corner-topleft2.gif);background-repeat: repeat;font-family: Arial, Helvetica, sans-serif;font-size: 12px;vertical-align: bottom;"></td><TD style="background-image: url(http://beemp3.com/player/bkgnd-top2.gif);background-repeat: repeat;font-family: Arial, Helvetica, sans-serif;font-size: 12px;vertical-align: middle;"> Billy Murray - That's Worth While Waiting For (1920) (label Error, Says Paul Biese - Harem Life) .mp3</td><TD style="background-image: url(http://beemp3.com/player/corner-topright2.gif);background-repeat: repeat;font-family: Arial, Helvetica, sans-serif;font-size: 12px;vertical-align: bottom;"></td></TR><TR VALIGN="MIDDLE"><TD WIDTH="16" style="width: 16px;background-image:url(http://beemp3.com/player/left-ltrow2.gif);"/> </TD><TD style="background-image: url(http://beemp3.com/player/light2.gif);background-repeat: repeat;font-family: Arial, Helvetica, sans-serif;font-size: 11px;vertical-align: bottom;"><embed class="beeplayer" wmode="transparent" style="height:24px;width:290px;" src="http://beemp3.com/player/player.swf" quality="high" bgcolor="#ffffff" width="290" height="24" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="playerID=1&bg=0xCDDFF3&leftbg=0x357DCE&lefticon=0xF2F2F2&rightbg=0x64F051&rightbghover=0x1BAD07&righticon=0xF2F2F2&righticonhover=0xFFFFFF&text=0x357DCE&slider=0x357DCE&track=0xFFFFFF&border=0xFFFFFF&loader=0xAF2910&soundFile=http%3A//www.archive.org/download/BillyMurray_part4/BillyMurray-ThatsWorthWhileWaitingFor1920labelErrorSaysPaulBiese-HaremLife.mp3%0A%0A"></embed> <img style="padding:0;border:0;vertical-align:bottom" src="http://beemp3.com/player/logo_small.gif"/> </td><TD WIDTH="16" style="width: 16px;background-image:url(http://beemp3.com/player/right-ltrow2.gif);"/></TD></TR><TR><TD WIDTH="16"><IMG style="padding:0;border:0;" SRC="http://beemp3.com/player/corner-bottomleft2.gif"></TD><TD style="background-image: url(http://beemp3.com/player/bkgnd-bottom2.gif);background-repeat: repeat-x;font-family: Arial, Helvetica, sans-serif;font-size: 11px;vertical-align: top;text-align: center;padding:0;border: 0;margin:0;">Found at <a href="http://beemp3.com/download.php?file=169217&song=That%27s+Worth+While+Waiting+For+%281920%29+%28label+Error%2C+Says+Paul+Biese+-+Harem+Life%29">bee mp3 search engine</a></TD><TD WIDTH="16"><IMG style="padding:0;border:0;" SRC="http://beemp3.com/player/corner-bottomright2.gif"></TD></TR></table></div>
</html>}}}
<script>
if (!window.story) window.story=window;
var url=store.getTiddlerText("SiteUrl");
var title=story.findContainingTiddler(place).id.substr(7);
var permalink=encodeURIComponent(String.encodeTiddlyLink(title));
return "[img[Right click to Bookmark or Copy this tiddler Location|http://img117.imageshack.us/img117/6453/socialbookmarkiconcb4.gif]["+url+"#"+permalink+"]]";
</script>
!!!<<gradient horiz #fcb #ffffff>>[[Thu]]^^<<tiddler CloseThisOpen with: MiniPlanner '« back'>><<toolbar editTiddler>>» ^^>>
* Holiday cards and family correspondence - Goal: 5 minutes or 2 notes. Grab a pen and start making with the nice. Tell them about Tyler’s big day at Computer Camp. Brag about Ashley-Marie’s jazz and tap recital. When you’ve hit two finished cards, stop.
/***
|''Name:''|TiddlerNotesPlugin|
|''Description:''|Add notes to tiddlers without modifying the original content|
|''Author:''|Saq Imtiaz ( lewcid@gmail.com )|
|''Source:''|http://tw.lewcid.org/#TiddlerNotesPlugin|
|''Code Repository:''|http://tw.lewcid.org/svn/plugins|
|''Version:''|2.1|
|''Date:''|26/10/07|
|''License:''|[[Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]]|
|''~CoreVersion:''|2.2.3|
!!Concept:
*The TiddlerNotesPlugin allows you to add notes to tiddlers, without needing to edit the original tiddler. This means that your original content will remain unaltered, and if you update it in the future, you won’t lose your notes. Notes are stored in separate tiddlers, but can be viewed and edited from within the original tiddler.
*For a tiddler titled "~MySlide", the notes are by default saved in a tiddler titled "~MySlide-Notes" and is given a tag of "Notes". The suffix and tags of the notes tiddlers are customizable. You can have one or multiple notes per tiddlers. So it is possible to have for example, teacher's notes and student's notes in the same file.
*Notes can be configured to start off blank, or pre-filled with the contents of the original tiddler.
!!Usage:
*{{{<<notes>>}}} is the simplest usage form.
* additional optional parameters include:
**{{{heading:}}} the heading to use for the notes box
**{{{tag:}}} the tag to be given to the notes tiddler
**{{{suffix:}}} the suffix to be used when naming the notes tiddler
* a full macro call could look like: {{{<<notes heading:"My Notes" tag:"NoteTiddlers" suffix:"Comments">>}}}
* To avoid adding {{{<<notes>>}}} to each tiddler you want notes for, you could add the macro call to the ViewTemplate
** below the line {{{<div class='viewer' macro='view text wikified'></div>}}} add the following line: <br> {{{<div class='viewer' macro='notes'></div>}}}
** Used in combination with the ~HideWhenPlugin or ~PublisherPlugin, you could have notes be shown only for tiddlers with specific tags. The ~PublisherPlugin would allow you for instance to only have the ~TeachersNotes visible to the teacher, and the ~StudentsNotes for the same tiddler visible to the Student.
!!Configuration
*<<option chkPrefillNotes>> Enable to pre-fill notes with the original tiddler's contents
!!Demo:
* [[MySlide]]
***/
// /%
//!BEGIN-PLUGIN-CODE
if (!config.options.chkPrefillNotes)
config.options.chkPrefillNotes = false;
function createTiddlyElement(theParent,theElement,theID,theClass,theText,attribs)
{
var e = document.createElement(theElement);
if(theClass != null)
e.className = theClass;
if(theID != null)
e.setAttribute("id",theID);
if(theText != null)
e.appendChild(document.createTextNode(theText));
if(attribs){
for(var n in attribs){
e.setAttribute(n,attribs[n]);
}
}
if(theParent != null)
theParent.appendChild(e);
return e;
}
function createTiddlyButton(theParent,theText,theTooltip,theAction,theClass,theId,theAccessKey,attribs)
{
var theButton = document.createElement("a");
if(theAction) {
theButton.onclick = theAction;
theButton.setAttribute("href","javascript:;");
}
if(theTooltip)
theButton.setAttribute("title",theTooltip);
if(theText)
theButton.appendChild(document.createTextNode(theText));
if(theClass)
theButton.className = theClass;
else
theButton.className = "button";
if(theId)
theButton.id = theId;
if(attribs){
for(var n in attribs){
e.setAttribute(n,attribs[n]);
}
}
if(theParent)
theParent.appendChild(theButton);
if(theAccessKey)
theButton.setAttribute("accessKey",theAccessKey);
return theButton;
}
config.macros.notes={
cancelWarning: "Are you sure you want to abandon changes to your notes for '%0'?",
editLabel: "edit notes",
editTitle: "double click to edit",
saveLabel: "save notes",
saveTitle: "double click to save",
cancelLabel: "cancel",
heading: "Notes",
suffix: "Notes",
tag: "Notes",
saveNotes: function(ev){
e = ev? ev : window.event;
var theTarget = resolveTarget(e);
if (theTarget.nodeName.toLowerCase() == "textarea")
return false;
var title = story.findContainingTiddler(theTarget).getAttribute("tiddler");
story.setDirty(title,false);
var box = document.getElementById("notesContainer"+title);
var textarea = document.getElementById("notesTextArea"+title);
if(textarea.getAttribute("oldText")!=textarea.value && !hasClass(theTarget,"cancelNotesButton")){
var suffix = box.getAttribute("suffix");
var t = store.getTiddler(title+"-"+suffix);
store.saveTiddler(title+"-"+suffix,title+"-"+suffix,textarea.value,config.options.txtUserName,new Date(),t?t.tags:box.getAttribute("tag"),t?t.fields:{});
}
story.refreshTiddler(title,1,true);
autoSaveChanges(true);
return false;
},
editNotes: function(box,tiddler){
removeChildren(box);
story.setDirty(tiddler,true);
box.title = this.saveTitle;
box.ondblclick = this.saveNotes;
createTiddlyButton(box,this.cancelLabel,this.cancelLabel,this.saveNotes,"cancelNotesButton");
createTiddlyButton(box,this.saveLabel,this.saveLabel,this.saveNotes,"saveNotesButton");
wikify("!!"+box.getAttribute("heading")+"\n",box);
addClass(box,"editor");
var wrapper1 = createTiddlyElement(null,"fieldset",null,"fieldsetFix");
var wrapper2 = createTiddlyElement(wrapper1,"div");
var e = createTiddlyElement(wrapper2,"textarea","notesTextArea"+tiddler);
var v = store.getValue(tiddler+"-"+box.getAttribute("suffix"),"text");
if(!v)
v = config.options.chkPrefillNotes? store.getValue(tiddler,"text"):'';
e.value = v;
e.setAttribute("oldText",v);
var rows = 10;
var lines = v.match(/\n/mg);
var maxLines = Math.max(parseInt(config.options.txtMaxEditRows),5);
if(lines != null && lines.length > rows)
rows = lines.length + 5;
rows = Math.min(rows,maxLines);
e.setAttribute("rows",rows);
box.appendChild(wrapper1);
},
editNotesButtonOnclick: function(e){
var title = story.findContainingTiddler(this).getAttribute("tiddler");
var box = document.getElementById("notesContainer"+title);
config.macros.notes.editNotes(box,title);
return false;
},
ondblclick : function(ev){
e = ev? ev : window.event;
var theTarget = resolveTarget(e);
var title = story.findContainingTiddler(theTarget).getAttribute("tiddler");
var box = document.getElementById("notesContainer"+title);
config.macros.notes.editNotes(box,title);
e.cancelBubble = true;
if(e.stopPropagation) e.stopPropagation();
return false;
},
handler : function(place,macroName,params,wikifier,paramString,tiddler){
params = paramString.parseParams("anon",null,true,false,false);
var heading = getParam(params,"heading",this.heading);
var tag = getParam(params,"tag",this.tag);
var suffix = getParam(params,"suffix",this.suffix);
var box = createTiddlyElement(place,"div","notesContainer"+tiddler.title,"TiddlerNotes",null,{"source":tiddler.title,params:paramString,heading:heading,tag:tag,suffix:suffix});
createTiddlyButton(box,this.editLabel,this.editLabel,this.editNotesButtonOnclick,"editNotesButton");
wikify("!!"+heading+"\n",box);
box.title=this.editTitle;
box.ondblclick = this.ondblclick;
wikify("<<tiddler [["+tiddler.title+"-"+suffix+"]]>>",box);
}
};
Story.prototype.old_notes_closeTiddler = Story.prototype.closeTiddler;
Story.prototype.closeTiddler = function(title,animate,unused){
if(story.isDirty(title)) {
if(!confirm(config.macros.notes.cancelWarning.format([title])))
return false;
}
return this.old_notes_closeTiddler.apply(this,arguments);
}
setStylesheet(".TiddlerNotes {\n"+ " background:#eee;\n"+ " border:1px solid #ccc;\n"+ " padding:3px;\n"+ " margin:15px;\n"+ "}\n"+ "\n"+ ".cancelNotesButton,.editNotesButton, .saveNotesButton {\n"+ " float:right;\n"+ " border:1px solid #ccc;\n"+ " padding:2px 5px;\n"+ "}\n"+ "\n"+ ".saveNotesButton{\n"+ " margin-right:0.5em;\n"+ "}\n"+ "\n"+ ".TiddlerNotes.editor textarea{\n"+ " border:1px solid #ccc;\n"+ "}","NotesPluginStyles");
//!END-PLUGIN-CODE
// %/
/***
|''Name:''|TiddlersBarPlugin|
|''Description:''|A bar to switch between tiddlers through tabs (like browser tabs bar).|
|''Version:''|1.2.5|
|''Date:''|Jan 18,2008|
|''Source:''|http://visualtw.ouvaton.org/VisualTW.html|
|''Author:''|Pascal Collin|
|''License:''|[[BSD open source license|License]]|
|''~CoreVersion:''|2.1.0|
|''Browser:''|Firefox 2.0; InternetExplorer 6.0, others|
!Demos
On [[homepage|http://visualtw.ouvaton.org/VisualTW.html]], open several tiddlers to use the tabs bar.
!Installation
#import this tiddler from [[homepage|http://visualtw.ouvaton.org/VisualTW.html]] (tagged as systemConfig)
#save and reload
#''if you're using a custom [[PageTemplate]]'', add {{{<div id='tiddlersBar' refresh='none' ondblclick='config.macros.tiddlersBar.onTiddlersBarAction(event)'></div>}}} before {{{<div id='tiddlerDisplay'></div>}}}
#optionally, adjust StyleSheetTiddlersBar
!Tips
*Doubleclick on the tiddlers bar (where there is no tab) create a new tiddler.
*Tabs include a button to close {{{x}}} or save {{{!}}} their tiddler.
*By default, click on the current tab close all others tiddlers.
!Configuration options
<<option chkDisableTabsBar>> Disable the tabs bar (to print, by example).
<<option chkHideTabsBarWhenSingleTab >> Automatically hide the tabs bar when only one tiddler is displayed.
<<option txtSelectedTiddlerTabButton>> ''selected'' tab command button.
<<option txtPreviousTabKey>> previous tab access key.
<<option txtNextTabKey>> next tab access key.
!Code
***/
//{{{
config.options.chkDisableTabsBar = config.options.chkDisableTabsBar ? config.options.chkDisableTabsBar : false;
config.options.chkHideTabsBarWhenSingleTab = config.options.chkHideTabsBarWhenSingleTab ? config.options.chkHideTabsBarWhenSingleTab : false;
config.options.txtSelectedTiddlerTabButton = config.options.txtSelectedTiddlerTabButton ? config.options.txtSelectedTiddlerTabButton : "jump";
config.options.txtPreviousTabKey = config.options.txtPreviousTabKey ? config.options.txtPreviousTabKey : "";
config.options.txtNextTabKey = config.options.txtNextTabKey ? config.options.txtNextTabKey : "";
config.macros.tiddlersBar = {
tooltip : "see ",
tooltipClose : "click here to close this tab",
tooltipSave : "click here to save this tab",
promptRename : "Enter tiddler new name",
currentTiddler : "",
previousState : false,
previousKey : config.options.txtPreviousTabKey,
nextKey : config.options.txtNextTabKey,
tabsAnimationSource : null, //use document.getElementById("tiddlerDisplay") if you need animation on tab switching.
handler: function(place,macroName,params) {
var previous = null;
if (config.macros.tiddlersBar.isShown())
story.forEachTiddler(function(title,e){
if (title==config.macros.tiddlersBar.currentTiddler){
var d = createTiddlyElement(null,"span",null,"tab tabSelected");
config.macros.tiddlersBar.createActiveTabButton(d,title);
if (previous && config.macros.tiddlersBar.previousKey) previous.setAttribute("accessKey",config.macros.tiddlersBar.nextKey);
previous = "active";
}
else {
var d = createTiddlyElement(place,"span",null,"tab tabUnselected");
var btn = createTiddlyButton(d,title,config.macros.tiddlersBar.tooltip + title,config.macros.tiddlersBar.onSelectTab);
btn.setAttribute("tiddler", title);
if (previous=="active" && config.macros.tiddlersBar.nextKey) btn.setAttribute("accessKey",config.macros.tiddlersBar.previousKey);
previous=btn;
}
var isDirty =story.isDirty(title);
var c = createTiddlyButton(d,isDirty ?"!":"x",isDirty?config.macros.tiddlersBar.tooltipSave:config.macros.tiddlersBar.tooltipClose, isDirty ? config.macros.tiddlersBar.onTabSave : config.macros.tiddlersBar.onTabClose,"tabButton");
c.setAttribute("tiddler", title);
if (place.childNodes) {
place.insertBefore(document.createTextNode(" "),place.firstChild); // to allow break line here when many tiddlers are open
place.insertBefore(d,place.firstChild);
}
else place.appendChild(d);
})
},
refresh: function(place,params){
removeChildren(place);
config.macros.tiddlersBar.handler(place,"tiddlersBar",params);
if (config.macros.tiddlersBar.previousState!=config.macros.tiddlersBar.isShown()) {
story.refreshAllTiddlers();
if (config.macros.tiddlersBar.previousState) story.forEachTiddler(function(t,e){e.style.display="";});
config.macros.tiddlersBar.previousState = !config.macros.tiddlersBar.previousState;
}
},
isShown : function(){
if (config.options.chkDisableTabsBar) return false;
if (!config.options.chkHideTabsBarWhenSingleTab) return true;
var cpt=0;
story.forEachTiddler(function(){cpt++});
return (cpt>1);
},
selectNextTab : function(){ //used when the current tab is closed (to select another tab)
var previous="";
story.forEachTiddler(function(title){
if (!config.macros.tiddlersBar.currentTiddler) {
story.displayTiddler(null,title);
return;
}
if (title==config.macros.tiddlersBar.currentTiddler) {
if (previous) {
story.displayTiddler(null,previous);
return;
}
else config.macros.tiddlersBar.currentTiddler=""; // so next tab will be selected
}
else previous=title;
});
},
onSelectTab : function(e){
var t = this.getAttribute("tiddler");
if (t) story.displayTiddler(null,t);
return false;
},
onTabClose : function(e){
var t = this.getAttribute("tiddler");
if (t) {
if(story.hasChanges(t) && !readOnly) {
if(!confirm(config.commands.cancelTiddler.warning.format([t])))
return false;
}
story.closeTiddler(t);
}
return false;
},
onTabSave : function(e) {
var t = this.getAttribute("tiddler");
if (!e) e=window.event;
if (t) config.commands.saveTiddler.handler(e,null,t);
return false;
},
onSelectedTabButtonClick : function(event,src,title) {
var t = this.getAttribute("tiddler");
if (!event) event=window.event;
if (t && config.options.txtSelectedTiddlerTabButton && config.commands[config.options.txtSelectedTiddlerTabButton])
config.commands[config.options.txtSelectedTiddlerTabButton].handler(event, src, t);
return false;
},
onTiddlersBarAction: function(event) {
var source = event.target ? event.target.id : event.srcElement.id; // FF uses target and IE uses srcElement;
if (source=="tiddlersBar") story.displayTiddler(null,'New Tiddler',DEFAULT_EDIT_TEMPLATE,false,null,null);
},
createActiveTabButton : function(place,title) {
if (config.options.txtSelectedTiddlerTabButton && config.commands[config.options.txtSelectedTiddlerTabButton]) {
var btn = createTiddlyButton(place, title, config.commands[config.options.txtSelectedTiddlerTabButton].tooltip ,config.macros.tiddlersBar.onSelectedTabButtonClick);
btn.setAttribute("tiddler", title);
}
else
createTiddlyText(place,title);
}
}
story.coreCloseTiddler = story.coreCloseTiddler? story.coreCloseTiddler : story.closeTiddler;
story.coreDisplayTiddler = story.coreDisplayTiddler ? story.coreDisplayTiddler : story.displayTiddler;
story.closeTiddler = function(title,animate,unused) {
if (title==config.macros.tiddlersBar.currentTiddler)
config.macros.tiddlersBar.selectNextTab();
story.coreCloseTiddler(title,false,unused); //disable animation to get it closed before calling tiddlersBar.refresh
var e=document.getElementById("tiddlersBar");
if (e) config.macros.tiddlersBar.refresh(e,null);
}
story.displayTiddler = function(srcElement,tiddler,template,animate,unused,customFields,toggle){
story.coreDisplayTiddler(config.macros.tiddlersBar.tabsAnimationSource,tiddler,template,animate,unused,customFields,toggle);
var title = (tiddler instanceof Tiddler)? tiddler.title : tiddler;
if (config.macros.tiddlersBar.isShown()) {
story.forEachTiddler(function(t,e){
if (t!=title) e.style.display="none";
else e.style.display="";
})
config.macros.tiddlersBar.currentTiddler=title;
}
var e=document.getElementById("tiddlersBar");
if (e) config.macros.tiddlersBar.refresh(e,null);
}
var coreRefreshPageTemplate = coreRefreshPageTemplate ? coreRefreshPageTemplate : refreshPageTemplate;
refreshPageTemplate = function(title) {
coreRefreshPageTemplate(title);
if (config.macros.tiddlersBar) config.macros.tiddlersBar.refresh(document.getElementById("tiddlersBar"));
}
ensureVisible=function (e) {return 0} //disable bottom scrolling (not useful now)
config.shadowTiddlers.StyleSheetTiddlersBar = "/*{{{*/\n";
config.shadowTiddlers.StyleSheetTiddlersBar += "#tiddlersBar .button {border:0}\n";
config.shadowTiddlers.StyleSheetTiddlersBar += "#tiddlersBar .tab {white-space:nowrap}\n";
config.shadowTiddlers.StyleSheetTiddlersBar += "#tiddlersBar {padding : 1em 0.5em 2px 0.5em}\n";
config.shadowTiddlers.StyleSheetTiddlersBar += ".tabUnselected .tabButton, .tabSelected .tabButton {padding : 0 2px 0 2px; margin: 0 0 0 4px;}\n";
config.shadowTiddlers.StyleSheetTiddlersBar += ".tiddler, .tabContents {border:1px [[ColorPalette::TertiaryPale]] solid;}\n";
config.shadowTiddlers.StyleSheetTiddlersBar +="/*}}}*/";
store.addNotification("StyleSheetTiddlersBar", refreshStyles);
config.refreshers.none = function(){return true;}
config.shadowTiddlers.PageTemplate=config.shadowTiddlers.PageTemplate.replace(/<div id='tiddlerDisplay'><\/div>/m,"<div id='tiddlersBar' refresh='none' ondblclick='config.macros.tiddlersBar.onTiddlersBarAction(event)'></div>\n<div id='tiddlerDisplay'></div>");
//}}}
[[SidebarNews|http://groups.google.com/group/sidebarnews?lnk=li]]
[[TiddlyWiki|http://groups.google.com/group/TiddlyWiki?lnk=li]]
[[TiddlyWikiDiv|http://groups.google.com/group/TiddlyWikiDev?lnk=li]]
[[TiddlyWikiDocs|http://groups.google.com/group/tiddlywikidocs?lnk=li]]
/***
|Name|ToggleToolyBarsMacro|
|Created by|SaqImtiaz|
|Location|http://tw.lewcid.org/|
|Version|1.0|
|Requires|~TW2.x|
!Description:
{{c06{Modified by Morris Gray to toggle the Toolbars (don't ask about the name:(}}}
Provides a button for toggling visibility of the ToolyBars. You can choose whether the ToolyBars should initially be hidden or displayed.
!Demo
<<toggleToolyBars "Toggle Sidebar">>
!Usage:
{{{<<toggleToolyBars>>}}} <<toggleToolyBars>>
additional options:
{{{<<toggleToolyBars label tooltip show/hide>>}}} where:
label = custom label for the button,
tooltip = custom tooltip for the button,
show/hide = use one or the other, determines whether the sidebar is shown at first or not.
(default is to show the sidebar)
You can add it to your tiddler toolbar, your MainMenu, or where you like really.
If you are using a horizontal MainMenu and want the button to be right aligned, put the following in your StyleSheet:
{{{ .HideToolyBarsButton {float:right;} }}}
!History
*23-07-06: version 1.0: completely rewritten, now works with custom stylesheets too, and easier to customize start behaviour.
*20-07-06: version 0.11
*27-04-06: version 0.1: working.
!Code
***/
//{{{
config.macros.toggleToolyBars={};
config.macros.toggleToolyBars.settings={
styleHide : ".title, .toolbar { display: none;}\n"+"#contentWrapper #displayArea { margin-right: 0em !important;}}\n"+"",
styleShow : " ",
arrow1: "Edit ",
arrow2: "Editing"
};
config.macros.toggleToolyBars.handler=function (place,macroName,params,wikifier,paramString,tiddler)
{
var tooltip= params[1]||'toggle hidden toolbars and tiddler title';
var mode = (params[2] && params[2]=="hide")? "hide":"show";
var arrow = (mode == "hide")? this.settings.arrow1:this.settings.arrow2;
var label= (params[0]&¶ms[0]!='.')?params[0]+" "+arrow:arrow;
var theBtn = createTiddlyButton(place,label,tooltip,this.onToggleToolyBars,"button HideToolyBarsButton");
if (mode == "hide")
{
(document.getElementById("sidebar")).setAttribute("toggle","hide");
setStylesheet(this.settings.styleHide,"ToggleToolyBarsStyles");
}
};
config.macros.toggleToolyBars.onToggleToolyBars = function(){
var sidebar = document.getElementById("sidebar");
var settings = config.macros.toggleToolyBars.settings;
if (sidebar.getAttribute("toggle")=='hide')
{
setStylesheet(settings.styleShow,"ToggleToolyBarsStyles");
sidebar.setAttribute("toggle","show");
this.firstChild.data= (this.firstChild.data).replace(settings.arrow1,settings.arrow2);
}
else
{
setStylesheet(settings.styleHide,"ToggleToolyBarsStyles");
sidebar.setAttribute("toggle","hide");
this.firstChild.data= (this.firstChild.data).replace(settings.arrow2,settings.arrow1);
}
return false;
}
setStylesheet(".HideToolyBarsButton .button {font-weight:bold; padding: 0 5px;}\n","ToggleToolyBarsButtonStyles");
//}}}
/***
|Name|ToggleFooterMacro|
|Original Created by|SaqImtiaz|
|Location|http://tw.lewcid.org/|
|Version|1.0|
|Requires|~TW2.x|
!Description:
{{c06{Modified by Morris Gray to toggle the Footer in Sidebar Notes}}}
Provides a button for toggling visibility of the Footer. You can choose whether the Footer should initially be hidden or displayed.
!Demo
<<toggleFooter "Toggle Footer">>
!Usage:
{{{<<toggleFooter>>}}} <<toggleFooter>>
additional options:
{{{<<toggleFooter label tooltip show/hide>>}}} where:
label = custom label for the button,
tooltip = custom tooltip for the button,
show/hide = use one or the other, determines whether the sidebar is shown at first or not.
(default is to show the sidebar)
You can add it to your tiddler toolbar, your MainMenu, or where you like really.
If you are using a horizontal MainMenu and want the button to be right aligned, put the following in your StyleSheet:
{{{ .HideFooterButton {float:right;} }}}
!History
*23-07-06: version 1.0: completely rewritten, now works with custom stylesheets too, and easier to customize start behaviour.
*20-07-06: version 0.11
*27-04-06: version 0.1: working.
!Code
***/
//{{{
config.macros.toggleFooter={};
config.macros.toggleFooter.settings={
styleHide : ".title, #ftr { display: none;}\n"+"#contentWrapper #displayArea { margin-right: 0em !important;}}\n"+"",
styleShow : " ",
arrow1: "toggle footer",
arrow2: "toggle footer"
};
config.macros.toggleFooter.handler=function (place,macroName,params,wikifier,paramString,tiddler)
{
var tooltip= params[1]||'toggle hidden toolbars and tiddler title';
var mode = (params[2] && params[2]=="hide")? "hide":"show";
var arrow = (mode == "hide")? this.settings.arrow1:this.settings.arrow2;
var label= (params[0]&¶ms[0]!='.')?params[0]+" "+arrow:arrow;
var theBtn = createTiddlyButton(place,label,tooltip,this.onToggleFooter,"button HideFooterButton");
if (mode == "hide")
{
(document.getElementById("sidebar")).setAttribute("toggle","hide");
setStylesheet(this.settings.styleHide,"ToggleFooterStyles");
}
};
config.macros.toggleFooter.onToggleFooter = function(){
var sidebar = document.getElementById("sidebar");
var settings = config.macros.toggleFooter.settings;
if (sidebar.getAttribute("toggle")=='hide')
{
setStylesheet(settings.styleShow,"ToggleFooterStyles");
sidebar.setAttribute("toggle","show");
this.firstChild.data= (this.firstChild.data).replace(settings.arrow1,settings.arrow2);
}
else
{
setStylesheet(settings.styleHide,"ToggleFooterStyles");
sidebar.setAttribute("toggle","hide");
this.firstChild.data= (this.firstChild.data).replace(settings.arrow2,settings.arrow1);
}
return false;
}
setStylesheet(".HideFooterButton .button {font-weight:bold; padding: 0 5px;}\n","ToggleFooterButtonStyles");
//}}}
/***
|Name|ToggleslantedmenuMacro|
|Created by|SaqImtiaz|
|Location|http://tw.lewcid.org/|
|Version|1.0|
|Requires|~TW2.x|
!Description:
{{c06{Modified by Morris Gray to toggle the Menu/Search etc. hidden/visible}}}
Provides a button for toggling visibility of the slantedmenu. You can choose whether the slantedmenu should initially be hidden or displayed.
!Demo
<<toggleslantedmenu "Toggle Sidebar">>
!Usage:
{{{<<toggleslantedmenu>>}}} <<toggleslantedmenu>>
additional options:
{{{<<toggleslantedmenu label tooltip show/hide>>}}} where:
label = custom label for the button,
tooltip = custom tooltip for the button,
show/hide = use one or the other, determines whether the sidebar is shown at first or not.
(default is to show the sidebar)
You can add it to your tiddler toolbar, your MainMenu, or where you like really.
If you are using a horizontal MainMenu and want the button to be right aligned, put the following in your StyleSheet:
{{{ .HideslantedmenuButton {float:right;} }}}
!History
*23-07-06: version 1.0: completely rewritten, now works with custom stylesheets too, and easier to customize start behaviour.
*20-07-06: version 0.11
*27-04-06: version 0.1: working.
!Code
***/
//{{{
config.macros.toggleslantedmenu={};
config.macros.toggleslantedmenu.settings={
styleHide : ".title, .toolbar, #slantedmenu{ display: none;}\n"+"#contentWrapper #displayArea { margin-right: 0em !important;}}\n"+"",
styleShow : " ",
arrow1: "menu",
arrow2: "menu"
};
config.macros.toggleslantedmenu.handler=function (place,macroName,params,wikifier,paramString,tiddler)
{
var tooltip= params[1]||'toggle menu hidden/visible';
var mode = (params[2] && params[2]=="hide")? "hide":"show";
var arrow = (mode == "hide")? this.settings.arrow1:this.settings.arrow2;
var label= (params[0]&¶ms[0]!='.')?params[0]+" "+arrow:arrow;
var theBtn = createTiddlyButton(place,label,tooltip,this.onToggleslantedmenu,"button HideslantedmenuButton");
if (mode == "hide")
{
(document.getElementById("sidebar")).setAttribute("toggle","hide");
setStylesheet(this.settings.styleHide,"ToggleslantedmenuStyles");
}
};
config.macros.toggleslantedmenu.onToggleslantedmenu = function(){
var sidebar = document.getElementById("sidebar");
var settings = config.macros.toggleslantedmenu.settings;
if (sidebar.getAttribute("toggle")=='hide')
{
setStylesheet(settings.styleShow,"ToggleslantedmenuStyles");
sidebar.setAttribute("toggle","show");
this.firstChild.data= (this.firstChild.data).replace(settings.arrow1,settings.arrow2);
}
else
{
setStylesheet(settings.styleHide,"ToggleslantedmenuStyles");
sidebar.setAttribute("toggle","hide");
this.firstChild.data= (this.firstChild.data).replace(settings.arrow2,settings.arrow1);
}
return false;
}
setStylesheet(".HideslantedmenuButton .button {font-weight:bold; padding: 0 5px;}\n","ToggleslantedmenuButtonStyles");
//}}}
/***
|Name|ToggleSideBarMacro|
|Created by|SaqImtiaz|
|Location|http://tw.lewcid.org/#ToggleSideBarMacro|
|Version|1.0|
|Requires|~TW2.x|
!Description:
Provides a button for toggling visibility of the SideBar. You can choose whether the SideBar should initially be hidden or displayed.
!Demo
<<toggleSideBar "Toggle Sidebar">>
!Usage:
{{{<<toggleSideBar>>}}} <<toggleSideBar>>
additional options:
{{{<<toggleSideBar label tooltip show/hide>>}}} where:
label = custom label for the button,
tooltip = custom tooltip for the button,
show/hide = use one or the other, determines whether the sidebar is shown at first or not.
(default is to show the sidebar)
You can add it to your tiddler toolbar, your MainMenu, or where you like really.
If you are using a horizontal MainMenu and want the button to be right aligned, put the following in your StyleSheet:
{{{ .HideSideBarButton {float:right;} }}}
!History
*23-07-06: version 1.0: completely rewritten, now works with custom stylesheets too, and easier to customize start behaviour.
*20-07-06: version 0.11
*27-04-06: version 0.1: working.
!Code
***/
//{{{
config.macros.toggleSideBar={};
config.macros.toggleSideBar.settings={
styleHide : ".title, .toolbar { display: none;}\n"+"#contentWrapper #displayArea { margin-right: 0em !important;}}\n"+"",
styleShow : " ",
arrow1: "Sidebar «",
arrow2: "Sidebar »"
};
config.macros.toggleSideBar.handler=function (place,macroName,params,wikifier,paramString,tiddler)
{
var tooltip= params[1]||'toggle sidebar';
var mode = (params[2] && params[2]=="hide")? "hide":"show";
var arrow = (mode == "hide")? this.settings.arrow1:this.settings.arrow2;
var label= (params[0]&¶ms[0]!='.')?params[0]+" "+arrow:arrow;
var theBtn = createTiddlyButton(place,label,tooltip,this.onToggleSideBar,"button HideSideBarButton");
if (mode == "hide")
{
(document.getElementById("sidebar")).setAttribute("toggle","hide");
setStylesheet(this.settings.styleHide,"ToggleSideBarStyles");
}
};
config.macros.toggleSideBar.onToggleSideBar = function(){
var sidebar = document.getElementById("sidebar");
var settings = config.macros.toggleSideBar.settings;
if (sidebar.getAttribute("toggle")=='hide')
{
setStylesheet(settings.styleShow,"ToggleSideBarStyles");
sidebar.setAttribute("toggle","show");
this.firstChild.data= (this.firstChild.data).replace(settings.arrow1,settings.arrow2);
}
else
{
setStylesheet(settings.styleHide,"ToggleSideBarStyles");
sidebar.setAttribute("toggle","hide");
this.firstChild.data= (this.firstChild.data).replace(settings.arrow2,settings.arrow1);
}
return false;
}
setStylesheet(".HideSideBarButton .button {font-weight:bold; padding: 0 5px;}\n","ToggleSideBarButtonStyles");
//}}}
/***
|Name|ToggleTiddlersBarMacro|
|Original Created by|SaqImtiaz|
|Location|http://sidebarradio.tiddlyspot.com#ToggleTiddlersBarMacro|
|Version|1.0|
|Requires|~TW2.x|
!Description:
{{c06{Modified by Morris Gray to toggle the TiddlersBar}}}
Provides a button for toggling visibility of the TiddlersBar. You can choose whether the TiddlersBar should initially be hidden or displayed.
!Demo
<<toggleTiddlersBar "TiddlersBar">>
!Usage:
{{{<<toggleTiddlersBar>>}}} <<toggleTiddlersBar>>
additional options:
{{{<<toggleTiddlersBar label tooltip show/hide>>}}} where:
label = custom label for the button,
tooltip = custom tooltip for the button,
show/hide = use one or the other, determines whether the sidebar is shown at first or not.
(default is to show the sidebar)
You can add it to your tiddler toolbar, your MainMenu, or where you like really.
If you are using a horizontal MainMenu and want the button to be right aligned, put the following in your StyleSheet:
{{{ .HideTiddlersBarButton {float:right;} }}}
!History
*23-07-06: version 1.0: completely rewritten, now works with custom stylesheets too, and easier to customize start behaviour.
*20-07-06: version 0.11
*27-04-06: version 0.1: working.
!Code
***/
//{{{
config.macros.toggleTiddlersBar={};
config.macros.toggleTiddlersBar.settings={
styleHide : ".title, #tiddlersBar { display: none;}\n"+"#contentWrapper #displayArea { margin-right: 0em !important;}}\n"+"",
styleShow : " ",
arrow1: "Tabs ",
arrow2: "NoTabs"
};
config.macros.toggleTiddlersBar.handler=function (place,macroName,params,wikifier,paramString,tiddler)
{
var tooltip= params[1]||'toggle hidden toolbars and tiddler title';
var mode = (params[2] && params[2]=="hide")? "hide":"show";
var arrow = (mode == "hide")? this.settings.arrow1:this.settings.arrow2;
var label= (params[0]&¶ms[0]!='.')?params[0]+" "+arrow:arrow;
var theBtn = createTiddlyButton(place,label,tooltip,this.onToggleTiddlersBar,"button HideTiddlersBarButton");
if (mode == "hide")
{
(document.getElementById("sidebar")).setAttribute("toggle","hide");
setStylesheet(this.settings.styleHide,"ToggleTiddlersBarStyles");
}
};
config.macros.toggleTiddlersBar.onToggleTiddlersBar = function(){
var sidebar = document.getElementById("sidebar");
var settings = config.macros.toggleTiddlersBar.settings;
if (sidebar.getAttribute("toggle")=='hide')
{
setStylesheet(settings.styleShow,"ToggleTiddlersBarStyles");
sidebar.setAttribute("toggle","show");
this.firstChild.data= (this.firstChild.data).replace(settings.arrow1,settings.arrow2);
}
else
{
setStylesheet(settings.styleHide,"ToggleTiddlersBarStyles");
sidebar.setAttribute("toggle","hide");
this.firstChild.data= (this.firstChild.data).replace(settings.arrow2,settings.arrow1);
}
return false;
}
setStylesheet(".HideTiddlersBarButton .button {font-weight:bold; padding: 0 5px;}\n","ToggleTiddlersBarButtonStyles");
//}}}
<<tabs " " [[Intro ]] "" [[ToolTabsIntro]] [[Options ]] "" [[OptionsPanel]] [[AdvancedOptions ]] "" [[AdvancedOptions]] >>
----
<<saveAs>>
<<saveChanges>>
<<closeAll>>
<<permaview>>
|bgcolor:#adf;<<tiddler TspotSidebar>>|
<html><td><input class="btn" type="button" value="Refresh Window" onClick="location.reload()" onmouseover="this.className='btn btnhov'" onmouseout="this.className='btn'"/></td></html>
@@color:#C06;''» »'' @@ Duplicated Menu buttons<<toggleToolyBars "" "" hide>>@@color:#C06;''»'' @@@@color:#c06;Toggles the toolbars@@<<toggleTiddlersBar "" "" show>> @@color:#C06;''»'' @@@@color:#c06;Toggles tabs on and off@@
!!!!!<<gradient horiz #fcb #fff>> Tools>>
<<saveAs>>
<<saveChanges>>
<<closeAll>>
<<permaview>>
<html><td><input class="btn" type="button" value="Refresh Window" onClick="location.reload()" onmouseover="this.className='btn btnhov'" onmouseout="this.className='btn'"/></td></html>
@@<<tiddler TspotSidebar>>@@
----
<<tiddler ToolTabs>>
<<gradient horiz #fcb #ffffff>> [[TripleJ|TripleJ]]>>
[img[http://img218.imageshack.us/img218/7518/speakersmqz8.gif]] @@color:#00f;ABC Radio TripleJ@@
<html><embed type="video/x-ms-asf" id="TripleJ" name="TripleJ" displaysize="4" autosize="0"
bgcolor="white" showcontrols="true" showtracker="1" showdisplay="1" showstatusbar="1" videoborder3d="0" width="250" height="142" src="http://www.abc.net.au/streaming/triplej.asx" autostart="true" designtimesp="5311" loop="false" volume="100" autostart="0"></embed></html>
@@color:#c06;''»''@@ [[Go to Web Site|http://www.abc.net.au/triplej/]]
@@color:#c06;''•'' @@ [[Media Player|http://abc.net.au/streaming/triplej/triplej.m3u]]
@@color:#c06;''•'' @@ [[RealPlayer|http://www.abc.net.au/streaming/triplej.ram]]
@@font-size:0.95em;<html><div id="slantedmenu" padding:top:2em;><span style='font-weight:normal;float:center;'><ul><li><a href="javascript:void(0)" onclick="story.closeAllTiddlers();story.displayTiddlers(null,store.getTiddlerText('DefaultTiddlers').readBracketedList())"><span title="Close all tiddlers and open Welcome" style="cursor:pointer">Home</span></a></li><li><span style="float:center;padding-left:0em;" title="Load this page in sidebar" style="cursor:help"><a href="#" target="_search">« Load</a></span></li><li><<toggleToolyBars "" "" hide>></li><li>[[View|ViewTabs]]</li><li><span title='open sidebar tools for upload download advanced options'>[[Tools|MoreTools]]</li></span></li><br><li><<search>></li><li>[[options|Search]]</li><br><li><<newTiddler>></li><li>[[Help|Help]]</li><li><<toggleTiddlersBar "" "" show>></li><li><<newJournal "YYYY.0MM.0DD 0hh:0mm:0ss" "journal">></li><br><li><<fontSize>></li></div></html>@@
/***
Contains the stuff you need to use Tiddlyspot
Note you must also have UploadPlugin installed
***/
//{{{
// edit this if you are migrating sites or retrofitting an existing TW
config.tiddlyspotSiteId = 'sidebarradio';
// make it so you can by default see edit controls via http
config.options.chkHttpReadOnly = false;
window.readOnly = false; // make sure of it (for tw 2.2)
window.showBackstage = true; // show backstage too
// disable autosave in d3
if (window.location.protocol != "file:")
config.options.chkGTDLazyAutoSave = false;
// tweak shadow tiddlers to add upload button, password entry box etc
with (config.shadowTiddlers) {
SiteUrl = 'http://'+config.tiddlyspotSiteId+'.tiddlyspot.com';
SideBarOptions = SideBarOptions.replace(/(<<saveChanges>>)/,"$1<<tiddler TspotSidebar>>");
OptionsPanel = OptionsPanel.replace(/^/,"<<tiddler TspotOptions>>");
DefaultTiddlers = DefaultTiddlers.replace(/^/,"[[WelcomeToTiddlyspot]] ");
MainMenu = MainMenu.replace(/^/,"[[WelcomeToTiddlyspot]] ");
}
// create some shadow tiddler content
merge(config.shadowTiddlers,{
'WelcomeToTiddlyspot':[
"This document is a ~TiddlyWiki from tiddlyspot.com. A ~TiddlyWiki is an electronic notebook that is great for managing todo lists, personal information, and all sorts of things.",
"",
"@@font-weight:bold;font-size:1.3em;color:#444; //What now?// @@ Before you can save any changes, you need to enter your password in the form below. Then configure privacy and other site settings at your [[control panel|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/controlpanel]] (your control panel username is //" + config.tiddlyspotSiteId + "//).",
"<<tiddler TspotControls>>",
"See also GettingStarted.",
"",
"@@font-weight:bold;font-size:1.3em;color:#444; //Working online// @@ You can edit this ~TiddlyWiki right now, and save your changes using the \"save to web\" button in the column on the right.",
"",
"@@font-weight:bold;font-size:1.3em;color:#444; //Working offline// @@ A fully functioning copy of this ~TiddlyWiki can be saved onto your hard drive or USB stick. You can make changes and save them locally without being connected to the Internet. When you're ready to sync up again, just click \"upload\" and your ~TiddlyWiki will be saved back to tiddlyspot.com.",
"",
"@@font-weight:bold;font-size:1.3em;color:#444; //Help!// @@ Find out more about ~TiddlyWiki at [[TiddlyWiki.com|http://tiddlywiki.com]]. Also visit [[TiddlyWiki Guides|http://tiddlywikiguides.org]] for documentation on learning and using ~TiddlyWiki. New users are especially welcome on the [[TiddlyWiki mailing list|http://groups.google.com/group/TiddlyWiki]], which is an excellent place to ask questions and get help. If you have a tiddlyspot related problem email [[tiddlyspot support|mailto:support@tiddlyspot.com]].",
"",
"@@font-weight:bold;font-size:1.3em;color:#444; //Enjoy :)// @@ We hope you like using your tiddlyspot.com site. Please email [[feedback@tiddlyspot.com|mailto:feedback@tiddlyspot.com]] with any comments or suggestions."
].join("\n"),
'TspotControls':[
"| tiddlyspot password:|<<option pasUploadPassword>>|",
"| site management:|<<upload http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/store.cgi index.html . . " + config.tiddlyspotSiteId + ">>//(requires tiddlyspot password)//<br>[[control panel|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/controlpanel]], [[download (go offline)|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/download]]|",
"| links:|[[tiddlyspot.com|http://tiddlyspot.com/]], [[FAQs|http://faq.tiddlyspot.com/]], [[announcements|http://announce.tiddlyspot.com/]], [[blog|http://tiddlyspot.com/blog/]], email [[support|mailto:support@tiddlyspot.com]] & [[feedback|mailto:feedback@tiddlyspot.com]], [[donate|http://tiddlyspot.com/?page=donate]]|"
].join("\n"),
'TspotSidebar':[
"<<upload http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/store.cgi index.html . . " + config.tiddlyspotSiteId + ">><html><a href='http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/download' class='button'>download</a></html>"
].join("\n"),
'TspotOptions':[
"tiddlyspot password:",
"<<option pasUploadPassword>>",
""
].join("\n")
});
//}}}
<<upload http://sidebarradio.tiddlyspot.com/store.cgi index.html . . sidebarradio>><html><a href='http://sidebarradio.tiddlyspot.com/download' class='button'>download</a></html>
!!!<<gradient horiz #fcb #ffffff>>[[Tue]]^^<<tiddler CloseThisOpen with: MiniPlanner '« back'>><<toolbar editTiddler>>» ^^>>
* College application - Goal: 5 minutes or 1 page. Start by filling in the easy boxes. If you reach the bottom of the page before time is up, stop.
My note for Tuesday
Another note for Tue the 18th of march
It's time to be excited.Can't wait!!!
/***
''TwHelpSearch'' for TiddlyWiki 2.0.x to 2.2.x
^^author: Morris S. Gray
source: http://twhelp.tiddlyspot.com/#TwHelpSearchPlugin
documentation: http://twhelp.tiddlyspot.com/#TWHelpSearchDoc
license: [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]^^
|>|>|>|<<search>> |
|>|>| look for in |>|>|>|
| <<option chkSearchTitles>> | <<option chkSearchText>> | <<option chkSearchTags>> | <<option chkHoldSearches>> |
| titles | text | tags | hold |
''A Plugin Tweak for:'' SearchOptionsPlugin
!!!!!Description
<<<
This plugin defines an alternative format for the SearchResults tiddler that is generated by the SearchOptionsPlugin . It presents the search results in tabular form numbering the rows; and showing the tiddler title, the size in bytes, and the tags. It is ready to be used with the [[SortableGridPlugin|http://solo.dc3.com/tw/#SortableGridPlugin]] (check versions) so any column can be sorted; such as size in ascending or descending order.
<<<
!!!!!Installation
<<<
Import (or copy/paste) the following tiddlers into your ~TiddlyWiki:
* http://twhelp.tiddlyspot.com/#TwHelpSearchPlugin
*SearchOptionsPlugin from http://www.tiddlytools.com/#SearchOptionsPlugin
* Get more documentation here [[TWHelpSearchDoc]] or here:
* http://twhelp.tiddlyspot.com/#TwHelpSearchDoc
<<<
!!!!!Revision History
<<<
''2007.09.12 [1.0.6]''
Added overflow scroll to TWHelp-SearchResults for long titles or tags.
''2006.02.03 [1.0.5]''
Added facility for holding the results of multiple searches with tick box on dashboard.
''2006.02.02 [1.0.4]''
Added several options, cleaned up design.Planning one version basic and one with added options this is the added options version.
''2006.01.27 [1.0.3''
Added a column for the size of the text in each tiddler, this does not include the size of the title or tags. Added overall TW statistics button requires TiddlerStatsPlugin.
''2006.01.23 [1.0.2 ]''
''a)''Changed function reportSearchResults(text,matches) to window.reportSearchResults=function(text,matches)
''b)''Added a line so that Incremental Search is automatically disabled config.options.chkSearchIncremental=false; turn off key-by-key searching
''c)''Removed space inside parens. bgcolor(#fe8 )" to "bgcolor(#fe8)". This
is what was causing IE to 'crap out' halfway through drawing the table
headings.
''d)''Added {{{config.options.chkSearchList=true;}}}
''2006.01.20 [1.0.1]''
ELS: reportSearchResults() definition moved to this Plugin Tweak tiddler and removed extranous code
''2006.01.19 [1.0.0]''
This is an adaptation of Eric Shulman's SearchOptionsPlugin. Adapted by MorrisGray to provide search results in table form. All the necessary controls for refining the search is provided within the table including slide-down access to AdvancedOptions.
<<<
!!!!!Code
***/
//{{{
if (config.options.chkSinglePageMode==undefined) config.options.chkSinglePageMode=false;
if (config.options.chkRegExpSearch==undefined) config.options.chkRegExpSearch=true;
if (config.options.chkSearchTitles==undefined) config.options.chkSearchTitles=false;
if (config.options.chkSearchText==undefined) config.options.chkSearchText=true;
if (config.options.chkSearchTags==undefined) config.options.chkSearchTags=false;
if (config.options.chkSearchTitlesFirst==undefined) config.options.chkSearchTitlesFirst=true;
if (config.options.chkSearchList==undefined) config.options.chkSearchList=true;
if (config.options.chkSearchIncremental==undefined) config.options.chkSearchIncremental=false;
if (config.options.chkToggleLinks==true) config.options.chkToggleLinks=false;
if (config.options.chkHoldSearches==undefined) config.options.chkHoldSearches=false;
if (config.options.chkSortTags==undefined) config.options.chkSortTags=false;
config.options.chkToggleLinks=false;
config.options.chkSinglePageMode=false;
config.options.chkHoldSearches=false;
config.options.chkSearchIncremental=false;
config.options.chkHttpReadOnly = false;
config.options.chkRegExpSearch=true;
config.options.chkSearchList=true;
config.options.chkToggleLinks=false;
config.shadowTiddlers.AdvancedOptions += "\n<<option chkHoldSearches>> Hold search results";
//}}}
//{{{
// Give the report a custom name
config.macros.search.reportTitle="TWHelp-SearchResults";
// Override default SearchOptionsPlugin formatting for SearchResults tiddler
window.reportSearchResults=function(text,matches)
{
var title=config.macros.search.reportTitle
config.macros.search.reportTitle;
var q = config.options.chkRegExpSearch ? "/" : "'";
if (!config.options.chkHoldSearches) body="";
body+="\n|>|bgcolor(#8af):@@color(#000080):''"+config.macros.search.successMsg.format([matches.length,q+"{{{"+text+"}}}"+q])+"''@@|bgcolor(#8af): @@color(#A00000): SearchHelp@@ "+"|"+"\n";
body+="|>|>|bgcolor(#E3FFE3):<<search>> <<option chkSearchTitles>> Titles <<option chkSearchText>> Text <<option chkSearchTags>>Tags <<option chkHoldSearches>> Hold |"+"\n";
body+="\n| |bgcolor(#8af): @@color(#000080):sort by: ''Titles''@@ |bgcolor(#8af): @@color(#000080): ''Size'' (bytes)@@ |bgcolor(#8af): @@color(#000080): ''Tags''@@ |h";
for(var t=0;t<matches.length;t++)
body+="\n"+"| "+(t+1)+"|[["+matches[t].title+"]]| "+matches[t].text.length+"|"+"@@"+matches[t].tags+"@@"+"|";
body+="\n";
// create/update the tiddler
var tiddler=store.getTiddler(title); if (!tiddler) tiddler=new Tiddler();
tiddler.set(title,body,config.options.txtUserName,(new Date()),"excludeLists excludeSearch killbookmark");
store.addTiddler(tiddler); story.closeTiddler(title);
// render tiddler
var oldprompt=config.macros.search.label;
config.macros.search.label="search again"; // use alternate "search again" label
story.displayTiddler(null,title,1); // force refresh
config.macros.search.label=oldprompt; // restore standard search label
}
//}}}
You ask me how much I need you, must I explain?
I need you, oh my darling, like roses need rain
You ask how long I'll love you, I'll tell you true
Until the Twelfth of Never, I'll still be loving you
Hold me close, never let me go
Hold me close, melt my heart like April snow
I'll love you 'til the bluebells forget to bloom
I'll love you 'til the clover has lost its perfume
I'll love you 'til the poets run out of rhyme
Until the Twelfth of Never and that's a long, long time
Until the Twelfth of Never and that's a long, long time
| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |
| 26/01/2009 18:31:40 | YourName | [[sidebarradio.html|file:///F:/TiddlyWiki2.4/SidebarRadio/sidebarradio.html]] | [[store.cgi|http://sidebarradio.tiddlyspot.com/store.cgi]] | . | [[index.html | http://sidebarradio.tiddlyspot.com/index.html]] | . | ok |
| 09/03/2009 11:08:07 | YourName | [[sidebarradio.html|file:///F:/TiddlyWiki2.4/SidebarRadio/sidebarradio.html]] | [[store.cgi|http://sidebarradio.tiddlyspot.com/store.cgi]] | . | [[index.html | http://sidebarradio.tiddlyspot.com/index.html]] | . |
| 12/10/2009 18:28:59 | YourName | [[sidebarradio.html|file:///F:/TiddlyWiki/SidebaRadio/sidebarradio.html]] | [[store.cgi|http://sidebarradio.tiddlyspot.com/store.cgi]] | . | [[index.html | http://sidebarradio.tiddlyspot.com/index.html]] | . | ok |
| 14/06/2010 10:05:23 | YourName | [[sidebarradio.html|file:///F:/TiddlyWiki/SidebaRadio/sidebarradio.html]] | [[store.cgi|http://sidebarradio.tiddlyspot.com/store.cgi]] | . | [[index.html | http://sidebarradio.tiddlyspot.com/index.html]] | . | ok |
| 14/06/2010 10:34:56 | YourName | [[sidebarradio.html|file:///F:/TiddlyWiki/SidebaRadio/sidebarradio.html#ConnieTalbot]] | [[store.cgi|http://sidebarradio.tiddlyspot.com/store.cgi]] | . | [[index.html | http://sidebarradio.tiddlyspot.com/index.html]] | . | ok |
| 26/07/2010 16:36:27 | YourName | [[sidebarradio.html|file:///F:/TiddlyWiki/SidebaRadio/sidebarradio.html]] | [[store.cgi|http://sidebarradio.tiddlyspot.com/store.cgi]] | . | [[index.html | http://sidebarradio.tiddlyspot.com/index.html]] | . | ok |
| 25/10/2010 15:23:40 | YourName | [[sidebarradio.html|file:///G:/Documents/TiddlyWiki/sidebarradio.html#LargestGummyWorm]] | [[store.cgi|http://sidebarradio.tiddlyspot.com/store.cgi]] | . | [[index.html | http://sidebarradio.tiddlyspot.com/index.html]] | . | ok |
| 02/03/2011 14:16:41 | YourName | [[sidebarradio.html|file:///G:/TiddlyWiki/sidebarradio.html]] | [[store.cgi|http://sidebarradio.tiddlyspot.com/store.cgi]] | . | [[index.html | http://sidebarradio.tiddlyspot.com/index.html]] | . | ok |
| 02/03/2011 14:19:41 | YourName | [[sidebarradio.html|file:///G:/TiddlyWiki/sidebarradio.html]] | [[store.cgi|http://sidebarradio.tiddlyspot.com/store.cgi]] | . | [[index.html | http://sidebarradio.tiddlyspot.com/index.html]] | . | ok |
| 02/03/2011 14:29:18 | YourName | [[sidebarradio.html|file:///G:/TiddlyWiki/sidebarradio.html]] | [[store.cgi|http://sidebarradio.tiddlyspot.com/store.cgi]] | . | [[index.html | http://sidebarradio.tiddlyspot.com/index.html]] | . |
/***
|''Name:''|UploadPlugin|
|''Description:''|Save to web a TiddlyWiki|
|''Version:''|4.1.3|
|''Date:''|Feb 24, 2008|
|''Source:''|http://tiddlywiki.bidix.info/#UploadPlugin|
|''Documentation:''|http://tiddlywiki.bidix.info/#UploadPluginDoc|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0|
|''Requires:''|PasswordOptionPlugin|
***/
//{{{
version.extensions.UploadPlugin = {
major: 4, minor: 1, revision: 3,
date: new Date("Feb 24, 2008"),
source: 'http://tiddlywiki.bidix.info/#UploadPlugin',
author: 'BidiX (BidiX (at) bidix (dot) info',
coreVersion: '2.2.0'
};
//
// Environment
//
if (!window.bidix) window.bidix = {}; // bidix namespace
bidix.debugMode = false; // true to activate both in Plugin and UploadService
//
// Upload Macro
//
config.macros.upload = {
// default values
defaultBackupDir: '', //no backup
defaultStoreScript: "store.php",
defaultToFilename: "index.html",
defaultUploadDir: ".",
authenticateUser: true // UploadService Authenticate User
};
config.macros.upload.label = {
promptOption: "Save and Upload this TiddlyWiki with UploadOptions",
promptParamMacro: "Save and Upload this TiddlyWiki in %0",
saveLabel: "save to web",
saveToDisk: "save to disk",
uploadLabel: "upload"
};
config.macros.upload.messages = {
noStoreUrl: "No store URL in parmeters or options",
usernameOrPasswordMissing: "Username or password missing"
};
config.macros.upload.handler = function(place,macroName,params) {
if (readOnly)
return;
var label;
if (document.location.toString().substr(0,4) == "http")
label = this.label.saveLabel;
else
label = this.label.uploadLabel;
var prompt;
if (params[0]) {
prompt = this.label.promptParamMacro.toString().format([this.destFile(params[0],
(params[1] ? params[1]:bidix.basename(window.location.toString())), params[3])]);
} else {
prompt = this.label.promptOption;
}
createTiddlyButton(place, label, prompt, function() {config.macros.upload.action(params);}, null, null, this.accessKey);
};
config.macros.upload.action = function(params)
{
// for missing macro parameter set value from options
if (!params) params = {};
var storeUrl = params[0] ? params[0] : config.options.txtUploadStoreUrl;
var toFilename = params[1] ? params[1] : config.options.txtUploadFilename;
var backupDir = params[2] ? params[2] : config.options.txtUploadBackupDir;
var uploadDir = params[3] ? params[3] : config.options.txtUploadDir;
var username = params[4] ? params[4] : config.options.txtUploadUserName;
var password = config.options.pasUploadPassword; // for security reason no password as macro parameter
// for still missing parameter set default value
if ((!storeUrl) && (document.location.toString().substr(0,4) == "http"))
storeUrl = bidix.dirname(document.location.toString())+'/'+config.macros.upload.defaultStoreScript;
if (storeUrl.substr(0,4) != "http")
storeUrl = bidix.dirname(document.location.toString()) +'/'+ storeUrl;
if (!toFilename)
toFilename = bidix.basename(window.location.toString());
if (!toFilename)
toFilename = config.macros.upload.defaultToFilename;
if (!uploadDir)
uploadDir = config.macros.upload.defaultUploadDir;
if (!backupDir)
backupDir = config.macros.upload.defaultBackupDir;
// report error if still missing
if (!storeUrl) {
alert(config.macros.upload.messages.noStoreUrl);
clearMessage();
return false;
}
if (config.macros.upload.authenticateUser && (!username || !password)) {
alert(config.macros.upload.messages.usernameOrPasswordMissing);
clearMessage();
return false;
}
bidix.upload.uploadChanges(false,null,storeUrl, toFilename, uploadDir, backupDir, username, password);
return false;
};
config.macros.upload.destFile = function(storeUrl, toFilename, uploadDir)
{
if (!storeUrl)
return null;
var dest = bidix.dirname(storeUrl);
if (uploadDir && uploadDir != '.')
dest = dest + '/' + uploadDir;
dest = dest + '/' + toFilename;
return dest;
};
//
// uploadOptions Macro
//
config.macros.uploadOptions = {
handler: function(place,macroName,params) {
var wizard = new Wizard();
wizard.createWizard(place,this.wizardTitle);
wizard.addStep(this.step1Title,this.step1Html);
var markList = wizard.getElement("markList");
var listWrapper = document.createElement("div");
markList.parentNode.insertBefore(listWrapper,markList);
wizard.setValue("listWrapper",listWrapper);
this.refreshOptions(listWrapper,false);
var uploadCaption;
if (document.location.toString().substr(0,4) == "http")
uploadCaption = config.macros.upload.label.saveLabel;
else
uploadCaption = config.macros.upload.label.uploadLabel;
wizard.setButtons([
{caption: uploadCaption, tooltip: config.macros.upload.label.promptOption,
onClick: config.macros.upload.action},
{caption: this.cancelButton, tooltip: this.cancelButtonPrompt, onClick: this.onCancel}
]);
},
options: [
"txtUploadUserName",
"pasUploadPassword",
"txtUploadStoreUrl",
"txtUploadDir",
"txtUploadFilename",
"txtUploadBackupDir",
"chkUploadLog",
"txtUploadLogMaxLine"
],
refreshOptions: function(listWrapper) {
var opts = [];
for(i=0; i<this.options.length; i++) {
var opt = {};
opts.push();
opt.option = "";
n = this.options[i];
opt.name = n;
opt.lowlight = !config.optionsDesc[n];
opt.description = opt.lowlight ? this.unknownDescription : config.optionsDesc[n];
opts.push(opt);
}
var listview = ListView.create(listWrapper,opts,this.listViewTemplate);
for(n=0; n<opts.length; n++) {
var type = opts[n].name.substr(0,3);
var h = config.macros.option.types[type];
if (h && h.create) {
h.create(opts[n].colElements['option'],type,opts[n].name,opts[n].name,"no");
}
}
},
onCancel: function(e)
{
backstage.switchTab(null);
return false;
},
wizardTitle: "Upload with options",
step1Title: "These options are saved in cookies in your browser",
step1Html: "<input type='hidden' name='markList'></input><br>",
cancelButton: "Cancel",
cancelButtonPrompt: "Cancel prompt",
listViewTemplate: {
columns: [
{name: 'Description', field: 'description', title: "Description", type: 'WikiText'},
{name: 'Option', field: 'option', title: "Option", type: 'String'},
{name: 'Name', field: 'name', title: "Name", type: 'String'}
],
rowClasses: [
{className: 'lowlight', field: 'lowlight'}
]}
};
//
// upload functions
//
if (!bidix.upload) bidix.upload = {};
if (!bidix.upload.messages) bidix.upload.messages = {
//from saving
invalidFileError: "The original file '%0' does not appear to be a valid TiddlyWiki",
backupSaved: "Backup saved",
backupFailed: "Failed to upload backup file",
rssSaved: "RSS feed uploaded",
rssFailed: "Failed to upload RSS feed file",
emptySaved: "Empty template uploaded",
emptyFailed: "Failed to upload empty template file",
mainSaved: "Main TiddlyWiki file uploaded",
mainFailed: "Failed to upload main TiddlyWiki file. Your changes have not been saved",
//specific upload
loadOriginalHttpPostError: "Can't get original file",
aboutToSaveOnHttpPost: 'About to upload on %0 ...',
storePhpNotFound: "The store script '%0' was not found."
};
bidix.upload.uploadChanges = function(onlyIfDirty,tiddlers,storeUrl,toFilename,uploadDir,backupDir,username,password)
{
var callback = function(status,uploadParams,original,url,xhr) {
if (!status) {
displayMessage(bidix.upload.messages.loadOriginalHttpPostError);
return;
}
if (bidix.debugMode)
alert(original.substr(0,500)+"\n...");
// Locate the storeArea div's
var posDiv = locateStoreArea(original);
if((posDiv[0] == -1) || (posDiv[1] == -1)) {
alert(config.messages.invalidFileError.format([localPath]));
return;
}
bidix.upload.uploadRss(uploadParams,original,posDiv);
};
if(onlyIfDirty && !store.isDirty())
return;
clearMessage();
// save on localdisk ?
if (document.location.toString().substr(0,4) == "file") {
var path = document.location.toString();
var localPath = getLocalPath(path);
saveChanges();
}
// get original
var uploadParams = new Array(storeUrl,toFilename,uploadDir,backupDir,username,password);
var originalPath = document.location.toString();
// If url is a directory : add index.html
if (originalPath.charAt(originalPath.length-1) == "/")
originalPath = originalPath + "index.html";
var dest = config.macros.upload.destFile(storeUrl,toFilename,uploadDir);
var log = new bidix.UploadLog();
log.startUpload(storeUrl, dest, uploadDir, backupDir);
displayMessage(bidix.upload.messages.aboutToSaveOnHttpPost.format([dest]));
if (bidix.debugMode)
alert("about to execute Http - GET on "+originalPath);
var r = doHttp("GET",originalPath,null,null,username,password,callback,uploadParams,null);
if (typeof r == "string")
displayMessage(r);
return r;
};
bidix.upload.uploadRss = function(uploadParams,original,posDiv)
{
var callback = function(status,params,responseText,url,xhr) {
if(status) {
var destfile = responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:")));
displayMessage(bidix.upload.messages.rssSaved,bidix.dirname(url)+'/'+destfile);
bidix.upload.uploadMain(params[0],params[1],params[2]);
} else {
displayMessage(bidix.upload.messages.rssFailed);
}
};
// do uploadRss
if(config.options.chkGenerateAnRssFeed) {
var rssPath = uploadParams[1].substr(0,uploadParams[1].lastIndexOf(".")) + ".xml";
var rssUploadParams = new Array(uploadParams[0],rssPath,uploadParams[2],'',uploadParams[4],uploadParams[5]);
var rssString = generateRss();
// no UnicodeToUTF8 conversion needed when location is "file" !!!
if (document.location.toString().substr(0,4) != "file")
rssString = convertUnicodeToUTF8(rssString);
bidix.upload.httpUpload(rssUploadParams,rssString,callback,Array(uploadParams,original,posDiv));
} else {
bidix.upload.uploadMain(uploadParams,original,posDiv);
}
};
bidix.upload.uploadMain = function(uploadParams,original,posDiv)
{
var callback = function(status,params,responseText,url,xhr) {
var log = new bidix.UploadLog();
if(status) {
// if backupDir specified
if ((params[3]) && (responseText.indexOf("backupfile:") > -1)) {
var backupfile = responseText.substring(responseText.indexOf("backupfile:")+11,responseText.indexOf("\n", responseText.indexOf("backupfile:")));
displayMessage(bidix.upload.messages.backupSaved,bidix.dirname(url)+'/'+backupfile);
}
var destfile = responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:")));
displayMessage(bidix.upload.messages.mainSaved,bidix.dirname(url)+'/'+destfile);
store.setDirty(false);
log.endUpload("ok");
} else {
alert(bidix.upload.messages.mainFailed);
displayMessage(bidix.upload.messages.mainFailed);
log.endUpload("failed");
}
};
// do uploadMain
var revised = bidix.upload.updateOriginal(original,posDiv);
bidix.upload.httpUpload(uploadParams,revised,callback,uploadParams);
};
bidix.upload.httpUpload = function(uploadParams,data,callback,params)
{
var localCallback = function(status,params,responseText,url,xhr) {
url = (url.indexOf("nocache=") < 0 ? url : url.substring(0,url.indexOf("nocache=")-1));
if (xhr.status == 404)
alert(bidix.upload.messages.storePhpNotFound.format([url]));
if ((bidix.debugMode) || (responseText.indexOf("Debug mode") >= 0 )) {
alert(responseText);
if (responseText.indexOf("Debug mode") >= 0 )
responseText = responseText.substring(responseText.indexOf("\n\n")+2);
} else if (responseText.charAt(0) != '0')
alert(responseText);
if (responseText.charAt(0) != '0')
status = null;
callback(status,params,responseText,url,xhr);
};
// do httpUpload
var boundary = "---------------------------"+"AaB03x";
var uploadFormName = "UploadPlugin";
// compose headers data
var sheader = "";
sheader += "--" + boundary + "\r\nContent-disposition: form-data; name=\"";
sheader += uploadFormName +"\"\r\n\r\n";
sheader += "backupDir="+uploadParams[3] +
";user=" + uploadParams[4] +
";password=" + uploadParams[5] +
";uploaddir=" + uploadParams[2];
if (bidix.debugMode)
sheader += ";debug=1";
sheader += ";;\r\n";
sheader += "\r\n" + "--" + boundary + "\r\n";
sheader += "Content-disposition: form-data; name=\"userfile\"; filename=\""+uploadParams[1]+"\"\r\n";
sheader += "Content-Type: text/html;charset=UTF-8" + "\r\n";
sheader += "Content-Length: " + data.length + "\r\n\r\n";
// compose trailer data
var strailer = new String();
strailer = "\r\n--" + boundary + "--\r\n";
data = sheader + data + strailer;
if (bidix.debugMode) alert("about to execute Http - POST on "+uploadParams[0]+"\n with \n"+data.substr(0,500)+ " ... ");
var r = doHttp("POST",uploadParams[0],data,"multipart/form-data; ;charset=UTF-8; boundary="+boundary,uploadParams[4],uploadParams[5],localCallback,params,null);
if (typeof r == "string")
displayMessage(r);
return r;
};
// same as Saving's updateOriginal but without convertUnicodeToUTF8 calls
bidix.upload.updateOriginal = function(original, posDiv)
{
if (!posDiv)
posDiv = locateStoreArea(original);
if((posDiv[0] == -1) || (posDiv[1] == -1)) {
alert(config.messages.invalidFileError.format([localPath]));
return;
}
var revised = original.substr(0,posDiv[0] + startSaveArea.length) + "\n" +
store.allTiddlersAsHtml() + "\n" +
original.substr(posDiv[1]);
var newSiteTitle = getPageTitle().htmlEncode();
revised = revised.replaceChunk("<title"+">","</title"+">"," " + newSiteTitle + " ");
revised = updateMarkupBlock(revised,"PRE-HEAD","MarkupPreHead");
revised = updateMarkupBlock(revised,"POST-HEAD","MarkupPostHead");
revised = updateMarkupBlock(revised,"PRE-BODY","MarkupPreBody");
revised = updateMarkupBlock(revised,"POST-SCRIPT","MarkupPostBody");
return revised;
};
//
// UploadLog
//
// config.options.chkUploadLog :
// false : no logging
// true : logging
// config.options.txtUploadLogMaxLine :
// -1 : no limit
// 0 : no Log lines but UploadLog is still in place
// n : the last n lines are only kept
// NaN : no limit (-1)
bidix.UploadLog = function() {
if (!config.options.chkUploadLog)
return; // this.tiddler = null
this.tiddler = store.getTiddler("UploadLog");
if (!this.tiddler) {
this.tiddler = new Tiddler();
this.tiddler.title = "UploadLog";
this.tiddler.text = "| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |";
this.tiddler.created = new Date();
this.tiddler.modifier = config.options.txtUserName;
this.tiddler.modified = new Date();
store.addTiddler(this.tiddler);
}
return this;
};
bidix.UploadLog.prototype.addText = function(text) {
if (!this.tiddler)
return;
// retrieve maxLine when we need it
var maxLine = parseInt(config.options.txtUploadLogMaxLine,10);
if (isNaN(maxLine))
maxLine = -1;
// add text
if (maxLine != 0)
this.tiddler.text = this.tiddler.text + text;
// Trunck to maxLine
if (maxLine >= 0) {
var textArray = this.tiddler.text.split('\n');
if (textArray.length > maxLine + 1)
textArray.splice(1,textArray.length-1-maxLine);
this.tiddler.text = textArray.join('\n');
}
// update tiddler fields
this.tiddler.modifier = config.options.txtUserName;
this.tiddler.modified = new Date();
store.addTiddler(this.tiddler);
// refresh and notifiy for immediate update
story.refreshTiddler(this.tiddler.title);
store.notify(this.tiddler.title, true);
};
bidix.UploadLog.prototype.startUpload = function(storeUrl, toFilename, uploadDir, backupDir) {
if (!this.tiddler)
return;
var now = new Date();
var text = "\n| ";
var filename = bidix.basename(document.location.toString());
if (!filename) filename = '/';
text += now.formatString("0DD/0MM/YYYY 0hh:0mm:0ss") +" | ";
text += config.options.txtUserName + " | ";
text += "[["+filename+"|"+location + "]] |";
text += " [[" + bidix.basename(storeUrl) + "|" + storeUrl + "]] | ";
text += uploadDir + " | ";
text += "[[" + bidix.basename(toFilename) + " | " +toFilename + "]] | ";
text += backupDir + " |";
this.addText(text);
};
bidix.UploadLog.prototype.endUpload = function(status) {
if (!this.tiddler)
return;
this.addText(" "+status+" |");
};
//
// Utilities
//
bidix.checkPlugin = function(plugin, major, minor, revision) {
var ext = version.extensions[plugin];
if (!
(ext &&
((ext.major > major) ||
((ext.major == major) && (ext.minor > minor)) ||
((ext.major == major) && (ext.minor == minor) && (ext.revision >= revision))))) {
// write error in PluginManager
if (pluginInfo)
pluginInfo.log.push("Requires " + plugin + " " + major + "." + minor + "." + revision);
eval(plugin); // generate an error : "Error: ReferenceError: xxxx is not defined"
}
};
bidix.dirname = function(filePath) {
if (!filePath)
return;
var lastpos;
if ((lastpos = filePath.lastIndexOf("/")) != -1) {
return filePath.substring(0, lastpos);
} else {
return filePath.substring(0, filePath.lastIndexOf("\\"));
}
};
bidix.basename = function(filePath) {
if (!filePath)
return;
var lastpos;
if ((lastpos = filePath.lastIndexOf("#")) != -1)
filePath = filePath.substring(0, lastpos);
if ((lastpos = filePath.lastIndexOf("/")) != -1) {
return filePath.substring(lastpos + 1);
} else
return filePath.substring(filePath.lastIndexOf("\\")+1);
};
bidix.initOption = function(name,value) {
if (!config.options[name])
config.options[name] = value;
};
//
// Initializations
//
// require PasswordOptionPlugin 1.0.1 or better
bidix.checkPlugin("PasswordOptionPlugin", 1, 0, 1);
// styleSheet
setStylesheet('.txtUploadStoreUrl, .txtUploadBackupDir, .txtUploadDir {width: 22em;}',"uploadPluginStyles");
//optionsDesc
merge(config.optionsDesc,{
txtUploadStoreUrl: "Url of the UploadService script (default: store.php)",
txtUploadFilename: "Filename of the uploaded file (default: in index.html)",
txtUploadDir: "Relative Directory where to store the file (default: . (downloadService directory))",
txtUploadBackupDir: "Relative Directory where to backup the file. If empty no backup. (default: ''(empty))",
txtUploadUserName: "Upload Username",
pasUploadPassword: "Upload Password",
chkUploadLog: "do Logging in UploadLog (default: true)",
txtUploadLogMaxLine: "Maximum of lines in UploadLog (default: 10)"
});
// Options Initializations
bidix.initOption('txtUploadStoreUrl','');
bidix.initOption('txtUploadFilename','');
bidix.initOption('txtUploadDir','');
bidix.initOption('txtUploadBackupDir','');
bidix.initOption('txtUploadUserName','');
bidix.initOption('pasUploadPassword','');
bidix.initOption('chkUploadLog',true);
bidix.initOption('txtUploadLogMaxLine','10');
// Backstage
merge(config.tasks,{
uploadOptions: {text: "upload", tooltip: "Change UploadOptions and Upload", content: '<<uploadOptions>>'}
});
config.backstageTasks.push("uploadOptions");
//}}}
<script>
function dayofyear(d) { // d is a Date object
var yn = d.getFullYear();
var mn = d.getMonth();
var dn = d.getDate();
var d1 = new Date(yn,0,1,12,0,0); // noon on Jan. 1
var d2 = new Date(yn,mn,dn,12,0,0); // noon on input date
var ddiff = Math.round((d2-d1)/864e5);
return ddiff+1; }
var curdate=new Date(); // gets today's date
var cdnum=dayofyear(curdate);
var tiddlers=store.getTiddlers("modified");
var last=tiddlers[tiddlers.length-1];
var when=last.modified.formatString("YY0hh0mm0ss");
return "Sidebar Notes Ver: "+cdnum+when
</script>
{{systemcontents{<<tabs " " [[History ]] "" [[History]] [[Intro ]] "" [[TabsIntro]] [[AllTabs ]] "" [[AllTabs]] [[Shadowed ]] "" [[SystemTabs]] [[Plugins ]] "" [[Programs]] [[Styling ]] "" [[Styling]] [[SideBarOptions ]] "" [[SideBarOptions]] [[Excluded ]] "" [[Excluded]] [[Script ]] "" [[Script]] [[AllNotes ]] "" [[AllNotes]] [[SideBarTabs ]] "" [[SideBarTabsSlider]] [[Tags ]] "" [[Tags]]>>
}}}
<div class='toolbar' macro='toolbar jump top -closeTiddler closeOthers closeAll +editTiddler permalink references newDocument '></div>
<div class='title' macro='view title'></div>
<div class='viewer' macro='view text wikified'></div></div>
<span macro='tiddler ShiftClickToEdit'></span>
<<search>>
----
<<closeAll>>
<<permaview>>
<<newTiddler>>
<<newJournal "YYYY.0MM.0DD 0hh:0mm:0ss" "journal">>
<<saveChanges>>
<<tiddler TspotSidebar>>
----
<html><td><input class="btn" type="button" value="Refresh Window" onClick="location.reload()" onmouseover="this.className='btn btnhov'" onmouseout="this.className='btn'"/></td></html>
----
@@color:#c06;This Sidebar Notes is at:@@ <script>var today=new Date();document.write('<font style="color:#090">'+'URL='+window.location+'</font>')</script>
<<tiddler ToolTabs>>
<html><hide linebreaks>
<div id="TWHouter">
<div id="TWHhdr" align="center"></div>
<div id="TWHbodyblock" align="right">
<div id="TWHl-col" align="center"><<tiddler Menu>></div>
<div id="TWHcont"><p><<tiddler ScienceContent>></p></div>
</div>
<div id="TWHftr" align="center">Copyright (c) You 2003</div>
</div>
</html>
/***
!!!<<gradient horiz #fc3 #fff >><<tiddler RefreshStyles>> WebPageTLCF>>/%==================================================%/
***/
#TWHouter {
text-align:left;
border:1px solid #000000;
width:100%;
margin:auto;
}
#TWHhdr {
width:100%;
height:100%;
background:#999;
color: #333333;
}
#TWHbar {
height:20px;
line-height:2.2em;
background:#999;
color: #a00;
border:solid #000000;
border-width:1px 0 1px 0;
padding-left:0.6em;
}
#TWHbodyblock {
position:relative;
background: #dcdcdc;
color: #333333;
padding:0;
}
#TWHl-col {
float:left;
background:#dcdcdc;
color: #333333;
width:120px;
}
#TWHcont {
background:#ffffff;
color: #333333;
border:solid #000000;
border-width:0 0 0 1px;
text-align:left;
width:60%;
}
#TWHftr {
height:35px;
background:#fff;
color: #333333;
border:solid black;
border-width:1px 0 0 0;
margin:0;
}
Presentation Stylesheet
h3, p {
margin:0;
padding:15px;
}
h4 {
margin:0;
padding: 5px 0;
}
p:first-letter {
font-size: 80%;
font-weight: bold;
color:blue;
}
/***
!!!<<gradient horiz #fc3 #fff >><<tiddler RefreshStyles>> WebStyleSheet>>/%==================================================%/
***/
.firstletter{
float:left;
width:0.75em;
font-size:400%;
font-family:times,courier;
line-height:80%;
}
div.container
{
height:100%;
width:100%;
margin:0px;
border:1px solid gray;
background:;
line-height:130%;
}
div.header
{
padding:0.5em;
color:white;
background-color:gray;
clear:left;
}
div.footer
{
padding:0.5em;
color:blue;
background-color:#fdf;
clear:left;
}
h1.header
{
padding:0;
margin:0;
}
div.left
{
background:#ddd;
float:left;
width:30%;
margin:0;
padding:1em;
}
div.content
{
background:#ccc;
margin-left:300px;
border-left:1px solid gray;
padding:1em;
}
!!!~EndWebPage /%==================================================%/
!!!<<gradient horiz #fcb #ffffff>>[[Wed]]^^<<tiddler CloseThisOpen with: MiniPlanner '« back'>><<toolbar editTiddler>>» ^^>>
* Overdue report - Goal: 10 minutes or 100 words. Just start writing, even if it’s complete crap. Just keep scribbling for 10 minutes or until you have a paragraph or two. When time’s up, stop.
/***
|Name|WikifyPlugin|
|Source|http://www.TiddlyTools.com/#WikifyPlugin|
|Documentation|http://www.TiddlyTools.com/#WikifyPluginInfo|
|Version|1.1.1|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides||
|Description|substitute fields, slices, or computed values into a wiki-syntax format string and render results dynamically|
The {{{<<wikify>>}}} macro allows you to easily retrieve values from custom tiddler fields, tiddler slices, computed values (using javascript) or just plain old literals, and assemble them into small bits of generated wiki-syntax text content that can be rendered directly into a tiddler, or used in the ViewTemplate or EditTemplate to add dynamically-generated content to each tiddler.
The {{{<<wikiCalc>>}}} macro performs the same processing as {{{<<wikify>>}}} and, in addition, passes the assembled text content through javascript's {{{eval()}}} function before rendering the results. This allows you to, for example, construct and compute mathematical expressions that use input values extracted from tiddler fields or slices.
!!!!!Documentation
> see [[WikifyPluginInfo]]
!!!!!Revisions
<<<
2008.03.08 [1.1.1] size reduction: documentation moved to [[WikifyPluginInfo]]
|please see [[WikifyPluginInfo]] for additional revision details|
2007.06.22 [1.0.0] initial release
<<<
!!!!!Code
***/
//{{{
version.extensions.wikify= {major: 1, minor: 1, revision: 1, date: new Date(2008,3,8)};
config.macros.wikify={
handler: function(place,macroName,params,wikifier,paramString,tiddler) {
var fmt=params.shift();
var values=[];
var out="";
if (!fmt.match(/\%[0-9]/g) && params.length) // format has no markers, just join all params with spaces
out=fmt+" "+params.join(" ");
else { // format param has markers, get values and perform substitution
while (p=params.shift()) values.push(this.getFieldReference(place,p));
out=fmt.format(values);
}
if (macroName=="wikiCalc") out=eval(out).toString();
wikify(out,place);
},
getFieldReference: function(place,p) { // "slicename::tiddlername" or "fieldname@tiddlername" or "fieldname"
if (typeof p != "string") return p; // literal non-string value... just return it...
var parts=p.split(config.textPrimitives.sliceSeparator);
if (parts.length==2) {// maybe a slice reference?
var tid=parts[0]; var slice=parts[1];
if (!tid || !tid.length || tid=="here") { // no target (or "here"), use containing tiddler
tid=story.findContainingTiddler(place);
if (tid) tid=tid.getAttribute("tiddler")
else tid="SiteSlices"; // fallback for 'non-tiddler' areas (e.g, header, sidebar, etc.)
}
var val=store.getTiddlerSlice(tid,slice); // get tiddler slice value
}
if (val==undefined) {// not a slice, or slice not found, maybe a field reference?
var parts=p.split("@");
var field=parts[0];
if (!field || !field.length) field="checked"; // missing fieldname, fallback: checked@tiddlername
var tid=parts[1];
if (!tid || !tid.length || tid=="here") { // no target (or "here"), use containing tiddler
tid=story.findContainingTiddler(place);
if (tid) tid=tid.getAttribute("tiddler")
else tid="SiteFields"; // fallback for 'non-tiddler' areas (e.g, header, sidebar, etc.)
}
var val=store.getValue(tid,field);
}
// not a slice or field, or slice/field not found... use param value as-is
return val===undefined?p:val;
}
}
//}}}
//{{{
// define alternative macroName for triggering pre-rendering call to eval()
config.macros.wikiCalc=config.macros.wikify;
//}}}
!!!!!<<gradient horiz #fcb #fff>> WorldNews>>
----
|<html><div align="center"><table bgcolor="#ffffff"><font size="-2" face="Arial, Helvetica, sans-serif" color="#ff0000"> <A HREF="http://www.symbex.net.au/Wiki/AustraliaNews.htm" target="ifnews" title="Australian">Australia</A> | <A HREF="http://www.symbex.net.au/Wiki/GermanNews.htm" target="ifnews" title="Deutsche">Deutsche</A> | <A HREF="http://www.symbex.net.au/Wiki/OffbeatNews.htm" target="ifnews" title="Offbeat">Offbeat</A> | </div></table></html>|
|borderless|k
<html><table width="96%" style="border:none;margin:1px;background:transparent;clear:both;"><iframe id="ifnews" name="ifnews" src="http://www.symbex.net.au/Wiki/AustraliaNews.htm" width="100%" height="500" scrolling="yes" frameborder="0" allowtransparency style="border:none;"></iframe></table></html>
<<tiddler CloseThisOpen with: {Index} '« back'>>
/%@@padding-top:1em;@@
{{textcenter gray9{
<<tiddler Version>> - <<version>>
Symbex Australasia Pty.Ltd. © 2008
@@color:#c06;This Sidebar Notes is at:@@ <script>var today=new Date();document.write('<font style="color:#090">'+'URL='+window.location+'</font>')</script>%/
!!!!<<gradient horiz #fcb #fff>> [[dig Radio]]@@color:#C06;''» »'' @@ Listen to the ABC's digital radio broadcasts.>>
[img[http://www.abc.net.au/dig/img/dig_streaming_radio.gif][http://www.abc.net.au/dig/]]
[img[http://img218.imageshack.us/img218/7518/speakersmqz8.gif]] Listen dig Radio+++[Play Now]
<html><embed type="video/x-ms-asf" id="player_FF" name="player_FF" displaysize="4" autosize="0"
bgcolor="white" showcontrols="true" showtracker="1" showdisplay="1" showstatusbar="1" videoborder3d="0" width="250" height="142" src="http://abc.net.au/streaming/digradio/digradio.m3u" autostart="true" designtimesp="5311" loop="false" volume="100"></embed></html>
[[Media Player|http://www.abc.net.au/dig/dig.asx]] @@color:#c06;''•''@@ [[RealPlayer|http://www.abc.net.au/dig/dig.ram]] @@color:#c06;''•''@@
===
[img[http://img218.imageshack.us/img218/7518/speakersmqz8.gif]] Listen dig JAZZ using:+++[Play Now]<html><embed type="video/x-ms-asf" id="player_FF" name="player_FF" displaysize="4" autosize="0" bgcolor="white" showcontrols="true" showtracker="1" showdisplay="1" showstatusbar="1" videoborder3d="0" width="250" height="142" src="http://abc.net.au/streaming/digjazz/digjazz.m3u" autostart="true" designtimesp="5311" loop="false" volume="100"></embed></html>
[[Media Player|http://www.abc.net.au/streaming/digjazz.asx]] @@color:#c06;''•''@@ [[RealPlayer|http://www.abc.net.au/streaming/digjazz.ram]] @@color:#c06;''•''@@
===
[img[http://img218.imageshack.us/img218/7518/speakersmqz8.gif]] Listen dig COUNTRY +++[Play Now]<html><embed type="video/x-ms-asf" id="player_FF" name="player_FF" displaysize="4" autosize="0" bgcolor="white" showcontrols="true" showtracker="1" showdisplay="1" showstatusbar="1" videoborder3d="0" width="250" height="142" src="http://abc.net.au/streaming/digcountry/digcountry.m3u" autostart="true" designtimesp="5311" loop="false" volume="100"></embed></html>
[[Media Player|http://www.abc.net.au/streaming/digcountry.asx]] @@color:#c06;''•''@@ [[RealPlayer|http://www.abc.net.au/streaming/digcountry.ram]] @@color:#c06;''•''@@
===
!!!!<<gradient horiz #fcb #fff>> [[digCountry]]@@color:#C06;''» »'' @@[>img[http://www.abc.net.au/dig/img/dig_streaming_radio.gif][http://www.abc.net.au/dig/]]>>
[img[http://img218.imageshack.us/img218/7518/speakersmqz8.gif]] Listen to dig Country
<html><embed type="video/x-ms-asf" id="player_FF" name="player_FF" displaysize="4" autosize="0" bgcolor="white" showcontrols="true" showtracker="1" showdisplay="1" showstatusbar="1" videoborder3d="0" width="250" height="142" src="http://www.abc.net.au/streaming/digcountry.asx" autostart="true" designtimesp="5311" loop="false" volume="100"></embed></html>
@@color:#c06;''•''@@[[Media Player|http://www.abc.net.au/streaming/digcountry.asx]] @@color:#c06;''•''@@[[RealPlayer|http://www.abc.net.au/streaming/digcountry.ram]]
[[ABC digital web site|http://www.abc.net.au/dig/stories/s605295.htm]]
[[digRadio on MySpace|http://tinyurl.com/4v7rcj]]
[[What is digital radio?|http://www.abc.net.au/radio/digital/]]
!!!!<<gradient horiz #fcb #fff>> [[digJazz]]@@color:#C06;''» »'' @@[>img[http://www.abc.net.au/dig/img/dig_streaming_radio.gif][http://www.abc.net.au/dig/]]>>
[img[http://img218.imageshack.us/img218/7518/speakersmqz8.gif]] Listen to digJazz
<html><embed type="video/x-ms-asf" id="player_FF" name="player_FF" displaysize="4" autosize="0" bgcolor="white" showcontrols="true" showtracker="1" showdisplay="1" showstatusbar="1" videoborder3d="0" width="250" height="142" src="http://www.abc.net.au/streaming/digjazz.asx" autostart="true" designtimesp="5311" loop="false" volume="100"><embed></html>
@@color:#c06;''•''@@[[Media Player|http://www.abc.net.au/streaming/digjazz.asx]] @@color:#c06;''•''@@[[RealPlayer|http://www.abc.net.au/streaming/digjazz.ram]]
!!!!<<gradient horiz #fcb #fff>> [[digRadio]]@@color:#C06;''» »'' @@ [>img[http://www.abc.net.au/dig/img/dig_streaming_radio.gif][http://www.abc.net.au/dig/]]>>
[img[http://img218.imageshack.us/img218/7518/speakersmqz8.gif]] Listen to digRadio
<html><embed type="video/x-ms-asf" id="player_FF" name="player_FF" displaysize="4" autosize="0"
bgcolor="white" showcontrols="true" showtracker="1" showdisplay="1" showstatusbar="1" videoborder3d="0" width="250" height="142" src="http://www.abc.net.au/streaming/digradio.asx" autostart="true" designtimesp="5311" loop="false" volume="100"></embed></html>
@@color:#c06;''•''@@[[Media Player|http://www.abc.net.au/dig/dig.asx]] @@color:#c06;''•''@@[[RealPlayer|http://www.abc.net.au/dig/dig.ram]]
<html><div align="center"><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/rW9IbxIlFuo&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/rW9IbxIlFuo&hl=en&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object></div></html>
http://www.justinguitar.com/
http://www.youtube.com/justinsandercoe
<html><div align="center">
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/jgn7le-1QFc&color1=0xb1b1b1&color2=0xcfcfcf&fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/jgn7le-1QFc&color1=0xb1b1b1&color2=0xcfcfcf&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object></div></html>
Highlight this message and right click and copy it.
Now go back to the open tiddler in the side bar LEFT CLICK ON IT and type CONTROL-V
Your wish has been fulfilled You used a right click context copy in the main window and pasted it into an open tiddler in the sidebar :-)
Name it :"Magic" and seal it by clicking "done" in the toolbar.
To finalize this procedure go to the upper right corner of the SIDEBAR and click "backstage" to drop down the menu.
Click "save" in the backstage menu and wait for the message that your Magic tiddler was saved.
Now go to the MAIN WINDOW again and search for the word "Magic again see if it isn't the one with your secret message and the copy and paste.
Tell the group about this :-)
Morris :-)
<html><div align="center"> <object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/T7DqB38gGmg&autoplay=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/T7DqB38gGmg&autoplay=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></div></html>
<script>
var tiddlers=store.getTiddlers("modified");
var last=tiddlers[tiddlers.length-1];
var when=last.modified.formatString("YYYY/0MM/0DD"+" at "+"0hh:0mm");
return "Last Modified: " +when
</script>
<html><div align="center"> <object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/4om1rQKPijI&hl=en&fs=1&"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/4om1rQKPijI&hl=en&fs=1&" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object>
| !Finnish | !English |
|<<tiddler [[levan Polkka##finnish]]>>|<<tiddler [[levan Polkka##english]]>>|
</div></html>
!finnish
Nuapurista kuulu se polokan tahti
jalakani pohjii kutkutti.
Ievan äiti se tyttöösä vahti
vaan kyllähän Ieva sen jutkutti,
sillä ei meitä silloin kiellot haittaa
kun myö tanssimme laiasta laitaan.
Salivili hipput tupput täppyt
äppyt tipput hilijalleen.
Ievan suu oli vehnäsellä
ko immeiset onnee toevotti.
Peä oli märkänä jokaisella
ja viulu se vinku ja voevotti.
Ei tätä poikoo märkyys haittaa
sillon ko laskoo laiasta laitaan.
Salivili hipput.
Ievan äiti se kammarissa
virsiä veisata huijjuutti,
kun tämä poika naapurissa
ämmän tyttöä nuijjuutti.
Eikä tätä poikoo ämmät haittaa
sillon ko laskoo laiasta laitaan.
Salivili.
Siellä oli lystiä soiton jäläkeen
sain minä kerran sytkyyttee.
Kottiin ko mäntii ni ämmä se riitelj
ja Ieva jo alako nyyhkyytteek.
Minä sanon Ievalle mitäpä se haittaa
laskemma vielähi laiasta laitaa.
Salivili.
Muorille sanon jotta tukkee suusi
en ruppee sun terveyttäs takkoomaa.
Terveenä peäset ku korjoot luusi
ja määt siitä murjuus makkoomaa.
Ei tätä poikoo hellyys haittaa
ko akkoja huhkii laiasta laitaan.
Salivili.
Sen minä sanon jotta purra pittää
ei mua niin voan nielasta.
Suat männä ite vaikka lännestä ittään
vaan minä en luovu Ievasta,
sillä ei tätä poikoo kainous haittaa
sillon ko tanssii laiasta laitaan.
Salivili.
!end
!english
The sound of a polka drifted from my neighbor's
and set my feet a-tapping oh!
Ieva's mother had her eye on her daughter but
Ieva she managed to fool her, you know.
'Cause who's going to listen to mother saying no
when we're all busy dancing to and fro!
Ieva was smiling, the fiddle it was wailing
as people crowded round to wish her luck.
Everyone was hot but it didn't seem to bother
the handsome young man, the dashing buck.
'Cause who's going to mind a drop of sweat
when he's all busy dancing to and fro!
Ieva's mother she shut herself away
in her own quiet room to hum a hymn.
Leaving our hero to have a spot of fun
in a neighbor's house when the lights are dim.
'Cause what does it matter what the old folks say
when you're all busy dancing to and fro!
When the music stopped then the real fun began
and that's when the laddie fooled around.
When he took her home, when the dancing was over
her mother angrily waiting they found.
But I said to her, Ieva, now don't you weep
and we'll soon be dancing to and fro!
I said to her mother now stop that noise
or I won't be responsible for what I do.
If you go quietly and stay in your room
you won't get hurt while your daughter I woo.
'Cause this fine laddie is a wild sort of guy
when he's all busy dancing to and fro!
One thing I tell you is you won't trap me,
no, you won't find me an easy catch.
Travel to the east and travel to the west but
Ieva and I are going to make a match.
'Cause this fine laddie ain't the bashful sort
when he's all busy dancing to and fro.
!end
</div></html>
<div class='toolbar' macro='toolbar jump top -closeTiddler closeOthers closeAll +editTiddler permalink references newDocument '></div>
<div class='title' macro='view title'></div>
<div macro="gradient horiz #fcb #fff"><div class='viewer' macro='view text wikified'><div align="center"></div></div></div>
<span macro='tiddler ShiftClickToEdit'></span>
<div class='toolbar' macro='toolbar jump top -closeTiddler closeOthers closeAll +editTiddler permalink references newDocument '></div>
<div class='title' macro='view title'></div>
<div class='viewer' macro='view text wikified'></div></div>
<div class='viewer' macro='notes heading:"Notes" tag:"excludeLists allnotes" suffix:"Comments"'></div>
<span macro='tiddler ShiftClickToEdit'></span>
{{unboldLink{
# <html><a href="javascript:void(0)" onclick="story.closeAllTiddlers();story.displayTiddlers(null,store.getTiddlerText('DefaultTiddlers').readBracketedList())"><span title="Close all tiddlers and open Welcome" style="cursor:pointer">Home</span></a></html>
# <html><a href="javascript:void(0)" onclick="story.closeAllTiddlers();story.displayTiddlers(null,store.getTiddlerText('TS-CategoriesList').readBracketedList())"><span title="Close all tiddlers and open Welcome" style="cursor:pointer">Open All Categories As Tabs</span></a>{{editLink{[[edit»|TS-CategoriesList]]}}}</html>
# [[View Category List|TS-CategoriesList]]
# [[View All Snips|FolderTree]]
}}}
<html><ol><li><a href="javascript:void(0)" onclick="story.closeAllTiddlers();story.displayTiddlers(null,store.getTiddlerText('PageProjectList').readBracketedList())"><span title="Close all tiddlers and open Welcome" style="cursor:pointer">SidebarPageProject</span></a>{{editLink{[[edit»|PageProjectList]]}}}</li></ol></html>
@@font-size:8pt;<<tiddler PageTitle>>@@{{unboldLink{
!!!!!<<gradient horiz #fcb #fff>> Index+++[show/hide]
@@margin-top:5px;@@
Some of the things on this index may have several tabs associated with them. Imagine they are your daily routine. Or different projects you have to organize.
===>>
<html><ol><li><a href="javascript:void(0)" onclick="story.closeAllTiddlers();story.displayTiddlers(null,store.getTiddlerText('ReferenceList').readBracketedList())"><span title="Close all tiddlers and open Welcome" style="cursor:pointer">Reference</span></a>{{editLink{[[edit»|ReferenceList]]}}}</li><li><a href="javascript:void(0)" onclick="story.closeAllTiddlers();story.displayTiddlers(null,store.getTiddlerText('IntroductionList').readBracketedList())"><span title="Close all tiddlers and open Welcome" style="cursor:pointer">Introduction</span></a></li><li><a href="javascript:void(0)" onclick="story.closeAllTiddlers();story.displayTiddlers(null,store.getTiddlerText('IndexProjectList').readBracketedList())"><span title="Close all tiddlers and open Welcome" style="cursor:pointer">~MyProject</span></a>{{editLink{[[edit»|IndexProjectList]]}}}</li><li><a href="javascript:void(0)" onclick="story.closeAllTiddlers();story.displayTiddlers(null,store.getTiddlerText('NewsList').readBracketedList())"><span title="Close all tiddlers and open Welcome" style="cursor:pointer">News</span></a>{{editLink{[[edit»|NewsList]]}}}</li><li>{{unboldLink{[[MiniPlanner]]}}}</li><li><a href="javascript:void(0)" onclick="story.closeAllTiddlers();story.displayTiddlers(null,store.getTiddlerText('PageProjectList').readBracketedList())"><span title="Close all tiddlers and open Welcome" style="cursor:pointer">{{unboldLink{SidebarPageProject}}}</span></a>{{editLink{[[edit»|PageProjectList]]}}}</li><li>SidebarLinks</li></ol></html>
}}}