three days later
<html>\n<iframe src="http://www.mp3tunes.com/locker/?display=playerbasic" style=" border-width:0 " width="700" frameborder="0" height="810"></iframe>\n</html>\n
<<reminder day:10 month:10 year:2006 title:Agent22 >>
a long time...
[[JamminJelly]]'s birthday!
Type the text for '20 September 2006'
http://www.archive.org/details/um2001-06-02.shnf\n\nComments: redonkulously superb
http://www.archive.org/details/garaj2003-02-08.shnf\n\nComments: Everthing is really good and funky.
http://www.archive.org/details/jfjo2004-03-30.flac16\n\nComments: Amazing
http://www.archive.org/details/rme2004-09-17.flac16\n\nComments: Some good Herbie Hankcock covers. Red Rocket is really cool too. Nice and Funky.
http://www.archive.org/details/HBRSB2004-09-25.shnf\n\nComments: An awesome show with Billy Nershi from string cheese. There are few good covers, like "rollin' in my sweet babies' arms" and "norwegian wood." Make sure to list to "Sweet Honey's Fountain" and "Rocketman"
http://www.archive.org/details/um2005-03-26.matrix.flac\n\nComments: uber sweet. listen to der bluten kat and the roulette jam (the jimmy stewart in between the two roulettes)
http://www.archive.org/details/HBRSB2005-03-26.flac16\n\nComments: Amazing show. Listen to "small axe" and "june apple." Their version of New Speedway Boogie is really really good too.
I was in egypt and we were all dressed in egyptian clothes (mmmmm...). [[Chad]] had this weird sword thing that had magical powers. He could revive people or kill them or throw them around. We went on this rock ledge (kind of like the LionKing but more sandy and egyptian), and i got a hold of the sword which turned into a torch and i started fighting [[bad guys]]. Then somehow [[Chad]] got it back and the badguys started to kill [[Dylan]] we were fighting them off but his [[hp]] was decreasing. [[Dylan]] yelled, "chad...hel..help me." [[Chad]] was currently fighting off some [[bad guys]] and when he tried to save [[Dylan]], it was too late; his [[hp]] was gone.\n\nDreamer: Joe
My dream started with me as a loyal manservant to the princess Carrie. As her manservant I had to do a variety of tasks, such as planning a feast for some bitchy princesses. I found my brother in the streets as a foreign exchange student that gave Carrie's dad, the king, a tamed bear to fight in the army. Somehow Parker end up as a hobo. The highlight of my dream was when [[J.E.]], as a prince, came to court Carrie. Their love was instantaneous, and Carrie wanted [[sex]]. But [[J.E.]] wasn't so easy, and he believed that "[[AIDS]] does not sleep at night." However, Carrie insisted that she was "a responsible young woman," and that they would have [[sex]]. Thankfully I woke up.\n\nDreamer: [[JamminJelly]]
[[Lucas Bara]], was an evil time-traveller who was in the form of the creepy guy in Prison Break, [[T-Bag]]. He had a board game that he used to go back in time and do bad things. Me and my [[brother]] were [[samurais]], and our mission was to stop him. I order my bro to distract Lucas and a snuck up behind him and started hitting his [[face]] with my [[guitar]]. To make a long story short: He didn't die. He just kept asking me to play Scrabble with him. Finally, i trapped him in a net, and woke up!\n[img[http://www.mouseplanet.com/hometheater/hunchII.jpg]]\nDreamer: Shikwa\n
Well I was listening to the song Walk This Way by aerosmith and in a part of it, it sounds like it says "download a muffin." Then in my dream I downloaded a muffin and used a muffin printer to make it. Then I thought it was my baby and I carried it around everywhere. Then I went swimming, but the muffin fell in! I dived down to the bottom of the pool to get it, but it was almost dead. I took it to the surface and did the Himelick and CPR, but it had already died. When I woke up I said "wtf was that about?"\n\nDreamer: JaredTheDonkey
The lost DJ Lu videos have been discovered! Hoorah!\n+++[Click to watch]\n<html><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/mBLgfq1dSQ0"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/mBLgfq1dSQ0" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></html>\n===
K, so there was this place that was one story, kinda like dorthy's house in wizard of oz and then a tornado came and they all went to the cellar but left me behind. So I ran back into the house to grab something, but it was upstairs (there was no upstairs in the begining.) The only thing was that there were no stairs, just weird chandelier type things. So when I get upstairs there is something like a blockbuster or something with movies and games. I decide to go to the bathroom and when i come back people are yelling at me to hurry up. I run through the blockbuster and grab some movies on the way. When i get to where they were yelling at me from there was a cliff, in the middle of my house!!! There is a hovercraft waiting to pick me up. I get in and we take off and then put in the movies that I picked up. One of them happened to be twilight zone in which someone pulled a drain and they were sucked down into it. Then we were suddenly in a whirl pool of water and then everything zoomed out and I saw our hovercraft being washed down a drain. The last thing i heard before I woke up was "Thankies Honey."\n\nDreamer: JaredTheDonkey
Ok, so my dream started with me playing [[BattleField 2]]. I was playing in an urban assult map as a medic. I was lying behind some cover on top of a [[roof]]. For the longest time, I was killing other [[gamers]](I dont specifically remember who). Anyway, [[sooner or later]], I jumped down off the roof and saw a table that had brownies on it. I realized that the brownies were for the party I was going to have in guitar. However, I gave the brownies away to my friends and realized I had nothing to take to the party! Then I looked over and saw a pile of doughnut halves. They were in an [[oily]] looking liquid. Some were chocolate, and others glazed. Anyway, I decided to take those to guitar class. I woke up at that point.\n\nDreamer: [[Darknesinthewood]]
Last night, I dreamt I was in the [[Royal British Army]], and i was a human cannon (I shot cannon balls out of a turret on my stomach). Our mission was to defeat the [[Ottoman]] [[Turks]], and we were looking for each other in [[Hogwarts]]. Finally, we snuck up behind the [[Ottoman]]s, but i swallowed a cannonball and a bunch of gunpowder. I thought i would blow up and I cried.\nTHE END!!\n\nDreamer: [[Shikwah]]
I dreamed that me and like ten other friends went to my relatves' house in [[Coalmont, IN]] to work on an [[English]] essay. We were all standing in the driveway and suddenly, a giant grass-covered stone [[monster]] rose from the ground!!!! Somehow, all my friends disappeared, and it was just me and my family. We ran away to a golf course, where we hid behind some blue plants because my dad said that the monster couldn't see blue stuff. The monster found us anyway, but he turned out to be really [[cool]]. He took us back to the house where we found [[Mr. Maunu]], who transported me to the school cafeteria where I walked to his room and did Comp Sci homework. Then I woke up. Long dream.\n\nDreamer:[[AFOD]]
change colors and add logo\n\nyour MoM has a logo
only a little bit o thaaaat sugahhhh
There was ice cream today. We also had our very first journal entry for english class.
Joe has big ears and might be a [[Hippotomass]]
It may hurt to be run over by a 16 wheeler
y did u name ur website joes wonderfull spaceship? eh?\n\nWell, i do live there, so... if that answers your question.\n\nI didn't know, howly cwap u live on a spaceship? eh?
Flick.\nThe lamp begins work at around five pm in January,\nTired from short days of winter.\nIt flickers a few times,\nBefore flooding the room with artificial yellow light.\n“I ain’t the sun, it’s the best I can do.”\nHours on hours, the lamp works diligently,\nLighting the world of the inhabitant,\nWaiting for the sound it both loves and hates.\nFlick. \n\nFlick.\nIt wakes up to a night, one minute shorter than the last,\nSunshine descending into the cold darkness of the horizon,\nJust one minute earlier than the last.\nFeather-light snowflakes finish their long journey,\nTo the miniature white hills of the ground.\nThe inhabitant quietly works under the dim light,\nThat the lamp works so hard to produce.\nFlick.\n\nFlick.\nRain pounds the cold, hard ground.\nThe inhabitant is reading in bed,\nIn the warm, lit corner, next to the lamp.\nThe steady pitter-patter of the rain,\nHeavy’s the eyelids of the inhabitant,\nUntil sleep fills his mind.\nFlick.\n\nFlick.\nThe days are getting longer, day by day.\nThe heavy rain has become a light drizzle,\nThrough which the bright sun shines past. \nThe lamp’s utmost importance,\nHas decreased to a two-hour work day.\nFlick.\n\nFlick.\nThe sun is out,\nDays are hot.\nThere is no use for the lamp in the bright summer.\nThe lamp finally gets to rest.\nFlick.\n\n\nPoet: The Lamp
Bigman, check out this myspace page: http://www.myspace.com/maxoelectronic\nThis guy went to high school with Harry. All his music sounds like really awesome video game music.\n\nWhat exactly are you doing in Chiner? And can you really not use facebook, skype etc.? You should think about perhaps coming home before July 1st because Andrew and I are probably gonna go to High Sierra (July 1st-4th). The lineup is semi-dank.\n\nBest regards,\nPoet: spaceshipper
<<reminder day:26 month:10 year:2006 title:"International Clean the Aquarium Day" >>
<<reminder day:30 month:9 year:2006 title:"Don't Be Stupid Day" >>
reeaaaaallllly high
<<reminder day:4 month:10 year:2006 title:CarlDenson >>
Don't ask\n[img[http://img299.imageshack.us/img299/2050/rubbermaiddg4.gif]]
[img[http://img296.imageshack.us/img296/9296/videogr5.jpg]]
+++[Info]\nAFOD is pretty much the coolest Koredneck ever. Hoever, he pretty much sucks at life because he has realized that everything is just dust in the wind.\n===\n\n[img[http://img462.imageshack.us/img462/1719/uglyaschicks2ng3.jpg]]
[img[http://img146.imageshack.us/img146/2811/monkey03dw5.jpg]]\nWorst case scenario during [[sex]].\nAvoid at all costs!\nWear [[protection]]!
[img[http://img237.imageshack.us/img237/5048/catgamercs6.jpg]]
This notebook attempts to capture the essence of a [["kinkless" GTD system|http://www.kinkless.com]] using TiddlyWiki. It is using the <<gtdVersion>> version of the GTD plugins, by Tom Otvos, and is based on version <<version>> of the [[TiddlyWiki|http://www.tiddlywiki.com]] stand-alone wiki project, by Jeremy Ruston. For customization info, see [[GTD TiddlyWiki|http://groups.google.com/group/GTD-TiddlyWiki]] and [[TiddlyWikiDev|http://www.tiddlywiki.com/dev/]].
!Welcome to version 1.0.10 of d-cubed.\nThis is a hasty bug-fix release to the previous 1.0.9 version, with the following fixes:\n* fixed [[Action Review]] to once again show project-less actions\n* fixed GTDStyleSheet to have a smaller menu width for non-fancy styles (see below).\nBecause this release is hot on the heels of the 1.0.9 release, here are the notes for that (in case you are just arriving to the party).\n\n!Welcome to version 1.0.9 of d-cubed.\nIn this release, there are the following changes:\n* changed all action lists to allow direct access to associated projects and contexts\n* added optional "floating" parameter to {{{<<gtdAction>>}}} to support creating actions that don't have to be strictly "next" to show up in action lists, as in:\n{{{\n<<gtdAction actionTitle @context floating>>\n}}}\n* added support for single-click updates of the ~TiddlyWiki core in [[Check for Updates|UpdateApplication]]\n* fixed a bug that caused odd tiddler behaviour when editing a "reference" tiddler and the main Reference tiddler was open\n* changed the default style rules to the popular GTDTW+ style, using the new GTDTWStyleSheet; to use this style, please note that:\n** this stylesheet is loaded automatically (you do not need to edit the StyleSheet tiddler)\n** if you are updating your d-cubed installation and have a custom PageTemplate, you will need to edit your PageTemplate to have a gradient of #000 to #464646 for the full effect\n** if you want to revert to the plain d-cubed style, or have your own style variations, simply disable the "fancy" style from the [[Configuration Options]]\n\n!Please do the survey\nIf you have not already done so (and you are an active user of d-cubed), please take a moment to fill in a short [[user survey|http://www.surveymonkey.com/s.asp?u=626142022640]]. It will help me to craft future releases of d-cubed knowing what you think about it.\n\n//This tiddler will only open automatically the first time you run d-cubed after an update. After that, you can freely delete it, or save it for future reference.//
<<gtdActionList @>>
/***\n|''Name:''|AliasPlugin|\n|''Source:''|http://www.TiddlyTools.com/#AliasPlugin|\n|''Author:''|Eric Shulman - ELS Design Studios|\n|''License:''|[[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|\n|''~CoreVersion:''|2.0.10|\n\nCreate text-substitution macros that define abbreviations and other "aliases", and then embed them in the rest of your tiddler content to quickly insert common terms, phrases and links without a lot of repetitive typing.\n\n!!!!!Usage\n<<<\nFirst, decide upon a suitable "alias" for the text to be substituted. This is usually a short keyword or other abbreviated term that is easily input with just a few keystrokes. You can use any alias you like, but don't include any spaces in the alias name, since it will be used as the name of the 'alias macro' that is created, and macro names cannot contain spaces.\n\n//Note: If you use an alias name that ''does'' contain spaces, they will be automatically replaced with underscores ("_"), so that the resulting alias name will still be a valid macro name//\n\nTo create alias definitions, embed << {{{alias //newname// //"text to display"//}}} >> macros in a tiddler. These macros don't actually produce any visible output, but simply define the alias macros that you want to use in your document, and thus they can be safely added to practically any tiddler without producing a change in that tiddler's appearance.\n\nIn order to ensure that your aliases are defined and available for use throughout your document, you should add your definitions to a tiddler that you are certain will be displayed when your TW is first loaded, such as MainMenu or SiteTitle (or, any tiddler listed in DefaultTiddlers).\n<<<\n!!!!!Examples\n<<<\n<<alias>> {{{<<alias>>}}}\nmissing alias name: fail safe, do nothing\n\n<<alias alias1>> {{{<<alias alias1>>}}}\nmissing text params, default to text=name (e.g., "<<alias1>>")\n\n<<alias alias2 simple multi-word text substitution>> {{{<<alias alias2 simple multi-word text substitution>>}}}\n<<alias2>>\n\n<<alias "alias3 with spaces" "spaces in aliasname converted to _">> {{{<<alias "alias3 with spaces" "spaces in aliasname converted to _ ">>}}}\n<<alias3_with_spaces>>\n\n<<alias alias4 "multi-line \ntext\nsubstitution">> {{{<<alias alias4 "multi-line\ntext\nsubstitution">>}}}\n<<alias4>>\n<<<\n!!!!!Installation\n<<<\nimport (or copy/paste) the following tiddlers into your document:\n''AliasPlugin'' (tagged with <<tag systemConfig>>)\n^^documentation and javascript for this plugin^^\n<<<\n!!!!!Revision History\n<<<\n''2005.10.09 [1.0.3]''\ncombined documentation and code into a single tiddler\n''2005.08.12 [1.0.0]''\ninitial release\n<<<\n!!!!!Credits\n<<<\nThis feature was developed by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]]\n<<<\n!!!!!Code\n***/\n//{{{\nversion.extensions.alias= {major: 1, minor: 0, revision: 3, date: new Date(2005,10,9)};\nconfig.macros.alias= { };\nconfig.macros.alias.handler = function(place,macroName,params) {\n var alias=params.shift(); if (!alias) return; alias=alias.replace(/ /g,"_"); // don't allow spaces in alias\n if (config.macros[alias]==undefined) // create new macro (as needed)\n { \n config.macros[alias] = { };\n config.macros[alias].handler =\n function (place,macroName,params)\n { wikify(config.macros[macroName].text,place,null,null); }\n }\n config.macros[alias].text = params[0]?params.join(' '):alias; // set alias text\n}\n//}}}\n
http://www.allsp.com\n\nComments: every South Park episode ever made. Legal too (kind of).
config.options.chkHttpReadOnly = false;\n
a gentile with a JewFro
Sorry [[spaceshipper]], your wrong. Im offended that Umphrey's says they're from Chicago. South Bend is like HOME!!!!!!
To make this system operate more efficiently, you should periodically archive completed projects and actions. When a project or action is archived, it is merely tagged in a special way to get it "out of sight", but all the information in the project and action tiddlers is preserved. This is important if you need to go back and find something. Click one of these buttons to view the current <<tag project-archive>> or <<tag action-archive>>.\n\n** Click <<gtdArchive archive>> if you would like to archive all completed projects and actions now.\n** Click <<gtdArchive unarchive>> if you would like to unarchive all previously archived projects and actions now.\n\nIf you are sure that you do not want to retain archived projects and actions, you can purge them completely from the system. //Once these archived items are removed, the only way they can be put back in is through manual importing or copy/paste.// ''For your safety, your file will be saved and a backup file will be automatically generated before an archive purge is performed.''\n\n** Click <<gtdArchive purge>> if you would like to purge your archive now.
This is a lil wierd. Good Song.\n\n+++[Click to watch]\n<html><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/Ddt8g9kxgp0"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/Ddt8g9kxgp0" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></html>\n===
Check out this site that came up when i searched for [[BOOOCH!!!!!!]]\n<html><form target="browser_$1" style="margin:0;padding:0"\n onsubmit="this.action=this.url.value; this.form.done.disabled=false" style="margin:0;padding:0"><nobr><!--\n--><input type="button" value="<" title="back" style="font-size:8pt;width:3%"\n onclick="try{window.frames['browser_$1'].history.go(-1)}catch(e){window.history.go(-1)}" ><!--\n--><input type="button" value=">" title="forward" style="font-size:8pt;width:3%"\n onclick="try{window.frames['browser_$1'].history.go(+1)}catch(e){window.history.go(+1)}"><!--\n--><input type="button" value="+" title="refresh"style="font-size:8pt;width:3%"\n onclick="window.frames['browser_$1'].location.reload()"><!--\n--><input type="button" value="x" title="stop"style="font-size:8pt;width:3%"\n onclick="window.stop()"><!--\n--><select name="bookmarks" id="browser_bookmarks_$1" size="1" style="font-size:8pt;width:21%"\n 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">\n<option value="">bookmarks...</option>\n</select><!--\n--><input type="button" value="add" title="add this URL to the MiniBrowser bookmarks" style="font-size:8pt;width:5%"\n onclick="window.miniBrowserAddBookmark(this.form.url);"><!--\n--><input type="button" value="del" title="remove this URL from the MiniBrowser bookmarks" style="font-size:8pt;width:5%"\n onclick="window.miniBrowserDeleteBookmark(this.form.bookmarks);"><!--\n--><input type="button" value="edit" title="edit the MiniBrowser bookmarks list definition" style="font-size:8pt;width:5%"\n onclick="story.displayTiddler(null,'MiniBrowserList',2)"><!--\n--><input type="text" name="url" size="60" value="" style="font-size:8pt;width:35%"\n onfocus="this.select();" onkeyup="var k=event.keyCode; if (k==13|k==10) this.form.go.click();"><!--\n--><input type="button" name="go" value="go" title="view this URL" style="font-size:8pt;width:4%"\n 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"><!--\n--><input type="button" value="open" title="open this URL in a separate window" style="font-size:8pt;width:6%"\n onclick="if(this.form.url.value.length) window.open(this.form.url.value)"><!--\n--><input type="button" value="done" name="done" title="stop viewing this URL" disabled style="font-size:8pt;width:6%"\n onclick="this.form.url.value=''; this.form.bookmarks.selectedIndex=0; window.miniBrowserResetSize(); this.disabled=true;">\n<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"><!--\n--> size: <input type="text" name="w" size="3" value="100%" style="font-size:8pt;"\n onfocus="this.select()"><!--\n-->x<input type="text" name="h" size="3" value="400" style="font-size:8pt;"\n onfocus="this.select()"><!--\n--> <input type="button" value="set" style="font-size:8pt;"\n 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='400'; 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;"><!--\n--><input type="button" value="reset" style="font-size:8pt;"\n onclick="var w='100%'; var h='400'; 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;"><!--\n--><input type="button" value="fit" title="resize to fit containing window" style="font-size:8pt;"\n onclick="window.miniBrowserFitSize(this)"><!--\n--></div></nobr></form></html><script>\n\n // load bookmarks droplist from HR-separated "MiniBrowserList" tiddler contents\n var here=document.getElementById("browser_bookmarks_$1");\n while (here.length) here.options[0]=null; // remove current list items\n here.options[here.length]=new Option("bookmarks...","",true,true);\n var list=store.getTiddlerText("MiniBrowserList");\n if (list && list.trim().length) {\n var parts=list.split("\sn----\sn");\n for (var p=0; p<parts.length; p++) {\n var lines=parts[p].split("\sn");\n var label=lines.shift(); // 1st line=display text\n var value=lines.shift(); // 2nd line=item value\n var indent=value&&value.length?"\sxa0\sxa0":"";\n here.options[here.length]=new Option(indent+label,value,false,false);\n }\n }\n\nwindow.miniBrowserSetSize = function(form) {\n var f=document.getElementById('browser_$1');\n var w=form.w.value.trim(); if (!w||!w.length) w='100%'; if (!w.replace(/[0-9]*/,'').length) w+='px'; \n var h=form.h.value.trim(); if (!h||!h.length) h='400'; if (!h.replace(/[0-9]*/,'').length) h+='px';\n f.style.width=w; f.style.height=h; f.style.display="block";\n document.getElementById('browser_resize_$1').style.display="block";\n return false;\n}\n\nwindow.miniBrowserResetSize = function() {\n var f=document.getElementById('browser_$1');\n if (f.src.length) f.src="";\n f.style.width='100%'; f.style.height='1em'; f.style.display="none";\n document.getElementById('browser_resize_$1').style.display="none";\n return false;\n}\nwindow.miniBrowserFitSize = function(place) {\n var trim=88; // fudge factor for controls + padding + borders. ADJUST TO FIT LAYOUT\n var t=story.findContainingTiddler(place);\n if (!t) { t=place; while (t && t.className!='floatingPanel') t=t.parentNode; } if (!t) return;\n var w="100%"; // horizontal stretching via CSS works, but vertical stretching doesn't... so:\n var h=(t.offsetHeight-trim); // workaround: get containing panel/tiddler height and subtract "trim" height\n place.form.w.value=w; place.form.h.value=h; // update width/height input fields\n var f=document.getElementById('browser_$1');\n f.style.width=w; f.style.height=h+"px";\n}\n\nwindow.miniBrowserAddBookmark = function(place) {\n var v=place.value; if (!v.length) return;\n var d=prompt("Please enter a description for\sn"+place.value); if (!d || !d.length) return;\n var t = store.getTiddler("MiniBrowserList"); t.set(null,"%0\sn%1\sn----\sn%2".format([d,v,t.text]));\n var here=story.findContainingTiddler(place);\n if (here) story.refreshTiddler(here.getAttribute("tiddler"),1,true);\n story.refreshTiddler("MiniBrowserList",1,true);\n story.refreshTiddler("MiniBrowser",1,true);\n store.setDirty(true);\n}\n\nwindow.miniBrowserDeleteBookmark = function(place) {\n var v=place.value; if (!v.length) return;\n var d=place.options[place.selectedIndex].text; if (!d.length) return;\n var t = store.getTiddler("MiniBrowserList");\n if (!confirm("Are you sure you want to remove this MiniBrowser bookmark?\sn\sn"+d+"\sn"+v)) return;\n var pat='%0\sn%1\sn----\sn'.format([d.replace(/\sxa0/g,''),v]); var re=new RegExp(pat,"i");\n t.set(null,t.text.replace(re,""));\n var here=story.findContainingTiddler(place);\n if (here) story.refreshTiddler(here.getAttribute("tiddler"),1,true);\n story.refreshTiddler("MiniBrowserList",1,true);\n story.refreshTiddler("MiniBrowser",1,true);\n store.setDirty(true);\n}\n</script><<tiddler HideTiddlerTags>>
Eva Green is uber hott.
A game. [[Gamers]] play it.
The chicken did not cross the road. I repeat, the chicken did not cross the road. I don't know any chickens. I have never @@known@@ any chickens. \n\nI did not cross the road with THAT chicken. However, I did ask Vernon Jordan to find the chicken a job in New York. \n\n\n
I have just released "Chicken Coop 98", which will not only cross roads, but will lay eggs, file your\nimportant documents, and balance your checkbook and Explorer is an inextricable part of the operating system.
http://www.google.com/calendar/embed?src=vuarmqffd634v311r34p01vmdc%40group.calendar.google.com&title=Bitch%20Of%20The%20Day&height=614\n\nA pretty cool calendar listing various bitches for every day. What an idea.
my favorite band
Hello there children of the blog. I am right now ending the virginity of the Funblog.\nFirstly, Trevor is a bitch that can't spell.\nMood: Confused\nErika is pretty horny according to Joe.\nShe said I was her husband.\nNow she is leaning on me and its kinda gross.\nIt reminds me of [[sex]].\nNot fun.\nStacie was looking pretty fine today. Poor Marcus, I cant believe she dumped him over the weekend. Poor man.\nBut now hes dating Tracie, so its cool.\nPeace out blogees.\nSee you next time!
Mood: Superdooper\n\nThis is a [[krazy]] weekend. After [[Man of the Year]], [[Shikwah]] and [[spaceshipper]] introduced [[me|JamminJelly]] to the wonders of life, like [[Kombucha|KombuchaBlog]], incense, and some [[krazy]] [[music|Music]]. We went to Julien and got some yummy\napple pies. Then we hunted some wild turkey, but they got away...\nThe super [[krazy]] weekend continues!\n\nBtw watch out for [[ninja]]s, cuz they can pop out of the shadows and \nstab you in the neck with some [[krazy]] drugs and you wont even remember.\n\nConsider yourself warned...\n[[JamminJelly]]
Mood: Superflouos\n\n[[Wow]]. Its has been a long time since my last blog. Well last time I left off saying it was a crazy weekend. It was pretty aight. I [[Ultrazone]]d to the extreme and got first in one match. It was chill.\n\n[[Soccer]] started. And Im on [[JV]]. Awesome. How surprising.\n\nToday I was [[spittin]] so sweet [[haiku]]s. You shoulda been there dawg. Too bad Spaceshipper hasn't added My POETRY SECTION to the bar on the <<<< side.\n\nWat eva.\n\nIm gonna write a [[haiku]] just for this blog.\n\nThe coolest blogger\nhas to be [[JamminJelly]].\nHe kicks [[haiku]] [[butt|booty]].\n\nThat kinda [[sucked]] though.\n\n-[[JamminJelly]]
Time for a late night blog entry! Actually its not that late.\nMood: Weary\nMaya said the funniest thing ever.\n"Hey [[Dylan]], why does everyone... wait nevermind."\nMe: "No comeon tell me."\n"Ok, so why does everyone always obsess over [[click this to find out]]"\nI cracked up.\nAnyway, [[Chad]] and Quackie are having some tough times, but I made it all better.\nWell really I just lied about what the other one said, but I made it all [[romantic]],\nso I guess I did a good thing.\nWell thats enough blog for tonight!\nSigning off,\n[[JamminJelly]]
Mood: Freaked out\nThe wierdest thing just happened on my computer. I was working on Comp Sci homework\nand suddenly my computer started playing a sound byte of the A-Team. [[Mr. T]] was talking and there was this annoying laugh track and he said "Fool." \nAnd I had no idea what was going on.\nThere were no programs running except JCreator, which I use for programming. \nIt was crazy.\n\nYesterday I challenged Trevor Johnson, Alie's friend, to a match of [[DDR]]. I am so gonna get owned... Im really nervous too. Im gonna die and I want you to know that [[I love you]].\n\n[[JamminJelly]]
Mood: Crusty\n\nToday Carrie found out about what Maya said, but apparently Maya already asked her as well.\nMaya seemed really confused about why everyone was so obsessed over [[click this to find out]] and she seemed to think that hers were better. Thats funny.\n\nTry this experiment as advised by [[spaceshipper]].\nEat food while imagining [[sex]]. Now how do you feel?\nI felt weird too, especially when eating a browning while thinking of [[butt sex]].\nYeah that was REALLY gross.\nAnd don't eat a banana or popsicle. That could be worse.\n\n[[JamminJelly]]
Mood: Full\nI just ate a whole bag of [[Pirate's Booty]]. Thats 520 [[Calories]].\nAnd im not even full.\n\nAccording to Erika, Andrew Dorman is very huggable.\nI agree.\nHe was a lucky man, getting all those hugs.\n\nAdam and Andrea are [[lovebirds]].\nI need a girlfriend.\nHey ladies, lookin' for a good time?\nCall me.\nYour boy,\n[[JamminJelly]]
Woot, we're goin' streaking!\nThis is a late night blog entry by [[JamminJelly]]\nTonight was pretty crazy.\nCarrie exclamed that "I can't fit into Maggie's bathingsuit! My [[boobs|click this to find out]]\nare too big!"\nShe could have at least tried it on though... for [[Chad]] and [[me|JamminJelly]].\n[[spaceshipper]] and [[I|JamminJelly]] hung out in the hot tub. It was cool.\nBut Malcolm wouldn't let Sydney bite his banana, and she wanted too.\nAnyways, after amazing reviews on my [[poetry]] a few days ago,\n I decided to add a [[poetry]] section to [[Joe's Wonderful Spaceship]].\nCheck it out.\nLater,\n[[JamminJelly]]\n
Like a [[donor]] but with bones instead of donating...stuff...
Like a [[donor]] but with bones instead of...stuff...
Bubbles was Michael Jackson's pet chimp. He had to be taken away by the government. I bet you can guess why!!!!
I went to this acupuncurist in Encinitas the other day. His name (not sure how to spell it) is [[Nobu Osana]]. Anyway, he told me that there is a barrier between the mind and the body, and that our breath is the bridge between them. We need to be concious when we breath in order to maintain and sustain this connection.
Josias was there too. And we through grapes at the other partayers who were sand-sumo-ing. There was also this intense jew-russian dude who was sort of mix between Kyle's cousin Kyle from the southpark, and the guy at calvin-christian who said "Kyle, rememba wat we wooked on in pwactice!!"
/***\n''Name:'' Calendar plugin\n''Version:'' 0.5\n''Author:'' SteveRumsby\n\n''Syntax:'' \n{{{<<calendar>>}}} or {{{<<calendar year>>}}} or {{{<<calendar year month>>}}} or {{{<<calendar thismonth>>}}}\n\n''Description:'' \nThe first form produces an full-year calendar for the current year. The second produces a full-year calendar for the given year. The third produces a single month calendar for the given month and year. The fourth form produces a single month calendar for the current month.\nWeekends and holidays are highlighted (see below for how to specify holdays).\n\n''Configuration:''\nModify this section to change the text displayed for the month and day names, to a different language for example. You can also change the format of the tiddler names linked to from each date, and the colours used.\n\n''Changes by ELS 2005.10.30:''\nconfig.macros.calendar.handler()\n^^use "tbody" element for IE compatibility^^\n^^IE returns 2005 for current year, FF returns 105... fix year adjustment accordingly^^\ncreateCalendarDays()\n^^use showDate() function (if defined) to render autostyled date with linked popup^^\ncalendar stylesheet definition\n^^use .calendar class-specific selectors, add text centering and margin settings^^\n***/\n//{{{\nconfig.macros.calendar = {};\n\nconfig.macros.calendar.monthnames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];\nconfig.macros.calendar.daynames = ["M", "T", "W", "T", "F", "S", "S"];\nconfig.macros.calendar.firstday = 6; \nconfig.macros.calendar.firstweekend = 5;\n\nconfig.macros.calendar.weekendbg = "#eeeebb";\nconfig.macros.calendar.monthbg = "#770000";\nconfig.macros.calendar.holidaybg = "#ffc0c0";\n//}}}\n/***\n!Code section:\n***/\n// (you should not need to alter anything below here)//\n//{{{\nconfig.macros.calendar.tiddlerformat = "0DD/0MM/YYYY"; // This used to be changeable - for now, it isn't// <<smiley :-(>> \n\nversion.extensions.calendar = { major: 0, minor: 5, revision: 0, date: new Date(2006, 0, 11)};\nconfig.macros.calendar.monthdays = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n\nconfig.macros.calendar.holidays = [ ]; // Not sure this is required anymore - use reminders instead\n//}}}\n\n// //Is the given date a holiday?\n//{{{\nfunction calendarIsHoliday(date)\n{\n var longHoliday = date.formatString("0DD/0MM/YYYY");\n var shortHoliday = date.formatString("0DD/0MM");\n\n for(var i = 0; i < config.macros.calendar.holidays.length; i++) {\n if(config.macros.calendar.holidays[i] == longHoliday || config.macros.calendar.holidays[i] == shortHoliday) {\n return true;\n }\n }\n return false;\n}\n//}}}\n\n// //The main entry point - the macro handler.\n// //Decide what sort of calendar we are creating (month or year, and which month or year)\n// // Create the main calendar container and pass that to sub-ordinate functions to create the structure.\n// ELS 2005.10.30: added creation and use of "tbody" for IE compatibility and fixup for year >1900//\n// ELS 2005.10.30: fix year calculation for IE's getYear() function (which returns '2005' instead of '105')//\n//{{{\nconfig.macros.calendar.handler = function(place,macroName,params)\n{\n var calendar = createTiddlyElement(place, "table", null, "calendar", null);\n var tbody = createTiddlyElement(calendar, "tbody", null, null, null);\n var today = new Date();\n var year = today.getYear();\n if (year<1900) year+=1900;\n if (params[0] == "thismonth")\n createCalendarOneMonth(tbody, year, today.getMonth());\n else if (params[0] == "lastmonth") {\n var month = today.getMonth()-1; if (month==-1) { month=11; year--; }\n createCalendarOneMonth(tbody, year, month);\n }\n else if (params[0] == "nextmonth") {\n var month = today.getMonth()+1; if (month>11) { month=0; year++; }\n createCalendarOneMonth(tbody, year, month);\n }\n else {\n if (params[0]) year = params[0];\n if(params[1])\n createCalendarOneMonth(tbody, year, params[1]-1);\n else\n createCalendarYear(tbody, year);\n }\n}\n//}}}\n\n//{{{\nfunction createCalendarOneMonth(calendar, year, mon)\n{\n var row = createTiddlyElement(calendar, "tr", null, "calenderMonthTitle", null);\n createCalendarMonthHeader(calendar, row, config.macros.calendar.monthnames[mon] + " " + year, true, year, mon);\n row = createTiddlyElement(calendar, "tr", null, "calendarDaysOfWeek", null);\n createCalendarDayHeader(row, 1);\n createCalendarDayRowsSingle(calendar, year, mon);\n}\n//}}}\n\n//{{{\nfunction createCalendarMonth(calendar, year, mon)\n{\n var row = createTiddlyElement(calendar, "tr", null, null, null);\n createCalendarMonthHeader(calendar, row, config.macros.calendar.monthnames[mon] + " " + year, false, year, mon);\n row = createTiddlyElement(calendar, "tr", null, null, null);\n createCalendarDayHeader(row, 1);\n createCalendarDayRowsSingle(calendar, year, mon);\n}\n//}}}\n\n//{{{\nfunction createCalendarYear(calendar, year)\n{\n var row;\n row = createTiddlyElement(calendar, "tr", null, null, null);\n var back = createTiddlyElement(row, "td", null, null, null);\n var backHandler = function() {\n removeChildren(calendar);\n createCalendarYear(calendar, year-1);\n };\n createTiddlyButton(back, "<", "Back", backHandler);\n back.align = "center";\n\n var yearHeader = createTiddlyElement(row, "td", null, "calendarYear", year);\n yearHeader.align = "center";\n yearHeader.setAttribute("colSpan", 19);\n\n var fwd = createTiddlyElement(row, "td", null, null, null);\n var fwdHandler = function() {\n removeChildren(calendar);\n createCalendarYear(calendar, year+1);\n };\n createTiddlyButton(fwd, ">", "Fwd", fwdHandler);\n fwd.align = "center";\n\n createCalendarMonthRow(calendar, year, 0);\n createCalendarMonthRow(calendar, year, 3);\n createCalendarMonthRow(calendar, year, 6);\n createCalendarMonthRow(calendar, year, 9);\n}\n//}}}\n\n//{{{\nfunction createCalendarMonthRow(cal, year, mon)\n{\n var row = createTiddlyElement(cal, "tr", null, null, null);\n createCalendarMonthHeader(cal, row, config.macros.calendar.monthnames[mon], false, year, mon);\n createCalendarMonthHeader(cal, row, config.macros.calendar.monthnames[mon+1], false, year, mon);\n createCalendarMonthHeader(cal, row, config.macros.calendar.monthnames[mon+2], false, year, mon);\n row = createTiddlyElement(cal, "tr", null, null, null);\n createCalendarDayHeader(row, 3);\n createCalendarDayRows(cal, year, mon);\n}\n//}}}\n\n//{{{\nfunction createCalendarMonthHeader(cal, row, name, nav, year, mon)\n{\n var month;\n if(nav) {\n var back = createTiddlyElement(row, "td", null, null, null);\n var backHandler = function() {\n var newyear = year;\n var newmon = mon-1;\n if(newmon == -1) { newmon = 11; newyear = newyear-1;}\n removeChildren(cal);\n createCalendarOneMonth(cal, newyear, newmon);\n };\n createTiddlyButton(back, "<", "Back", backHandler);\n back.align = "center";\n back.style.background = config.macros.calendar.monthbg; \n month = createTiddlyElement(row, "td", null, "calendarMonthname", name)\n month.setAttribute("colSpan", 5);\n var fwd = createTiddlyElement(row, "td", null, null, null);\n var fwdHandler = function() {\n var newyear = year;\n var newmon = mon+1;\n if(newmon == 12) { newmon = 0; newyear = newyear+1;}\n removeChildren(cal);\n createCalendarOneMonth(cal, newyear, newmon);\n };\n createTiddlyButton(fwd, ">", "Fwd", fwdHandler);\n fwd.align = "center";\n fwd.style.background = config.macros.calendar.monthbg; \n } else {\n month = createTiddlyElement(row, "td", null, "calendarMonthname", name)\n month.setAttribute("colSpan", 7);\n }\n month.align = "center";\n month.style.background = config.macros.calendar.monthbg;\n}\n//}}}\n\n//{{{\nfunction createCalendarDayHeader(row, num)\n{\n var cell;\n for(var i = 0; i < num; i++) {\n for(var j = 0; j < 7; j++) {\n var d = j + config.macros.calendar.firstday;\n if(d > 6) d = d - 7;\n cell = createTiddlyElement(row, "td", null, null, config.macros.calendar.daynames[d]);\n\n if(d == config.macros.calendar.firstweekend || d == config.macros.calendar.firstweekend+1)\n cell.className = "calendarWeekend";\n }\n }\n}\n//}}}\n\n//{{{\nfunction createCalendarDays(row, col, first, max, year, mon)\n{\n var i;\n for(i = 0; i < col; i++) {\n createTiddlyElement(row, "td", null, null, null);\n }\n var day = first;\n for(i = col; i < 7; i++) {\n var d = i + config.macros.calendar.firstday;\n if(d > 6) d = d - 7;\n var daycell = createTiddlyElement(row, "td", null, null, null);\n var isaWeekend = ((d == config.macros.calendar.firstweekend || d == (config.macros.calendar.firstweekend+1))? true:false);\n\n if(day > 0 && day <= max) {\n var celldate = new Date(year, mon, day);\n // ELS 2005.10.30: use <<date>> macro's showDate() function to create popup\n if (window.showDate) {\n showDate(daycell,celldate,"popup","DD","DD-MMM-YYYY",true, isaWeekend); \n } else {\n if(isaWeekend) daycell.style.background = config.macros.calendar.weekendbg;\n var title = celldate.formatString(config.macros.calendar.tiddlerformat);\n if(calendarIsHoliday(celldate)) {\n daycell.style.background = config.macros.calendar.holidaybg;\n }\n if(window.findTiddlersWithReminders == null) {\n var link = createTiddlyLink(daycell, title, false);\n link.appendChild(document.createTextNode(day));\n } else {\n var button = createTiddlyButton(daycell, day, title, onClickCalendarDate);\n }\n }\n }\n day++;\n }\n}\n//}}}\n\n// //We've clicked on a day in a calendar - create a suitable pop-up of options.\n// //The pop-up should contain:\n// // * a link to create a new entry for that date\n// // * a link to create a new reminder for that date\n// // * an <hr>\n// // * the list of reminders for that date\n//{{{\nfunction onClickCalendarDate(e)\n{\n var button = this;\n var date = button.getAttribute("title");\n var dat = new Date(date.substr(6,4), date.substr(3,2)-1, date.substr(0, 2));\n\n date = dat.formatString(config.macros.calendar.tiddlerformat);\n var popup = createTiddlerPopup(this);\n popup.appendChild(document.createTextNode(date));\n var newReminder = function(reminders) {\n var t = store.getTiddlers(date);\n displayTiddler(null, date, 2, null, null, false, false);\n if(t) {\n document.getElementById("editorBody" + date).value += "\sn<<reminder day:" + dat.getDate() +\n " month:" + (dat.getMonth()+1) +\n " year:" + (dat.getYear()+1900) + " title: >>";\n } else {\n document.getElementById("editorBody" + date).value = "<<reminder day:" + dat.getDate() +\n " month:" + (dat.getMonth()+1) +\n " year:" + (dat.getYear()+1900) + " title: >>";\n }\n };\n var link = createTiddlyButton(popup, "New reminder", reminders, newReminder); \n popup.appendChild(document.createElement("hr"));\n\n var t = findTiddlersWithReminders(dat, 0, null, null);\n for(var i = 0; i < t.length; i++) {\n link = createTiddlyLink(popup, t[i].tiddler, false);\n link.appendChild(document.createTextNode(t[i].tiddler));\n }\n}\n//}}}\n\n//{{{\nfunction calendarMaxDays(year, mon)\n{\n var max = config.macros.calendar.monthdays[mon];\n if(mon == 1 && (year % 4) == 0 && ((year % 100) != 0 || (year % 400) == 0)) {\n max++;\n }\n return max;\n}\n//}}}\n\n//{{{\nfunction createCalendarDayRows(cal, year, mon)\n{\n var row = createTiddlyElement(cal, "tr", null, null, null);\n\n var first1 = (new Date(year, mon, 1)).getDay() -1 - config.macros.calendar.firstday;\n if(first1 < 0) first1 = first1 + 7;\n var day1 = -first1 + 1;\n var first2 = (new Date(year, mon+1, 1)).getDay() -1 - config.macros.calendar.firstday;\n if(first2 < 0) first2 = first2 + 7;\n var day2 = -first2 + 1;\n var first3 = (new Date(year, mon+2, 1)).getDay() -1 - config.macros.calendar.firstday;\n if(first3 < 0) first3 = first3 + 7;\n var day3 = -first3 + 1;\n\n var max1 = calendarMaxDays(year, mon);\n var max2 = calendarMaxDays(year, mon+1);\n var max3 = calendarMaxDays(year, mon+2);\n\n while(day1 <= max1 || day2 <= max2 || day3 <= max3) {\n row = createTiddlyElement(cal, "tr", null, null, null);\n createCalendarDays(row, 0, day1, max1, year, mon); day1 += 7;\n createCalendarDays(row, 0, day2, max2, year, mon+1); day2 += 7;\n createCalendarDays(row, 0, day3, max3, year, mon+2); day3 += 7;\n }\n}\n//}}}\n\n//{{{\nfunction createCalendarDayRowsSingle(cal, year, mon)\n{\n var row = createTiddlyElement(cal, "tr", null, null, null);\n\n var first1 = (new Date(year, mon, 1)).getDay() -1 - config.macros.calendar.firstday;\n if(first1 < 0) first1 = first1+ 7;\n var day1 = -first1 + 1;\n var max1 = calendarMaxDays(year, mon);\n\n while(day1 <= max1) {\n row = createTiddlyElement(cal, "tr", null, null, null);\n createCalendarDays(row, 0, day1, max1, year, mon); day1 += 7;\n }\n}\n//}}}\n\n// //ELS 2005.10.30: added styles\n//{{{\nsetStylesheet(".calendar, .calendar table, .calendar th, .calendar tr, .calendar td { font-size:10pt; text-align:center; } .calendar { margin:0px !important; }", "calendarStyles");\n//}}}\n
[img[http://img127.imageshack.us/img127/566/nfat01xx1.jpg]]\nDeath!!!
A really good sax playa from SanDiego.
[img[http://img208.imageshack.us/img208/8749/johnnydeppzl7.gif]]
[img[http://img86.imageshack.us/img86/1900/chippendalekevincornellhu6.jpg]]\n\nJaredTheDonkey: "Interesting, you look quite different."
\n<<slider chkslider "Bill Clinton" "Bill Clinton" "Why does Bill Clinton think the Chicken Crossed the Road?">>\n\n<<slider chkslider "Martin Luther King" "Martin Luther King" "Why does Martin Luther King think the Chicken Crossed the Road?">>\n\n<<slider chkslider "Saddam Huessein" "Saddam Huessein" "Why does Saddam Huessein think the Chicken Crossed the Road?">>\n\n<<slider chkslider "Freud" "Freud" "Why does Freud think the Chicken Crossed the Road?">>\n\n<<slider chkslider "Bill Gates" "Bill Gates" "Why does Bill Gates think the Chicken Crossed the Road?">>\n\n<<slider chkslider "Dr. Seuss" "Dr. Seuss" "Why does Dr. Seuss think the Chicken Crossed the Road?">>\n\n<<slider chkslider "Machiavelli" "Machiavelli" "Why does Machiavelli think the Chicken Crossed the Road?">>
/***\n|''Name:''|CloseUnsavedOnCancel|\n|''Sourse''|http://jackparke.googlepages.com/jtw.html#CloseUnsavedOnCancel|\n|''Version:''|2.0.8 (16-Apr-2006)|\n|''Author:''|SimonBaird|\n|''Adapted By:''|[[Jack]]|\n|''Type:''|Plugin|\n!Description\nWhen you click new tiddler then click cancel I think the new tiddler should close automatically. This plugin implements that behavious.\n\n!Revision History\n* 1.0.1 (11-Oct-2005) by SimonBaird\n* 2.0.8 Made 2.0.x compatible by Jack on 16-Apr-2006\n\n!Code\n***/\n//{{{\n\nconfig.commands.cancelTiddler.handler = function(event,src,title) {\n if(story.hasChanges(title) && !readOnly)\n if(!confirm(this.warning.format([title])))\n return false;\n story.setDirty(title,false);\n if (!store.tiddlerExists(title) || store.fetchTiddler(title).modifier==config.views.wikified.defaultModifier) {\n story.closeTiddler(title,false);\n store.removeTiddler(title)\n } else {\n story.displayTiddler(null,title);\n }\n return false;\n}\n\n//}}}
This is in Hartford City, Indiana\n[img[http://img390.imageshack.us/img390/1772/inmunmufcanarypp3.jpg]]
Background: #fff\nForeground: #000\nPrimaryPale: #8cf\nPrimaryLight: #18f\nPrimaryMid: #04b\nPrimaryDark: #014\nSecondaryPale: #ffc\nSecondaryLight: #fe8\nSecondaryMid: #db4\nSecondaryDark: #841\nTertiaryPale: #eee\nTertiaryLight: #ccc\nTertiaryMid: #999\nTertiaryDark: #666
Nice insult Spaceshipper!!!
Im not even going to ask how you found this picture
To add a band, click "New Here" at the top right of this window. To add a concert, click on the band, and click "New Here" from the band's window.
These configuration options enable you to customize the default behaviour of this wiki. They are saved locally as cookies, just like other TiddlyWiki configuration options.\n\nThis is the tag used for the "reference" context, used to identify tiddlers that show up in the [[Reference]] list: \n<<option txtGTDReferenceContext>>\n\nThis is the tag used for the "someday-maybe" context, used to identify tiddlers that show up in the [[Someday-Maybe]] list:\n<<option txtGTDSomedayContext>>\n\nThis is the tag used for the "unfiled" context, used to tag actions when the context is not known (such as a deleted context):\n<<option txtGTDUnfiledContext>>\n\nThis value, if specified, is the number of days to keep completed actions in context and review action lists (leave blank to show all unarchived, completed actions):\n<<option txtGTDActionAging>>\n\n<<option chkGTDFancyStyle>> Use this checkbox to enable or disable the extended (fancy) GTD style specified by the GTDTWStyleSheet (you will need to reload the page to see your change)
the new book is [[entertaining]]
You're in for another grueling session of [[Shikwah]]'s incredible CornerStones. Well first off, let me wish all of you [[Trekkies]] [[seasons greetings]] ([[nerds]]). It is [[Thanksgiving]] break, and I am kicking it on the [[Carribbean]] coastline, in a hammock with a bottle of Corona and a parot. Actually, im at the computer typing in the dead of the night. \n My harmonica and/or amp(lifier) didn't come yet, so sorry guys, I will not be having extremely epic jams until they do come. Fortunately, I cursed the online music store by praying to the god Apollo to punish them. \n Let's take a moment of silence to remember the great pilgrims and Native Americans that shared a feast on this very day..............OK that's enough, even though I am kinda [[vegetarian]], I still enjoy som hearty foods on the [[best holiday ever]]. \n I made the best song on GarageBand, check it out on my corner.\nP.S. The dancing Indian midget was the funniest thing I've ever seen<----(to be said in a whisper) :P
Give me the beat, boys, and free my soul; i want to get lost in your rock and roll and drift awayhay
*Wow this is (h)awkward. This is my first cornerstone and i am kinda nervous.\n*Basically, I played some AOEIII today and met like 3 guys who like [[Phish]].\n*([[spaceshipper]] still needs to add a PhishList to the menu!!!!)\n*My Harmonica and Amp(lifier) are comming tomorrow and i am stoked!\n*"Life moves pretty fast. If you don't stop and look around for a little, you could miss it"-[[Ferris Bueller]]\n*I beat Trever Johnson at air hockey, Trever Johnson Beat [[JamminJelly]] at [[DDR]], so does that mean [[JamminJelly]] could beat me at [[foosball]]?...I don't think so\n*Thanx for listnin'
I have skypei so be sure to go online all the time so we can liaotian(r). I will be on skype and spacechat at 10:00 China Time, check it out. I made a friend today!
Mood: @@color:white;background-color:gray;Sleepy@@\n\n @@color:orange;background-color:black;I'm actually in class right now working on a project that I have finished in like 15 minutes. I am quite happy today because i finished my duck-tape glove and have 10 tangerines for lunch...yummy? I am feeling good cause I found another person at church that loves [[Kombucha]] and we went to whole foods and got some. And my TEACHER is obsessed with Kombucha. Oh spaceshipper, when you get the culture I'm also going to show her how to make it and shes going to brew it too. I think I'm less sick now... Well I better get back to Skool. \nShelele!!!!@@\nJaredTheDonkey
Yay!! I got the song of the day working! It works the same as the quotes on the main page, but it shows songs instead. Feel free to add a song, but no garageband songs...SHIKWAH...and make sure they are good.\nSo long <<tiddler ShowUserName>>,\nThis was another blog brought to you by ze Donkey named Jared
Just a test.
Heaven on earth.\n\n[img[http://img464.imageshack.us/img464/616/ddrmax2dancedancerevoluwr3.jpg]]
I Told Yo [[u2]]
Do Not
Im a DOnkeY
I have no idea what this is. I want that midget, though.\n\n+++[Click to watch]\n<html><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/GLa6dzVN_AU"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/GLa6dzVN_AU" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></html>\n===
<<slider chkSlider darknesinthewood Info "Click here to slide out info on me">> \n\n[img[http://members.aol.com/realwaileaestate/images/cat%20w-machine%20gun.jpg]]
/***\n''Date Plugin for TiddlyWiki version 2.x''\n^^author: Eric Shulman - ELS Design Studios\nsource: http://www.TiddlyTools.com/#DatePlugin\nlicense: [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]^^\n^^last update: <<date tiddler "DDD, MMM DDth, YYYY hh:0mm:0ss">>^^\n\nThere are quite a few calendar generators, reminders, to-do lists, 'dated tiddlers' journals, blog-makers and GTD-like schedule managers that have been built around TW. While they all have different purposes, and vary in format, interaction, and style, in one way or another each of these plugins displays and/or uses date-based information to make finding, accessing and managing relevant tiddlers easier. This plugin provides a general approach to embedding dates and date-based links/menus within tiddler content.\n\nYou can ''specify a date using a combination of year, month, and day number values or mathematical expressions (such as "Y+1" or "D+30")'', and then just display it as formatted date text, or create a ''link to a 'dated tiddler''' for quick blogging, or create a ''popup menu'' containing the dated tiddler link plus links to ''tiddlers that were changed'' as well as any ''scheduled reminders'' for that date.\n!!!!!Usage\n<<<\nWhen installed, this plugin defines a macro: {{{<<date [mode] [date] [format] [linkformat]>>}}}. All of the macro parameters are optional and, in it's simplest form, {{{<<date>>}}}, it is equivalent to the ~TiddlyWiki core macro, {{{<<today>>}}}.\n\nHowever, where {{{<<today>>}}} simply inserts the current date/time in a predefined format (or custom format, using {{{<<today [format]>>}}}), the {{{<<date>>}}} macro's parameters take it much further than that:\n* [mode] is either ''display'', ''link'' or ''popup''. If omitted, it defaults to ''display''. This param let's you select between simply displaying a formatted date, or creating a link to a specific 'date titled' tiddler or a popup menu containing a dated tiddler link, plus links to changes and reminders.\n* [date] lets you enter ANY date (not just today) as ''year, month, and day values or simple mathematical expressions'' using pre-defined variables, Y, M, and D for the current year, month and day, repectively. You can display the modification date of the current tiddler by using the keyword: ''tiddler'' in place of the year, month and day parameters. Use ''tiddler://name-of-tiddler//'' to display the modification date of a specific tiddler. You can also use keywords ''today'' or ''filedate'' to refer to these //dynamically changing// date/time values. \n* [format] and [linkformat] uses standard ~TiddlyWiki date formatting syntax. The default is "YYYY.0MM.0DD"\n>^^''DDD'' - day of week in full (eg, "Monday"), ''DD'' - day of month, ''0DD'' - adds leading zero^^\n>^^''MMM'' - month in full (eg, "July"), ''MM'' - month number, ''0MM'' - adds leading zero^^\n>^^''YYYY'' - full year, ''YY'' - two digit year, ''hh'' - hours, ''mm'' - minutes, ''ss'' - seconds^^\n>^^//note: use of hh, mm or ss format codes is only supported with ''tiddler'', ''today'' or ''filedate'' values//^^\n* [linkformat] - specify an alternative date format so that the title of a 'dated tiddler' link can have a format that differs from the date's displayed format\n\nIn addition to the macro syntax, DatePlugin also provides a public javascript API so that other plugins that work with dates (such as calendar generators, etc.) can quickly incorporate date formatted links or popups into their output:\n\n''{{{showDate(place, date, mode, format, linkformat, autostyle, weekend)}}}'' \n\nNote that in addition to the parameters provided by the macro interface, the javascript API also supports two optional true/false parameters:\n* [autostyle] - when true, the font/background styles of formatted dates are automatically adjusted to show the date's status: 'today' is boxed, 'changes' are bold, 'reminders' are underlined, while weekends and holidays (as well as changes and reminders) can each have a different background color to make them more visibly distinct from each other.\n* [weekend] - true indicates a weekend, false indicates a weekday. When this parameter is omitted, the plugin uses internal defaults to automatically determine when a given date falls on a weekend.\n<<<\n!!!!!Examples\n<<<\nThe current date: <<date>>\nThe current time: <<date today "0hh:0mm:0ss">>\nToday's blog: <<date link today "DDD, MMM DDth, YYYY">>\nRecent blogs/changes/reminders: <<date popup Y M D-1 "yesterday">> <<date popup today "today">> <<date popup Y M D+1 "tomorrow">>\nThe first day of next month will be a <<date Y M+1 1 "DDD">>\nThis tiddler (DatePlugin) was last updated on: <<date tiddler "DDD, MMM DDth, YYYY">>\nThe SiteUrl was last updated on: <<date tiddler:SiteUrl "DDD, MMM DDth, YYYY">>\nThis document was last saved on <<date filedate "DDD, MMM DDth, YYYY at 0hh:0mm:0ss">>\n<<date 2006 07 24 "MMM DDth, YYYY">> will be a <<date 2006 07 24 "DDD">>\n<<<\n!!!!!Installation\n<<<\nimport (or copy/paste) the following tiddlers into your document:\n''DatePlugin'' (tagged with <<tag systemConfig>>)\n<<<\n!!!!!Revision History\n<<<\n''2006.03.08 [2.1.2]''\nadd 'override leadtime' flag param in call to findTiddlersWithReminders(), and add "Enter a title" default text to new reminder handler. Thanks to Jeremy Sheeley for these additional tweaks.\n''2006.03.06 [2.1.0]''\nhasReminders() nows uses window.reminderCacheForCalendar[] when present. If calendar cache is not present, indexReminders() now uses findTiddlersWithReminders() with a 90-day look ahead to check for reminders. Also, switched default background colors for autostyled dates: reminders are now greenish ("c0ffee") and holidays are now reddish ("ffaace").\n''2006.02.14 [2.0.5]''\nwhen readOnly is set (by TW core), omit "new reminders..." popup menu item and, if a "dated tiddler" does not already exist, display the date as simple text instead of a link.\n''2006.02.05 [2.0.4]''\nadded var to variables that were unintentionally global. Avoids FireFox 1.5.0.1 crash bug when referencing global variables\n''2006.01.18 [2.0.3]''\nIn 1.2.x the tiddler editor's text area control was given an element ID=("tiddlerBody"+title), so that it was easy to locate this field and programmatically modify its content. With the addition of configuration templates in 2.x, the textarea no longer has an ID assigned. To find this control we now look through all the child nodes of the tiddler editor to locate a "textarea" control where attribute("edit") equals "text", and then append the new reminder to the contents of that control.\n''2006.01.11 [2.0.2]''\ncorrect 'weekend' override detection logic in showDate()\n''2006.01.10 [2.0.1]''\nallow custom-defined weekend days (default defined in config.macros.date.weekend[] array)\nadded flag param to showDate() API to override internal weekend[] array\n''2005.12.27 [2.0.0]''\nUpdate for TW2.0\nAdded parameter handling for 'linkformat'\n''2005.12.21 [1.2.2]''\nFF's date.getYear() function returns 105 (for the current year, 2005). When calculating a date value from Y M and D expressions, the plugin adds 1900 to the returned year value get the current year number. But IE's date.getYear() already returns 2005. As a result, plugin calculated date values on IE were incorrect (e.g., 3905 instead of 2005). Adding +1900 is now conditional so the values will be correct on both browsers.\n''2005.11.07 [1.2.1]''\nadded support for "tiddler" dynamic date parameter\n''2005.11.06 [1.2.0]''\nadded support for "tiddler:title" dynamic date parameter\n''2005.11.03 [1.1.2]''\nwhen a reminder doesn't have a specified title parameter, use the title of the tiddler that contains the reminder as "fallback" text in the popup menu. Based on a suggestion from BenjaminKudria.\n''2005.11.03 [1.1.1]''\nTemporarily bypass hasReminders() logic to avoid excessive overhead from generating the indexReminders() cache. While reminders can still appear in the popup menu, they just won't be indicated by auto-styling the date number that is displayed. This single change saves approx. 60% overhead (5 second delay reduced to under 2 seconds).\n''2005.11.01 [1.1.0]''\ncorrected logic in hasModifieds() and hasReminders() so caching of indexed modifieds and reminders is done just once, as intended. This should hopefully speed up calendar generators and other plugins that render multiple dates...\n''2005.10.31 [1.0.1]''\ndocumentation and code cleanup\n''2005.10.31 [1.0.0]''\ninitial public release\n''2005.10.30 [0.9.0]''\npre-release\n<<<\n!!!!!Credits\n<<<\nThis feature was developed by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]].\n<<<\n!!!!!Code\n***/\n//{{{\nversion.extensions.date = {major: 2, minor: 1, revision: 2, date: new Date(2006,3,8)};\n//}}}\n\n//{{{\n// 1.2.x compatibility\nif (!window.story) window.story=window;\nif (!store.getTiddler) store.getTiddler=function(title){return store.tiddlers[title]}\nif (!store.addTiddler) store.addTiddler=function(tiddler){store.tiddlers[tiddler.title]=tiddler}\nif (!store.deleteTiddler) store.deleteTiddler=function(title){delete store.tiddlers[title]}\n//}}}\n\n//{{{\nconfig.macros.date = {\n format: "YYYY.0MM.0DD", // default date display format\n linkformat: "YYYY.0MM.0DD", // 'dated tiddler' link format\n weekendbg: "#c0c0c0", // "cocoa"\n holidaybg: "#ffaace", // "face"\n modifiedsbg: "#bbeeff", // "beef"\n remindersbg: "#c0ffee", // "coffee"\n holidays: [ "01/01", "07/04", "07/24", "11/24" ], // NewYearsDay, IndependenceDay(US), Eric's Birthday (hooray!), Thanksgiving(US)\n weekend: [ 1,0,0,0,0,0,1 ] // [ day index values: sun=0, mon=1, tue=2, wed=3, thu=4, fri=5, sat=6 ]\n};\n//}}}\n\n//{{{\nconfig.macros.date.handler = function(place,macroName,params)\n{\n // do we want to see a link, a popup, or just a formatted date?\n var mode="display";\n if (params[0]=="display") { mode=params[0]; params.shift(); }\n if (params[0]=="popup") { mode=params[0]; params.shift(); }\n if (params[0]=="link") { mode=params[0]; params.shift(); }\n // get the date\n var now = new Date();\n var date = now;\n if (!params[0] || params[0]=="today")\n { params.shift(); }\n else if (params[0]=="filedate")\n { date=new Date(document.lastModified); params.shift(); }\n else if (params[0]=="tiddler")\n { date=store.getTiddler(story.findContainingTiddler(place).id.substr(7)).modified; params.shift(); }\n else if (params[0].substr(0,8)=="tiddler:")\n { var t; if ((t=store.getTiddler(params[0].substr(8)))) date=t.modified; params.shift(); }\n else {\n var y = eval(params.shift().replace(/Y/ig,(now.getYear()<1900)?now.getYear()+1900:now.getYear()));\n var m = eval(params.shift().replace(/M/ig,now.getMonth()+1));\n var d = eval(params.shift().replace(/D/ig,now.getDate()+0));\n date = new Date(y,m-1,d);\n }\n // date format with optional custom override\n var format=this.format; if (params[0]) format=params.shift();\n var linkformat=this.linkformat; if (params[0]) linkformat=params.shift();\n showDate(place,date,mode,format,linkformat);\n}\n//}}}\n\n//{{{\nwindow.showDate=showDate;\nfunction showDate(place,date,mode,format,linkformat,autostyle,weekend)\n{\n if (!mode) mode="display";\n if (!format) format=config.macros.date.format;\n if (!linkformat) linkformat=config.macros.date.linkformat;\n if (!autostyle) autostyle=false;\n\n // format the date output\n var title = date.formatString(format);\n var linkto = date.formatString(linkformat);\n\n // just show the formatted output\n if (mode=="display") { place.appendChild(document.createTextNode(title)); return; }\n\n // link to a 'dated tiddler'\n var link = createTiddlyLink(place, linkto, false);\n link.appendChild(document.createTextNode(title));\n link.title = linkto;\n link.date = date;\n link.format = format;\n link.linkformat = linkformat;\n\n // if using a popup menu, replace click handler for dated tiddler link\n // with handler for popup and make link text non-italic (i.e., an 'existing link' look)\n if (mode=="popup") {\n link.onclick = onClickDatePopup;\n link.style.fontStyle="normal";\n }\n\n // format the popup link to show what kind of info it contains (for use with calendar generators)\n if (!autostyle) return;\n if (hasModifieds(date))\n { link.style.fontStyle="normal"; link.style.fontWeight="bold"; }\n if (hasReminders(date))\n { link.style.textDecoration="underline"; }\n if(isToday(date))\n { link.style.border="1px solid black"; }\n\n if( (weekend!=undefined?weekend:isWeekend(date)) && (config.macros.date.weekendbg!="") )\n { place.style.background = config.macros.date.weekendbg; }\n if(isHoliday(date)&&(config.macros.date.holidaybg!=""))\n { place.style.background = config.macros.date.holidaybg; }\n if (hasModifieds(date)&&(config.macros.date.modifiedsbg!=""))\n { place.style.background = config.macros.date.modifiedsbg; }\n if (hasReminders(date)&&(config.macros.date.remindersbg!=""))\n { place.style.background = config.macros.date.remindersbg; }\n}\n//}}}\n\n//{{{\nfunction isToday(date) // returns true if date is today\n { var now=new Date(); return ((now-date>=0) && (now-date<86400000)); }\n\nfunction isWeekend(date) // returns true if date is a weekend\n { return (config.macros.date.weekend[date.getDay()]); }\n\nfunction isHoliday(date) // returns true if date is a holiday\n{\n var longHoliday = date.formatString("0MM/0DD/YYYY");\n var shortHoliday = date.formatString("0MM/0DD");\n for(var i = 0; i < config.macros.date.holidays.length; i++) {\n var holiday=config.macros.date.holidays[i];\n if (holiday==longHoliday||holiday==shortHoliday) return true;\n }\n return false;\n}\n//}}}\n\n//{{{\n// Event handler for clicking on a day popup\nfunction onClickDatePopup(e)\n{\n if (!e) var e = window.event;\n var theTarget = resolveTarget(e);\n var popup = createTiddlerPopup(this);\n if(popup) {\n // always show dated tiddler link (or just date, if readOnly) at the top...\n if (!readOnly || store.tiddlerExists(this.date.formatString(this.linkformat)))\n createTiddlyLink(popup,this.date.formatString(this.linkformat),true);\n else\n createTiddlyText(popup,this.date.formatString(this.linkformat));\n addModifiedsToPopup(popup,this.date,this.format);\n addRemindersToPopup(popup,this.date,this.linkformat);\n }\n scrollToTiddlerPopup(popup,false);\n e.cancelBubble = true;\n if (e.stopPropagation) e.stopPropagation();\n return(false);\n}\n//}}}\n\n//{{{\nfunction indexModifieds() // build list of tiddlers, hash indexed by modification date\n{\n var modifieds= { };\n var tiddlers = store.getTiddlers("title");\n for (var t = 0; t < tiddlers.length; t++) {\n var date = tiddlers[t].modified.formatString("YYYY0MM0DD")\n if (!modifieds[date])\n modifieds[date]=new Array();\n modifieds[date].push(tiddlers[t].title);\n }\n return modifieds;\n}\nfunction hasModifieds(date) // returns true if date has modified tiddlers\n{\n if (!config.macros.date.modifieds) config.macros.date.modifieds = indexModifieds();\n return (config.macros.date.modifieds[date.formatString("YYYY0MM0DD")]!=undefined);\n}\n\nfunction addModifiedsToPopup(popup,when,format)\n{\n if (!config.macros.date.modifieds) config.macros.date.modifieds = indexModifieds();\n var indent=String.fromCharCode(160)+String.fromCharCode(160);\n var mods = config.macros.date.modifieds[when.formatString("YYYY0MM0DD")];\n if (mods) {\n mods.sort();\n var e=createTiddlyElement(popup,"div",null,null,"changes:");\n for(var t=0; t<mods.length; t++) {\n var link=createTiddlyLink(popup,mods[t],false);\n link.appendChild(document.createTextNode(indent+mods[t]));\n createTiddlyElement(popup,"br",null,null,null);\n }\n }\n}\n//}}}\n\n//{{{\nfunction indexReminders(date,leadtime) // build list of tiddlers with reminders, hash indexed by reminder date\n{\n var reminders = { };\n if(window.findTiddlersWithReminders!=undefined) { // reminder plugin is installed\n // DEBUG var starttime=new Date();\n var t = findTiddlersWithReminders(date, [0,leadtime], null, null, 1);\n for(var i=0; i<t.length; i++) reminders[t[i].matchedDate]=true;\n // DEBUG var out="Found "+t.length+" reminders in "+((new Date())-starttime+1)+"ms\sn";\n // DEBUG out+="startdate: "+date.toLocaleDateString()+"\sn"+"leadtime: "+leadtime+" days\sn\sn";\n // DEBUG for(var i=0; i<t.length; i++) { out+=t[i].matchedDate.toLocaleDateString()+" "+t[i].params.title+"\sn"; }\n // DEBUG alert(out);\n }\n return reminders;\n}\n\nfunction hasReminders(date) // returns true if date has reminders\n{\n if (window.reminderCacheForCalendar)\n return window.reminderCacheForCalendar[date]; // use calendar cache\n if (!config.macros.date.reminders)\n config.macros.date.reminders = indexReminders(date,90); // create a 90-day leadtime reminder cache\n return (config.macros.date.reminders[date]);\n}\n\nfunction addRemindersToPopup(popup,when,format)\n{\n if(window.findTiddlersWithReminders==undefined) return; // reminder plugin not installed\n\n var indent = String.fromCharCode(160)+String.fromCharCode(160);\n var reminders=findTiddlersWithReminders(when, [0,31],null,null,1);\n var e=createTiddlyElement(popup,"div",null,null,"reminders:"+(!reminders.length?" none":""));\n for(var t=0; t<reminders.length; t++) {\n link = createTiddlyLink(popup,reminders[t].tiddler,false);\n var diff=reminders[t].diff;\n diff=(!diff)?"Today":((diff==1)?"Tomorrow":diff+" days");\n var txt=(reminders[t].params["title"])?reminders[t].params["title"]:reminders[t].tiddler;\n link.appendChild(document.createTextNode(indent+diff+" - "+txt));\n createTiddlyElement(popup,"br",null,null,null);\n }\n if (readOnly) return; // omit "new reminder..." link\n var link = createTiddlyLink(popup,indent+"new reminder...",true); createTiddlyElement(popup,"br");\n var title = when.formatString(format);\n link.title="add a reminder to '"+title+"'";\n link.onclick = function() {\n // show tiddler editor\n story.displayTiddler(null, title, 2, null, null, false, false);\n // find body 'textarea'\n var c =document.getElementById("tiddler" + title).getElementsByTagName("*");\n for (var i=0; i<c.length; i++) if ((c[i].tagName.toLowerCase()=="textarea") && (c[i].getAttribute("edit")=="text")) break;\n // append reminder macro to tiddler content\n if (i<c.length) {\n if (store.tiddlerExists(title)) c[i].value+="\sn"; else c[i].value="";\n c[i].value += "<<reminder";\n c[i].value += " day:"+when.getDate();\n c[i].value += " month:"+(when.getMonth()+1);\n c[i].value += " year:"+when.getFullYear();\n c[i].value += ' title:"Enter a title" >>';\n }\n };\n}\n//}}}\n
<<gradient vert #000000 #FF6600 #FF3300 #CC3300 #990000 #000000>>color:NO;text-align:center;''DAWGSPOT''>>\n@@color:orange;background-color:black;''Mi dawg ain't name'd spot butt dis iz da plaze fo da dawgz''@@\n[img[http://www.signswithanattitude.com/images_signs/xing_signs/donkey.jpg]]\n+++[Song of the day]\n(add/view songs [[here|SongoftheDay]]) Attention yo!: If you put a new song in the list, you need to put the -deliciousPlayTagger after every song even though on the song of the day page it only needs one.)\n===: <<QOTD SongoftheDay>>\n+++[Dawg Blog]\n<<newerTiddler button:"New DawgBlog Entry" name:"DB#(fill in with a number)" tags:"[[DawgBlog]]" text:"Type DawgBlog here...">>\n@@color:white;<<tagging DawgBlog>>@@\n===\n\n\n\n<<sparkline 163 7686 4984 236 9788 266 1494 249 9043 5641 1835 8285 6098 8891 9879 3288 2285 3098 2101 1755 3283 3353 4904 9340 3984 8209 2803 4932 8450 4983 3480 8439 3840 8033 3809 8094 4985 3408 3840 9485 3098 2101 1755 3283 3353 4904 9340 3984 8209 2803 4932 8450 4983 3480 8439 3840 8033 3809 8094 4985 3408 3840 9483 2280 8439 3840 8033 3809 8094 4985 3408 3840 9483 2285 3098 2101 1755 3283 3353 4904 9340 3984 8209 2803 4932 8450 4983 3480 8439 3804 9340 3984 8209 2803 4932 8450 4983 3480 8439 3840 8033 3809 8094 4985 3408 3840 9483 2285 3098 2101 1755 3283 3353 4925 3285 3098 2101 1755 3283 3353 4904 9340 3984 8209 2803 4932 8450 4983 3480 8439 3840 8033 3809 8094 4985 3408 3840 9483 9340 3984 8209 2803 4932 8450 4983 3480 8439 3840 8033 3809 8094 4985 3408 3840 9483 2285 3098 2101 1755 3283 3353 4904 9340 3984 8209 2803 4932 8450 4983 3480 8439 3840 8033 3809 8094 4985 3408 3840 9483 9233 8409 8293 8430 3409 3948 4309 3335 2898 2224 3838 8440 9843 3239 2134 1354 1825 1839 2142 1942 2101 1755 3283 3353 4904 9340 1784 1145 979 1328 1611>>
WelcomeAboard
/***\n|''Name:''|DeliciousPlayTaggerPlugin|\n|''Source:''|http://www.TiddlyTools.com/#DeliciousPlayTaggerPlugin|\n|''Author:''|Eric Shulman - ELS Design Studios|\n|''License:''|[[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|\n|''~CoreVersion:''|2.0.10|\n\nThis plugin defines an object class "Delicious.Mp3", which adds methods for applying the del.icio.us "play tagger" to any mp3 URLs embedded in tiddler content. \n\n!!!!!Usage\n\nSimply place {{{<<deliciousPlayTagger>>}}} into the tiddler content ''following any links to mp3 URLs'', and they will be 'del.icio.us'ly tagged to be played with the flash player.\n\n!!!!!Example\nMy favorite [[Friday Night Music|http://www.FridayNightMusic.com]] "Free Jazz" improv compositions:\nhttp://www.elsdesign.com/fnm/audio/030502-5.mp3 ("In The Shadows")\nhttp://www.elsdesign.com/fnm/audio/001103-4.mp3 ("The Sky's The Limit")\nhttp://www.elsdesign.com/fnm/audio/020830-6.mp3 ("Good Morning, Elijah")\n\n<<deliciousPlayTagger>>\n!!!!!Installation\n<<<\nimport (or copy/paste) the following tiddlers into your document:\n''DeliciousPlayTaggerPlugin'' (tagged with <<tag systemConfig>>)\n^^documentation and javascript for this plugin^^\n<<<\n!!!!!Revision History\n<<<\n''2006.02.21 [1.0.0]''\ninitial release\n<<<\n!!!!!Credits\n<<<\nThis feature was developed by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]]\nadapted from original source code located at: http://del.icio.us/js/playtagger\n<<<\n!!!!!Code\n***/\n//{{{\nversion.extensions.deliciousPlayTagger= {major: 1, minor: 0, revision: 0, date: new Date(2006,2,21)};\n\nconfig.macros.deliciousPlayTagger = { };\nconfig.macros.deliciousPlayTagger.handler = function(place,macroName,params) { Delicious.Mp3.go(place); }\n\nif(typeof(Delicious) == 'undefined') Delicious = {}\nDelicious.Mp3 = {\n playimg: null,\n player: null,\n go: function(place) { // ELS 2006.02.21: added 'place' param\n if (!place) var place=document;\n var all = place.getElementsByTagName('a')\n for (var i = 0, o; o = all[i]; i++) {\n if(o.href.match(/\s.mp3$/i)) {\n var img = document.createElement('img')\n img.src = 'http://del.icio.us/static/img/mp3/play.gif'; img.title = 'listen'\n img.height = img.width = 12\n img.style.marginRight = '0.5em'\n img.style.cursor = 'pointer'\n img.onclick = Delicious.Mp3.makeToggle(img, o.href)\n o.parentNode.insertBefore(img, o)\n }}},\n toggle: function(img, url) {\n if (Delicious.Mp3.playimg == img) Delicious.Mp3.destroy()\n else {\n if (Delicious.Mp3.playimg) Delicious.Mp3.destroy()\n var a = img.nextSibling, c=''\n if (document.defaultView && document.defaultView.getComputedStyle) c = document.defaultView.getComputedStyle(a,null).getPropertyValue('color')\n else if (a.currentStyle) c = a.currentStyle['color']\n c = c.replace(/^rgb|[ ()]/g, '')\n var hex = c.match(/^#?([a-f0-9]{6})$/), hexSm = c.match(/^#?([a-f0-9]{3})$/), rgb = c.match(/^([0-9]+),([0-9]+),([0-9]+)$/)\n if (rgb) { var c16 = "0123456789abcdef", c=''; for(var i=1,d;d=rgb[i];i++) { var j=d%16; c=c+c16.charAt((d-j)/16)+c16.charAt(j) } }\n else if (hex) c = hex[1]\n else if (hexSm) c = hexSm[1].charAt(0) + hexSm[1].charAt(0) + hexSm[1].charAt(1) + hexSm[1].charAt(1) + hexSm[1].charAt(2) + hexSm[1].charAt(2)\n else c = "000000"\n img.src = 'http://del.icio.us/static/img/mp3/stop.gif'; Delicious.Mp3.playimg = img;\n Delicious.Mp3.player = document.createElement('span')\n Delicious.Mp3.player.innerHTML = '<object style="vertical-align:bottom;margin-right:0.2em" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"' +\n 'codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"' +\n 'width="100" height="14" id="player" align="middle">' +\n '<param name="wmode" value="transparent" />' +\n '<param name="allowScriptAccess" value="sameDomain" />' +\n '<param name="flashVars" value="theLink='+url+'&amp;fontColor='+c+'" />' +\n '<param name="movie" value="http://del.icio.us/static/swf/playtagger.swf" /><param name="quality" value="high" />' +\n '<embed style="vertical-align:bottom;margin-right:0.2em" src="http://del.icio.us/static/swf/playtagger.swf" flashVars="theLink='+url+'&amp;fontColor='+c+'"'+\n 'quality="high" wmode="transparent" width="100" height="14" name="player"' +\n 'align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash"' +\n ' pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>'\n img.parentNode.insertBefore(Delicious.Mp3.player, img.nextSibling)\n }},\n destroy: function() {\n Delicious.Mp3.playimg.src = 'http://del.icio.us/static/img/mp3/play.gif'; Delicious.Mp3.playimg = null\n Delicious.Mp3.player.removeChild(Delicious.Mp3.player.firstChild); Delicious.Mp3.player.parentNode.removeChild(Delicious.Mp3.player); Delicious.Mp3.player = null\n },\n makeToggle: function(img, url) { return function(){ Delicious.Mp3.toggle(img, url) }}\n}\n\n//}}}
Apparently worse than [[hell]]...
<html>\n<iframe src="http://www.virtualnes.com/vm_files/launch_sound_on.php?rom=/x_english/donkeykong&romsize=24592" style=" border-width:0 " width="640" frameborder="0" height="588"></iframe>\n</html>\n
Awesome English teacher.\n[img[http://img390.imageshack.us/img390/939/socratesnh0.gif]]
Did the chicken cross the road? Did he cross it with a toad? Yes!, the chicken crossed the road. But why it crossed, I've not been told! \n
[[JamminJelly]]'s alter ego. Kinda a [[jerk]] unless you get to know him.\nThen you realize he's just dumb.
<<newerTiddler button:"New FunBlog Entry" name:"Blog Entry#(fill in with a number)" tags:"[[Dylan's FunBlog]]" text:"Type FunBlog here...">>
kinda not small
[[Eyes]]
[[Shikwah]]'s bus driver
Feel Free to add to this list:\n*Go on SpaceChat and see if anyone else is online\n+++[People are online]\nCheck if anyone else is editng (they might have an away message saying: editing). You can private message them to get their attention by dual-clicking on their name.\nWhen no one else is editing, you can begin. Put up an away message saying: editing\nand type: EDITING in the main chat. Refresh/reload the spaceship's page and begin to edit. When you are done, save to web, refresh the page and take down the away message. Also, type: Done Editing\n===\n+++[Shippin' Solo]\nPut up an away message saying: editing\nRefresh the spaceship's page and edit. When you are done, save to web, refresh and take down the away message.\n===\n+++[CensorShip]\nPlease censor your stuff so our Moms dont think were perverted or have anger swearing issues. Thnx -[[Shikwah]] (you get the [[picture]])\n===\n*Don't delete other people's stuff (unless you come FromTheCockpit like [[spaceshipper]]Feel free to add on though and you can put double brackets around random stuff if you want like so: {{{[[Random Stuff]]}}}
<!---\n| Name:|~TagglyTaggingEditTemplate |\n| Version:|1.1 (12-Jan-2006)|\n| Source:|http://simonbaird.com/mptw/#TagglyTaggingEditTemplate|\n| Purpose:|See TagglyTagging for more info|\n| Requires:|You need the CSS in TagglyTaggingStyles to make it look right|\n--->\n<!--{{{-->\n<div class="toolbar" macro="toolbar +saveTiddler closeOthers -cancelTiddler deleteTiddler"></div>\n<div class="title" macro="view title"></div>\n<div class="editLabel">Title</div><div class="editor" macro="edit title"></div>\n<div class="editLabel">Tags</div><div class="editor" macro="edit tags"></div>\n<div class="editorFooter"><span macro="message views.editor.tagPrompt"></span><span macro="tagChooser"></span></div>\n<div class="editor" macro="edit text"></div>\n<br/>\n<!--}}}-->
GD tribute band from SanDiego. Been playing at [[Winston's]] every monday for the last 15 years. \nSite: http://www.electricwasteband.com/
Raindrops splash onto\nA blank pallette of dispare.\nMy heart and my soul.\n\n[img[http://img89.imageshack.us/img89/8813/31062sws5.jpg]]
[[Dr. Kyle]]\n[img[http://img390.imageshack.us/img390/939/socratesnh0.gif]]
/***\n''Export Tiddlers Plugin for TiddlyWiki version 2.0''\n^^author: Eric Shulman - ELS Design Studios\nsource: http://www.TiddlyTools.com/#ExportTiddlersPlugin\nlicense: [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]^^\n\nWhen many people edit copies of the same TiddlyWiki document, the ability to easily copy and share these changes so they can then be redistributed to the entire group is very important. This ability is also very useful when moving your own tiddlers from document to document (e.g., when upgrading to the latest version of TiddlyWiki, or 'pre-loading' your favorite stylesheets into a new 'empty' TiddlyWiki document.)\n\nExportTiddlersPlugin let you ''select and extract tiddlers from your ~TiddlyWiki documents and save them to a local file'' or a remote server (requires installation of compatible server-side scripting, still under development...). An interactive control panel lets you specify a destination, and then select which tiddlers to export. A convenient 'selection filter' helps you pick desired tiddlers by specifying a combination of modification dates, tags, or tiddler text to be matched or excluded. ''Tiddler data can be output as ~TiddlyWiki "storeArea ~DIVs" that can be imported into another ~TiddlyWiki or as ~RSS-compatible XML that can be published for RSS syndication.''\n\n!!!!!Inline interface (live)\n<<<\n<<exportTiddlers inline>>\n<<<\n!!!!!Usage\n<<<\nOptional "special tiddlers" used by this plugin:\n* SiteUrl^^\nURL for official server-published version of document being viewed\ndefault: //none//^^\n* SiteHost^^\nhost name/address for remote server (e.g., "www.server.com" or "192.168.1.27")\ndefault: //none//^^\n* SitePost^^\nremote path/filename for submitting changes (e.g., "/cgi-bin/submit.cgi")\ndefault: //none//^^\n* SiteParams^^\narguments (if any) for server-side receiving script\ndefault: //none//^^\n* SiteID^^\nusername or other authorization identifier for login-controlled access to remote server\ndefault: current TiddlyWiki username (e.g., "YourName")^^\n* SiteDate^^\nstored date/time stamp for most recent published version of document\ndefault: current document.modified value (i.e., the 'file date')^^\n<<<\n!!!!!Example\n<<<\n<<exportTiddlers>>\n<<<\n!!!!!Installation\n<<<\nImport (or copy/paste) the following tiddlers into your document:\n''ExportTiddlersPlugin'' (tagged with <<tag systemConfig>>)\n\ncreate/edit ''SideBarOptions'': (sidebar menu items) \n^^Add "< < exportTiddlers > >" macro^^\n<<<\n!!!!!Revision History\n<<<\n''2006.02.12 [2.1.2]''^^\nadded var to unintended global 'tags' in matchTags(). Avoids FF1501 bug when filtering by tags. (based on report by TedPavlic)\n''2006.02.04 [2.1.1]''^^\nadded var to variables that were unintentionally global. Avoids FireFox 1.5.0.1 crash bug when referencing global variables\n''2006.02.02 [2.1.0]''^^\nAdded support for output of complete TiddlyWiki documents. Let's you use ExportTiddlers to generate 'starter' documents from selected tiddlers.^^\n''2006.01.21 [2.0.1]''^^\nDefer initial panel creation and only register a notification function when panel first is created\nin saveChanges 'hijack', create panel as needed. Note: if window.event is not available to identify the click location, the export panel is positioned relative to the 'tiddlerDisplay' element of the TW document.\n^^\n''2005.12.27 [2.0.0]''^^\nUpdate for TW2.0\nDefer initial panel creation and only register a notification function when panel first is created\n^^\n''2005.12.24 [0.9.5]''^^\nMinor adjustments to CSS to force correct link colors regardless of TW stylesheet selection\n^^\n''2005.12.16 [0.9.4]''^^\nDynamically create/remove exportPanel as needed to ensure only one instance of interface elements exists, even if there are multiple instances of macro embedding.\n^^\n''2005.11.15 [0.9.2]''^^\nadded non-Ajax post function to bypass javascript security restrictions on cross-domain I/O. Moved AJAX functions to separate tiddler (no longer needed here). Generalized HTTP server to support UnaWiki servers\n^^\n+++[previous releases...]\n''2005.11.08 [0.9.1]''^^\nmoved HTML, CSS and control initialization into exportInit() function and call from macro handler instead of at load time. This allows exportPanel to be placed within the same containing element as the "export tiddlers" button, so that relative positioning can be achieved.\n^^\n''2005.10.28 [0.9.0]''^^\nadded 'select opened tiddlers' feature\nBased on a suggestion by Geoff Slocock\n^^\n''2005.10.24 [0.8.3]''^^\nCorrected hijack of 'save changes' when using http:\n^^\n''2005.10.18 [0.8.2]''^^\nadded AJAX functions\n^^\n''2005.10.18 [0.8.1]''^^\nCorrected timezone handling when filtering for date ranges.\nImproved error checking/reporting for invalid filter values and filters that don't match any tiddlers.\nExporting localfile-to-localfile is working for IE and FF\nExporting server-to-localfile works in IE (after ActiveX warnings), but has security issues in FF\nCross-domain exporting (localfile/server-to-server) is under development\nCookies to remember filter settings - coming soon\nMore style tweaks, minor text changes and some assorted layout cleanup.\n^^\n''2005.10.17 [0.8.0]''^^\nFirst pre-release.\n^^\n''2005.10.16 [0.7.0]''^^\nfilter by tags\n^^\n''2005.10.15 [0.6.0]''^^\nfilter by title/text\n^^\n''2005.10.14 [0.5.0]''^^\nexport to local file (DIV or XML)\n^^\n''2005.10.14 [0.4.0]''^^\nfilter by start/end date\n^^\n''2005.10.13 [0.3.0]''^^\npanel interaction\n^^\n''2005.10.11 [0.2.0]''^^\npanel layout\n^^\n''2005.10.10 [0.1.0]''^^\ncode framework\n^^\n''2005.10.09 [0.0.0]''^^\ndevelopment started\n^^\n===\n<<<\n!!!!!Credits\n<<<\nThis feature was developed by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]]\n<<<\n!!!!!Code\n***/\n// // +++[version]\n//{{{\nversion.extensions.exportTiddlers = {major: 2, minor: 1, revision: 2, date: new Date(2006,2,12)};\n//}}}\n// //===\n\n// // +++[macro handler]\n//{{{\nconfig.macros.exportTiddlers = {\n label: "export tiddlers",\n prompt: "Copy selected tiddlers to an export document",\n datetimefmt: "0MM/0DD/YYYY 0hh:0mm:0ss" // for "filter date/time" edit fields\n};\n\nconfig.macros.exportTiddlers.handler = function(place,macroName,params) {\n if (params[0]!="inline")\n { createTiddlyButton(place,this.label,this.prompt,onClickExportMenu); return; }\n var panel=createExportPanel(place);\n panel.style.position="static";\n panel.style.display="block";\n}\n\nfunction createExportPanel(place) {\n var panel=document.getElementById("exportPanel");\n if (panel) { panel.parentNode.removeChild(panel); }\n setStylesheet(config.macros.exportTiddlers.css,"exportTiddlers");\n panel=createTiddlyElement(place,"span","exportPanel",null,null)\n panel.innerHTML=config.macros.exportTiddlers.html;\n exportShowPanel(document.location.protocol);\n exportInitFilter();\n refreshExportList(0);\n store.addNotification(null,refreshExportList); // refresh listbox after every tiddler change\n return panel;\n}\n\nfunction onClickExportMenu(e)\n{\n if (!e) var e = window.event;\n var parent=resolveTarget(e).parentNode;\n var panel = document.getElementById("exportPanel");\n if (panel==undefined || panel.parentNode!=parent)\n panel=createExportPanel(parent);\n var isOpen = panel.style.display=="block";\n if(config.options.chkAnimate)\n anim.startAnimating(new Slider(panel,!isOpen,e.shiftKey || e.altKey,"none"));\n else\n panel.style.display = isOpen ? "none" : "block" ;\n e.cancelBubble = true;\n if (e.stopPropagation) e.stopPropagation();\n return(false);\n}\n//}}}\n// //===\n\n// // +++[Hijack saveChanges] diverts 'notFileUrlError' to display export control panel instead\n//{{{\nwindow.coreSaveChanges=window.saveChanges;\nwindow.saveChanges = function()\n{\n if (document.location.protocol=="file:") { coreSaveChanges(); return; }\n var e = window.event;\n var parent=e?resolveTarget(e).parentNode:document.body;\n var panel = document.getElementById("exportPanel");\n if (panel==undefined || panel.parentNode!=parent) panel=createExportPanel(parent);\n exportShowPanel(document.location.protocol);\n if (parent==document.body) { panel.style.left="30%"; panel.style.top="30%"; }\n panel.style.display = "block" ;\n}\n//}}}\n// //===\n\n// // +++[IE needs explicit scoping] for functions called by browser events\n//{{{\nwindow.onClickExportMenu=onClickExportMenu;\nwindow.onClickExportButton=onClickExportButton;\nwindow.exportShowPanel=exportShowPanel;\nwindow.exportShowFilterFields=exportShowFilterFields;\nwindow.refreshExportList=refreshExportList;\n//}}}\n// //===\n\n// // +++[CSS] for floating export control panel\n//{{{\nconfig.macros.exportTiddlers.css = '\s\n#exportPanel {\s\n display: none; position:absolute; z-index:12; width:35em; right:105%; top:6em;\s\n background-color: #eee; color:#000; font-size: 8pt; line-height:110%;\s\n border:1px solid black; border-bottom-width: 3px; border-right-width: 3px;\s\n padding: 0.5em; margin:0em; -moz-border-radius:1em;\s\n}\s\n#exportPanel a, #exportPanel td a { color:#009; display:inline; margin:0px; padding:1px; }\s\n#exportPanel table { width:100%; border:0px; padding:0px; margin:0px; font-size:8pt; line-height:110%; background:transparent; }\s\n#exportPanel tr { border:0px;padding:0px;margin:0px; background:transparent; }\s\n#exportPanel td { color:#000; border:0px;padding:0px;margin:0px; background:transparent; }\s\n#exportPanel select { width:98%;margin:0px;font-size:8pt;line-height:110%;}\s\n#exportPanel input { width:98%;padding:0px;margin:0px;font-size:8pt;line-height:110%}\s\n#exportPanel .box { border:1px solid black; padding:3px; margin-bottom:5px; background:#f8f8f8; -moz-border-radius:5px;}\s\n#exportPanel .topline { border-top:2px solid black; padding-top:3px; margin-bottom:5px; }\s\n#exportPanel .rad { width:auto; }\s\n#exportPanel .chk { width:auto; }\s\n#exportPanel .btn { width:auto; }\s\n#exportPanel .btn1 { width:98%; }\s\n#exportPanel .btn2 { width:48%; }\s\n#exportPanel .btn3 { width:32%; }\s\n#exportPanel .btn4 { width:24%; }\s\n#exportPanel .btn5 { width:19%; }\s\n';\n//}}}\n// //===\n\n// // +++[HTML] for export control panel interface\n//{{{\nconfig.macros.exportTiddlers.html = '\s\n<!-- output target and format -->\s\n<table cellpadding="0" cellspacing="0"><tr><td width=50%>\s\n export to\s\n <select size=1 id="exportTo" onchange="exportShowPanel(this.value);">\s\n <option value="file:" SELECTED>this computer</option>\s\n <option value="http:">web server (http)</option>\s\n <option value="https:">secure web server (https)</option>\s\n <option value="ftp:">file server (ftp)</option>\s\n </select>\s\n</td><td width=50%>\s\n output format\s\n <select id="exportFormat" size=1>\s\n <option value="DIV">TiddlyWiki export file</option>\s\n <option value="TW">TiddlyWiki document</option>\s\n <option value="XML">RSS feed (XML)</option>\s\n </select>\s\n</td></tr></table>\s\n\s\n<!-- export to local file -->\s\n<div id="exportLocalPanel" style="margin-bottom:5px;margin-top:5px;">\s\nlocal path/filename<br>\s\n<input type="file" id="exportFilename" size=56 style="width:100%"><br>\s\n</div><!--panel-->\s\n\s\n<!-- export to http server -->\s\n<div id="exportHTTPPanel" style="display:none;margin-bottom:5px;margin-top:5px;">\s\ndocument URL<br>\s\n<input type="text" id="exportHTTPSiteURL" onfocus="this.select()"><br>\s\nserver script / parameters<br>\s\n<input type="text" id="exportHTTPServerURL" onfocus="this.select()"><br>\s\n</div><!--panel-->\s\n\s\n<!-- export to ftp server -->\s\n<div id="exportFTPPanel" style="display:none;margin-bottom:5px;margin-top:5px;">\s\n<table cellpadding="0" cellspacing="0" width="33%"><tr valign="top"><td>\s\n host server<br>\s\n <input type="text" id="exportFTPHost" onfocus="this.select()"><br>\s\n</td><td width="33%">\s\n username<br>\s\n <input type="text" id="exportFTPID" onfocus="this.select()"><br>\s\n</td><td width="33%">\s\n password<br>\s\n <input type="password" id="exportFTPPW" onfocus="this.select()"><br>\s\n</td></tr></table>\s\nFTP path/filename<br>\s\n<input type="text" id="exportFTPFilename" onfocus="this.select()"><br>\s\n</div><!--panel-->\s\n\s\n<!-- list of tiddlers -->\s\n<table><tr align="left"><td>\s\n select:\s\n <a href="JavaScript:;" id="exportSelectAll"\s\n onclick="onClickExportButton(this)" title="select all tiddlers">\s\n &nbsp;all&nbsp;</a>\s\n <a href="JavaScript:;" id="exportSelectChanges"\s\n onclick="onClickExportButton(this)" title="select tiddlers changed since last save">\s\n &nbsp;changes&nbsp;</a> \s\n <a href="JavaScript:;" id="exportSelectOpened"\s\n onclick="onClickExportButton(this)" title="select tiddlers currently being displayed">\s\n &nbsp;opened&nbsp;</a> \s\n <a href="JavaScript:;" id="exportToggleFilter"\s\n onclick="onClickExportButton(this)" title="show/hide selection filter">\s\n &nbsp;filter&nbsp;</a> \s\n</td><td align="right">\s\n <a href="JavaScript:;" id="exportListSmaller"\s\n onclick="onClickExportButton(this)" title="reduce list size">\s\n &nbsp;&#150;&nbsp;</a>\s\n <a href="JavaScript:;" id="exportListLarger"\s\n onclick="onClickExportButton(this)" title="increase list size">\s\n &nbsp;+&nbsp;</a>\s\n</td></tr></table>\s\n<select id="exportList" multiple size="10" style="margin-bottom:5px;"\s\n onchange="refreshExportList(this.selectedIndex)">\s\n</select><br>\s\n\s\n<!-- selection filter -->\s\n<div id="exportFilterPanel" style="display:none">\s\n<table><tr align="left"><td>\s\n selection filter\s\n</td><td align="right">\s\n <a href="JavaScript:;" id="exportHideFilter"\s\n onclick="onClickExportButton(this)" title="hide selection filter">hide</a>\s\n</td></tr></table>\s\n<div class="box">\s\n<input type="checkbox" class="chk" id="exportFilterStart" value="1"\s\n onclick="exportShowFilterFields(this)"> starting date/time<br>\s\n<table cellpadding="0" cellspacing="0"><tr valign="center"><td width="50%">\s\n <select size=1 id="exportFilterStartBy" onchange="exportShowFilterFields(this);">\s\n <option value="0">today</option>\s\n <option value="1">yesterday</option>\s\n <option value="7">a week ago</option>\s\n <option value="30">a month ago</option>\s\n <option value="site">SiteDate</option>\s\n <option value="file">file date</option>\s\n <option value="other">other (mm/dd/yyyy hh:mm)</option>\s\n </select>\s\n</td><td width="50%">\s\n <input type="text" id="exportStartDate" onfocus="this.select()"\s\n onchange="document.getElementById(\s'exportFilterStartBy\s').value=\s'other\s';">\s\n</td></tr></table>\s\n<input type="checkbox" class="chk" id="exportFilterEnd" value="1"\s\n onclick="exportShowFilterFields(this)"> ending date/time<br>\s\n<table cellpadding="0" cellspacing="0"><tr valign="center"><td width="50%">\s\n <select size=1 id="exportFilterEndBy" onchange="exportShowFilterFields(this);">\s\n <option value="0">today</option>\s\n <option value="1">yesterday</option>\s\n <option value="7">a week ago</option>\s\n <option value="30">a month ago</option>\s\n <option value="site">SiteDate</option>\s\n <option value="file">file date</option>\s\n <option value="other">other (mm/dd/yyyy hh:mm)</option>\s\n </select>\s\n</td><td width="50%">\s\n <input type="text" id="exportEndDate" onfocus="this.select()"\s\n onchange="document.getElementById(\s'exportFilterEndBy\s').value=\s'other\s';">\s\n</td></tr></table>\s\n<input type="checkbox" class="chk" id=exportFilterTags value="1"\s\n onclick="exportShowFilterFields(this)"> match tags<br>\s\n<input type="text" id="exportTags" onfocus="this.select()">\s\n<input type="checkbox" class="chk" id=exportFilterText value="1"\s\n onclick="exportShowFilterFields(this)"> match titles/tiddler text<br>\s\n<input type="text" id="exportText" onfocus="this.select()">\s\n</div> <!--box-->\s\n</div> <!--panel-->\s\n\s\n<!-- action buttons -->\s\n<div style="text-align:center">\s\n<input type=button class="btn3" onclick="onClickExportButton(this)"\s\n id="exportFilter" value="apply filter">\s\n<input type=button class="btn3" onclick="onClickExportButton(this)"\s\n id="exportStart" value="export tiddlers">\s\n<input type=button class="btn3" onclick="onClickExportButton(this)"\s\n id="exportClose" value="close">\s\n</div><!--center-->\s\n';\n//}}}\n// //===\n\n// // +++[initialize interface]>\n// // +++[exportShowPanel(which)]\n//{{{\nfunction exportShowPanel(which) {\n var index=0; var panel='exportLocalPanel';\n switch (which) {\n case 'file:':\n case undefined:\n index=0; panel='exportLocalPanel'; break;\n case 'http:':\n index=1; panel='exportHTTPPanel'; break;\n case 'https:':\n index=2; panel='exportHTTPPanel'; break;\n case 'ftp:':\n index=3; panel='exportFTPPanel'; break;\n default:\n alert("Sorry, export to "+which+" is not yet available");\n break;\n }\n exportInitPanel(which);\n document.getElementById('exportTo').selectedIndex=index;\n document.getElementById('exportLocalPanel').style.display='none';\n document.getElementById('exportHTTPPanel').style.display='none';\n document.getElementById('exportFTPPanel').style.display='none';\n document.getElementById(panel).style.display='block';\n}\n//}}}\n// //===\n\n// // +++[exportInitPanel(which)]\n//{{{\nfunction exportInitPanel(which) {\n switch (which) {\n case "file:": // LOCAL EXPORT PANEL: file/path:\n // ** no init - security issues in IE **\n break;\n case "http:": // WEB EXPORT PANEL\n case "https:": // SECURE WEB EXPORT PANEL\n // url\n var siteURL=store.getTiddlerText("SiteUrl");\n if (store.tiddlerExists("unawiki_download")) {\n var theURL=store.getTiddlerText("unawiki_download");\n theURL=theURL.replace(/\s[\s[download\s|/,'').replace(/\s]\s]/,'');\n var title=(store.tiddlerExists("unawiki_host"))?"unawiki_host":"SiteHost";\n var theHost=store.getTiddlerText(title);\n if (!theHost || !theHost.length) theHost=document.location.host;\n if (!theHost || !theHost.length) theHost=title;\n siteURL=which+"//"+theHost+theURL\n }\n if (!siteURL) siteURL="SiteUrl";\n document.getElementById("exportHTTPSiteURL").value=siteURL;;\n // server script/params\n var title=(store.tiddlerExists("unawiki_host"))?"unawiki_host":"SiteHost";\n var theHost=store.getTiddlerText(title);\n if (!theHost || !theHost.length) theHost=document.location.host;\n if (!theHost || !theHost.length) theHost=title;\n // get POST\n var title=(store.tiddlerExists("unawiki_post"))?"unawiki_post":"SitePost";\n var thePost=store.getTiddlerText(title);\n if (!thePost || !thePost.length) thePost="/"+title;\n // get PARAMS\n var title=(store.tiddlerExists("unawiki_params"))?"unawiki_params":"SiteParams";\n var theParams=store.getTiddlerText(title);\n if (!theParams|| !theParams.length) theParams=title;\n var serverURL = which+"//"+theHost+thePost+"?"+theParams;\n document.getElementById("exportHTTPServerURL").value=serverURL;\n break;\n case "ftp:": // FTP EXPORT PANEL\n // host\n var siteHost=store.getTiddlerText("SiteHost");\n if (!siteHost || !siteHost.length) siteHost=document.location.host;\n if (!siteHost || !siteHost.length) siteHost="SiteHost";\n document.getElementById("exportFTPHost").value=siteHost;\n // username\n var siteID=store.getTiddlerText("SiteID");\n if (!siteID || !siteID.length) siteID=config.options.txtUserName;\n document.getElementById("exportFTPID").value=siteID;\n // password\n document.getElementById("exportFTPPW").value="";\n // file/path\n document.getElementById("exportFTPFilename").value="";\n break;\n }\n}\n//}}}\n// //===\n\n// // +++[exportInitFilter()]\n//{{{\nfunction exportInitFilter() {\n // TBD: persistent settings via local cookies\n // start date\n document.getElementById("exportFilterStart").checked=false;\n document.getElementById("exportStartDate").value="";\n // end date\n document.getElementById("exportFilterEnd").checked=false;\n document.getElementById("exportEndDate").value="";\n // tags\n document.getElementById("exportFilterTags").checked=false;\n document.getElementById("exportTags").value="not excludeExport";\n // text\n document.getElementById("exportFilterText").checked=false;\n document.getElementById("exportText").value="";\n // show/hide filter input fields\n exportShowFilterFields();\n}\n//}}}\n// //===\n\n// // +++[exportShowFilterFields(which)]\n//{{{\nfunction exportShowFilterFields(which) {\n var show;\n\n show=document.getElementById('exportFilterStart').checked;\n document.getElementById('exportFilterStartBy').style.display=show?"block":"none";\n document.getElementById('exportStartDate').style.display=show?"block":"none";\n var val=document.getElementById('exportFilterStartBy').value;\n document.getElementById('exportStartDate').value\n =getFilterDate(val,'exportStartDate').formatString(config.macros.exportTiddlers.datetimefmt);\n if (which && (which.id=='exportFilterStartBy') && (val=='other'))\n document.getElementById('exportStartDate').focus();\n\n show=document.getElementById('exportFilterEnd').checked;\n document.getElementById('exportFilterEndBy').style.display=show?"block":"none";\n document.getElementById('exportEndDate').style.display=show?"block":"none";\n var val=document.getElementById('exportFilterEndBy').value;\n document.getElementById('exportEndDate').value\n =getFilterDate(val,'exportEndDate').formatString(config.macros.exportTiddlers.datetimefmt);\n if (which && (which.id=='exportFilterEndBy') && (val=='other'))\n document.getElementById('exportEndDate').focus();\n\n show=document.getElementById('exportFilterTags').checked;\n document.getElementById('exportTags').style.display=show?"block":"none";\n\n show=document.getElementById('exportFilterText').checked;\n document.getElementById('exportText').style.display=show?"block":"none";\n}\n//}}}\n// //===\n// //===\n\n// // +++[onClickExportButton(which): control interactions]\n//{{{\nfunction onClickExportButton(which)\n{\n // DEBUG alert(which.id);\n var theList=document.getElementById('exportList'); if (!theList) return;\n var count = 0;\n var total = store.getTiddlers('title').length;\n switch (which.id)\n {\n case 'exportFilter':\n count=filterExportList();\n var panel=document.getElementById('exportFilterPanel');\n if (count==-1) { panel.style.display='block'; break; }\n theList.options[0].text=formatExportListHeader(count,total);\n document.getElementById("exportStart").disabled=(count==0);\n clearMessage(); displayMessage("filtered "+theList.options[0].text);\n if (count==0) { alert("No tiddlers were selected"); panel.style.display='block'; }\n break;\n case 'exportStart':\n exportTiddlers();\n break;\n case 'exportHideFilter':\n case 'exportToggleFilter':\n var panel=document.getElementById('exportFilterPanel')\n panel.style.display=(panel.style.display=='block')?'none':'block';\n break;\n case 'exportSelectChanges':\n var lastmod=new Date(document.lastModified);\n for (var t = 0; t < theList.options.length; t++) {\n if (theList.options[t].value=="") continue;\n var tiddler=store.getTiddler(theList.options[t].value); if (!tiddler) continue;\n theList.options[t].selected=(tiddler.modified>lastmod);\n count += (tiddler.modified>lastmod)?1:0;\n }\n theList.options[0].text=formatExportListHeader(count,total);\n document.getElementById("exportStart").disabled=(count==0);\n clearMessage(); displayMessage(theList.options[0].text);\n if (count==0) alert("There are no unsaved changes");\n break;\n case 'exportSelectAll':\n for (var t = 0; t < theList.options.length; t++) {\n if (theList.options[t].value=="") continue;\n theList.options[t].selected=true;\n count += 1;\n }\n theList.options[0].text=formatExportListHeader(count,count);\n document.getElementById("exportStart").disabled=(count==0);\n clearMessage(); displayMessage(theList.options[0].text);\n break;\n case 'exportSelectOpened':\n for (var t = 0; t < theList.options.length; t++) theList.options[t].selected=false;\n var tiddlerDisplay = document.getElementById("tiddlerDisplay");\n for (var t=0;t<tiddlerDisplay.childNodes.length;t++) {\n var tiddler=tiddlerDisplay.childNodes[t].id.substr(7);\n for (var i = 0; i < theList.options.length; i++) {\n if (theList.options[i].value!=tiddler) continue;\n theList.options[i].selected=true; count++; break;\n }\n }\n theList.options[0].text=formatExportListHeader(count,total);\n document.getElementById("exportStart").disabled=(count==0);\n clearMessage(); displayMessage(theList.options[0].text);\n if (count==0) alert("There are no tiddlers currently opened");\n break;\n case 'exportListSmaller': // decrease current listbox size\n var min=5;\n theList.size-=(theList.size>min)?1:0;\n break;\n case 'exportListLarger': // increase current listbox size\n var max=(theList.options.length>25)?theList.options.length:25;\n theList.size+=(theList.size<max)?1:0;\n break;\n case 'exportClose':\n document.getElementById('exportPanel').style.display='none';\n break;\n }\n}\n//}}}\n// //===\n\n// // +++[list display]\n//{{{\nfunction formatExportListHeader(count,total)\n{\n var txt=total+' tiddler'+((total!=1)?'s':'')+" - ";\n txt += (count==0)?"none":(count==total)?"all":count;\n txt += " selected for export";\n return txt;\n}\n\nfunction refreshExportList(selectedIndex)\n{\n var theList = document.getElementById("exportList");\n var sort;\n if (!theList) return;\n // get the sort order\n if (!selectedIndex) selectedIndex=0;\n if (selectedIndex==0) sort='modified';\n if (selectedIndex==1) sort='title';\n if (selectedIndex==2) sort='modified';\n if (selectedIndex==3) sort='modifier';\n\n // get the alphasorted list of tiddlers\n var tiddlers = store.getTiddlers('title');\n // unselect headings and count number of tiddlers actually selected\n var count=0;\n for (var i=0; i<theList.options.length; i++) {\n if (theList.options[i].value=="") theList.options[i].selected=false;\n count+=theList.options[i].selected?1:0;\n }\n // disable "export" button if no tiddlers selected\n document.getElementById("exportStart").disabled=(count==0);\n // update listbox heading to show selection count\n if (theList.options.length)\n theList.options[0].text=formatExportListHeader(count,tiddlers.length);\n\n // if a [command] item, reload list... otherwise, no further refresh needed\n if (selectedIndex>3) return;\n\n // clear current list contents\n while (theList.length > 0) { theList.options[0] = null; }\n // add heading and control items to list\n var i=0;\n var indent=String.fromCharCode(160)+String.fromCharCode(160);\n theList.options[i++]=\n new Option(formatExportListHeader(0,tiddlers.length), "",false,false);\n theList.options[i++]=\n new Option(((sort=="title" )?">":indent)+' [by title]', "",false,false);\n theList.options[i++]=\n new Option(((sort=="modified")?">":indent)+' [by date]', "",false,false);\n theList.options[i++]=\n new Option(((sort=="modifier")?">":indent)+' [by author]', "",false,false);\n // output the tiddler list\n switch(sort)\n {\n case "title":\n for(var t = 0; t < tiddlers.length; t++)\n theList.options[i++] = new Option(tiddlers[t].title,tiddlers[t].title,false,false);\n break;\n case "modifier":\n case "modified":\n var tiddlers = store.getTiddlers(sort);\n // sort descending for newest date first\n tiddlers.sort(function (a,b) {if(a[sort] == b[sort]) return(0); else return (a[sort] > b[sort]) ? -1 : +1; });\n var lastSection = "";\n for(var t = 0; t < tiddlers.length; t++)\n {\n var tiddler = tiddlers[t];\n var theSection = "";\n if (sort=="modified") theSection=tiddler.modified.toLocaleDateString();\n if (sort=="modifier") theSection=tiddler.modifier;\n if (theSection != lastSection)\n {\n theList.options[i++] = new Option(theSection,"",false,false);\n lastSection = theSection;\n }\n theList.options[i++] = new Option(indent+indent+tiddler.title,tiddler.title,false,false);\n }\n break;\n }\n theList.selectedIndex=selectedIndex; // select current control item\n}\n//}}}\n// //===\n\n// // +++[list filtering]\n//{{{\nfunction getFilterDate(val,id)\n{\n var result=0;\n switch (val) {\n case 'site':\n var timestamp=store.getTiddlerText("SiteDate");\n if (!timestamp) timestamp=document.lastModified;\n result=new Date(timestamp);\n break;\n case 'file':\n result=new Date(document.lastModified);\n break;\n case 'other':\n result=new Date(document.getElementById(id).value);\n break;\n default: // today=0, yesterday=1, one week=7, two weeks=14, a month=31\n var now=new Date(); var tz=now.getTimezoneOffset()*60000; now-=tz;\n var oneday=86400000;\n if (id=='exportStartDate')\n result=new Date((Math.floor(now/oneday)-val)*oneday+tz);\n else\n result=new Date((Math.floor(now/oneday)-val+1)*oneday+tz-1);\n break;\n }\n // DEBUG alert('getFilterDate('+val+','+id+')=='+result+"\snnow="+now);\n return result;\n}\n\nfunction filterExportList()\n{\n var theList = document.getElementById("exportList"); if (!theList) return -1;\n\n var filterStart=document.getElementById("exportFilterStart").checked;\n var val=document.getElementById("exportFilterStartBy").value;\n var startDate=getFilterDate(val,'exportStartDate');\n\n var filterEnd=document.getElementById("exportFilterEnd").checked;\n var val=document.getElementById("exportFilterEndBy").value;\n var endDate=getFilterDate(val,'exportEndDate');\n\n var filterTags=document.getElementById("exportFilterTags").checked;\n var tags=document.getElementById("exportTags").value;\n\n var filterText=document.getElementById("exportFilterText").checked;\n var text=document.getElementById("exportText").value;\n\n if (!(filterStart||filterEnd||filterTags||filterText)) {\n alert("Please set the selection filter");\n document.getElementById('exportFilterPanel').style.display="block";\n return -1;\n }\n if (filterStart&&filterEnd&&(startDate>endDate)) {\n var msg="starting date/time:\sn"\n msg+=startDate.toLocaleString()+"\sn";\n msg+="is later than ending date/time:\sn"\n msg+=endDate.toLocaleString()\n alert(msg);\n return -1;\n }\n\n // scan list and select tiddlers that match all applicable criteria\n var total=0;\n var count=0;\n for (var i=0; i<theList.options.length; i++) {\n // get item, skip non-tiddler list items (section headings)\n var opt=theList.options[i]; if (opt.value=="") continue;\n // get tiddler, skip missing tiddlers (this should NOT happen)\n var tiddler=store.getTiddler(opt.value); if (!tiddler) continue; \n var sel=true;\n if ( (filterStart && tiddler.modified<startDate)\n || (filterEnd && tiddler.modified>endDate)\n || (filterTags && !matchTags(tiddler,tags))\n || (filterText && (tiddler.text.indexOf(text)==-1) && (tiddler.title.indexOf(text)==-1)))\n sel=false;\n opt.selected=sel;\n count+=sel?1:0;\n total++;\n }\n return count;\n}\n//}}}\n\n//{{{\nfunction matchTags(tiddler,cond)\n{\n if (!cond||!cond.trim().length) return false;\n\n // build a regex of all tags as a big-old regex that \n // OR's the tags together (tag1|tag2|tag3...) in length order\n var tgs = store.getTags();\n if ( tgs.length == 0 ) return results ;\n var tags = tgs.sort( function(a,b){return (a[0].length<b[0].length)-(a[0].length>b[0].length);});\n var exp = "(" + tags.join("|") + ")" ;\n exp = exp.replace( /(,[\sd]+)/g, "" ) ;\n var regex = new RegExp( exp, "ig" );\n\n // build a string such that an expression that looks like this: tag1 AND tag2 OR NOT tag3\n // turns into : /tag1/.test(...) && /tag2/.test(...) || ! /tag2/.test(...)\n cond = cond.replace( regex, "/$1\s\s|/.test(tiddlerTags)" );\n cond = cond.replace( /\ssand\ss/ig, " && " ) ;\n cond = cond.replace( /\ssor\ss/ig, " || " ) ;\n cond = cond.replace( /\ss?not\ss/ig, " ! " ) ;\n\n // if a boolean uses a tag that doesn't exist - it will get left alone \n // (we only turn existing tags into actual tests).\n // replace anything that wasn't found as a tag, AND, OR, or NOT with the string "false"\n // if the tag doesn't exist then /tag/.test(...) will always return false.\n cond = cond.replace( /(\ss|^)+[^\s/\s|&!][^\ss]*/g, "false" ) ;\n\n // make a string of the tags in the tiddler and eval the 'cond' string against that string \n // if it's TRUE then the tiddler qualifies!\n var tiddlerTags = (tiddler.tags?tiddler.tags.join("|"):"")+"|" ;\n try { if ( eval( cond ) ) return true; }\n catch( e ) { displayMessage("Error in tag filter '" + e + "'" ); }\n return false;\n}\n//}}}\n// //===\n\n// // +++[output data formatting]>\n// // +++[exportHeader(format)]\n//{{{\nfunction exportHeader(format)\n{\n switch (format) {\n case "TW": return exportTWHeader();\n case "DIV": return exportDIVHeader();\n case "XML": return exportXMLHeader();\n }\n}\n//}}}\n// //===\n\n// // +++[exportFooter(format)]\n//{{{\nfunction exportFooter(format)\n{\n switch (format) {\n case "TW": return exportDIVFooter();\n case "DIV": return exportDIVFooter();\n case "XML": return exportXMLFooter();\n }\n}\n//}}}\n// //===\n\n// // +++[exportTWHeader()]\n//{{{\nfunction exportTWHeader()\n{\n // Get the URL of the document\n var originalPath = document.location.toString();\n // Check we were loaded from a file URL\n if(originalPath.substr(0,5) != "file:")\n { alert(config.messages.notFileUrlError); return; }\n // Remove any location part of the URL\n var hashPos = originalPath.indexOf("#"); if(hashPos != -1) originalPath = originalPath.substr(0,hashPos);\n // Convert to a native file format assuming\n // "file:///x:/path/path/path..." - pc local file --> "x:\spath\spath\spath..."\n // "file://///server/share/path/path/path..." - FireFox pc network file --> "\s\sserver\sshare\spath\spath\spath..."\n // "file:///path/path/path..." - mac/unix local file --> "/path/path/path..."\n // "file://server/share/path/path/path..." - pc network file --> "\s\sserver\sshare\spath\spath\spath..."\n var localPath;\n if(originalPath.charAt(9) == ":") // pc local file\n localPath = unescape(originalPath.substr(8)).replace(new RegExp("/","g"),"\s\s");\n else if(originalPath.indexOf("file://///") == 0) // FireFox pc network file\n localPath = "\s\s\s\s" + unescape(originalPath.substr(10)).replace(new RegExp("/","g"),"\s\s");\n else if(originalPath.indexOf("file:///") == 0) // mac/unix local file\n localPath = unescape(originalPath.substr(7));\n else if(originalPath.indexOf("file:/") == 0) // mac/unix local file\n localPath = unescape(originalPath.substr(5));\n else // pc network file\n localPath = "\s\s\s\s" + unescape(originalPath.substr(7)).replace(new RegExp("/","g"),"\s\s");\n // Load the original file\n var original = loadFile(localPath);\n if(original == null)\n { alert(config.messages.cantSaveError); return; }\n // Locate the storeArea div's\n var posOpeningDiv = original.indexOf(startSaveArea);\n var posClosingDiv = original.lastIndexOf(endSaveArea);\n if((posOpeningDiv == -1) || (posClosingDiv == -1))\n { alert(config.messages.invalidFileError.format([localPath])); return; }\n return original.substr(0,posOpeningDiv+startSaveArea.length)\n}\n//}}}\n// //===\n\n// // +++[exportDIVHeader()]\n//{{{\nfunction exportDIVHeader()\n{\n var out=[];\n var now = new Date();\n var u = store.getTiddlerText("SiteUrl",null);\n var title = wikifyPlain("SiteTitle").htmlEncode();\n var subtitle = wikifyPlain("SiteSubtitle").htmlEncode();\n var user = config.options.txtUserName.htmlEncode();\n var twver = version.major+"."+version.minor+"."+version.revision;\n var pver = version.extensions.exportTiddlers.major+"."\n +version.extensions.exportTiddlers.minor+"."+version.extensions.exportTiddlers.revision;\n out.push("<html><body>");\n out.push("<style type=\s"text/css\s">");\n out.push("#storeArea {display:block;margin:1em;}");\n out.push("#storeArea div");\n out.push("{padding:0.5em;margin:1em;border:2px solid black;height:10em;overflow:auto;}");\n out.push("#javascriptWarning");\n out.push("{width:100%;text-align:left;background-color:#eeeeee;padding:1em;}");\n out.push("</style>");\n out.push("<div id=\s"javascriptWarning\s">");\n out.push("TiddlyWiki export file<br>");\n out.push("Source: <b>"+document.location+"</b><br>");\n out.push("Title: <b>"+title+"</b><br>");\n out.push("Subtitle: <b>"+subtitle+"</b><br>");\n out.push("Created: <b>"+now.toLocaleString()+"</b> by <b>"+user+"</b><br>");\n out.push("TiddlyWiki "+twver+" / "+"ExportTiddlersPlugin "+pver+"<br>");\n out.push("</div>");\n out.push("<div id=\s"storeArea\s">");\n return out;\n}\n//}}}\n// //===\n\n// // +++[exportDIVFooter()]\n//{{{\nfunction exportDIVFooter()\n{\n var out=[];\n out.push("</div></body></html>");\n return out;\n}\n//}}}\n// //===\n\n// // +++[exportXMLHeader()]\n//{{{\nfunction exportXMLHeader()\n{\n var out=[];\n var now = new Date();\n var u = store.getTiddlerText("SiteUrl",null);\n var title = wikifyPlain("SiteTitle").htmlEncode();\n var subtitle = wikifyPlain("SiteSubtitle").htmlEncode();\n var user = config.options.txtUserName.htmlEncode();\n var twver = version.major+"."+version.minor+"."+version.revision;\n var pver = version.extensions.exportTiddlers.major+"."\n +version.extensions.exportTiddlers.minor+"."+version.extensions.exportTiddlers.revision;\n out.push("<" + "?xml version=\s"1.0\s"?" + ">");\n out.push("<rss version=\s"2.0\s">");\n out.push("<channel>");\n out.push("<title>" + title + "</title>");\n if(u) out.push("<link>" + u.htmlEncode() + "</link>");\n out.push("<description>" + subtitle + "</description>");\n out.push("<language>en-us</language>");\n out.push("<copyright>Copyright " + now.getFullYear() + " " + user + "</copyright>");\n out.push("<pubDate>" + now.toGMTString() + "</pubDate>");\n out.push("<lastBuildDate>" + now.toGMTString() + "</lastBuildDate>");\n out.push("<docs>http://blogs.law.harvard.edu/tech/rss</docs>");\n out.push("<generator>TiddlyWiki "+twver+" plus ExportTiddlersPlugin "+pver+"</generator>");\n return out;\n}\n//}}}\n// //===\n\n// // +++[exportXMLFooter()]\n//{{{\nfunction exportXMLFooter()\n{\n var out=[];\n out.push("</channel></rss>");\n return out;\n}\n//}}}\n// //===\n\n// // +++[exportData()]\n//{{{\nfunction exportData(theList,theFormat)\n{\n // scan export listbox and collect DIVs or XML for selected tiddler content\n var out=[];\n for (var i=0; i<theList.options.length; i++) {\n // get item, skip non-selected items and section headings\n var opt=theList.options[i]; if (!opt.selected||(opt.value=="")) continue;\n // get tiddler, skip missing tiddlers (this should NOT happen)\n var thisTiddler=store.getTiddler(opt.value); if (!thisTiddler) continue; \n if (theFormat=="TW") out.push(thisTiddler.saveToDiv());\n if (theFormat=="DIV") out.push(thisTiddler.title+"\sn"+thisTiddler.saveToDiv());\n if (theFormat=="XML") out.push(thisTiddler.saveToRss());\n }\n return out;\n}\n//}}}\n// //===\n// //===\n\n// // +++[exportTiddlers(): output selected data to local or server]\n//{{{\nfunction exportTiddlers()\n{\n var theList = document.getElementById("exportList"); if (!theList) return;\n\n // get the export settings\n var theProtocol = document.getElementById("exportTo").value;\n var theFormat = document.getElementById("exportFormat").value;\n\n // assemble output: header + tiddlers + footer\n var theData=exportData(theList,theFormat);\n var count=theData.length;\n var out=[]; var txt=out.concat(exportHeader(theFormat),theData,exportFooter(theFormat)).join("\sn");\n var msg="";\n switch (theProtocol) {\n case "file:":\n var theTarget = document.getElementById("exportFilename").value.trim();\n if (!theTarget.length) msg = "A local path/filename is required\sn";\n if (!msg && saveFile(theTarget,txt))\n msg=count+" tiddler"+((count!=1)?"s":"")+" exported to local file";\n else if (!msg)\n msg+="An error occurred while saving to "+theTarget;\n break;\n case "http:":\n case "https:":\n var theTarget = document.getElementById("exportHTTPServerURL").value.trim();\n if (!theTarget.length) msg = "A server URL is required\sn";\n if (!msg && exportPost(theTarget+encodeURIComponent(txt)))\n msg=count+" tiddler"+((count!=1)?"s":"")+" exported to "+theProtocol+" server";\n else if (!msg)\n msg+="An error occurred while saving to "+theTarget;\n break;\n case "ftp:":\n default:\n msg="Sorry, export to "+theLocation+" is not yet available";\n break;\n }\n clearMessage(); displayMessage(msg,theTarget);\n}\n//}}}\n// //===\n\n// // +++[exportPost(url): cross-domain post] uses hidden iframe to submit url and capture responses\n//{{{\nfunction exportPost(url)\n{\n var f=document.getElementById("exportFrame"); if (f) document.body.removeChild(f);\n f=document.createElement("iframe"); f.id="exportFrame";\n f.style.width="0px"; f.style.height="0px"; f.style.border="0px";\n document.body.appendChild(f);\n var d=f.document;\n if (f.contentDocument) d=f.contentDocument; // For NS6\n else if (f.contentWindow) d=f.contentWindow.document; // For IE5.5 and IE6\n d.location.replace(url);\n return true;\n}\n//}}}\n// //===\n
Those things in your head
Guitar/sitar virtuoso, who's musical genres range from Indian to Jazz to Funk. Plays with [[Fareed Haque Group]] and [[Garaj Mahal]].
The guitarist/sitarist from [[Garaj Mahal]].\n\n[[Gulab Jammin (Fareed Haque)|http://www.archive.org/download/fhg2004-03-19.flacf/fhg-2004-03-19d2t04_vbr.mp3]]\n\n<<deliciousPlayTagger>>
[img[http://img206.imageshack.us/img206/4255/ferrisbuellerdvdzq1.jpg]]
That guy from Happy Days who Peter Griffin worships.\n[img[http://img150.imageshack.us/img150/8607/fonzierc4.jpg]]
The fact that you are at all concerned that the chicken crossed the road reveals your underlying sexual\ninsecurity.
<<gradient vert #33ff99 #66ffCC #ffff #00ffff #33CCff #CCffff ##CCCC33>>color:white;text-align:center;FromTheCockpit>>\nFeatured Song: [[Guitar Space/Summertime|http://content.mp3tunes.com/storage/lockerget/ae13bd5492d5c324abc97771954b0995/?sid=0e158a84843be30ab6b9088b621a2b72&partner_token=2289522133.mp3]]- A really cool acoustic jam from The Pizza Tapes, by Jerry Garcia, David Grisman and Tony Rice. The recording is just one long jam sesh between these three acoustic players. \n\n<<deliciousPlayTagger>>Hey <<tiddler ShowUserName>>, welcome to the cockpit. [[I|spaceshipper]] generally hang out here, since [[I|spaceshipper]]'m usally the one steering the ship away from black holes that suck.\n\nTake a look at my [[KombuchaBlog]] about life and [[Kombucha]]\n\nBring change to [[Spaceshipper's Arcade]]\n\nThe all new: [[Jew Skool Blogger]]==!!!!!== <-\n\n[[Gandhi says:]] <<QOTD [[Gandhi says:]]>>\n[img[http://img156.imageshack.us/img156/4052/gandhiwg1.jpg]] \n+++[Endless Boundaries JamRadio]\n<html>\n<a href="http://www.endlessboundaries.com" target="_blank"><img src="http://www.endlessboundaries.com/images/banners/ebhorizontal.gif"<param name="loop" value="false" />\n<param name="menu" value="false" />\n<param name="quality" value="high" />\n<param name="scale" value="noscale" />\n<param name="salign" value="lt" />\n<param name="bgcolor" value="#000000" /><embed src="http://www.endlessboundaries.com/podcast/wimpy.swf?wimpyApp=http://www.endlessboundaries.com/rss/wimpy.xml&wimpySkin=http://www.endlessboundaries.com/podcast/skins/skin_itunes.xml&forceXMLplaylist=yes&defaultVisualExt=jpg&theVolume=100&bufferAudio=0&infoDisplayTime=3&scrollInfoDisplay=yes&displayDownloadButton=no&forceDownload=yes&startPlayingOnload=yes&autoAdvance=yes&popUpHelp=yes&defaultImage=http://www.endlessboundaries.com/rss/images/eblogo.jpg" loop="false" menu="false" quality="high" width="520" height="300" scale="noscale" salign="lt" name="wimpy" align="top" bgcolor="#000000" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object></html>\n===
+++(gtdProjectsSliderState)[Projects]<<list tagged project>>===\n+++(gtdActionsSliderState)[Actions]<<list tagged context>>===\n+++(gtdReviewSliderState)[Review]\n*[[Project Review]]\n*[[Action Review]]\n*[[Reminders]]\n===\n\n<<newerTiddler button:"Create new project" name:"NewProject" tags:"project" template:"NewProjectTemplate">> <<newerTiddler button:"Create new context" name:"NewContext" tags:"context" template:"NewContextTemplate">>\n[[Reference]] [[Someday-Maybe]]\n+++[Calendar|Show a calendar]<<calendar thismonth>>===\n\n[[Configuration|Configuration Options]] [[Check for Updates|UpdateApplication]] [[Archives]]
/***\n''Name:'' GTDPlugins\n''Author:'' Tom Otvos\n''Version:'' <<gtdVersion>>\n\n''Macros:''\n*{{{<<gtdAction "}}}//title//{{{" "}}}//context list//{{{">>}}}\n*{{{<<gtdActionList {"}}}//context list//{{{" | "*" | "@" {"all"} }>>}}}\n** //if no parameters are specified, current context or project is used//\n** //specify "*" for actions across all projects, "@" for incomplete actions across all contexts (or "all" for all actions)//\n*{{{<<list tagged "}}}//tag list//{{{" {any | all}>>}}}\n** //if no parameters are specified, all tags are necessary//\n*{{{<<importUpdates "}}}//url//{{{" {updates | all} "}}}//buttonTitle//{{{" "}}}//buttonHelp//{{{" "}}}//importTiddlers params...//{{{">>}}}\n*{{{<<gtdArchive { archive | unarchive | purge }>>}}}\n\n''Commands:''\n*{{{newAction}}}\n*{{{newProjectAction}}}\n*{{{changeContext}}}\n*{{{deleteAction}}}\n*{{{deleteContext}}}\n*{{{deleteProject}}}\n*{{{deleteProjectAll}}}\n*{{{projectify}}}\n\n''Wiki formatting:''\n*{{{..new action title|context}}}\n\n***/\n//{{{\n\nversion.extensions.GTDPlugins = {major: 1, minor: 0, revision: 10, date: new Date(2006,4,26,0,0,0,0), source: "http://www.dcubed.ca/"};\n\nvar _GTD = {\n\n initialize: function ()\n {\n if (config.options.txtGTDReferenceContext == undefined) config.options.txtGTDReferenceContext = "reference";\n if (config.options.txtGTDSomedayContext == undefined) config.options.txtGTDSomedayContext = "someday";\n if (config.options.txtGTDUnfiledContext == undefined) config.options.txtGTDUnfiledContext = "unfiled";\n if (config.options.txtGTDActionAging == undefined) config.options.txtGTDActionAging = "";\n if (config.options.chkGTDFancyStyle == undefined) config.options.chkGTDFancyStyle = true;\n \n // some tricks to work when our script is loaded from an external file...\n if (!store) config.notifyTiddlers.push( {name: "GTDStyleSheet", notify: refreshStyles} );\n if (!store && config.options.chkGTDFancyStyle) config.notifyTiddlers.push( {name: "GTDTWStyleSheet", notify: refreshStyles} );\n if (!store) config.notifyTiddlers.push( {name: null, notify: _GTD.refreshActionViews} );\n if (!store) return;\n\n var tiddlers = [];\n tiddlers = tiddlers.concat(store.getTaggedTiddlers("project"), store.getTaggedTiddlers("context"), store.getTaggedTiddlers("action"));\n for (var i = 0; i < tiddlers.length; i++)\n tiddlers[i].changed();\n store.addNotification("GTDStyleSheet", refreshStyles);\n if (config.options.chkGTDFancyStyle) store.addNotification("GTDTWStyleSheet", refreshStyles);\n store.addNotification(null, _GTD.refreshActionViews);\n \n // force a display of release notes, if required\n var v = version.extensions.GTDPlugins;\n var releaseNotesTiddler = "About version " + v.major + '.' + v.minor + '.' + v.revision;\n if ((config.options.chkGTDReleaseNotes || config.options.chkGTDReleaseNotes == undefined) && store.tiddlerExists(releaseNotesTiddler)) {\n params = "open:\s"" + releaseNotesTiddler + "\s"";\n params = params.parseParams("open",null,false);\n config.options.chkGTDReleaseNotes = false;\n saveOptionCookie("chkGTDReleaseNotes");\n }\n },\n\n tiddlerHasTag: function (tiddler, tag)\n {\n if (typeof(tiddler) == "string") tiddler = store.getTiddler(tiddler);\n if (tiddler.tags.length == 0) return false;\n return (tiddler.tags.find(tag) != null);\n },\n \n tiddlerSwapTag: function (tiddler, oldTag, newTag)\n {\n for (var i = 0; i < tiddler.tags.length; i++)\n if (tiddler.tags[i] == oldTag) {\n tiddler.tags[i] = newTag;\n return true;\n }\n return false;\n },\n \n tiddlerHasChanged: function (tiddler, doSave)\n {\n tiddler.changed();\n //story.setDirty(tiddler.title, true);\n store.setDirty(true);\n if (doSave == undefined) doSave = true;\n if (config.options.chkAutoSave && doSave)\n saveChanges();\n },\n \n tiddlerAgeInDays: function(tiddler)\n {\n var now = new Date();\n return (now.getTime() - tiddler.modified.getTime()) / 1000 / 86400;\n },\n \n filteredActionTags: function (tags, filterTitle)\n {\n var actionTags = [];\n for (var i = 0; i < tags.length; i++)\n if (tags[i] != "action" && tags[i] != "done" && tags[i] != "floating" && tags[i] != filterTitle) actionTags.push(tags[i]);\n return actionTags;\n },\n \n toggleTag: function (tiddler, tag, toggle)\n {\n var tagIndex = -1;\n for (var i = 0; i < tiddler.tags.length; i++)\n if (tiddler.tags[i] == tag) {\n tagIndex = i;\n break;\n }\n \n if (toggle && tagIndex == -1) {\n tiddler.tags.push(tag);\n }\n else if (!toggle && tagIndex != -1) {\n tiddler.tags.splice(tagIndex, 1);\n }\n },\n \n refreshActionViews: function (tiddler)\n {\n if (tiddler) {\n if (typeof(tiddler) == "string") tiddler = store.getTiddler(tiddler);\n if (tiddler) {\n // do not do anything if we are not an action!\n if (!_GTD.tiddlerHasTag(tiddler, "action")) return;\n story.refreshTiddler(tiddler.title, null, true);\n for (var i = 0; i < tiddler.tags.length; i++)\n if (tiddler.tags[i] != "action" && tiddler.tags[i] != "done") {\n story.refreshTiddler(tiddler.tags[i], null, true);\n }\n }\n }\n \n var specialTiddlers = store.getTaggedTiddlers("review");\n for (var i = 0; i < specialTiddlers.length; i++)\n story.refreshTiddler(specialTiddlers[i].title, null, true);\n },\n \n appendProjectAction: function(projectTiddler, actionTitle, actionContext)\n {\n var actionInsertionPoint = -1, actionLeadin = "";\n \n var reActionWikitext = "^\s\s.{2}([^|\sn]+)(?:\s\s|?)(.*).*$";\n var reActionMacro = "(.*)<<gtdAction ((?:[^>]|(?:>(?!>)))*)>>.*$";\n var actionRe = new RegExp("(" + reActionWikitext + ")|(" + reActionMacro + ")", "mg");\n do {\n var formatMatch = actionRe.exec(projectTiddler.text);\n if (formatMatch) {\n actionLeadin = (formatMatch[1] ? "" : formatMatch[5]);\n actionInsertionPoint = actionRe.lastIndex;\n }\n } while(formatMatch);\n \n var actionProto = "\sn" + actionLeadin + "<<gtdAction \s"" + actionTitle + "\s" \s"" + actionContext + "\s">>";\n if (actionInsertionPoint == -1)\n projectTiddler.text += actionProto;\n else\n projectTiddler.text = projectTiddler.text.substring(0, actionInsertionPoint) + actionProto + projectTiddler.text.substr(actionInsertionPoint + 1);\n \n this.tiddlerHasChanged(projectTiddler);\n this.refreshActionViews(projectTiddler);\n },\n \n removeProjectAction: function(projectTiddler, actionTitle)\n {\n //var reActionWikitext = "^(\s\s.{2})(" + actionTitle + ")((\s\s|.*\sn)|(\sn))";\n var reActionWikitext = "^(\s\s.{2})(" + actionTitle + ")((\s\s|.*\sn?)|(.*\sn?))";\n var reActionMacro = "(.*<<gtdAction [\s"\s']?)(" + actionTitle + ")([\s"\s']?\s\ss+(?:[^>]|(?:>(?!>)))*>>.*\sn?)";\n projectTiddler.text = projectTiddler.text.replace(new RegExp(reActionWikitext, "mg"), "");\n projectTiddler.text = projectTiddler.text.replace(new RegExp(reActionMacro, "mg"), "");\n projectTiddler.changed();\n story.refreshTiddler(projectTiddler.title, null, true);\n },\n \n saveWithForcedBackup: function()\n {\n var saveBackups = config.options.chkSaveBackups;\n config.options.chkSaveBackups = true;\n saveChanges();\n config.options.chkSaveBackups = saveBackups;\n },\n \n isNextAction: function(actionTiddler)\n {\n if (actionTiddler.gtdProject && actionTiddler == actionTiddler.gtdProject.gtdNextAction)\n return true;\n return this.tiddlerHasTag(actionTiddler, "floating");\n }\n};\n\nconfig.macros.gtdVersion = {}\nconfig.macros.gtdVersion.handler = function(place)\n{\n var v = version.extensions.GTDPlugins;\n createTiddlyElement(place, "span", null, null, v.major + "." + v.minor + "." + v.revision + (v.beta ? " (beta " + v.beta + ")" : ""));\n}\n\nconfig.macros.list.tagged = {}\nconfig.macros.list.tagged.innerHandler = function(tagList, allTags)\n{\n var tiddlers = store.getTaggedTiddlers(tagList[0]);\n\n if (allTags) {\n var results = [];\n for (var i = 0; i < tiddlers.length; i++) {\n var tiddler = tiddlers[i], hasAllTags = true;\n for (var j = 1; hasAllTags && j < tagList.length; j++)\n hasAllTags &= _GTD.tiddlerHasTag(tiddler, tagList[j]);\n if (hasAllTags) results.push(tiddlers[i]);\n }\n return results;\n }\n else {\n for (var i = 1; i < tagList.length; i++) {\n var more = store.getTaggedTiddlers(tagList[i]);\n for (var j = 0; j < more.length; j++)\n tiddlers.pushUnique(more[j]);\n }\n return tiddlers;\n }\n}\nconfig.macros.list.tagged.handler = function(params) \n{\n var tags = params[1].readBracketedList();\n if (tags.length == 1) {\n if (config.options[tags[0]] == undefined)\n return store.getTaggedTiddlers(tags[0]);\n else\n return store.getTaggedTiddlers(config.options[tags[0]]);\n }\n else if (tags.length > 1) {\n var allTags = (params[2] == undefined || params[2] == 'all');\n var tiddlers = this.innerHandler(tags, allTags);\n tiddlers.sort(function (a,b) {if(a.title == b.title) return(0); else return (a.title < b.title) ? -1 : +1; });\n return tiddlers;\n }\n}\n\nconfig.macros.gtdAction = {}\nconfig.macros.gtdAction.createActionElement = function(place, actionTiddler, parentTiddler, tags)\n{\n if (typeof(actionTiddler) == "string") actionTiddler = store.getTiddler(actionTiddler);\n \n var actionElement = createTiddlyElement(place, "span", null, "gtdActionItem");\n // oddly, we barf when setting the checkbox type on an input if we use createTiddlyElement...\n var cb = document.createElement("input");\n cb.setAttribute("type", "checkbox");\n cb.setAttribute("actionTiddler", actionTiddler.title);\n cb.setAttribute("contextTiddler", parentTiddler);\n cb.onclick = this.onClickDone;\n actionElement.appendChild(cb);\n cb.checked = actionTiddler.gtdActionDone;\n createTiddlyLink(actionElement, actionTiddler.title, true);\n if (actionTiddler.gtdActionDone) actionElement.className = "gtdCompletedActionItem";\n if (_GTD.isNextAction(actionTiddler)) actionElement.className = "gtdNextActionItem";\n \n var actionTags = _GTD.filteredActionTags(tags, parentTiddler);\n //if (actionTags.length > 0) createTiddlyText(actionElement, " (" + actionTags.join(",") + ")");\n if (actionTags.length > 0) {\n createTiddlyText(actionElement, " [");\n for (var i = 0; i < actionTags.length; i++) {\n if (i > 0) createTiddlyText(actionElement, ", ");\n createTiddlyLink(actionElement, actionTags[i], true, "actionCrossReference");\n }\n createTiddlyText(actionElement, "]");\n }\n \n /*\n if (actionTiddler.gtdProject && actionTiddler.gtdProjectName != parentTiddler) {\n createTiddlyText(actionElement, " [");\n createTiddlyLink(actionElement, actionTiddler.gtdProjectName, true);\n createTiddlyText(actionElement, "]");\n }\n else {\n var actionTags = _GTD.filteredActionTags(tags, parentTiddler);\n if (actionTags.length > 0) createTiddlyText(actionElement, " (" + actionTags.join(",") + ")");\n }\n */\n \n return actionElement;\n}\n\nconfig.macros.gtdAction.onClickDone = function(e)\n{\n var tiddler = store.getTiddler(this.getAttribute("actionTiddler"));\n if (tiddler) {\n _GTD.toggleTag(tiddler, "done", this.checked);\n tiddler.gtdActionDone = this.checked;\n _GTD.tiddlerHasChanged(tiddler);\n _GTD.refreshActionViews(tiddler);\n }\n return true;\n}\n\nconfig.macros.gtdAction.handler = function(place,macroName,params)\n{\n var title = params[0], tags;\n var parentTiddler = story.findContainingTiddler(place).getAttribute("tiddler");\n var tiddler = store.getTiddler(title);\n if (!tiddler) {\n // we should *never* get here now for project actions, but keep code in case project code\n // trips up, or we use this macro somewhere else\n this.createAction(title, parentTiddler, params[1]);\n }\n else\n // use actual tiddler tags, not macro param, in case context changed!\n tags = tiddler.tags;\n var action = this.createActionElement(place, title, parentTiddler, tags);\n}\n\nconfig.macros.gtdAction.setNextAction = function(project)\n{\n project.gtdNextAction = null;\n for (var i = 0; i < project.gtdActions.length; i++)\n if (!project.gtdActions[i].gtdActionDone) {\n project.gtdNextAction = project.gtdActions[i];\n return;\n }\n}\n\nconfig.macros.gtdAction.createAction = function(title, parentTiddler, tagParams, extraTags)\n{\n var tags = ["action", parentTiddler];\n if (typeof(tagParams) == "string") tags = tags.concat(tagParams.readBracketedList());\n if (typeof(extraTags) == "string") tags = tags.concat(extraTags.readBracketedList());\n var templateText = store.getTiddlerText("NewActionTemplate", config.views.wikified.defaultText.format([title]));\n return store.saveTiddler(title, title, templateText, config.options.txtUserName, new Date(), tags);\n}\n\nconfig.macros.gtdActionCompleted = {}\nconfig.macros.gtdActionCompleted.handler = function(place,macroName,params)\n{\n var title = story.findContainingTiddler(place).getAttribute("tiddler");\n var tiddler = store.getTiddler(title);\n // oddly, we barf when setting the checkbox type on an input if we use createTiddlyElement...\n var cb = document.createElement("input");\n cb.setAttribute("type", "checkbox");\n cb.setAttribute("actionTiddler", title);\n cb.onclick = this.onClickDone;\n place.appendChild(cb);\n cb.checked = tiddler.gtdActionDone;\n}\n\nconfig.macros.gtdActionCompleted.onClickDone = function(e)\n{\n var tiddler = store.getTiddler(this.getAttribute("actionTiddler"));\n if (tiddler) {\n _GTD.toggleTag(tiddler, "done", this.checked);\n tiddler.gtdActionDone = this.checked;\n _GTD.tiddlerHasChanged(tiddler);\n _GTD.refreshActionViews(tiddler);\n }\n return true;\n}\n\nconfig.macros.gtdAction.inheritedChanged = Tiddler.prototype.changed;\nTiddler.prototype.changed = function()\n{\n config.macros.gtdAction.inheritedChanged();\n \n // Note that this is called both as part of normal tiddler changes AND as a part\n // of the initial TW loading process from DIVs...\n \n if (_GTD.tiddlerHasTag(this, "project")) {\n // (re)build the in-memory ordered action list\n this.gtdActions = [];\n this.gtdNextAction = null;\n if (this.text) {\n var reActionWikitext = "^\s\s.{2}([^|\sn]+)(?:\s\s|?)(.*)";\n var reActionMacro = "<<gtdAction ((?:[^>]|(?:>(?!>)))*)>>";\n var actionRe = new RegExp("(" + reActionWikitext + ")|(" + reActionMacro + ")", "mg");\n do {\n var formatMatch = actionRe.exec(this.text);\n if (formatMatch) {\n var macroParams = (formatMatch[1] ? null : formatMatch[5].readMacroParams());\n var actionTiddlerName = (formatMatch[1] ? formatMatch[2] : macroParams[0]);\n var actionTiddler = store.getTiddler(actionTiddlerName);\n if (!actionTiddler) {\n var actionTags = (formatMatch[1] ? formatMatch[3] : macroParams[1]);\n var extraTags = (formatMatch[1] ? '' : macroParams[2]);\n actionTiddler = config.macros.gtdAction.createAction(actionTiddlerName, this.title, actionTags, extraTags);\n }\n if (actionTiddler) {\n actionTiddler.gtdProject = this;\n if (this.gtdNextAction == null && !_GTD.tiddlerHasTag(actionTiddler, "done"))\n this.gtdNextAction = actionTiddler;\n this.gtdActions.push(actionTiddler);\n // handle project renaming in action\n if (actionTiddler.gtdProjectName && actionTiddler.gtdProjectName != this.title) {\n _GTD.tiddlerSwapTag(actionTiddler, actionTiddler.gtdProjectName, this.title);\n // action view won't get updated through any other refresh mechanism, so\n story.refreshTiddler(actionTiddler.title, null, true);\n }\n actionTiddler.gtdProjectName = this.title;\n }\n }\n } while(formatMatch);\n }\n }\n \n else if (_GTD.tiddlerHasTag(this, "context")) {\n if (this.gtdContextName == undefined)\n this.gtdContextName = this.title;\n else if (this.gtdContextName != this.title) {\n // propagate renamed context to affected actions\n var results = config.macros.list.tagged.innerHandler([ this.gtdContextName, "action"], true);\n for (var t = 0; t < results.length; t++) {\n _GTD.tiddlerSwapTag(results[t], this.gtdContextName, this.title);\n // action view won't get updated through any other refresh mechanism, so\n story.refreshTiddler(results[t].title, null, true);\n }\n this.gtdContextName = this.title;\n }\n }\n \n else if (_GTD.tiddlerHasTag(this, "action")) {\n if (this.gtdActionName == undefined)\n this.gtdActionName = this.title;\n else if (this.gtdActionName != this.title && this.gtdProject) {\n // ugh...dig into related project and update the wiki code to use new action name\n var reActionWikitext = "^(\s\s.{2})(" + this.gtdActionName + ")((\s\s|.*\sn)|(\sn))";\n var reActionMacro = "(<<gtdAction [\s"\s']?)(" + this.gtdActionName + ")([\s"\s']?\s\ss+(?:[^>]|(?:>(?!>)))*>>)";\n this.gtdProject.text = this.gtdProject.text.replace(new RegExp(reActionWikitext, "mg"), "$1" + this.title + "$3");\n this.gtdProject.text = this.gtdProject.text.replace(new RegExp(reActionMacro, "mg"), "$1" + this.title + "$3");\n this.gtdActionName = this.title;\n }\n this.gtdActionDone = _GTD.tiddlerHasTag(this, "done");\n // reset the next action on the associated project\n if (this.gtdProject) config.macros.gtdAction.setNextAction(this.gtdProject);\n }\n}\n\nconfig.formatters.push(\n {\n name: "gtdAction",\n match: "^\s\s.\s\s..*",\n lookahead: "^\s\s.\s\s.([^|]*)(?:\s\s|?)(.*)",\n handler: function(w)\n {\n var lookaheadRegExp = new RegExp(this.lookahead,"g");\n var lookaheadMatch = lookaheadRegExp.exec(w.matchText)\n if (lookaheadMatch) {\n var params = [ lookaheadMatch[1] ];\n if (lookaheadMatch[2].length > 0) params.push(lookaheadMatch[2]);\n config.macros.gtdAction.handler(w.output, "gtdAction", params);\n }\n }\n }\n);\n\nconfig.commands.newAction = { text: "action", tooltip: "Create a new action for this context", hideReadOnly: true };\nconfig.commands.newAction.handler = function(event, src, context)\n{\n var d = new Date();\n var newActionTitle = d.formatString("New Action hh:0mm:0ss");\n if (!store.tiddlerExists(newActionTitle)) {\n var tiddler = store.createTiddler(newActionTitle);\n var templateText = store.getTiddlerText("NewActionTemplate", config.views.wikified.defaultText.format([newActionTitle]));\n tiddler.assign(newActionTitle, templateText, config.options.txtUserName, new Date(), [ "action", context ]);\n \n story.displayTiddler(null, newActionTitle, DEFAULT_EDIT_TEMPLATE);\n story.focusTiddler(newActionTitle, "title");\n }\n return false;\n}\n\nconfig.commands.newProjectAction = { text: "action", tooltip: "Create a new action for this project", hideReadOnly: true };\nconfig.commands.newProjectAction.handler = function(event, src, project)\n{\n var d = new Date();\n var newActionTitle = d.formatString("New Action hh:0mm:0ss");\n if (!store.tiddlerExists(newActionTitle)) {\n var defaultContext = config.options.txtGTDUnfiledContext;\n _GTD.appendProjectAction(store.getTiddler(project), newActionTitle, defaultContext);\n \n var tiddler = store.createTiddler(newActionTitle);\n var templateText = store.getTiddlerText("NewActionTemplate", config.views.wikified.defaultText.format([newActionTitle]));\n tiddler.assign(newActionTitle, templateText, config.options.txtUserName, new Date(), [ "action", project, defaultContext ]);\n \n story.displayTiddler(null, newActionTitle, DEFAULT_EDIT_TEMPLATE);\n story.focusTiddler(newActionTitle, "title");\n }\n return false;\n}\n\nconfig.macros.gtdActionList = {}\nconfig.macros.gtdActionList.handler = function(place,macroName,params)\n{\n var theList = createTiddlyElement(place, "ul", null, "gtdActionList");\n var parentTiddler = story.findContainingTiddler(place).getAttribute("tiddler");\n var allActions = (params[1] == "all");\n var aging = parseInt(config.options.txtGTDActionAging, 10);\n aging = isNaN(aging) ? 0 : aging.clamp(0, Number.MAX_VALUE);\n \n if (params[0] == "*") { // actions for all projects\n var projects = store.getTaggedTiddlers("project");\n for (var i = 0; i < projects.length; i++) {\n var project = projects[i];\n if (!allActions) {\n var skipEmptyProject = true;\n if (project.gtdActions != undefined && project.gtdActions.length > 0)\n for (var k = 0; skipEmptyProject && k < project.gtdActions.length; k++)\n skipEmptyProject = project.gtdActions[k].gtdActionDone;\n if (skipEmptyProject) continue;\n }\n var theListItem = createTiddlyElement(theList, "li", null, "gtdActionListProject");\n createTiddlyLink(theListItem, project.title, true);\n if (project.gtdActions != undefined && project.gtdActions.length > 0) {\n var subList = createTiddlyElement(theList, "ul", null, "gtdActionList");\n for (var j = 0; j < project.gtdActions.length; j++) {\n var action = project.gtdActions[j];\n if (!allActions && aging > 0 && action.gtdActionDone && _GTD.tiddlerAgeInDays(action) > aging) continue;\n var subListItem = createTiddlyElement(subList, "li");\n var el = config.macros.gtdAction.createActionElement(subListItem, action, project.title, action.tags);\n }\n }\n }\n }\n else if (params[0] == "@") { // actions for all contexts\n var contexts = store.getTaggedTiddlers("context");\n for (var i = 0; i < contexts.length; i++) {\n var context = contexts[i];\n var actions = config.macros.list.tagged.innerHandler([context.title, "action"], true);\n if (actions.length > 0) {\n var firstAction = true, theListItem, subList;\n for (var j = 0; j < actions.length; j++) {\n var currentAction = actions[j];\n // if we are not displaying all actions, filter completed actions and non-next project actions\n if (!allActions && (currentAction.gtdActionDone || (currentAction.gtdProject && !_GTD.isNextAction(currentAction)))) continue;\n if (firstAction) {\n theListItem = createTiddlyElement(theList, "li", null, "gtdActionListContext");\n createTiddlyLink(theListItem, context.title, true);\n subList = createTiddlyElement(theList, "ul", null, "gtdActionList");\n firstAction = false;\n }\n var subListItem = createTiddlyElement(subList, "li");\n var el = config.macros.gtdAction.createActionElement(subListItem, currentAction, context.title, currentAction.tags);\n }\n }\n }\n }\n else { // actions tagged by current tiddler name\n // chain to our "tagged" list macro to get the tiddlers first\n var tags = (params.length == 0 ? [ parentTiddler ] : params[0].readBracketedList());\n tags.push("action");\n var results = config.macros.list.tagged.innerHandler(tags, true);\n // ??? do we want this list sorted by action name alone ???\n results.sort(function (a,b) {if(a.title == b.title) return(0); else return (a.title < b.title) ? -1 : +1; });\n for (var t = 0; t < results.length; t++) {\n var action = results[t];\n if (!allActions && aging > 0 && action.gtdActionDone && _GTD.tiddlerAgeInDays(action) > aging) continue;\n var theListItem = createTiddlyElement(theList, "li");\n var el = config.macros.gtdAction.createActionElement(theListItem, action, parentTiddler, action.tags);\n }\n }\n}\n\nconfig.commands.changeContext = { text: "context", tooltip: "Change context of this action", hideReadOnly: true, popupNone: "There are no contexts" };\nconfig.commands.changeContext.handler = function(event,src,title)\n{\n var popup = Popup.create(src);\n if (popup) {\n var contexts = store.getTaggedTiddlers("context");\n var tiddler = store.getTiddler(title);\n var c = false;\n var currentContext = config.options.txtGTDUnfiledContext;\n for (var i = 0; i < contexts.length; i++)\n if (_GTD.tiddlerHasTag(tiddler, contexts[i].title)) {\n currentContext = contexts[i].title;\n break;\n }\n \n for (i = 0; i < contexts.length; i++)\n if (contexts[i].title != currentContext) {\n var button = createTiddlyButton(createTiddlyElement(popup, "li"), contexts[i].title, '', this.onClickContext);\n button.setAttribute("actionTiddler", title);\n button.setAttribute("oldContext", currentContext);\n button.setAttribute("newContext", contexts[i].title);\n c = true;\n }\n if (!c)\n createTiddlyText(createTiddlyElement(popup, "li", null, "disabled"), this.popupNone);\n }\n \n Popup.show(popup, false);\n event.cancelBubble = true;\n if (event.stopPropagation) event.stopPropagation();\n // do *not* cause a browser navigation\n return false;\n}\n\nconfig.commands.changeContext.onClickContext = function(e)\n{\n var tiddler = store.getTiddler(this.getAttribute("actionTiddler"));\n if (tiddler) {\n var oldContext = this.getAttribute("oldContext");\n var newContext = this.getAttribute("newContext");\n if (_GTD.tiddlerSwapTag(tiddler, oldContext, newContext)) {\n _GTD.tiddlerHasChanged(tiddler);\n _GTD.refreshActionViews(tiddler);\n // be sure to refresh old context as well...\n story.refreshTiddler(oldContext, null, true);\n }\n }\n // do *not* cause a browser navigation\n return false;\n}\n\nconfig.commands.deleteAction = { text: "delete", tooltip: "Delete this action", hideReadOnly: true, warning: "Are you sure you want to delete '%0'?", altwarning: "Are you sure you want to delete '%0'? The action will also be removed from project '%1'." };\nconfig.commands.deleteAction.handler = function(event, src, title)\n{\n var tiddler = store.getTiddler(title);\n var ok = (tiddler.gtdProject ? confirm(this.altwarning.format([title, tiddler.gtdProject.title])) : confirm(this.warning.format([title])));\n if (ok) {\n if (tiddler.gtdProject) _GTD.removeProjectAction(tiddler.gtdProject, title);\n store.removeTiddler(title);\n story.closeTiddler(title,true,event.shiftKey || event.altKey);\n if(config.options.chkAutoSave)\n saveChanges();\n }\n \n return false;\n}\n\nconfig.commands.deleteContext = { text: "delete", tooltip: "Delete this context", hideReadOnly: true, warning: "Are you sure you want to delete '%0'? All associated actions will be tagged as 'unfiled'." };\nconfig.commands.deleteContext.handler = function(event, src, title)\n{\n if (confirm(this.warning.format([title]))) {\n store.suspendNotifications();\n this.unlinkActions(title);\n store.resumeNotifications();\n store.removeTiddler(title);\n story.closeTiddler(title,true,event.shiftKey || event.altKey);\n if(config.options.chkAutoSave)\n saveChanges();\n }\n \n return false;\n}\n\nconfig.commands.deleteContext.unlinkActions = function(contextTitle)\n{\n var tiddlers = config.macros.list.tagged.innerHandler([contextTitle, "action"], true);\n for (var i = 0; i < tiddlers.length; i++) {\n var tiddler = tiddlers[i];\n _GTD.tiddlerSwapTag(tiddler, contextTitle, config.options.txtGTDUnfiledContext);\n _GTD.tiddlerHasChanged(tiddler, false);\n // context removal will do view notification...\n }\n}\n\nconfig.commands.deleteProject = { text: "delete", tooltip: "Delete this project", hideReadOnly: true, warning: "Are you sure you want to delete '%0'? All associated actions will no longer be bound to this (or any) project." };\nconfig.commands.deleteProject.handler = function(event, src, title)\n{\n if (confirm(this.warning.format([title]))) {\n store.suspendNotifications();\n this.unlinkActions(title);\n store.resumeNotifications();\n store.removeTiddler(title);\n story.closeTiddler(title,true,event.shiftKey || event.altKey);\n if(config.options.chkAutoSave)\n saveChanges();\n }\n \n return false;\n}\n\nconfig.commands.deleteProject.unlinkActions = function(projectTitle)\n{\n var tiddlers = config.macros.list.tagged.innerHandler([projectTitle, "action"], true);\n for (var i = 0; i < tiddlers.length; i++) {\n var tiddler = tiddlers[i];\n tiddler.gtdProject = null;\n tiddler.tags.splice(tiddler.tags.find(projectTitle), 1);\n _GTD.tiddlerHasChanged(tiddler, false);\n // project removal will do view notification...\n }\n}\n\nconfig.commands.deleteProjectAll = { text: "delete all", tooltip: "Delete this project and its actions", hideReadOnly: true, warning: "Are you sure you want to delete '%0' and all its associated actions?" };\nconfig.commands.deleteProjectAll.handler = function(event, src, title)\n{\n if (confirm(this.warning.format([title]))) {\n store.suspendNotifications();\n this.deleteActions(title);\n store.resumeNotifications();\n store.removeTiddler(title);\n story.closeTiddler(title,true,event.shiftKey || event.altKey);\n if(config.options.chkAutoSave)\n saveChanges();\n }\n \n return false;\n}\n\nconfig.commands.deleteProjectAll.deleteActions = function(projectTitle)\n{\n var tiddlers = config.macros.list.tagged.innerHandler([projectTitle, "action"], true);\n for (var i = 0; i < tiddlers.length; i++) {\n var tiddler = tiddlers[i].title;\n store.removeTiddler(tiddler);\n story.closeTiddler(tiddler, true, false);\n // project removal will do view notification...\n }\n}\n\nconfig.commands.projectify = { text: "projectify", tooltip: "Convert this action to a project", hideReadOnly: true, warning: "Are you sure you want to convert '%0' to a project?" };\nconfig.commands.projectify.handler = function(event, src, title)\n{\n if (confirm(this.warning.format([title]))) {\n var tiddler = store.getTiddler(title);\n if (tiddler.gtdProject) _GTD.removeProjectAction(tiddler.gtdProject, title);\n tiddler.tags = [ "project" ];\n _GTD.tiddlerHasChanged(tiddler, true);\n // we need a broad notification here, not just refreshActionViews\n store.notify(title, true);\n }\n \n return false;\n}\n\nconfig.macros.touchRevision = {}\nconfig.macros.touchRevision.handler = function ()\n{\n var d = version.extensions.GTDPlugins.date;\n var tiddlers = config.macros.list.tagged.innerHandler(["systemConfig", "systemTiddler", "template", "gtd"], false);\n for (var i = 0; i < tiddlers.length; i++) {\n tiddlers[i].created = d;\n tiddlers[i].modified = d;\n }\n}\n\nStory.prototype.chooseTemplateForTiddler = function(title,template)\n{\n if (!template)\n template = DEFAULT_VIEW_TEMPLATE;\n\n // before reverting to default behaviour, check to see if a tag-based template exists\n if (template == DEFAULT_VIEW_TEMPLATE || template == DEFAULT_EDIT_TEMPLATE) {\n if (this.tagBasedTemplateCache == undefined) this.tagBasedTemplateCache = new Array();\n var templateRoot = (template == DEFAULT_VIEW_TEMPLATE ? "ViewTemplate" : "EditTemplate");\n var tiddler = store.getTiddler(title);\n if (tiddler) {\n for (var i = 0; i < tiddler.tags.length; i++) {\n var tag = tiddler.tags[i];\n var tagTemplate = tag + templateRoot;\n var tagCacheId = tag + template;\n // first check our cache to see if we have seen this template before\n if (this.tagBasedTemplateCache[tagCacheId] != undefined) {\n // make sure template still exists\n if (store.tiddlerExists(this.tagBasedTemplateCache[tagCacheId])) {\n template = this.tagBasedTemplateCache[tagCacheId];\n break;\n }\n else\n delete this.tagBasedTemplateCache[tagCacheId];\n }\n // go to the store to see if template exists\n if (store.tiddlerExists(tagTemplate)) {\n template = tagTemplate;\n this.tagBasedTemplateCache[tagCacheId] = tagTemplate;\n break;\n }\n }\n }\n }\n \n if (template == DEFAULT_VIEW_TEMPLATE || template == DEFAULT_EDIT_TEMPLATE)\n template = config.tiddlerTemplates[template];\n return template;\n}\n\nconfig.macros.importUpdates = { \n importMode: "updates",\n buttonTitle: "Update", \n buttonHelp: "Click here to update the application",\n preUpdateMessage: "Once the download is finished, you will need to reload your document to complete the update. In order to allow you to review the update tiddlers, this will not be done automatically. \sn\snClick \s"OK\s" start the update."\n}\nconfig.macros.importUpdates.handler = function(place, macroName, params)\n{\n var mode = params[1] ? params[1] : this.importMode;\n var title = params[2] ? params[2] : this.buttonTitle;\n var prompt = params[3] ? params[3] : this.buttonHelp;\n var button = createTiddlyButton(place, title, prompt, this.onClickUpdate);\n button.setAttribute("updateSource", params[0]);\n button.setAttribute("importMode", mode);\n if (params.length > 4) button.setAttribute("importExtras", params.slice(4).join(" "));\n}\n\nconfig.macros.importUpdates.onClickUpdate = function(e)\n{\n if (!confirm(config.macros.importUpdates.preUpdateMessage))\n return;\n var importParams = [ this.getAttribute("importMode"), this.getAttribute("updateSource") ];\n var importExtras = this.getAttribute("importExtras");\n if (importExtras) importParams = importParams.concat(importExtras.split(" "));\n importParams.push("force");\n // force a saveChanges with backup before the update\n _GTD.saveWithForcedBackup();\n // chain to the importTiddlers macro\n config.macros.importTiddlers.handler(this, "importTiddlers", importParams);\n // ensure that relevant release notes are displayed on first launch\n config.options.chkGTDReleaseNotes = true;\n saveOptionCookie("chkGTDReleaseNotes");\n // do *not* cause a browser navigation\n return false;\n}\n\nconfig.macros.gtdArchive = {}\nconfig.macros.gtdArchive.handler = function(place, macroName, params)\n{\n var archiveAction = params.length > 0 ? params[0] : "archive"\n var btn = createTiddlyButton(place, archiveAction, "", this.onClick);\n btn.setAttribute("archiveAction", archiveAction);\n}\n\nconfig.macros.gtdArchive.onClick = function(e)\n{\n var warning = "Are you sure you want to %0 all %1 projects and actions?";\n var status = "There were %0 project(s) and %1 action(s) %2d.";\n var archiveAction = this.getAttribute("archiveAction");\n \n var projectCount = 0, actionCount = 0;\n \n if (archiveAction == "archive") {\n if (confirm(warning.format([archiveAction, "completed"]))) {\n clearMessage();\n var projects = store.getTaggedTiddlers("project");\n for (var i = 0; i < projects.length; i++) {\n var project = projects[i];\n if (project.gtdActions == undefined || project.gtdActions.length == 0) continue;\n var projectComplete = true;\n for (var j = 0; projectComplete && j < project.gtdActions.length; j++)\n projectComplete = project.gtdActions[j].gtdActionDone;\n if (!projectComplete) continue;\n // if we get here, all project actions are done, so archive project\n story.closeTiddler(project.title, false, false);\n _GTD.tiddlerSwapTag(project, "project", "project-archive");\n _GTD.tiddlerHasChanged(project, false);\n projectCount++;\n for (j = 0; j < project.gtdActions.length; j++) {\n story.closeTiddler(project.gtdActions[j].title, false, false);\n _GTD.tiddlerSwapTag(project.gtdActions[j], "action", "action-archive");\n _GTD.tiddlerHasChanged(project.gtdActions[j], false);\n actionCount++;\n }\n }\n var actions = store.getTaggedTiddlers("action");\n for (i = 0; i < actions.length; i++) {\n var action = actions[i];\n if (action.gtdActionDone && !action.gtdProject) {\n story.closeTiddler(action.title, false, false);\n _GTD.tiddlerSwapTag(action, "action", "action-archive");\n _GTD.tiddlerHasChanged(action, false);\n actionCount++;\n }\n }\n displayMessage(status.format([projectCount, actionCount, archiveAction]));\n var saveClearMessage = clearMessage;\n clearMessage = function() {};\n if (config.options.chkAutoSave) saveChanges();\n clearMessage = saveClearMessage;\n store.notify(null, true);\n }\n }\n \n else if (archiveAction == "unarchive") {\n if (confirm(warning.format([archiveAction, "archived"]))) {\n clearMessage();\n var projects = store.getTaggedTiddlers("project-archive");\n for (var i = 0; i < projects.length; i++) {\n var project = projects[i];\n story.closeTiddler(project.title, false, false);\n _GTD.tiddlerSwapTag(project, "project-archive", "project");\n _GTD.tiddlerHasChanged(project, false);\n projectCount++;\n }\n var actions = store.getTaggedTiddlers("action-archive");\n for (i = 0; i < actions.length; i++) {\n var action = actions[i];\n story.closeTiddler(action.title, false, false);\n _GTD.tiddlerSwapTag(action, "action-archive", "action");\n _GTD.tiddlerHasChanged(action, false);\n actionCount++;\n }\n displayMessage(status.format([projectCount, actionCount, archiveAction]));\n var saveClearMessage = clearMessage;\n clearMessage = function() {};\n if (config.options.chkAutoSave) saveChanges();\n clearMessage = saveClearMessage;\n store.notify(null, true);\n }\n }\n \n else if (archiveAction == "purge") {\n if (confirm(warning.format([archiveAction, "archived"]))) {\n clearMessage();\n _GTD.saveWithForcedBackup();\n var projects = store.getTaggedTiddlers("project-archive");\n for (var i = 0; i < projects.length; i++) {\n var project = projects[i];\n story.closeTiddler(project.title, false, false);\n store.removeTiddler(project.title);\n projectCount++;\n }\n var actions = store.getTaggedTiddlers("action-archive");\n for (i = 0; i < actions.length; i++) {\n var action = actions[i];\n story.closeTiddler(action.title, false, false);\n store.removeTiddler(action.title);\n actionCount++;\n }\n displayMessage(status.format([projectCount, actionCount, archiveAction]));\n var saveClearMessage = clearMessage;\n clearMessage = function() {};\n if (config.options.chkAutoSave) saveChanges();\n clearMessage = saveClearMessage;\n store.notify(null, true);\n }\n }\n else\n alert("That archiving action is not supported");\n}\n\n_GTD.initialize();\n\n//}}}\n
/***\n!GTD specific styles\n***/\n\n/*{{{*/\n/* how annoying is that big header anyway?! */\n.headerForeground, .headerShadow {\n padding-top: 1em;\n}\n\n/* the tagging popup really gets in the way so push it off to the side */\n.tagging { float: right; }\n\n/* this unbullets actions in the actionList macro */\nul.gtdActionList { list-style-type: none; }\nli.gtdActionListProject, li.gtdActionListContext { margin-top: 1.0em; }\n\n.gtdCompletedActionItem { text-decoration: line-through; }\n.gtdNextActionItem { border-bottom: 1px solid red; }\n\na.actionCrossReference { color: #ff8c00; }\n\n/* necessary bits copied from enhanced stylesheet to render properly without it */\n#mainMenu {\n font-size: 1em;\n text-align: left;\n width: 12em;\n}\n\n#mainMenu * {\n font-size: 1em;\n font-weight: normal;\n padding: 0; margin: 0; border: 0;\n}\n\n#mainMenu ul {\n list-style: none;\n margin-bottom: 10px;\n}\n\n#mainMenu li {\n text-indent: 1em;\n}\n\n#mainMenu a.button, #mainMenu a.tiddlyLink, #mainMenu a.externalLink {\n display: block; margin: 0;\n}\n\n/*}}}*/\n\n/***\n!Imported 3x5 printing styles\n//adapted from the work of Clint Checketts, http://www.checkettsweb.com/tw/gtd_tiddlywiki.htm //\n***/\n\n/*{{{*/\n\n@media print {\n#mainMenu, #sidebar, #messageArea {display: none !important;}\n#displayArea {margin: 1em 1em 0em 1em;}\n\n\n/* LAYOUT ELEMENTS ========================================================== */\n*\n{\n margin: 0;\n padding: 0;\n}\n\n#contentWrapper\n{\n margin: 0;\n width: 100%;\n position: static;\n}\n\nbody {\n background: #fff;\n color: #000;\n font-size: 6.2pt;\n font-family: "Lucida Grande", "Bitstream Vera Sans", Helvetica, Verdana, Arial, sans-serif;\n}\n\nimg {\n max-width: 2.2in;\n max-height: 4.3in;\n}\n\n#header, #side_container, #storeArea, #copyright, #floater, #messageArea, .save_accesskey, .site_description, #saveTest, .toolbar, .header, .footer, .tagging, .tagged\n{\n display: none;\n}\n\n#tiddlerDisplay, #displayArea\n{\n display: inline;\n}\n\n.tiddler {\n margin: 0 0 2em 0;\n border-top: 1px solid #000;\n page-break-before: always;\n}\n\n.tiddler:first-child {\n page-break-before: ;\n}\n\n.title {\n font-size: 1.6em;\n font-weight: bold;\n margin-bottom: .3em;\n padding: .2em 0;\n border-bottom: 1px dotted #000;\n}\n\np, blockquote, ul, li, ol, dt, dd, dl, table\n{\n margin: 0 0 .3em 0;\n}\n\nh1, h2, h3, h4, h5, h6\n{\n margin: .2em 0;\n} \n\nh1\n{\n font-size: 1.5em;\n}\n\nh2\n{\n font-size: 1.3em;\n}\n\nh3\n{\n font-size: 1.25em;\n}\n\nh4\n{\n font-size: 1.15em;\n}\n\nh5\n{\n font-size: 1.1em;\n}\n\nblockquote\n{\n margin: .6em;\n padding-left: .6em;\n border-left: 1px solid #ccc;\n}\n\nul\n{\n list-style-type: circle;\n}\n\nli\n{\n margin: .1em 0 .1em 2em;\n line-height: 1.4em; \n}\n\ntable\n{\n border-collapse: collapse;\n font-size: 1em;\n}\n\ntd, th\n{\n border: 1px solid #999;\n padding: .2em;\n}\n\nhr {\n border: none;\n border-top: dotted 1px #777;\n height: 1px;\n color: #777;\n margin: .6em 0;\n}\n}\n/*}}}*/\n\n/***\n!Imported styles for calendar plugin\n***/\n\n/*{{{*/\n.calendar{\n border-bottom: 1px solid #550000;\n}\n\n.viewer .calendar{\n width: 220px;\n}\n\n#mainMenu .calendar{\n font-size: 8px;\n cursor: pointer;\n width: 100%;\n border: 0;\n border-collapse: collapse;\n}\n\n#mainMenu .calendar .button{\n border: 0;\n}\n\n#mainMenu .calendar td{\n font-size: 8pt;\n padding: 0;\n background: #fff;\n border: 0;\n}\n\n#mainMenu .calendar a{\n margin: 0;\n color: #000;\n background: transparent;\n}\n\n#mainMenu .calendar a:hover{\n color: #000;\n background: transparent;\n}\n\n#mainMenu .calendarMonthname,\n#mainMenu .calendar .calendarMonthTitle td a{\n color: #fff;\n}\n\n#mainMenu .calendarDaysOfWeek td{\n background: #500;\n color: #fff;\n}\n/*}}}*/\n\n\n\n\n
/***\n!Layout Rules /%==============================================%/\n***/\n/*{{{*/\n\nbody {\n /* this is required for proper layout on IE, for some reason... */\n _position: static;\n}\n\n.tagClear {\n /* this, too, is a necessary IE hack... */\n _margin-top: 10em; \n _clear: both;\n}\n\n.headerForeground, .headerShadow {\n padding-top: 1em;\n}\n\n.tiddler {\n margin: 0 0 0.9em 0;\n padding-bottom: 1em;\n}\n\n#mainMenu {\n width: 16em;\n font-size: 1em;\n text-align: left;\n padding-top: 0.5em;\n}\n\n#mainMenu * {\n font-size: 1em;\n font-weight: normal;\n padding: 0; margin: 0; border: 0;\n}\n\n#mainMenu ul {\n list-style: none;\n margin-bottom: 10px;\n}\n\n#mainMenu li {\n text-indent: 1em;\n}\n\n#mainMenu a.button, #mainMenu a.tiddlyLink, #mainMenu a.externalLink {\n display: block; margin: 0;\n}\n\n#displayArea {\n margin-left: 19em; margin-top: 0;\n}\n\n.toolbar .button {\n margin-left: 4px;\n}\n\n/*}}}*/\n\n/***\n!Generic Rules /%==============================================%/\n***/\n/*{{{*/\nbody {\n background: #464646;\n color: #000;\n}\n\nh1,h2,h3,h4,h5 {\n color: #000;\n background: #eee;\n}\n\n/*}}}*/\n/***\n!Header /%==================================================%/\n***/\n/*{{{*/\n.header {\n background: #000;\n}\n\n.headerForeground {\n color: #C34E02;\n}\n\n.headerForeground a {\n font-weight: normal;\n color: #F56203;\n}\n\n/* ??? what is up when you specify a site title colour in IE ??? */\n/* .siteTitle { color: red; } */\n\n/*}}}*/\n/***\n!General tabs /%=================================================%/\n***/\n/*{{{*/\n\n.tabSelected {\n color: #fff;\n background: #960;\n border: none;\n}\n\n.tabUnselected {\n color: #fff;\n background: #660;\n}\n\n.tabContents {\n color: #004;\n background: #960;\n border: none;\n}\n\n.tabContents .button, .tabContents a {\n border: none;\n color: #fff;\n}\n\n.tabContents a:hover, .tabset a:hover {\n background: #000;\n}\n\n/* make nested tab areas look different */\n.tabContents .tabSelected, .tabContents .tabContents {\n background: #700;\n color: #fff;\n}\n\n.tabContents .tabContents {\n color: #eeb;\n}\n\n/*}}}*/\n/***\n!Main Menu /%=================================================%/\n***/\n/*{{{*/\n#mainMenu {\n background: #2A3B63;\n color: #fff;\n border-right: 3px solid #717C8C;\n}\n\n#mainMenu * {\n color: #fff;\n}\n\n#mainMenu a.button, #mainMenu a.tiddlyLink, #mainMenu a.externalLink {\n border: none;\n border-bottom: 1px solid #717C8C;\n border-top: 1px solid #717C8C;\n}\n\n#mainMenu a:hover,\n#mainMenu a.button:hover {\n background-color: #99CC66;\n color: #fff;\n}\n\n/*}}}*/\n/***\n!Sidebar options /%=================================================%/\n~TiddlyLinks and buttons are treated identically in the sidebar and slider panel\n***/\n/*{{{*/\n#sidebar {\n color: #FFFFFF;\n background: #464646;\n border-right: 3px solid #bb8;\n border-bottom: 3px solid #520;\n}\n\n#sidebarOptions .sliderPanel {\n background: #fff;\n}\n\n#sidebarOptions .sliderPanel a {\n border: none;\n color: #FFFFFF;\n}\n\n#sidebarOptions .sliderPanel a:hover {\n color: #fff;\n background: #700;\n}\n\n#sidebarOptions .sliderPanel a:active {\n color: #C34E02;\n background: #fff;\n}\n\n#sidebarOptions a {\n color: #FFFFFF;\n border: none;\n}\n\n#sidebarOptions a:hover, #sidebarOptions a:active {\n color: #FFFFFF;\n background: #700;\n}\n\n/*}}}*/\n/***\n!Message Area /%=================================================%/\n***/\n/*{{{*/\n#messageArea {\n border-right: 3px solid #da1;\n border-bottom: 3px solid #a80;\n background: #D5C8B8;\n color: #014;\n}\n\n/*}}}*/\n/***\n!Popup /%=================================================%/\n***/\n/*{{{*/\n.popup {\n background: #cf6;\n border: none;\n}\n\n.popup hr {\n color: #000;\n}\n\n.popup li.disabled {\n color: #666;\n background: #cf6;\n}\n\n.popup li a, .popup li a:visited {\n color: #000;\n border: 1px outset #cf6;\n background: #cf6;\n}\n\n.popup li a:hover {\n color: #000;\n border: 1px outset #cf6;\n background: #ef9;\n}\n/*}}}*/\n/***\n!Tiddler Display /%=================================================%/\n***/\n/*{{{*/\n.tiddler {\n background: #FFFFCC;\n border-bottom: 3px solid #555;\n}\n\n.title {\n color: #900;\n}\n\n.toolbar {\n color: #000;\n}\n\n.toolbar .button {\n background: #eeb /*#cf6*/;\n border: 1px outset #eeb /*#cf6*/;\n}\n\n.toolbar .button:hover {\n background: #700 /*#ef9*/;\n color: #fff;\n}\n\n/*}}}*/\n
VeryBig
[img[http://pictureserver.funnyjunk.com/pics2/catgamer.jpg]]
Happiness is when what you think, what you say, and what you do are in harmony.\n----\nWhatever you do will be insignificant, but it is very important that you do it.\n----\nAn eye for an eye makes the whole world blind.\n----\nAlways aim at complete harmony of thought and word and deed. Always aim at purifying your thoughts and everything will be well.
Check out this funky tune:\n+++[Lemons and Melon]\n[[Carib Bandits|http://www.mediamax.com/spaceshipper/Hosted/Carib%20Bandits.mp3]]\n===\n<<deliciousPlayTagger>>\n
You didn't guess did you. She got it from some other old hippie lady, who drank it to cure some dangerous sickness. I wonder where //she// got it from.
[img[http://img280.imageshack.us/img280/231/11288yf5.jpg]]\nA pure white [[Underbed]] Box\n[img[http://img299.imageshack.us/img299/4391/2159whitesmje0.jpg]]\nAn [[Underbed]] box working hard\n[img[http://img299.imageshack.us/img299/4973/crystalunderbed5bekm5d568x3005bekm5dli1.jpg]]\nWow a red [[Underbed]] box!! That's rare!!\n[img[http://img457.imageshack.us/img457/796/5334clearsmie0.jpg]]\n[[A RubberMaid vintage]]
/***\n|''Name:''|HTMLFormattingPlugin|\n|''Source:''|http://www.TiddlyTools.com/#HTMLFormattingPlugin|\n|''Author:''|Eric Shulman - ELS Design Studios|\n|''License:''|[[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|\n|''~CoreVersion:''|2.0.10|\n\nThe shorthand Wiki-style formatting syntax of ~TiddlyWiki is very convenient and enables most content to be reasonably well presented. However, there are times when tried-and-true HTML formatting syntax allows more more precise control of the content display.\n\nWhen HTML formatting syntax is embedded within a tiddler (in between {{{<}}}{{{html>}}} and {{{<}}}{{{/html>}}} markers) TiddlyWiki passes this content to the browser for processing as 'native' HTML. However, TiddlyWiki does not also process the HTML source content for any embedded wiki-formatting syntax it may contain. This means that while you can use HTML formatted content, you cannot mix wiki-formatted content within the HTML formatting.\n!!!!!Usage\n<<<\nThe ~HTMLFormatting plugin allows you to freely ''mix wiki-style formatting syntax within HTML formatted content'' by extending the action of the standard TiddlyWiki formatting handler.\n\nWhen a tiddler is about to be displayed, ~TiddlyWiki looks for tiddler content contained within ''<{{{html}}}>'' and ''<{{{/html}}}>'' HTML tags. This content (if any) is passed directly to the browser's internal "rendering engine" to process as ~HTML-formatted content. Once the HTML formatting has been processed, all the pieces of text occuring in between the HTML formatting are then processed by the ~TiddlyWiki rendering engine, one piece at a time, so that normal wiki-style formatting can be applied to the individual text pieces.\n<<<\n!!!!!Line breaks\n<<<\nOne major difference between Wiki formatting and HTML formatting is how "line breaks" are processed. Wiki formatting treats all line breaks as literal content to be displayed //as-is//. However, because HTML normally ignores line breaks and actually processes them as simple "word separators" instead, many people who write HTML include extra line breaks in their documents, just to make the "source code" easier to read.\n\nEven though you can use HTML tags within your tiddler content, the default treatment for line breaks still follows the Wiki-style rule (i.e., all new lines are displayed as-is). When adding HTML content to a tiddler (especially if you cut-and-paste it from another web page), you should take care to avoid adding extra line breaks to the text.\n\nIf removing all the extra line breaks from your HTML content would be a big hassle, you can quickly //override the default Wiki-style line break rule// so that the line breaks use the standard HTML rules instead. Placing a ''<{{{hide linebreaks}}}>'' tag within the tiddler's HTML content changes all line breaks to spaces before rendering the content, so that the literal line breaks will be processed as simple word-breaks instead.\n\nNote: this does //not// alter the actual tiddler content that is stored in the document, just the manner in which it is displayed. Any line breaks contained in the tiddler will still be there when you edit its content. Also, to include a literal line break when the ''<{{{hide linebreaks}}}>'' tag is present, you will need to use a ''<{{{br}}}>'' or ''<{{{p}}}>'' HTML tag instead of simply typing a line break.\n<<<\n!!!!!How it works\n<<<\nThe TW core support for HTML does not let you put ANY wiki-style syntax (including TW macros) *inside* the {{{<html>...</html>}}} block. Everything between {{{<html>}}} and {{{</html>}}} is handed to the browser for processing and that is it. Fortunately, this plugin ADDS the ability to let you put wiki-syntax (including macros) inside the html. It does this by first giving the tiddler source content to the browser to process the HTML, and then handling any wiki-based syntax that remains afterward.\n\nHowever, not all wiki syntax can be safely passed through the browser's parser. Specifically, any TW macros inside the HTML will get 'eaten' by the browser since the macro brackets, {{{<<...>>}}} use the "<" and ">" that normally delimit the HTML/XML syntax recognized by the browser's parser.\n\nSimilarly, you can't use InlineJavascript within the HTML because the {{{<script>...</script>}}} syntax will also be consumed by the browser and there will be nothing left to process afterward. Note: unfortunately, even though the browser removes the {{{<script>...</script>}}} sequence, it doesn't actually execute the embedded javascript code that it removes, so any scripts contained inside of <html> blocks in TW are currently being ignored. :-(\n\nAs a work-around to allow TW *macros* (but not inline scripts) to exist inside of <html> formatted blocks of content, the plugin first converts the {{{<<}}} and {{{>>}}} into "%%(" and ")%%", making them "indigestible" so they can pass unchanged through the belly of the beast (the browser's HTML parser).\n\nAfter the browser has done its job, the wiki syntax sequences (including the "undigested" macros) are contained in #text nodes in the browser-generated DOM elements. The plugin then recursively locates and processes each #text node, converts the %%( and )%% back into {{{<<}}} and {{{>>}}}, passes the result to wikify() for further rendering of the wiki-formatted syntax into a containing SPAN that replaces the previous #text node. At the end of this process, none of the encoded %%( and )%% sequences remain in the rendered tiddler output.\n<<<\n!!!!!Installation\n<<<\nimport (or copy/paste) the following tiddlers into your document:\n''HTMLFormattingPlugin'' (tagged with <<tag systemConfig>>)\n^^documentation and javascript for HTMLFormatting handling^^\n<<<\n!!!!!Revision History\n<<<\n''2006.09.10 [2.1.4]'' update formatter for 2.1 compatibility (use this.lookaheadRegExp instead of temp variable)\n''2006.05.28 [2.1.3]'' in wikifyTextNodes(), decode the *value* of TEXTAREA nodes, but don't wikify() its children. (thanks to "ayj" for bug report)\n''2006.02.19 [2.1.2]'' in wikifyTextNodes(), put SPAN element into tiddler DOM (replacing text node), BEFORE wikifying the text content. This ensures that the 'place' passed to any macros is correctly defined when the macro is evaluated, so that calls to story.findContainingTiddler(place) will work as expected. (Thanks for bug report from GeoffSlocock)\n''2006.02.05 [2.1.1]'' wrapped wikifier hijack in init function to eliminate globals and avoid FireFox 1.5.0.1 crash bug when referencing globals\n''2005.12.01 [2.1.0]'' don't wikify #TEXT nodes inside SELECT and TEXTAREA elements\n''2005.11.06 [2.0.1]'' code cleanup\n''2005.10.31 [2.0.0]'' replaced hijack wikify() with hijack config.formatters["html"] and simplified recursive WikifyTextNodes() code\n''2005.10.09 [1.0.2]'' combined documentation and code into a single tiddler\n''2005.08.05 [1.0.1]'' moved HTML and CSS definitions into plugin code instead of using separate tiddlers\n''2005.07.26 [1.0.1]'' Re-released as a plugin. Added <{{{html}}}>...</{{{nohtml}}}> and <{{{hide newlines}}}> handling\n''2005.07.20 [1.0.0]'' Initial Release (as code adaptation)\n<<<\n!!!!!Credits\n<<<\nThis feature was developed by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]]\n<<<\n!!!!!Code\n***/\n//{{{\nversion.extensions.HTMLFormatting = {major: 2, minor: 1, revision: 4, date: new Date(2006,9,10)};\n\n// find the formatter for HTML and replace the handler\ninitHTMLFormatter();\nfunction initHTMLFormatter()\n{\n for (var i=0; i<config.formatters.length && config.formatters[i].name!="html"; i++);\n if (i<config.formatters.length) config.formatters[i].handler=function(w) {\n if (!this.lookaheadRegExp) // fixup for TW2.0.x\n this.lookaheadRegExp = new RegExp(this.lookahead,"mg");\n this.lookaheadRegExp.lastIndex = w.matchStart;\n var lookaheadMatch = this.lookaheadRegExp.exec(w.source)\n if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {\n var html=lookaheadMatch[1];\n // optionally suppress wiki-style literal handling of newlines\n // strip any carriage returns added by Internet Explorer's textarea edit field\n // encode newlines as \sn so Internet Explorer's HTML parser won't eat them\n // encode macro brackets (<< and >>) so HTML parser won't eat them\n if (html.indexOf('<hide linebreaks>')!=-1) html=html.replace(regexpNewLine,' ');\n html=html.replace(regexpCarriageReturn,'');\n html=html.replace(regexpNewLine,'\s\sn');\n html=html.replace(/<</g,'%%(').replace(/>>/g,')%%');\n // create span to hold HTML\n // parse HTML and normalize the results\n // walk node tree and call wikify() on each text node\n var e = createTiddlyElement(w.output,"span");\n e.innerHTML=html;\n e.normalize(); \n wikifyTextNodes(e);\n // advance to next parse position\n w.nextMatch = this.lookaheadRegExp.lastIndex;\n }\n }\n}\n\n// wikify text nodes remaining after HTML content is processed (pre-order recursion)\nfunction wikifyTextNodes(theNode)\n{\n // textarea node doesn't get wikified, just decoded... \n if (theNode.nodeName.toLowerCase()=='textarea')\n theNode.value=theNode.value.replace(/\s%%\s(/g,'<<').replace(/\s)\s%%/g,'>>').replace(regexpBackSlashEn,'\sn');\n else for (var i=0;i<theNode.childNodes.length;i++) {\n var theChild=theNode.childNodes.item(i);\n if (theChild.nodeName.toLowerCase()=='option') continue;\n if (theChild.nodeName.toLowerCase()=='select') continue;\n wikifyTextNodes(theChild);\n if (theChild.nodeName=='#text') {\n var txt=theChild.nodeValue;\n // decode macro brackets and newlines\n txt=txt.replace(/\s%%\s(/g,'<<').replace(/\s)\s%%/g,'>>').replace(regexpBackSlashEn,'\sn');\n // replace text node with wikified() span\n var newNode=createTiddlyElement(null,"span");\n theNode.replaceChild(newNode,theChild);\n wikify(txt,newNode);\n }\n }\n}\n//}}}
Haiku of the Wind\nBy [[JamminJelly]]\n\nTrees sway in the breeze.\nWhen will my soul blow away\nAnd follow the leaves?\n[img[http://img99.imageshack.us/img99/8713/40093921eb6aa7d313rp6.jpg]]
/***\n|Name|HaloscanMacro|\n|Created by|JimSpeth|\n|Location|http://end.com/~speth/HaloscanMacro.html|\n|Version|1.1.0|\n|Requires|~TW2.x|\n\n!Description\nComment and trackback support for TiddlyWiki (via Haloscan).\n\n!History\n* 16-Feb-06, version 1.1.0, drastic changes, now uses settings from haloscan account config\n* 31-Jan-06, version 1.0.1, fixed display of counts for default tiddlers\n* 30-Jan-06, version 1.0, initial release\n\n!Examples\n|!Source|!Output|h\n|{{{<<haloscan comments>>}}}|<<haloscan comments>>|\n|{{{<<haloscan trackbacks>>}}}|<<haloscan trackbacks>>|\n\n!Installation\nRegister for a [[Haloscan|http://www.haloscan.com]] account. It's free and painless.\nInstall the HaloscanMacro in a new tiddler with a tag of systemConfig (save and reload to activate).\nIn the macro configuration code (below), change //YourName// to your Haloscan account name.\nUse the macro somewhere in a tiddler (see ViewTemplate for an example).\n\n!Settings\nYou can adjust various options for your account in the member configuration area of Haloscan's web site. The macro will use these settings when formatting the links.\n\n!Code\n***/\n//{{{\n\n/* change "YourName" to your Haloscan account name */\nconfig.macros.haloscan = {account: "spaceshipper", baseURL: "http://www.haloscan.com/load/"};\n\nvar haloscanLoaded = 0;\nconfig.macros.haloscan.load = function ()\n{\n if (haloscanLoaded == 1)\n return;\n \n account = config.macros.haloscan.account;\n if (!account || (account == "YourName"))\n account = store.getTiddlerText("SiteTitle");\n \n var el = document.createElement('script');\n el.language = 'JavaScript'; \n el.type = 'text/javascript'; \n el.src = config.macros.haloscan.baseURL + account;\n document.documentElement.childNodes[0].appendChild(el);\n \n haloscanLoaded = 1;\n}\nconfig.macros.haloscan.load();\n\n/* this totally clobbers document.write, i hope that's ok */\nvar safeWrite = function(s)\n{\n document.written = s;\n return s;\n};\ndocument.write = safeWrite;\n\nconfig.macros.haloscan.refreshDefaultTiddlers = function ()\n{\n var start = store.getTiddlerText("DefaultTiddlers");\n if (start)\n {\n var titles = start.readBracketedList();\n for (var t=titles.length-1; t>=0; t--)\n story.refreshTiddler(titles[t], DEFAULT_VIEW_TEMPLATE, 1);\n }\n}\n\nvar haloscanRefreshed = 0;\nconfig.macros.haloscan.handler = function (place, macroName, params, wikifier, paramString, tiddler)\n{\n if (typeof HaloScan == 'undefined')\n {\n if (haloscanRefreshed == 0)\n {\n setTimeout("config.macros.haloscan.refreshDefaultTiddlers()", 1);\n haloscanRefreshed = 1;\n }\n return;\n }\n \n var id = story.findContainingTiddler(place).id.substr(7);\n var hs_search = new RegExp('\s\sW','gi');\n id = id.replace(hs_search,"_");\n \n account = config.macros.haloscan.account;\n if (!account || (account == "YourName"))\n account = store.getTiddlerText("SiteTitle");\n \n var haloscanError = function (msg)\n {\n createTiddlyError(place, config.messages.macroError.format(["HaloscanMacro"]), config.messages.macroErrorDetails.format(["HaloscanMacro", msg]));\n }\n \n if (params.length == 1)\n {\n if (params[0] == "comments")\n {\n postCount(id);\n commentsLabel = document.written;\n commentsPrompt = "Comments on this tiddler";\n var commentsHandler = function(e) { HaloScan(id); return false; };\n var commentsButton = createTiddlyButton(place, commentsLabel, commentsPrompt, commentsHandler);\n }\n else if (params[0] == "trackbacks")\n {\n postCountTB(id);\n trackbacksLabel = document.written;\n trackbacksPrompt = "Trackbacks for this tiddler";\n var trackbacksHandler = function(e) { HaloScanTB(id); return false; };\n var trackbackButton = createTiddlyButton(place, trackbacksLabel, trackbacksPrompt, trackbacksHandler);\n }\n else\n haloscanError("unknown parameter: " + params[0]);\n }\n else if (params.length == 0)\n haloscanError("missing parameter");\n else\n haloscanError("bad parameter count");\n}\n\n//}}}\n
[img[http://img243.imageshack.us/img243/8826/tysonbabymg4.jpg]]
like this\n[img[http://img135.imageshack.us/img135/3861/hasselhoffta9.jpg]]
YEAAAAAAAHHHHHHH!!!!!!!\n[img[http://img288.imageshack.us/img288/4757/sharpeiandhasselhoffhw6.png]]
A Fat [[ass land]] animal
Ass fat ass a HipPoo
Remember that really annoying Disc Jockie at Francis Parker Middle School? His back, in attack--with a new style.\n+++[Click to watch]\n<html>\n<object width="425" height="350"> <param name="movie" value="http://www.youtube.com/v/1c26kSrl_xg"> </param> <embed src="http://www.youtube.com/v/1c26kSrl_xg" type="application/x-shockwave-flash" width="425" height="350"> </embed> </object>\n</html>\n===
[[Here he is!!!!!]]\n
[img[http://img505.imageshack.us/img505/851/magiaincorsoil8.jpg]]
To add a band, simply type an explamation mark and then the title of the band, Like This:\n{{{!New Band}}}\nTo add a song, make a blank line right beneath the new band and type in this format: \n{{{!New Band}}}\n{{{[[Song Name|URL of song]]}}}\n\nBTW, you can generally find songs on the web at band websites.\n\nIf this is 2 complacated, just right a me a suggestion with the song URL.\n
Take a look at the EdiQuette. Click the options tab on the menu on the right, before doing any editing. Type in the [[password]] and your name. When you are done editing make sure to click "save to web" on the menu on the right, and wait for it to finish. Once it is done, click the link that says something like: "main tiddlywiki file uploaded to:"\n!Posts\nYou can make a new post, add some coolstuff, add a cool link, or suggest something to [[me|spaceshipper]] about the site. To do this, click one of the buttons at the bottom of the left menu, such as "New CoolStuff" or "New Suggestion". After creating a new post, it will appear in the corresponding section such as GeneralPosts or CoolLinks.\n!Images\nFirst upload your image to [[ImageShack|imageshack.us]]. If you are getting it from a website, save the image, and then upload that from your computer. If the image is big, you might want to use the resize option. After clicking "upload" you will see a list of links. Copy the bottom link that says "direct link to image" and paste into this format: {{{[img[paste link here]]}}}\n\nto be continued...\n\nfor more info about editing, click the [[Help|http://www.blogjones.com/TiddlyWikiTutorial.html#EasyToEdit]] button on the menu.
Just Kidding
[[Shikwah]]
<<importTiddlers inline>>
/***\n''Import Tiddlers Plugin for TiddlyWiki version 1.2.x and 2.0''\n^^author: Eric Shulman - ELS Design Studios\nsource: http://www.TiddlyTools.com/#ImportTiddlersPlugin\nlicense: [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]^^\n\nWhen many people share and edit copies of the same TiddlyWiki document, the ability to quickly collect all these changes back into a single, updated document that can then be redistributed to the entire group is very important. This plugin lets you selectively combine tiddlers from any two TiddlyWiki documents. It can also be very useful when moving your own tiddlers from document to document (e.g., when upgrading to the latest version of TiddlyWiki, or 'pre-loading' your favorite stylesheets into a new 'empty' TiddlyWiki document.)\n<<importTiddlers>>\n!!!!!Inline interface (live)\n<<<\n<<importTiddlers inline>>\n<<<\n!!!!!Macro Syntax\n<<<\n{{{<<importTiddlers>>}}}\ncreates "import tiddlers" link. click to show/hide import control panel\n\n{{{<<importTiddlers inline>>}}}\ncreates import control panel directly in tiddler content\n\n{{{<<importTiddlers filter source quiet ask force>>}}}\nnon-interactive 'automatic' import.\n''filter'' determines which tiddlers will be automatically selected for importing. Use one of the following keywords:\n>''"new"'' retrieves only tiddlers that are found in the import source document, but do not yet exist in the destination document\n>''"changes"'' retrieves only tiddlers that exist in both documents for which the import source tiddler is newer than the existing tiddler\n>''"updates"'' retrieves both ''new'' and ''changed'' tiddlers (this is the default action when none is specified)\n>''"tiddler:~TiddlerName"'' retrieves only the specific tiddler named in the parameter.\n>''"all"'' retrieves ALL tiddlers from the import source document, even if they have not been changed.\n''source'' is the location of the imported document. It can be either a local document or an URL:\n>filename is any local path/file, in whatever format your system requires\n>URL is any remote web location that starts with "http://" or "https://"\n''"quiet"'' (optional)\n>supresses all status message during the import processing (e.g., "opening local file...", "found NN tiddlers..." etc). Note that if ANY tiddlers are actualy imported, a final information message will still be displayed (along with the ImportedTiddlers report), even when 'quiet' is specified. This ensures that changes to your document cannot occur without any visible indication at all.\n''"ask"'' (optional)\n>adds interactive confirmation. A browser message box (OK/Cancel) is displayed for each tiddler that will be imported, so that you can manually bypass any tiddlers that you do not want to import.\n''"force"'' (optional)\n>ignores the importReplace and importPublic special tags (see below). Allows automatic importing and overwriting of tiddlers even when they have not been tagged accordingly. This is intended for use with TW files for which you have complete control of the content and can therefore be certain that importing all tiddlers into your document is 'safe'.\n\n''Special tag values: importReplace and importPublic''\n\nBy adding these special tags to an existing tiddler, you can precisely control whether or not to allow updates to that tiddler as well as decide which tiddlers in your document can be automatically imported by others.\n*''For maximum safety, the default action is to prevent existing tiddlers from being unintentionally overwritten by incoming tiddlers.'' To allow an existing tiddler to be overwritten by an imported tiddler, you must tag the existing tiddler with ''<<tag importReplace>>''\n*''For maximum privacy, the default action for //outgoing// tiddlers is to NOT automatically share your tiddlers with others.'' To allow a tiddler in your document to be shared via auto-import actions by others, you must tag it with ''<<tag importPublic>>''\n//Note: these tags are only applied when using the auto-import processing. When using the interactive control panel, all tiddlers in the imported document are available in the listbox, regardless of their tag values.//\n<<<\n!!!!!Interactive Usage\n<<<\nWhen used interactively, a control panel is displayed consisting of an "import source document" filename input (text field plus a ''[Browse...]'' button), a listbox of available tiddlers, a "differences only" checkbox, an "add tags" input field and four push buttons: ''[open]'', ''[select all]'', ''[import]'' and ''[close]''.\n\nPress ''[browse]'' to select a TiddlyWiki document file to import. You can also type in the path/filename or a remote document URL (starting with http://)and press ''[open]''. //Note: There may be some delay to permit the browser time to access and load the document before updating the listbox with the titles of all tiddlers that are available to be imported.//\n\nSelect one or more titles from the listbox (hold CTRL or SHIFT while clicking to add/remove the highlight from individual list items). You can press ''[select all]'' to quickly highlight all tiddler titles in the list. Use the ''[-]'', ''[+]'', or ''[=]'' links to adjust the listbox size so you can view more (or less) tiddler titles at one time. When you have chosen the tiddlers you want to import and entered any extra tags, press ''[import]'' to begin copying them to the current TiddlyWiki document.\n\n''select: all, new, changes, or differences''\n\nYou can click on ''all'', ''new'', ''changes'', or ''differences'' to automatically select a subset of tiddlers from the list. This makes it very quick and easy to find and import just the updated tiddlers you are interested in:\n>''"all"'' selects ALL tiddlers from the import source document, even if they have not been changed.\n>''"new"'' selects only tiddlers that are found in the import source document, but do not yet exist in the destination document\n>''"changes"'' selects only tiddlers that exist in both documents but that are newer in the source document\n>''"differences"'' selects all new and existing tiddlers that are different from the destination document (even if destination tiddler is newer)\n\n''Import Tagging:''\n\nTiddlers that have been imported can be automatically tagged, so they will be easier to find later on, after they have been added to your document. New tags are entered into the "add tags" input field, and then //added// to the existing tags for each tiddler as it is imported.\n\n''Skip, Rename, Merge, or Replace:''\n\nWhen importing a tiddler whose title is identical to one that already exists, the import process pauses and the tiddler title is displayed in an input field, along with four push buttons: ''[skip]'', ''[rename]'', ''[merge]'' and ''[replace]''.\n\nTo bypass importing this tiddler, press ''[skip]''. To import the tiddler with a different name (so that both the tiddlers will exist when the import is done), enter a new title in the input field and then press ''[rename]''. Press ''[merge]'' to combine the content from both tiddlers into a single tiddler. Press ''[replace]'' to overwrite the existing tiddler with the imported one, discarding the previous tiddler content.\n\n//Note: if both the title ''and'' modification date/////time match, the imported tiddler is assumed to be identical to the existing one, and will be automatically skipped (i.e., not imported) without asking.//\n\n''Import Report History''\n\nWhen tiddlers are imported, a report is generated into ImportedTiddlers, indicating when the latest import was performed, the number of tiddlers successfully imported, from what location, and by whom. It also includes a list with the title, date and author of each tiddler that was imported.\n\nWhen the import process is completed, the ImportedTiddlers report is automatically displayed for your review. If more tiddlers are subsequently imported, a new report is //added// to ImportedTiddlers, above the previous report (i.e., at the top of the tiddler), so that a reverse-chronological history of imports is maintained.\n\nIf a cumulative record is not desired, the ImportedTiddlers report may be deleted at any time. A new ImportedTiddlers report will be created the next time tiddlers are imported.\n\nNote: You can prevent the ImportedTiddlers report from being generated for any given import activity by clearing the "create a report" checkbox before beginning the import processing.\n\n<<<\n!!!!!Installation\n<<<\ncopy/paste the following tiddlers into your document:\n''ImportTiddlersPlugin'' (tagged with <<tag systemConfig>>)\n\ncreate/edit ''SideBarOptions'': (sidebar menu items) \n^^Add "< < ImportTiddlers > >" macro^^\n\n''Quick Installation Tip #1:''\nIf you are using an unmodified version of TiddlyWiki (core release version <<version>>), you can get a new, empty TiddlyWiki with the Import Tiddlers plugin pre-installed (''[[download from here|TW+ImportExport.html]]''), and then simply import all your content from your old document into this new, empty document.\n<<<\n!!!!!Revision History\n<<<\n''2006.03.30 [2.9.1]''\nwhen extracting store area from remote URL, look for "</body>" instead of "</body>\sn</html>" so it will match even if the "\sn" is absent from the source.\n''2006.03.30 [2.9.0]''\nadded optional 'force' macro param. When present, autoImportTiddlers() bypasses the checks for importPublic and importReplace. Based on a request from Tom Otvos.\n''2006.03.28 [2.8.1]''\nin loadImportFile(), added checks to see if 'netscape' and 'x.overrideMimeType()' are defined (IE does *not* define these values, so we bypass this code)\nAlso, when extracting store area from remote URL, explicitly look for "</body>\sn</html>" to exclude any extra content that may have been added to the end of the file by hosting environments such as GeoCities. Thanks to Tom Otvos for finding these bugs and suggesting some fixes.\n''2006.02.21 [2.8.0]''\nadded support for "tiddler:TiddlerName" filtering parameter in auto-import processing\n''2006.02.21 [2.7.1]''\nClean up layout problems with IE. (Use tables for alignment instead of SPANs styled with float:left and float:right)\n''2006.02.21 [2.7.0]''\nAdded "local file" and "web server" radio buttons for selecting dynamic import source controls in ImportPanel. Default file control is replaced with URL text input field when "web server" is selected. Default remote document URL is defined in SiteURL tiddler. Also, added option for prepending SiteProxy URL as prefix to remote URL to mask cross-domain document access (requires compatible server-side script)\n''2006.02.17 [2.6.0]''\nRemoved "differences only" listbox display mode, replaced with selection filter 'presets': all/new/changes/differences. Also fixed initialization handling for "add new tags" so that checkbox state is correctly tracked when panel is first displayed.\n''2006.02.16 [2.5.4]''\nadded checkbox options to control "import remote tags" and "keep existing tags" behavior, in addition to existing "add new tags" functionality.\n''2006.02.14 [2.5.3]''\nFF1501 corrected unintended global 't' (loop index) in importReport() and autoImportTiddlers()\n''2006.02.10 [2.5.2]''\ncorrected unintended global variable in importReport().\n''2006.02.05 [2.5.1]''\nmoved globals from window.* to config.macros.importTiddlers.* to avoid FireFox 1.5.0.1 crash bug when referencing globals\n''2006.01.18 [2.5.0]''\nadded checkbox for "create a report". Default is to create/update the ImportedTiddlers report. Clear the checkbox to skip this step.\n''2006.01.15 [2.4.1]''\nadded "importPublic" tag and inverted default so that auto sharing is NOT done unless tagged with importPublic\n''2006.01.15 [2.4.0]''\nAdded support for tagging individual tiddlers with importSkip, importReplace, and/or importPrivate to control which tiddlers can be overwritten or shared with others when using auto-import macro syntax. Defaults are to SKIP overwriting existing tiddlers with imported tiddlers, and ALLOW your tiddlers to be auto-imported by others.\n''2006.01.15 [2.3.2]''\nAdded "ask" parameter to confirm each tiddler before importing (for use with auto-importing)\n''2006.01.15 [2.3.1]''\nStrip TW core scripts from import source content and load just the storeArea into the hidden IFRAME. Makes loading more efficient by reducing the document size and by preventing the import document from executing its TW initialization (including plugins). Seems to resolve the "Found 0 tiddlers" problem. Also, when importing local documents, use convertUTF8ToUnicode() to convert the file contents so support international characters sets.\n''2006.01.12 [2.3.0]''\nReorganized code to use callback function for loading import files to support event-driven I/O via an ASYNCHRONOUS XMLHttpRequest. Let's processing continue while waiting for remote hosts to respond to URL requests. Added non-interactive 'batch' macro mode, using parameters to specify which tiddlers to import, and from what document source. Improved error messages and diagnostics, plus an optional 'quiet' switch for batch mode to eliminate //most// feedback.\n''2006.01.11 [2.2.0]''\nAdded "[by tags]" to list of tiddlers, based on code submitted by BradleyMeck\n''2006.01.09 [2.1.1]''\nWhen a URL is typed in, and then the "open" button is pressed, it generates both an onChange event for the file input and a click event for open button. This results in multiple XMLHttpRequest()'s which seem to jam things up quite a bit. I removed the onChange handling for file input field. To open a file (local or URL), you must now explicitly press the "open" button in the control panel.\n''2006.01.08 [2.1.0]''\nIMPORT FROM ANYWHERE!!! re-write getImportedTiddlers() logic to either read a local file (using local I/O), OR... read a remote file, using a combination of XML and an iframe to permit cross-domain reading of DOM elements. Adapted from example code and techniques courtesy of Jonny LeRoy.\n''2006.01.06 [2.0.2]''\nWhen refreshing list contents, fixed cheRoy.\n''2006.01.06 [2.0.2]''\nWhen refreshing list contents, fixed check for tiddlerExists() when "show differences only" is selected, so that imported tiddlers that don't exist in the current file will be recognized as differences and included in the list.\n''2006.01.04 [2.0.1]''\nWhen "show differences only" is NOT checked, import all tiddlers that have been selected even when they have a matching title and date.\n''2005.12.27 [2.0.0]''\nUpdate for TW2.0\nDefer initial panel creation and only register a notification function when panel first is created\n''2005.12.22 [1.3.1]''\ntweak formatting in importReport() and add 'discard report' link to output\n''2005.12.03 [1.3.0]''\nDynamically create/remove importPanel as needed to ensure only one instance of interface elements exists, even if there are multiple instances of macro embedding. Also, dynamically create/recreate importFrame each time an external TW document is loaded for importation (reduces DOM overhead and ensures a 'fresh' frame for each document)\n''2005.11.29 [1.2.1]''\nfixed formatting of 'detail info' in importReport()\n''2005.11.11 [1.2.0]''\nadded 'inline' param to embed controls in a tiddler\n''2005.11.09 [1.1.0]''\nonly load HTML and CSS the first time the macro handler is called. Allows for redundant placement of the macro without creating multiple instances of controls with the same ID's.\n''2005.10.25 [1.0.5]''\nfixed typo in importReport() that prevented reports from being generated\n''2005.10.09 [1.0.4]''\ncombined documentation with plugin code instead of using separate tiddlers\n''2005.08.05 [1.0.3]''\nmoved CSS and HTML definitions into plugin code instead of using separate tiddlers\n''2005.07.27 [1.0.2]''\ncore update 1.2.29: custom overlayStyleSheet() replaced with new core setStylesheet()\n''2005.07.23 [1.0.1]''\nadded parameter checks and corrected addNotification() usage\n''2005.07.20 [1.0.0]''\nInitial Release\n<<<\n!!!!!Credits\n<<<\nThis feature was developed by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]]\n<<<\n!!!!!Code\n***/\n\n// // Version\n//{{{\nversion.extensions.importTiddlers = {major: 2, minor: 9, revision: 1, date: new Date(2006,3,30)};\n//}}}\n\n// // 1.2.x compatibility\n//{{{\nif (!window.story) window.story=window;\nif (!store.getTiddler) store.getTiddler=function(title){return store.tiddlers[title]}\nif (!store.addTiddler) store.addTiddler=function(tiddler){store.tiddlers[tiddler.title]=tiddler}\nif (!store.deleteTiddler) store.deleteTiddler=function(title){delete store.tiddlers[title]}\n//}}}\n\n// // IE needs explicit global scoping for functions/vars called from browser events\n//{{{\nwindow.onClickImportButton=onClickImportButton;\nwindow.loadImportFile=loadImportFile;\nwindow.refreshImportList=refreshImportList;\n//}}}\n\n// // default cookie/option values\n//{{{\nif (!config.options.chkImportReport) config.options.chkImportReport=true;\n//}}}\n\n\n// // ''MACRO DEFINITION''\n\n//{{{\nconfig.macros.importTiddlers = { };\nconfig.macros.importTiddlers = {\n label: "import tiddlers",\n prompt: "Copy tiddlers from another document",\n countMsg: "%0 tiddlers selected for import",\n src: "", // path/filename or URL of document to import (retrieved from SiteUrl tiddler)\n proxy: "", // URL for remote proxy script (retrieved from SiteProxy tiddler)\n useProxy: false, // use specific proxy script in front of remote URL\n inbound: null, // hash-indexed array of tiddlers from other document\n newTags: "", // text of tags added to imported tiddlers\n addTags: true, // add new tags to imported tiddlers\n listsize: 8, // # of lines to show in imported tiddler list\n importTags: true, // include tags from remote source document when importing a tiddler\n keepTags: true, // retain existing tags when replacing a tiddler\n index: 0, // current processing index in import list\n sort: "" // sort order for imported tiddler listbox\n};\n\nconfig.macros.importTiddlers.handler = function(place,macroName,params) {\n // LINK WITH FLOATING PANEL\n if (!params[0]) {\n createTiddlyButton(place,this.label,this.prompt,onClickImportMenu);\n return;\n }\n // INLINE TIDDLER CONTENT\n if (params[0]=="inline") {\n createImportPanel(place);\n document.getElementById("importPanel").style.position="static";\n document.getElementById("importPanel").style.display="block";\n return;\n }\n // NON-INTERACTIVE BATCH MODE\n switch (params[0].substr(0,7)) {\n case 'all':\n case 'new':\n case 'changes':\n case 'updates':\n case 'tiddler':\n var filter=params.shift();\n break;\n default:\n var filter="updates";\n break;\n } \n if (!params[0]||!params[0].length) return; // filename is required\n config.macros.importTiddlers.src=params.shift();\n var quiet=(params[0]=="quiet"); if (quiet) params.shift();\n var ask=(params[0]=="ask"); if (ask) params.shift();\n var force=(params[0]=="force"); if (force) params.shift();\n config.macros.importTiddlers.inbound=null; // clear the imported tiddler buffer\n // load storeArea from a hidden IFRAME, then apply import rules and add/replace tiddlers\n loadImportFile(config.macros.importTiddlers.src,filter,quiet,ask,force,autoImportTiddlers);\n}\n//}}}\n\n// // ''READ TIDDLERS FROM ANOTHER DOCUMENT''\n\n//{{{\nfunction loadImportFile(src,filter,quiet,ask,force,callback) {\n if (!quiet) clearMessage();\n // LOCAL FILE\n if ((src.substr(0,7)!="http://")&&(src.substr(0,8)!="https://")) {\n if (!quiet) displayMessage("Opening local document: "+ src);\n var txt=loadFile(src);\n if(!txt) { if (!quiet) displayMessage("Could not open local document: "+src); }\n else {\n var start=txt.indexOf('<div id="storeArea">');\n var end=txt.indexOf('</body>');\n var sa="<html><body>"+txt.substring(start,end)+"</body></html>";\n if (!quiet) displayMessage(txt.length+" bytes in document. ("+sa.length+" bytes used for tiddler storage)");\n config.macros.importTiddlers.inbound = readImportedTiddlers(convertUTF8ToUnicode(sa));\n var count=config.macros.importTiddlers.inbound?config.macros.importTiddlers.inbound.length:0;\n if (!quiet) displayMessage("Found "+count+" tiddlers in "+src);\n if (callback) callback(src,filter,quiet,ask,force);\n }\n return;\n }\n // REMOTE FILE\n var x; // XML object\n try {x = new XMLHttpRequest()}\n catch(e) {\n try {x = new ActiveXObject("Msxml2.XMLHTTP")}\n catch (e) {\n try {x = new ActiveXObject("Microsoft.XMLHTTP")}\n catch (e) { return }\n }\n }\n x.onreadystatechange = function() {\n if (x.readyState == 4) {\n if (x.status == 200) {\n var start=x.responseText.indexOf('<div id="storeArea">');\n var end=x.responseText.indexOf('</body>',start);\n var sa="<html><body>"+x.responseText.substring(start,end)+"</body></html>";\n if (!quiet) displayMessage(x.responseText.length+" bytes in document. ("+sa.length+" bytes used for tiddler storage)");\n config.macros.importTiddlers.inbound = readImportedTiddlers(sa);\n var count=config.macros.importTiddlers.inbound?config.macros.importTiddlers.inbound.length:0;\n if (!quiet) displayMessage("Found "+count+" tiddlers in "+src);\n if (callback) callback(src,filter,quiet,ask,force);\n }\n else\n if (!quiet) displayMessage("Could not open remote document:"+ src+" (error="+x.status+")");\n }\n }\n if ((document.location.protocol=="file:") && (typeof(netscape)!="undefined")) { // UniversalBrowserRead only works from a local file context\n try { netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead')}\n catch (e) { if (!quiet) displayMessage(e.description?e.description:e.toString()); }\n }\n if (config.macros.importTiddlers.useProxy) src=config.macros.importTiddlers.proxy+src;\n if (!quiet) displayMessage("Opening remote document: "+ src);\n try {\n var url=src+(src.indexOf('?')<0?'?':'&')+'nocache='+Math.random();\n x.open("GET",url,true);\n if (x.overrideMimeType) x.overrideMimeType('text/html');\n x.send(null);\n }\n catch (e) {\n if (!quiet) {\n displayMessage("Could not open remote document: "+src);\n displayMessage(e.description?e.description:e.toString());\n }\n }\n}\n\nfunction readImportedTiddlers(txt)\n{\n var importedTiddlers = [];\n // create frame\n var f=document.getElementById("importFrame");\n if (f) document.body.removeChild(f);\n f=document.createElement("iframe");\n f.id="importFrame";\n f.style.width="0px"; f.style.height="0px"; f.style.border="0px";\n document.body.appendChild(f);\n // get document\n var d=f.document;\n if (f.contentDocument) d=f.contentDocument; // For NS6\n else if (f.contentWindow) d=f.contentWindow.document; // For IE5.5 and IE6\n // load source into document\n d.open(); d.writeln(txt); d.close();\n // read tiddler DIVs from storeArea DOM element \n var importStore = [];\n var importStoreArea = d.getElementById("storeArea");\n if (!importStoreArea || !(importStore=importStoreArea.childNodes) || (importStore.length==0)) { return null; }\n importStoreArea.normalize();\n for(var t = 0; t < importStore.length; t++) {\n var e = importStore[t];\n var title = null;\n if(e.getAttribute)\n title = e.getAttribute("tiddler");\n if(!title && e.id && (e.id.substr(0,5) == "store"))\n title = e.id.substr(5);\n if(title && title != "") {\n var theImported = new Tiddler();\n theImported.loadFromDiv(e,title);\n importedTiddlers.push(theImported);\n }\n }\n return importedTiddlers;\n}\n//}}}\n\n// // ''NON-INTERACTIVE IMPORT''\n\n// // import all/new/changed tiddlers into store, replacing or adding tiddlers as needed\n//{{{\nfunction autoImportTiddlers(src,filter,quiet,ask,force)\n{\n var count=0;\n if (config.macros.importTiddlers.inbound) for (var t=0;t<config.macros.importTiddlers.inbound.length;t++) {\n var theImported = config.macros.importTiddlers.inbound[t];\n var theExisting = store.getTiddler(theImported.title);\n\n // only import tiddlers if tagged with "importPublic"\n if (!force && theImported.tags && theImported.tags.find("importPublic")==null)\n { config.macros.importTiddlers.inbound[t].status=""; continue; } // status=="" means don't show in report\n\n // never import the "ImportedTiddlers" history from the other document...\n if (theImported.title=='ImportedTiddlers')\n { config.macros.importTiddlers.inbound[t].status=""; continue; } // status=="" means don't show in report\n\n // check existing tiddler for importReplace, or systemConfig tags\n config.macros.importTiddlers.inbound[t].status="added"; // default - add any tiddlers not filtered out\n if (store.tiddlerExists(theImported.title)) {\n config.macros.importTiddlers.inbound[t].status="replaced";\n if (!force && (!theExisting.tags||(theExisting.tags.find("importReplace")==null)))\n { config.macros.importTiddlers.inbound[t].status="not imported - tiddler already exists (use importReplace to allow changes)"; continue; }\n if ((theExisting.tags.find("systemConfig")!=null)||(theImported.tags.find("systemConfig")!=null))\n config.macros.importTiddlers.inbound[t].status+=" - WARNING: an active systemConfig plugin has been added or updated";\n }\n\n // apply the all/new/changes/updates filter \n if (filter!="all") {\n if ((filter=="new") && store.tiddlerExists(theImported.title))\n { config.macros.importTiddlers.inbound[t].status="not imported - tiddler already exists"; continue; }\n if ((filter=="changes") && !store.tiddlerExists(theImported.title))\n { config.macros.importTiddlers.inbound[t].status="not imported - new tiddler"; continue; }\n if ((filter.substr(0,8)=="tiddler:") && theImported.title!=filter.substr(8))\n { config.macros.importTiddlers.inbound[t].status=""; continue; }\n if (store.tiddlerExists(theImported.title) && ((theExisting.modified.getTime()-theImported.modified.getTime())>=0))\n { config.macros.importTiddlers.inbound[t].status="not imported - tiddler is unchanged"; continue; }\n }\n\n // get confirmation if required\n if (ask && !confirm("Import "+(theExisting?"updated":"new")+" tiddler '"+theImported.title+"'\snfrom "+src))\n { config.macros.importTiddlers.inbound[t].status="skipped - cancelled by user"; continue; }\n\n // DO THE IMPORT!!\n store.addTiddler(theImported); count++;\n }\n importReport(quiet); // generate a report (as needed) and display it if not 'quiet'\n if (count) store.setDirty(true); \n // always show final message when tiddlers were actually imported\n if (!quiet||count) displayMessage("Imported "+count+" tiddler"+(count!=1?"s":"")+" from "+src);\n}\n//}}}\n\n// // ''REPORT GENERATOR''\n\n//{{{\nfunction importReport(quiet)\n{\n if (!config.macros.importTiddlers.inbound) return;\n // DEBUG alert('importReport: start');\n\n // if import was not completed, the Ask panel will still be open... close it now.\n var askpanel=document.getElementById('importAskPanel'); if (askpanel) askpanel.style.display='none'; \n // get the alphasorted list of tiddlers\n var tiddlers = config.macros.importTiddlers.inbound;\n tiddlers.sort(function (a,b) {if(a['title'] == b['title']) return(0); else return (a['title'] < b['title']) ? -1 : +1; });\n // gather the statistics\n var count=tiddlers.length;\n var added=0; var replaced=0; var renamed=0; var skipped=0; var merged=0;\n for (var t=0; t<count; t++)\n if (tiddlers[t].status)\n {\n if (tiddlers[t].status=='added') added++;\n if (tiddlers[t].status.substr(0,7)=='skipped') skipped++;\n if (tiddlers[t].status.substr(0,6)=='rename') renamed++;\n if (tiddlers[t].status.substr(0,7)=='replace') replaced++;\n if (tiddlers[t].status.substr(0,6)=='merged') merged++;\n }\n var omitted=count-(added+replaced+renamed+skipped+merged);\n // DEBUG alert('stats done: '+count+' total, '+added+' added, '+skipped+' skipped, '+renamed+' renamed, '+replaced+' replaced, '+merged+' merged');\n // skip the report if nothing was imported\n if (added+replaced+renamed+merged==0) return;\n // skip the report if not desired by user\n if (!config.options.chkImportReport) {\n // reset status flags\n for (var t=0; t<count; t++) config.macros.importTiddlers.inbound[t].status="";\n // refresh display since tiddlers have been imported\n store.notifyAll();\n // quick message area summary report\n var msg=(added+replaced+renamed+merged)+' of '+count+' tiddler'+((count!=1)?'s':"");\n msg+=' imported from '+config.macros.importTiddlers.src.replace(/\s\s/g,'/')\n displayMessage(msg);\n return;\n }\n // create the report tiddler (if not already present)\n var tiddler = store.getTiddler('ImportedTiddlers');\n if (!tiddler) // create new report tiddler if it doesn't exist\n {\n tiddler = new Tiddler();\n tiddler.title = 'ImportedTiddlers';\n tiddler.text = "";\n }\n // format the report header\n var now = new Date();\n var newText = "";\n newText += "On "+now.toLocaleString()+", "+config.options.txtUserName+" imported tiddlers from\sn";\n newText += "[["+config.macros.importTiddlers.src+"|"+config.macros.importTiddlers.src+"]]:\sn";\n newText += "<"+"<"+"<\sn";\n newText += "Out of "+count+" tiddler"+((count!=1)?"s ":" ")+" in {{{"+config.macros.importTiddlers.src.replace(/\s\s/g,'/')+"}}}:\sn";\n if (added+renamed>0)\n newText += (added+renamed)+" new tiddler"+(((added+renamed)!=1)?"s were":" was")+" added to your document.\sn";\n if (merged>0)\n newText += merged+" tiddler"+((merged!=1)?"s were":" was")+" merged with "+((merged!=1)?"":"an ")+"existing tiddler"+((merged!=1)?"s":"")+".\sn"; \n if (replaced>0)\n newText += replaced+" existing tiddler"+((replaced!=1)?"s were":" was")+" replaced.\sn"; \n if (skipped>0)\n newText += skipped+" tiddler"+((skipped!=1)?"s were":" was")+" skipped after asking.\sn"; \n if (omitted>0)\n newText += omitted+" tiddler"+((omitted!=1)?"s":"")+((omitted!=1)?" were":" was")+" not imported.\sn";\n if (config.macros.importTiddlers.addTags && config.macros.importTiddlers.newTags.trim().length)\n newText += "imported tiddlers were tagged with: \s""+config.macros.importTiddlers.newTags+"\s"\sn";\n // output the tiddler detail and reset status flags\n for (var t=0; t<count; t++)\n if (tiddlers[t].status!="")\n {\n newText += "#["+"["+tiddlers[t].title+"]"+"]";\n newText += ((tiddlers[t].status!="added")?("^^\sn"+tiddlers[t].status+"^^"):"")+"\sn";\n config.macros.importTiddlers.inbound[t].status="";\n }\n newText += "<"+"<"+"<\sn";\n // output 'discard report' link\n newText += "<html><input type=\s"button\s" href=\s"javascript:;\s" ";\n newText += "onclick=\s"story.closeTiddler('"+tiddler.title+"'); store.deleteTiddler('"+tiddler.title+"');\s" ";\n newText += "value=\s"discard report\s"></html>";\n // update the ImportedTiddlers content and show the tiddler\n tiddler.text = newText+((tiddler.text!="")?'\sn----\sn':"")+tiddler.text;\n tiddler.modifier = config.options.txtUserName;\n tiddler.modified = new Date();\n store.addTiddler(tiddler);\n if (!quiet) story.displayTiddler(null,"ImportedTiddlers",1,null,null,false);\n story.refreshTiddler("ImportedTiddlers",1,true);\n // refresh the display\n store.notifyAll();\n}\n//}}}\n\n// // ''INTERFACE DEFINITION''\n\n// // Handle link click to create/show/hide control panel\n//{{{\nfunction onClickImportMenu(e)\n{\n if (!e) var e = window.event;\n var parent=resolveTarget(e).parentNode;\n var panel = document.getElementById("importPanel");\n if (panel==undefined || panel.parentNode!=parent)\n panel=createImportPanel(parent);\n var isOpen = panel.style.display=="block";\n if(config.options.chkAnimate)\n anim.startAnimating(new Slider(panel,!isOpen,e.shiftKey || e.altKey,"none"));\n else\n panel.style.display = isOpen ? "none" : "block" ;\n e.cancelBubble = true;\n if (e.stopPropagation) e.stopPropagation();\n return(false);\n}\n//}}}\n\n// // Create control panel: HTML, CSS, register for notification\n//{{{\nfunction createImportPanel(place) {\n var panel=document.getElementById("importPanel");\n if (panel) { panel.parentNode.removeChild(panel); }\n setStylesheet(config.macros.importTiddlers.css,"importTiddlers");\n panel=createTiddlyElement(place,"span","importPanel",null,null)\n panel.innerHTML=config.macros.importTiddlers.html;\n store.addNotification(null,refreshImportList); // refresh listbox after every tiddler change\n refreshImportList();\n var siteURL=store.getTiddlerText("SiteUrl"); if (!siteURL) siteURL="";\n document.getElementById("importSourceURL").value=siteURL;\n config.macros.importTiddlers.src=siteURL;\n var siteProxy=store.getTiddlerText("SiteProxy"); if (!siteProxy) siteProxy="SiteProxy";\n document.getElementById("importSiteProxy").value=siteProxy;\n config.macros.importTiddlers.proxy=siteProxy;\n return panel;\n}\n//}}}\n\n// // CSS\n//{{{\nconfig.macros.importTiddlers.css = '\s\n#importPanel {\s\n display: none; position:absolute; z-index:11; width:35em; right:105%; top:3em;\s\n background-color: #eee; color:#000; font-size: 8pt; line-height:110%;\s\n border:1px solid black; border-bottom-width: 3px; border-right-width: 3px;\s\n padding: 0.5em; margin:0em; -moz-border-radius:1em;\s\n}\s\n#importPanel a, #importPanel td a { color:#009; display:inline; margin:0px; padding:1px; }\s\n#importPanel table { width:100%; border:0px; padding:0px; margin:0px; font-size:8pt; line-height:110%; background:transparent; }\s\n#importPanel tr { border:0px;padding:0px;margin:0px; background:transparent; }\s\n#importPanel td { color:#000; border:0px;padding:0px;margin:0px; background:transparent; }\s\n#importPanel select { width:98%;margin:0px;font-size:8pt;line-height:110%;}\s\n#importPanel input { width:98%;padding:0px;margin:0px;font-size:8pt;line-height:110%}\s\n#importPanel .box { border:1px solid black; padding:3px; margin-bottom:5px; background:#f8f8f8; -moz-border-radius:5px;}\s\n#importPanel .topline { border-top:2px solid black; padding-top:3px; margin-bottom:5px; }\s\n#importPanel .rad { width:auto; }\s\n#importPanel .chk { width:auto; margin:1px; }\s\n#importPanel .btn { width:auto; }\s\n#importPanel .btn1 { width:98%; }\s\n#importPanel .btn2 { width:48%; }\s\n#importPanel .btn3 { width:32%; }\s\n#importPanel .btn4 { width:24%; }\s\n#importPanel .btn5 { width:19%; }\s\n#importPanel .importButton { padding: 0em; margin: 0px; font-size:8pt; }\s\n#importPanel .importListButton { padding:0em 0.25em 0em 0.25em; color: #000000; display:inline }\s\n#importAskPanel { display:none; margin:0.5em 0em 0em 0em; }\s\n';\n//}}}\n\n// // HTML \n//{{{\nconfig.macros.importTiddlers.html = '\s\n<!-- source and report -->\s\n<table><tr><td align=left>\s\n import from\s\n <input type="radio" class="rad" name="importFrom" value="file" CHECKED\s\n onClick="document.getElementById(\s'importLocalPanel\s').style.display=this.checked?\s'block\s':\s'none\s';\s\n document.getElementById(\s'importHTTPPanel\s').style.display=!this.checked?\s'block\s':\s'none\s'"> local file\s\n <input type="radio" class="rad" name="importFrom" value="http"\s\n onClick="document.getElementById(\s'importLocalPanel\s').style.display=!this.checked?\s'block\s':\s'none\s';\s\n document.getElementById(\s'importHTTPPanel\s').style.display=this.checked?\s'block\s':\s'none\s'"> web server\s\n</td><td align=right>\s\n <input type=checkbox class="chk" id="chkImportReport" checked\s\n onClick="config.options[\s'chkImportReport\s']=this.checked;"> create a report\s\n</td></tr></table>\s\n<!-- import from local file -->\s\n<div id="importLocalPanel" style="display:block;margin-bottom:5px;margin-top:5px;padding-top:3px;border-top:1px solid #999">\s\nlocal document path/filename:<br>\s\n<input type="file" id="fileImportSource" size=57 style="width:100%"\s\n onKeyUp="config.macros.importTiddlers.src=this.value"\s\n onChange="config.macros.importTiddlers.src=this.value;">\s\n</div><!--panel-->\s\n\s\n<!-- import from http server -->\s\n<div id="importHTTPPanel" style="display:none;margin-bottom:5px;margin-top:5px;padding-top:3px;border-top:1px solid #999">\s\n<table><tr><td align=left>\s\n remote document URL:<br>\s\n</td><td align=right>\s\n <input type="checkbox" class="chk" id="importUseProxy"\s\n onClick="config.macros.importTiddlers.useProxy=this.checked;\s\n document.getElementById(\s'importSiteProxy\s').style.display=this.checked?\s'block\s':\s'none\s'"> use a proxy script\s\n</td></tr></table>\s\n<input type="text" id="importSiteProxy" style="display:none;margin-bottom:1px" onfocus="this.select()" value="SiteProxy"\s\n onKeyUp="config.macros.importTiddlers.proxy=this.value"\s\n onChange="config.macros.importTiddlers.proxy=this.value;">\s\n<input type="text" id="importSourceURL" onfocus="this.select()" value="SiteUrl"\s\n onKeyUp="config.macros.importTiddlers.src=this.value"\s\n onChange="config.macros.importTiddlers.src=this.value;">\s\n</div><!--panel-->\s\n\s\n<table><tr><td align=left>\s\n select:\s\n <a href="JavaScript:;" id="importSelectAll"\s\n onclick="onClickImportButton(this)" title="select all tiddlers">\s\n &nbsp;all&nbsp;</a>\s\n <a href="JavaScript:;" id="importSelectNew"\s\n onclick="onClickImportButton(this)" title="select tiddlers not already in destination document">\s\n &nbsp;added&nbsp;</a> \s\n <a href="JavaScript:;" id="importSelectChanges"\s\n onclick="onClickImportButton(this)" title="select tiddlers that have been updated in source document">\s\n &nbsp;changes&nbsp;</a> \s\n <a href="JavaScript:;" id="importSelectDifferences"\s\n onclick="onClickImportButton(this)" title="select tiddlers that have been added or are different from existing tiddlers">\s\n &nbsp;differences&nbsp;</a> \s\n <a href="JavaScript:;" id="importToggleFilter"\s\n onclick="onClickImportButton(this)" title="show/hide selection filter">\s\n &nbsp;filter&nbsp;</a> \s\n</td><td align=right>\s\n <a href="JavaScript:;" id="importListSmaller"\s\n onclick="onClickImportButton(this)" title="reduce list size">\s\n &nbsp;&#150;&nbsp;</a>\s\n <a href="JavaScript:;" id="importListLarger"\s\n onclick="onClickImportButton(this)" title="increase list size">\s\n &nbsp;+&nbsp;</a>\s\n <a href="JavaScript:;" id="importListMaximize"\s\n onclick="onClickImportButton(this)" title="maximize/restore list size">\s\n &nbsp;=&nbsp;</a>\s\n</td></tr></table>\s\n<select id="importList" size=8 multiple\s\n onchange="setTimeout(\s'refreshImportList(\s'+this.selectedIndex+\s')\s',1)">\s\n <!-- NOTE: delay refresh so list is updated AFTER onchange event is handled -->\s\n</select>\s\n<input type=checkbox class="chk" id="chkAddTags" checked\s\n onClick="config.macros.importTiddlers.addTags=this.checked;">add new tags &nbsp;\s\n<input type=checkbox class="chk" id="chkImportTags" checked\s\n onClick="config.macros.importTiddlers.importTags=this.checked;">import source tags &nbsp;\s\n<input type=checkbox class="chk" id="chkKeepTags" checked\s\n onClick="config.macros.importTiddlers.keepTags=this.checked;">keep existing tags<br>\s\n<input type=text id="txtNewTags" size=15 onKeyUp="config.macros.importTiddlers.newTags=this.value" autocomplete=off>\s\n<div align=center>\s\n <input type=button id="importOpen" class="importButton" style="width:32%" value="open"\s\n onclick="onClickImportButton(this)">\s\n <input type=button id="importStart" class="importButton" style="width:32%" value="import"\s\n onclick="onClickImportButton(this)">\s\n <input type=button id="importClose" class="importButton" style="width:32%" value="close"\s\n onclick="onClickImportButton(this)">\s\n</div>\s\n<div id="importAskPanel">\s\n tiddler already exists:\s\n <input type=text id="importNewTitle" size=15 autocomplete=off">\s\n <div align=center>\s\n <input type=button id="importSkip" class="importButton" style="width:23%" value="skip"\s\n onclick="onClickImportButton(this)">\s\n <input type=button id="importRename" class="importButton" style="width:23%" value="rename"\s\n onclick="onClickImportButton(this)">\s\n <input type=button id="importMerge" class="importButton" style="width:23%" value="merge"\s\n onclick="onClickImportButton(this)">\s\n <input type=button id="importReplace" class="importButton" style="width:23%" value="replace"\s\n onclick="onClickImportButton(this)">\s\n </div>\s\n</div>\s\n';\n//}}}\n\n// // refresh listbox\n//{{{\nfunction refreshImportList(selectedIndex)\n{\n var theList = document.getElementById("importList");\n if (!theList) return;\n // if nothing to show, reset list content and size\n if (!config.macros.importTiddlers.inbound) \n {\n while (theList.length > 0) { theList.options[0] = null; }\n theList.options[0]=new Option('please open a document...',"",false,false);\n theList.size=config.macros.importTiddlers.listsize;\n return;\n }\n // get the sort order\n if (!selectedIndex) selectedIndex=0;\n if (selectedIndex==0) config.macros.importTiddlers.sort='title'; // heading\n if (selectedIndex==1) config.macros.importTiddlers.sort='title';\n if (selectedIndex==2) config.macros.importTiddlers.sort='modified';\n if (selectedIndex==3) config.macros.importTiddlers.sort='tags';\n if (selectedIndex>3) {\n // display selected tiddler count\n for (var t=0,count=0; t < theList.options.length; t++) count+=(theList.options[t].selected&&theList.options[t].value!="")?1:0;\n clearMessage(); displayMessage(config.macros.importTiddlers.countMsg.format([count]));\n return; // no refresh needed\n }\n\n // get the alphasorted list of tiddlers (optionally, filter out unchanged tiddlers)\n var tiddlers=config.macros.importTiddlers.inbound;\n tiddlers.sort(function (a,b) {if(a['title'] == b['title']) return(0); else return (a['title'] < b['title']) ? -1 : +1; });\n // clear current list contents\n while (theList.length > 0) { theList.options[0] = null; }\n // add heading and control items to list\n var i=0;\n var indent=String.fromCharCode(160)+String.fromCharCode(160);\n theList.options[i++]=new Option(tiddlers.length+' tiddler'+((tiddlers.length!=1)?'s are':' is')+' in the document',"",false,false);\n theList.options[i++]=new Option(((config.macros.importTiddlers.sort=="title" )?">":indent)+' [by title]',"",false,false);\n theList.options[i++]=new Option(((config.macros.importTiddlers.sort=="modified")?">":indent)+' [by date]',"",false,false);\n theList.options[i++]=new Option(((config.macros.importTiddlers.sort=="tags")?">":indent)+' [by tags]',"",false,false);\n // output the tiddler list\n switch(config.macros.importTiddlers.sort)\n {\n case "title":\n for(var t = 0; t < tiddlers.length; t++)\n theList.options[i++] = new Option(tiddlers[t].title,tiddlers[t].title,false,false);\n break;\n case "modified":\n // sort descending for newest date first\n tiddlers.sort(function (a,b) {if(a['modified'] == b['modified']) return(0); else return (a['modified'] > b['modified']) ? -1 : +1; });\n var lastSection = "";\n for(var t = 0; t < tiddlers.length; t++) {\n var tiddler = tiddlers[t];\n var theSection = tiddler.modified.toLocaleDateString();\n if (theSection != lastSection) {\n theList.options[i++] = new Option(theSection,"",false,false);\n lastSection = theSection;\n }\n theList.options[i++] = new Option(indent+indent+tiddler.title,tiddler.title,false,false);\n }\n break;\n case "tags":\n var theTitles = {}; // all tiddler titles, hash indexed by tag value\n var theTags = new Array();\n for(var t=0; t<tiddlers.length; t++) {\n var title=tiddlers[t].title;\n var tags=tiddlers[t].tags;\n for(var s=0; s<tags.length; s++) {\n if (theTitles[tags[s]]==undefined) { theTags.push(tags[s]); theTitles[tags[s]]=new Array(); }\n theTitles[tags[s]].push(title);\n }\n }\n theTags.sort();\n for(var tagindex=0; tagindex<theTags.length; tagindex++) {\n var theTag=theTags[tagindex];\n theList.options[i++]=new Option(theTag,"",false,false);\n for(var t=0; t<theTitles[theTag].length; t++)\n theList.options[i++]=new Option(indent+indent+theTitles[theTag][t],theTitles[theTag][t],false,false);\n }\n break;\n }\n theList.selectedIndex=selectedIndex; // select current control item\n if (theList.size<config.macros.importTiddlers.listsize) theList.size=config.macros.importTiddlers.listsize;\n if (theList.size>theList.options.length) theList.size=theList.options.length;\n}\n//}}}\n\n// // Control interactions\n//{{{\nfunction onClickImportButton(which)\n{\n // DEBUG alert(which.id);\n var theList = document.getElementById('importList');\n if (!theList) return;\n var thePanel = document.getElementById('importPanel');\n var theAskPanel = document.getElementById('importAskPanel');\n var theNewTitle = document.getElementById('importNewTitle');\n var count=0;\n switch (which.id)\n {\n case 'fileImportSource':\n case 'importOpen': // load import source into hidden frame\n importReport(); // if an import was in progress, generate a report\n config.macros.importTiddlers.inbound=null; // clear the imported tiddler buffer\n refreshImportList(); // reset/resize the listbox\n if (config.macros.importTiddlers.src=="") break;\n // Load document into hidden iframe so we can read it's DOM and fill the list\n loadImportFile(config.macros.importTiddlers.src,"all",null,null,null,function(){window.refreshImportList(0);});\n break;\n case 'importSelectAll': // select all tiddler list items (i.e., not headings)\n importReport(); // if an import was in progress, generate a report\n for (var t=0,count=0; t < theList.options.length; t++) {\n if (theList.options[t].value=="") continue;\n theList.options[t].selected=true;\n count++;\n }\n clearMessage(); displayMessage(config.macros.importTiddlers.countMsg.format([count]));\n break;\n case 'importSelectNew': // select tiddlers not in current document\n importReport(); // if an import was in progress, generate a report\n for (var t=0,count=0; t < theList.options.length; t++) {\n theList.options[t].selected=false;\n if (theList.options[t].value=="") continue;\n theList.options[t].selected=!store.tiddlerExists(theList.options[t].value);\n count+=theList.options[t].selected?1:0;\n }\n clearMessage(); displayMessage(config.macros.importTiddlers.countMsg.format([count]));\n break;\n case 'importSelectChanges': // select tiddlers that are updated from existing tiddlers\n importReport(); // if an import was in progress, generate a report\n for (var t=0,count=0; t < theList.options.length; t++) {\n theList.options[t].selected=false;\n if (theList.options[t].value==""||!store.tiddlerExists(theList.options[t].value)) continue;\n for (var i=0; i<config.macros.importTiddlers.inbound.length; i++) // find matching inbound tiddler\n { var inbound=config.macros.importTiddlers.inbound[i]; if (inbound.title==theList.options[t].value) break; }\n theList.options[t].selected=(inbound.modified-store.getTiddler(theList.options[t].value).modified>0); // updated tiddler\n count+=theList.options[t].selected?1:0;\n }\n clearMessage(); displayMessage(config.macros.importTiddlers.countMsg.format([count]));\n break;\n case 'importSelectDifferences': // select tiddlers that are new or different from existing tiddlers\n importReport(); // if an import was in progress, generate a report\n for (var t=0,count=0; t < theList.options.length; t++) {\n theList.options[t].selected=false;\n if (theList.options[t].value=="") continue;\n if (!store.tiddlerExists(theList.options[t].value)) { theList.options[t].selected=true; count++; continue; }\n for (var i=0; i<config.macros.importTiddlers.inbound.length; i++) // find matching inbound tiddler\n { var inbound=config.macros.importTiddlers.inbound[i]; if (inbound.title==theList.options[t].value) break; }\n theList.options[t].selected=(inbound.modified-store.getTiddler(theList.options[t].value).modified!=0); // changed tiddler\n count+=theList.options[t].selected?1:0;\n }\n clearMessage(); displayMessage(config.macros.importTiddlers.countMsg.format([count]));\n break;\n case 'importToggleFilter': // show/hide filter\n case 'importFilter': // apply filter\n alert("coming soon!");\n break;\n case 'importStart': // initiate the import processing\n importReport(); // if an import was in progress, generate a report\n config.macros.importTiddlers.index=0;\n config.macros.importTiddlers.index=importTiddlers(0);\n importStopped();\n break;\n case 'importClose': // unload imported tiddlers or hide the import control panel\n // if imported tiddlers not loaded, close the import control panel\n if (!config.macros.importTiddlers.inbound) { thePanel.style.display='none'; break; }\n importReport(); // if an import was in progress, generate a report\n config.macros.importTiddlers.inbound=null; // clear the imported tiddler buffer\n refreshImportList(); // reset/resize the listbox\n break;\n case 'importSkip': // don't import the tiddler\n var theItem = theList.options[config.macros.importTiddlers.index];\n for (var j=0;j<config.macros.importTiddlers.inbound.length;j++)\n if (config.macros.importTiddlers.inbound[j].title==theItem.value) break;\n var theImported = config.macros.importTiddlers.inbound[j];\n theImported.status='skipped after asking'; // mark item as skipped\n theAskPanel.style.display='none';\n config.macros.importTiddlers.index=importTiddlers(config.macros.importTiddlers.index+1); // resume with NEXT item\n importStopped();\n break;\n case 'importRename': // change name of imported tiddler\n var theItem = theList.options[config.macros.importTiddlers.index];\n for (var j=0;j<config.macros.importTiddlers.inbound.length;j++)\n if (config.macros.importTiddlers.inbound[j].title==theItem.value) break;\n var theImported = config.macros.importTiddlers.inbound[j];\n theImported.status = 'renamed from '+theImported.title; // mark item as renamed\n theImported.set(theNewTitle.value,null,null,null,null); // change the tiddler title\n theItem.value = theNewTitle.value; // change the listbox item text\n theItem.text = theNewTitle.value; // change the listbox item text\n theAskPanel.style.display='none';\n config.macros.importTiddlers.index=importTiddlers(config.macros.importTiddlers.index); // resume with THIS item\n importStopped();\n break;\n case 'importMerge': // join existing and imported tiddler content\n var theItem = theList.options[config.macros.importTiddlers.index];\n for (var j=0;j<config.macros.importTiddlers.inbound.length;j++)\n if (config.macros.importTiddlers.inbound[j].title==theItem.value) break;\n var theImported = config.macros.importTiddlers.inbound[j];\n var theExisting = store.getTiddler(theItem.value);\n var theText = theExisting.text+'\sn----\sn^^merged from: [['+config.macros.importTiddlers.src+'#'+theItem.value+'|'+config.macros.importTiddlers.src+'#'+theItem.value+']]^^\sn^^'+theImported.modified.toLocaleString()+' by '+theImported.modifier+'^^\sn'+theImported.text;\n var theDate = new Date();\n var theTags = theExisting.getTags()+' '+theImported.getTags();\n theImported.set(null,theText,null,theDate,theTags);\n theImported.status = 'merged with '+theExisting.title; // mark item as merged\n theImported.status += ' - '+theExisting.modified.formatString("MM/DD/YYYY hh:mm:ss");\n theImported.status += ' by '+theExisting.modifier;\n theAskPanel.style.display='none';\n config.macros.importTiddlers.index=importTiddlers(config.macros.importTiddlers.index); // resume with this item\n importStopped();\n break;\n case 'importReplace': // substitute imported tiddler for existing tiddler\n var theItem = theList.options[config.macros.importTiddlers.index];\n for (var j=0;j<config.macros.importTiddlers.inbound.length;j++)\n if (config.macros.importTiddlers.inbound[j].title==theItem.value) break;\n var theImported = config.macros.importTiddlers.inbound[j];\n var theExisting = store.getTiddler(theItem.value);\n theImported.status = 'replaces '+theExisting.title; // mark item for replace\n theImported.status += ' - '+theExisting.modified.formatString("MM/DD/YYYY hh:mm:ss");\n theImported.status += ' by '+theExisting.modifier;\n theAskPanel.style.display='none';\n config.macros.importTiddlers.index=importTiddlers(config.macros.importTiddlers.index); // resume with THIS item\n importStopped();\n break;\n case 'importListSmaller': // decrease current listbox size, minimum=5\n if (theList.options.length==1) break;\n theList.size-=(theList.size>5)?1:0;\n config.macros.importTiddlers.listsize=theList.size;\n break;\n case 'importListLarger': // increase current listbox size, maximum=number of items in list\n if (theList.options.length==1) break;\n theList.size+=(theList.size<theList.options.length)?1:0;\n config.macros.importTiddlers.listsize=theList.size;\n break;\n case 'importListMaximize': // toggle listbox size between current and maximum\n if (theList.options.length==1) break;\n theList.size=(theList.size==theList.options.length)?config.macros.importTiddlers.listsize:theList.options.length;\n break;\n }\n}\n//}}}\n\n// // re-entrant processing for handling import with interactive collision prompting\n//{{{\nfunction importTiddlers(startIndex)\n{\n if (!config.macros.importTiddlers.inbound) return -1;\n\n var theList = document.getElementById('importList');\n if (!theList) return;\n var t;\n // if starting new import, reset import status flags\n if (startIndex==0)\n for (var t=0;t<config.macros.importTiddlers.inbound.length;t++)\n config.macros.importTiddlers.inbound[t].status="";\n for (var i=startIndex; i<theList.options.length; i++)\n {\n // if list item is not selected or is a heading (i.e., has no value), skip it\n if ((!theList.options[i].selected) || ((t=theList.options[i].value)==""))\n continue;\n for (var j=0;j<config.macros.importTiddlers.inbound.length;j++)\n if (config.macros.importTiddlers.inbound[j].title==t) break;\n var theImported = config.macros.importTiddlers.inbound[j];\n var theExisting = store.getTiddler(theImported.title);\n // avoid redundant import for tiddlers that are listed multiple times (when 'by tags')\n if (theImported.status=="added")\n continue;\n // don't import the "ImportedTiddlers" history from the other document...\n if (theImported.title=='ImportedTiddlers')\n continue;\n // if tiddler exists and import not marked for replace or merge, stop importing\n if (theExisting && (theImported.status.substr(0,7)!="replace") && (theImported.status.substr(0,5)!="merge"))\n return i;\n // assemble tags (remote + existing + added)\n var newTags = "";\n if (config.macros.importTiddlers.importTags)\n newTags+=theImported.getTags() // import remote tags\n if (config.macros.importTiddlers.keepTags && theExisting)\n newTags+=" "+theExisting.getTags(); // keep existing tags\n if (config.macros.importTiddlers.addTags && config.macros.importTiddlers.newTags.trim().length)\n newTags+=" "+config.macros.importTiddlers.newTags; // add new tags\n theImported.set(null,null,null,null,newTags.trim());\n // set the status to 'added' (if not already set by the 'ask the user' UI)\n theImported.status=(theImported.status=="")?'added':theImported.status;\n // do the import!\n store.addTiddler(theImported);\n store.setDirty(true);\n }\n return(-1); // signals that we really finished the entire list\n}\n//}}}\n\n//{{{\nfunction importStopped()\n{\n var theList = document.getElementById('importList');\n var theNewTitle = document.getElementById('importNewTitle');\n if (!theList) return;\n if (config.macros.importTiddlers.index==-1)\n importReport(); // import finished... generate the report\n else\n {\n // DEBUG alert('import stopped at: '+config.macros.importTiddlers.index);\n // import collision... show the ask panel and set the title edit field\n document.getElementById('importAskPanel').style.display='block';\n theNewTitle.value=theList.options[config.macros.importTiddlers.index].value;\n }\n}\n//}}}\n
/***\n|''Name:''|InlineJavascriptPlugin|\n|''Source:''|http://www.TiddlyTools.com/#InlineJavascriptPlugin|\n|''Author:''|Eric Shulman - ELS Design Studios|\n|''License:''|[[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|\n|''~CoreVersion:''|2.0.10|\n\nInsert Javascript executable code directly into your tiddler content. Lets you ''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.\n!!!!!Usage\n<<<\nWhen 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.\n\n''Deferred execution from an 'onClick' link''\nBy 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.\n\n''External script source files:''\nYou 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.\n\n''Display script source in tiddler output''\nBy 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.\n\n''Defining javascript functions and libraries:''\nAlthough 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).\n\nTo 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.\n\nSince 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.\n\n''Creating dynamic tiddler content''\nAn 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:\n* 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.\n* 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.\n* 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.\n\nIf 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")}}}.\n\n//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.//\n\n''Accessing the ~TiddlyWiki DOM''\nThe 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.\n\nAccess to this DOM element allows you to create scripts that can:\n* vary their actions based upon the specific location in which they are embedded\n* access 'tiddler-relative' information (use findContainingTiddler(place))\n* perform direct DOM manipulations (when returning wikified text is not enough)\n<<<\n!!!!!Examples\n<<<\nan "alert" message box:\n><script show>\n alert('InlineJavascriptPlugin: this is a demonstration message');\n</script>\ndynamic output:\n><script show>\n return (new Date()).toString();\n</script>\nwikified dynamic output:\n><script show>\n return "link to current user: [["+config.options.txtUserName+"]]";\n</script>\ndynamic output using 'place' to get size information for current tiddler:\n><script show>\n if (!window.story) window.story=window;\n var title=story.findContainingTiddler(place).id.substr(7);\n return title+" is using "+store.getTiddlerText(title).length+" bytes";\n</script>\ncreating an 'onclick' button/link that runs a script:\n><script label="click here" show>\n if (!window.story) window.story=window;\n alert("Hello World!\snlinktext='"+place.firstChild.data+"'\sntiddler='"+story.findContainingTiddler(place).id.substr(7)+"'");\n</script>\nloading a script from a source url:\n>http://www.TiddlyTools.com/demo.js contains:\n>>{{{function demo() { alert('this output is from demo(), defined in demo.js') } }}}\n>>{{{alert('InlineJavascriptPlugin: demo.js has been loaded'); }}}\n><script src="demo.js" show>\n return "loading demo.js..."\n</script>\n><script label="click to execute demo() function" show>\n demo()\n</script>\n<<<\n!!!!!Installation\n<<<\nimport (or copy/paste) the following tiddlers into your document:\n''InlineJavascriptPlugin'' (tagged with <<tag systemConfig>>)\n<<<\n!!!!!Revision History\n<<<\n''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.\n''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\n''2006.04.19 [1.5.0]'' added 'show' parameter to force display of javascript source code in tiddler output\n''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.\n''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\n''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\n''2005.11.08 [1.2.0]'' handle loading of javascript from an external URL via src="..." syntax\n''2005.11.08 [1.1.0]'' pass 'place' param into scripts to provide direct DOM access \n''2005.11.08 [1.0.0]'' initial release\n<<<\n!!!!!Credits\n<<<\nThis feature was developed by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]]\n<<<\n!!!!!Code\n***/\n//{{{\nversion.extensions.inlineJavascript= {major: 1, minor: 5, revision: 2, date: new Date(2006,10,16)};\n\nconfig.formatters.push( {\n name: "inlineJavascript",\n match: "\s\s<script",\n lookahead: "\s\s<script(?: src=\s\s\s"((?:.|\s\sn)*?)\s\s\s")?(?: label=\s\s\s"((?:.|\s\sn)*?)\s\s\s")?( show)?\s\s>((?:.|\s\sn)*?)\s\s</script\s\s>",\n\n handler: function(w) {\n var lookaheadRegExp = new RegExp(this.lookahead,"mg");\n lookaheadRegExp.lastIndex = w.matchStart;\n var lookaheadMatch = lookaheadRegExp.exec(w.source)\n if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {\n if (lookaheadMatch[1]) { // load a script library\n // make script tag, set src, add to body to execute, then remove for cleanup\n var script = document.createElement("script"); script.src = lookaheadMatch[1];\n document.body.appendChild(script); document.body.removeChild(script);\n }\n if (lookaheadMatch[4]) { // there is script code\n if (lookaheadMatch[3]) // show inline script code in tiddler output\n wikify("{{{\sn"+lookaheadMatch[0]+"\sn}}}\sn",w.output);\n if (lookaheadMatch[2]) { // create a link to an 'onclick' script\n // add a link, define click handler, save code in link (pass 'place'), set link attributes\n var link=createTiddlyElement(w.output,"a",null,"tiddlyLinkExisting",lookaheadMatch[2]);\n link.onclick=function(){try{return(eval(this.code))}catch(e){alert(e.description?e.description:e.toString())}}\n link.code="function _out(place){"+lookaheadMatch[4]+"\sn};_out(this);"\n link.setAttribute("href","javascript:;"); link.setAttribute("title",""); link.style.cursor="pointer";\n }\n else { // run inline script code\n var code="function _out(place){"+lookaheadMatch[4]+"\sn};_out(w.output);"\n code=code.replace(/document.write\s(/gi,'place.innerHTML+=(');\n try { var out = eval(code); } catch(e) { out = e.description?e.description:e.toString(); }\n if (out && out.length) wikify(out,w.output,w.highlightRegExp,w.tiddler);\n }\n }\n w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;\n }\n }\n} )\n//}}}\n
----\nare a longbeach dub all star\n----\nare a few tacos short of a combination platter
This is a 14-part anime movie thing made by some Japanese anime company using songs from Daft Punk's album, "Discovery". And yes, that is the actual title of this movie thing.\n\nHere's part 1. Song is "One More Time"\n+++[Part 1]\n<html><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/mCxP8C_jkxE"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/mCxP8C_jkxE" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></html>\n===\n\n\nPart 2. Song is "Aerodynamic."\n+++[Part 2]\n<html><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/TwonT4HPEkk"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/TwonT4HPEkk" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></html>\n===\n\n\nPart 3. Song is "Digital Love."\n+++[Part 3]\n<html><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/jwN-Jt0JKX4"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/jwN-Jt0JKX4" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></html>\n===\n\n\nPart 4. Song is "Harder, Beter, Faster, Stronger."\n+++[Part 4]\n<html><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/oqOBuKQrj9A"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/oqOBuKQrj9A" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></html>\n===\n\n\nPart 5. Song is "Crescendolls."\n+++[Part 5]\n<html><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/gV2GxmvUGYU"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/gV2GxmvUGYU" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></html>\n===\n\n\nPart 6. Song is "Nightvision."\n+++[Part 6]\n<html><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/laJDlO_X-jg"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/laJDlO_X-jg" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></html>\n===\n\n\nPart 7. Song is "Superheroes."\n+++[Part 7]\n<html><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/VfB-ovstN8Y"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/VfB-ovstN8Y" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></html>\n===\n\n\nPart 8. Song is "High Life."\n+++[Part 8]\n<html><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/HNDcH2qw3Rc"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/HNDcH2qw3Rc" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></html>\n===\n\n\nPart 9. Song is "Something About Us."\n+++[Part 9]\n<html><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/QFYX8Y5xrl0"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/QFYX8Y5xrl0" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></html>\n===\n\n\nPart 10. Song is "Voyager."\n+++[Part 10]\n<html><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/9Up_nBoRXD4"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/9Up_nBoRXD4" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></html>\n===\n\n\nPart 11. Song is "Veridis Quo."\n+++[Part 11]\n<html><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/6hhtPICv-PE"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/6hhtPICv-PE" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></html>\n===\n\n\nPart 12. Song is "Short Circuit."\n+++[Part 12]\n<html><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/E-10iVwBdwg"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/E-10iVwBdwg" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></html>\n===\n\n\nPart 13. Song is "Face to Face."\n+++[Part 13]\n<html><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/qHA8vJKJKpI"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/qHA8vJKJKpI" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></html>\n===\n\n\nPart 14 and the end. Song is "Too Long." \n+++[Part 14]\n<html><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/y65gas4GEz4"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/y65gas4GEz4" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></html>\n===
+++[Random J.E Quote]\n(add/view quotes [[here|J.EQuotes]])\n=== <<QOTD J.EQuotes>>\n\n+++[Love Interests]\nAnonymous 11-year-old\nCarrie\nBeverley\nNicole (I think that was her name)\nKrystina Considine???\n===\n\nEssence of British.\n See also: Essence of Annoying\n Essence of Fart\n Essence of Jean Shorts\n\n[img[http://img20.imageshack.us/img20/7682/orlando1vy8.jpg]]
"I reeaally feel like strangling you, DONT TEMPT ME!!!"\n----\n"I knew a guy named Sue"\n----\n"I had to shave my moustache the first day of school, it'll look cool if it grows back"\n----\n"Bask in my arrogance"\n----\n"There are about two or three sophomores, myself included, who can do anything right"\n----\n"Its completely superfluous."\n----\n"Wayman, where art thou?"\n----\n"I talk to books all the time."\n
GaRGanTuum
Not to be confused with [[JE Creator]]
Like [[JCreator]] only with JE instead.
Kinda like Varsity. Only with a word in front. That means we are one word better than Varsity! High-five!
A super cool jazz trio (keyboard/piano,bass,drums) with a bassist who often uses an octive pedal to make his bass sound like some weird high pitched guitar from outer space. Check out this interview:\n[[Part I|http://www.jambase.com/headsup.asp?storyID=2590]] [[Part II|http://www.jambase.com/headsup.asp?storyID=2851]] and this concert [[video|http://www.youtube.com/watch?v=-R1Qya3npE0&feature=PlayList&p=95FCBE2ED10A5601&index=12]]
+++[Info]\nJamminJelly is a pretty chill guy. When he isn't a 1337 l-laX0r he enjoys listening\nto music and hangin out with his friends. He is pretty much awesome, and he is definetly\nthe coolest person on the [[CoolPeople]] list. He is single, but only cuz no girl is good enough to be his girlfriend. He enjoys expressing himself through words, such as [[Poetry]] or his [[blog|JamminJelly's FunBlog]].\n+++[Do you want to be his friend?]\n[[click here]]\n===\n===\n\nCheck out my [[blog|JamminJelly's FunBlog]]\n[img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]][img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]][img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]][img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]][img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]].............[img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]][img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]][img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]][img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]][img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]]................[img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]]\n,...............[img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]]..............................[img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]].................................................[img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]] \n,...............[img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]]..............................[img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]][img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]][img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]][img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]][img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]]................[img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]]\n,...............[img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]]..............................[img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]].................................................[img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]]\n[img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]][img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]][img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]]..............................[img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]][img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]][img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]][img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]][img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]]................[img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]][img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]][img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]][img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]]
<<newerTiddler button:"New FunBlog Entry" name:"Blog Entry#(fill in with a number)" tags:"[[Dylan's FunBlog]]" text:"Type FunBlog here...">>\nHey JamminJelly: Type some stuff here as an intro to your blog\n
[img[http://img223.imageshack.us/img223/8793/img20hu9.gif]]
+++[Info]\nJARGLEJOBNORBONDEORTIUNiUMUMUM\n===\n\nI am not fat u bastard\n[img[http://img392.imageshack.us/img392/5014/miniaturedonkey0015cu3.jpg]]
The hottest girl [[JamminJelly]] has every seen. Seriously. She was amazing. I miss her already.
Attention 'shippers!!!! At jew skool i'm taking a blogging class (not by choice) and the i want YOU to add some lame posts. You don't have to list your name, so no one will ever know that it was you.\nHere's the blogger link: http://cbiblogclass.blogspot.com/\n\nTo add a post:\nSurf your way to www.blogger.com\nSign in as hrabe727 password: bellevue.\nClick on "Web Log Class"
it's kind of self-explanatory, but here's an example:\n[img[http://img156.imageshack.us/img156/2669/amirperetzjewfrowi6.jpg]]
my home, my heart, by best friend...
i didn't write this
+++[Maya]\n[img[http://img295.imageshack.us/img295/9180/dsc00595lj7.jpg]]\n===\n+++[Cool Tree]\n[img[http://img222.imageshack.us/img222/4934/dsc00601lw5.jpg]]\n===\n+++[Turkey Hunting]\n[img[http://img219.imageshack.us/img219/5227/dsc00602mo8.jpg]]\n===\n+++[Earth Bender]\n[img[http://img222.imageshack.us/img222/2371/dsc00607zv5.jpg]]\n===\n+++[Cow]\n[img[http://img215.imageshack.us/img215/3229/dsc00615cf8.jpg]]\n===\n+++[Truckin']\n[img[http://img292.imageshack.us/img292/9985/dsc00621us0.jpg]]\n===\n+++[Lofgreens]\n[img[http://img215.imageshack.us/img215/6695/dsc00637bh4.jpg]]\n===\n+++[Hammered Dulcimer]\n[img[http://img222.imageshack.us/img222/3689/dsc00638ep2.jpg]]\n===
[img[http://img137.imageshack.us/img137/1705/homepageleftco7.jpg]]
A state, located somewhere in the United States, (birthplace of Toto and Dorothy). Also a band that shares no affiliation with the state or it's government.
<html>\n<iframe src="http://www.virtualnes.com/vm_files/launch_sound_on.php?rom=/x_english/kirby&romsize=786448" style=" border-width:0 " width="640" frameborder="0" height="588"></iframe>\n</html>\n
A fermented, delicious tea. In order to make it, you put a yeast/bacteria culture (aka mushroom) into about four liters of water, mixed with some vinegar or finished [[Kombucha]], a whole bunch of sugar and some tea (generally black tea). You let it ferment for five days or so, and then you bottle the liquid into air tight containers, for another five days. By the end, most of the sugar has been [[transformed|Transformers!]] into vinegar, giving the drink a sour taste. The air tight bottles also allow it to produce natural carbonation.\n\n[[Here|http://www.kombuchatea.co.uk/how-do-i-make-kombucha.asp]] is one of many recipes for [[Kombucha]].
This marks the birth of the KombuchaBlog. For [[those of you]] who do not know what [[Kombucha]] tea is, click [[here|Kombucha]].\nSo I talked to this hippie lady who works at whole foods. She's been brewing the stuff for [[13 years]] and she says she hasn't been sick for [[13 years]] either. She also said it cured her drug addictions that rooted from her adolesence. Oh, and she's gonna give me one of here baby [[mushroom]]s, for me to brew my very own [[Kombucha]]!!!! [[Guess where she got it from?]] Yeah, I'm gettin some pretty heavy stuff. She wants me to read a book about it though, before she's gonna give me the [[mushroom]].\n\nGotta go eat dinna, be back for more.\n-[[spaceshipper]]\n\nTo be continued...
Soooo, [[Shikwah]] and JamminJelly came over to my ship yesterday--we had a slumber party. To set the mood, I turned off the lights, played some [[Fareed Haque]] and lit some Indian incense. This is when it got magical. We all opened our (storebought) [[Kombucha]] bottles at the [[same time]]. A ghost of misty smoke rose from the glass opening, entering our nostrils, creating vivid olfactory hues in our minds. The earthy liquid slipped past our lips, and stung our throats on its journey to the soul.\nThey had superpowers ever since (I already had superpowers). They both agreed that the taste was OK, but that it was an incredible experience for both the mind and the soul (and the body). [[ByTheWay#1]] \nToday we hit Julian, as JamminJelly tells of in his [[blog|Blog Entry#7]]. On the way up we decided that, if we were in [[Avatar]], [[I|spaceshipper]] would be a WaterBender, while JamminJelly and [[Shikwah]] would both be [[AirBender]]s (though JamminJelly could also be a FireBender). I won't giveaway too much about what happened in Julian, but I will tell you that we met [[Scott Williams]] and yes he was as amazing as you would expect--possibly even more amazing. He inspired JamminJelly to take up the [[hammered dulcimer]]. I will also reveal that we have decided to found a [[Sock Store]]--we would weave/knitt the socks ourselves. And they would be suuuuuupppeeerrr comfy. [[Shikwah]] had a good name for the store. If he remembers, he can post it [[here|name of sock store]]\n[[Julian Pics]]\n\nI got'st to go fellow 'shippers. \n-[[spaceshipper]]
I talked to the whole foods lady again. She decided not to give me the [[mushroom]] because I could sue whole foods if something went wrong. Oh well, i guess i'll have to make the culture myself now. I got some new [[Japanese]] incense (since the american kinds are just flavored saw dust). It's called [[Golden Pavilion]], and it's made from cinnamon, sandle wood, clove, [[patchouli]], Benzoin and "spices." Apparently, those [[Japanese]] have been refining there techniques for three hundred years--ensuring that nothing goes to waste in this intricate production process. [[Shikwah]] showed me a new band called [[U-Melt]]. You can get a good concert if you look in the [[Concerts]] section.\nYesterday, in soccer practiced, I burned many, many calories. Then, i went to [[7/11]] and got a SpicyBite hot dog. Yup i was //that// hungry. Then i almost threw up, like 5 times. My dad brought me some NutterButter in the car, but i wasn't hungry.\nAt [[Jew Skool]] we talked about sex and Jesse Luberman asked if six-year-olds could climax. "So it lasts forever then?" Then [[Harry]] showed me his new six-string, fretless bass, in the trunk of his car. The engine was running this was are conversation:\nMe: Dude, that looks so sweet, I wanna play it.\nHarry: I know, huh.\nMe: My pants are all sticky now from the...\nHarry: From looking at my bass? I know, it has that effect on people.\nMe: Uh, i was gonna say from your car exhaust.\n\nThen i went home, did some h-dub until eleven, took a half-hour bath to loosen my soar soccer muscles, and hit the bed at 11:30.
OMG!!!!! [[click this to find out]] why!!! Jk, i'm just [[joshin']] ya. The real reason is because i saw/met the most [[sizzlin' babe]] eva. Sry, i didn't take a picture (i didn't want to steal her soul) but her name was [[Jenna]]. I'm not gonna say anything gross, but, well, yeah. Jacob danced with her. Lucky. Anyway, that was only one third of my fun on saturday. Another third was when we went [[tramp]] o' lininin'. They were like these gigantic [[rubberband|A RubberMaid vintage]] net [[tramp]] o' lines and you could get like [[4-20]] feet high, but i was too scared to do flips. Jacob did some i think. JamminJelly was pulling some UberCombos: stretch to doggy (with hands) to butt to JapanAir. My third third of fun on saturday was singin' songs. We sang "The World of Your Dreams" by Debbie Friedman. This is my, and the rest of the [[tramp]] o' clan's favorite song now, i think. Stay tuned for a new featured song at FromTheCockpit. \nToday i went to Max's partay. Most of the people there spoke an odd language (I think it was Russian) in which every word sounded like Zchvenesky. We went kyaking and GregLee (random I know) capsized me, but then he jumped out to capsize max and someone stole his boat. But then he stole AdamMardoum's (random too) kayak. Then AdmaFireball had to get into by single kayak and ended up capsizing mine. We had PatnOscars afterword though, so it was fun. [[ByTheWay#4]]\nKombucha news: AndrewDorman went to [[People's]] on saturday (the fourth third of my fun) and got some kombucha, along with some incense i recommended. He's hooked on the Kombucha now and had a hippie incident, similar to the one in [[KombuchaBlog#2]]. He's on my list for cultures to give away.\nThe kombucha book came on Friday, and i'm gonna get my culture from the lady that wrote the book. She was once in people magazine as one of the top ten most romantic couples (with her husband of course). I tried some new storebought kombucha, called GT's as well as HighCountry, both of which were incredible, more so than the previous storebought kind. Can't wait until my bacteria/yeast culture comes!!!!\nAdios bloggers.\nYours truly,\n[[spaceshipper]]
The culture still hasn't come, but I'm expecting it sometime in the next few [[day-sies]]. My free culture giveaway list: Jared, Shikwah, JamminJelly (maybe), possibly Marcos's mom, AndrewDorman, Jared's teacher. Feel free to add YourName to the list. \nI know, I know, the answer to the big question you've all been waiting for: My [[Thanksgiving]] was good. My sister and my [[aunt]] came home. My [[aunt]] made TexMex cranberry sauce, with chili's in it. She's not Mexican though (she's actually Irish). \n[[***]]\nI beached with AndrewDorman over by the [[peer]] at the Jolla. The waves were surprisingly big and nice, 2. We went to Sushi Ota, as well. We saw James Bond, also.\n[[BTW#5]]\nI went to a football game with JamminJelly (Chargers sucked but one anywho), and there was this really old guy in front of me with really poorly died hair. JamminJelly suspects the use of JustForMen. He had these brown streaks at the tips of his hair, but the rest, was grey (gray?). He also had bright yellow corderoy's. \nPower to y'all.
Holy shnozenburger!!! For all you ScottWilliams fans, found out about a new band with a dulcimer hammerer. The band is called Zilla, and the drummer is Michael Travis from TheStringCheeseIncident. Dinner time. back soon.
[img[http://img73.imageshack.us/img73/9563/vfzr6.gif]]
http://www.lineflyer.com\n\nDescription:kool games about with kool lines
cool link\n\nDescription:
http://www.archive.org/details/fhg2004-03-19.flacf
http://www.archive.org/details/umelt2006-02-04.flac16
http://www.archive.org/details/sci2000-11-17.matrix.shnf\n\nComments: Seriously the best cheese show ever (Besides 6/26/06).
Hey, is-n't that LAN\nYes as a mat-ter of fact\nCom-put-er Apps Yo!\n\nPoet:Shikwah
[img[http://img20.imageshack.us/img20/34/hunchbackgf4.jpg]]
The point is that the chicken crossed the road. Who cares why? The end of crossing the road justifies\nwhatever motive there was.
WelcomeAboard HowToEdit\nCoolPeople LamePeople +++[SpaceChat]\n[[As AFOD|http://chat.parachat.com/chat/code.html?user=AFOD&pass=&room=SpaceChat&width=600&height=400&bg=BFBFBF&fg=FF0000&lang=en%2522%253EMy%2520Chat%2520Room]][[As JamminJelly|http://chat.parachat.com/chat/code.html?user=JamminJelly&pass=&room=SpaceChat&width=600&height=400&bg=BFBFBF&fg=FF0000&lang=en%2522%253EMy%2520Chat%2520Room]][[As JaredTheDonkey|http://chat.parachat.com/chat/code.html?user=JaredTheDonkey&pass=&room=SpaceChat&width=600&height=400&bg=BFBFBF&fg=FF0000&lang=en%2522%253EMy%2520Chat%2520Room]][[As Shikwah|http://chat.parachat.com/chat/code.html?user=Shikwah&pass=&room=SpaceChat&width=600&height=400&bg=BFBFBF&fg=FF0000&lang=en%2522%253EMy%2520Chat%2520Room]][[As spaceshipper|http://chat.parachat.com/chat/code.html?user=spaceshipper&pass=theship&room=SpaceChat&width=600&height=400&bg=BFBFBF&fg=FF0000&lang=en%2522%253EMy%2520Chat%2520Room]] [[As Guest|http://chat.parachat.com/chat/login.html?room=SpaceChat&width=600&height=400&bg=BFBFBF&fg=FF0000&lang=en]]\n===\n\n[[Poetry]]\n[[JamminJelly's FunBlog]] FromTheCockpit [[Shikwah's Corner]] DawgSpot\nGeneralPosts CoolStuff CoolLinks CoolVideos [[Concerts]] +++[Music] [[SignInHereNotThere!!!]] <html>\n<iframe src="http://www.mp3tunes.com/locker/cb/index_mini/" style=" border-width:0 " width="220" frameborder="0" height="120"></iframe></html> [[++BigPlayer]] [[++Open Miniplayer in NewWindow|http://www.mp3tunes.com/locker/cb/index_mini/]]=== WeirdDreams [[Nostalgia]] SuggestionsRequests \nSpaceCalendar\n<<newerTiddler button:"New Poem" name:"YYYY/MM/DD: Title" tags:"Poetry" text:"Poem Here\n\nPoet:">>\n<<newerTiddler button:"New Post" name:"YYYY/MM/DD:" tags:"GeneralPosts" text:"type here">><<newerTiddler button:"New CoolStuff" name:"YYYY/MM/DD: Title" tags:"CoolStuff" text:"Type your coolness..">><<newerTiddler button:"New Link" name:"Link Title" tags:"CoolLinks" text:"Paste Link Here\n\nDescription:">><<newerTiddler button:"New Dream" name:"YYYY/MM/DD: Dream Title" tags:"WeirdDreams" text:"Type dream here...\n\nDreamer:">><<newerTiddler button:"New Video" name:"Title" tags:"CoolVideos" text:"+++[Click to watch]\nput video in here\n===">><<newerTiddler button:"New Suggestion" name:"YYYY/MM/DD: Title" tags:"SuggestionsRequests" text:"SuggestionsRequests">>\n<<newerTiddler button:"New FunBlog Entry" name:"BlogEntry#" tags:"[[JamminJelly's FunBlog]]" text:"type here">><<newerTiddler button:"New KombuchaBlog" name:"KombuchaBlog#" tags:"[[KombuchaBlog]]" text:"type here">><<newerTiddler button:"New CornerStone" name:"NewCornerStone" tags:"CornerStones" text:"type here">>\n[[Help|http://www.blogjones.com/TiddlyWikiTutorial.html#EasyToEdit]][[About]][[Import]]\n^^[[edit menu|MainMenu]]^^ [[Manage Comments|http://www.haloscan.com/]]<html><embed src="http://www.mp3asset.com/swf/mp3/mff-mp3player.swf"\nquality="high" wmode="transparent" flashvars="myid=2817867&path=2007/06/05&mycolor=&mycolor2=&mycolor3=&autoplay=true&rand=1&f=3" width="218" height="155"\nname="myflashfetish"\ntype="application/x-shockwave-flash"\npluginspage="http://www.macromedia.com/go/getflashplayer" /><br><br><br></html>
[img[http://img241.imageshack.us/img241/280/guyindexbk1.gif]]\nThis guy
Not quite as weird as the dancing midget, but still out there.\n\n+++[Click to watch]\n<html><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/v54INagevCY"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/v54INagevCY" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></html>\n===
Type the text for 'Marco Pallavicini'
I envision a world where all chickens will be free to cross roads without having their motives called into question. \n
www.mediamax.com\n\nDescription: A cool website for uploading assorted media files. \n+++[Username Information]\nusername: spaceshipper\npassword: theship\n===\n
BOOOCH!!!!!\nhttp://www.skilltoys.net/board/showprofile.php?Cat=0&User=885&Number=36675&Board=polls&what=showflat&page=&view=&sb=5&o=&fpart=1&vc=1\n----
JAMERBOMB
Furniture for [[less]]
/***\n|''Name:''|MoveablePanelPlugin|\n|''Source:''|http://www.TiddlyTools.com/#MoveablePanelPlugin|\n|''Author:''|Eric Shulman - ELS Design Studios|\n|''License:''|[[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|\n|''~CoreVersion:''|2.0.10|\n\nAdd move, size, max/restore mouse event handling and fold/unfold, hover/scroll, and close/dock toolbar command items to any floating panel or tiddler. (see NestedSlidersPlugin for floating panel syntax/usage).\n\n!!!!!Usage\n<<<\nsyntax: {{{<<moveablePanel>>}}}\n\nexample: //using NestedSlidersPlugin 'floating panel' syntax//\n//{{{\n+++^30em^[panel]<<moveablePanel>>this is a headline for the panel\n----\n this is a moveable floating panel\n with a few lines of text\n as an example for you to try...\n //note: this line is really long so you can see what happens to word wrapping when you re-size this panel//\n===\n//}}}\nTry it: +++^30em^[panel]<<moveablePanel>>this is a headline for the panel\n----\n this is a moveable floating panel\n with a few lines of text\n as an example for you to try...\n //note: this line is really long so you can see what happens to word wrapping when you re-size this panel//\n===\n\n\nWhen the mouse is just inside the edges of the tiddler/panel, the cursor will change to a "crossed-arrows" symbol, indicating that the panel is "moveable". Grab (click-hold) the panel anywhere in the edge area and then drag the mouse to reposition the panel.\n\nTo resize the panel, hold the ''shift'' key and then grab the panel: the cursor will change to a "double-arrow" symbol. Drag a side edge of the panel to stretch horizontally or vertically, or drag a corner of the panel to stretch in both dimensions at once.\n\nDouble-clicking anywhere in the edge area of a panel will 'maximize' it to fit the current browser window.\n\nWhen the mouse is anywhere over a panel (not just near the edge), a 'toolbar menu' appears in the ''upper right corner'', with the following command items:\n*fold/unfold: ''fold'' temporarily reduces the panel height to show just one line of text. ''unfold'' restores the panel height.\n*hover/scroll: when you scroll the browser window, the moveable panels scroll with it. ''hover'' lets you keep a panel in view, while the rest of the page content moves in the window. ''scroll'' restores the default scrolling behavior for the panel. //Note: Due to browser limitations, this feature is not currently available when using Internet Explorer (v6 or lower)... sorry.//\n*close: ''close'' hides a panel from the page display. If you have moved/resized a panel, closing it restores its default position and size.\n*dock: unlike a floating panel, a moveable //tiddler// does not "float" on the page until it has actually been moved from its default position. When moving a tiddler, the ''close'' command is replaced with ''dock'', which restores the tiddler to its default //non-floating// location on the page.\n<<<\n!!!!!Installation\n<<<\nimport (or copy/paste) the following tiddlers into your document:\n''MoveablePanelPlugin'' (tagged with <<tag systemConfig>>)\nNote: for compatibility, please also install the current version of ''NestedSlidersPlugin''.\n<<<\n!!!!!Revision History\n<<<\n''2006.10.17 [1.3.4]'' when moving panel, adjust position for relative containing DIV\n''2006.05.25 [1.3.3]'' in closePanel(), use p.button.onclick() so that normal processing (updating slider button tooltip, access key, etc.) is performed\n''2006.05.11 [1.3.2]'' doc update\n''2006.05.11 [1.3.1]'' re-define all functions within moveablePanel object (eliminate global window.* function definitions (and some "leaky closures" in IE)\n''2006.05.11 [1.3.0]'' converted from inline javascript to true plugin\n''2006.05.09 [1.2.3]'' in closePanel(), set focus to sliderpanel button (if any)\n''2006.05.02 [1.2.2]'' in MoveOrSizePanel(), calculate adjustments for top and left when inside nested floating panels\n''2006.04.06 [1.2.1]'' in getPanel(), allow redefinition or bypass of "moveable" tag (changed from hard-coded "tearoff")\n''2006.03.29 [1.2.0]'' in getPanel(), require "tearoff" tag to enable floating tiddlers\n''2006.03.13 [1.1.0]'' added handling for floating tiddlers and conditional menu display\n''2006.03.06 [1.0.2]'' set move or resize cursor during mousetracking\n''2006.03.05 [1.0.1]'' use "window" vs "document.body" so mousetracking in FF doesn't drop the panel when moving too quickly\n''2006.03.04 [1.0.0]'' Initial public release\n<<<\n!!!!!Credits\n<<<\nThis feature was developed by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]]\n<<<\n!!!!!Code\n***/\n//{{{\nversion.extensions.moveablePanel= {major: 1, minor: 3, revision: 4, date: new Date(2006,10,17)};\n//}}}\n//{{{\nconfig.macros.moveablePanel= { \n handler:\n function(place,macroName,params) {\n var p=this.getPanel(place); if (!p) return;\n\n // remember original panel event handlers, size, location, border\n if (!p.saved) p.saved= {\n mouseover: p.onmouseover,\n mouseout: p.onmouseout,\n dblclick: p.ondblclick,\n top: p.style.top,\n left: p.style.left,\n width: p.style.width,\n height: p.style.height,\n position: p.style.position,\n border: p.style.border\n };\n\n // create control menu items\n var menupos=p.className=="floatingPanel"?"float:right;":"position:absolute;right:2em;top:3em;";\n var menustyle=p.className!="floatingPanel"?'style="border:1px solid #666;background:#ccc;color:#000;padding:0px .5em;"':"";\n var html='<div style="font-size:7pt;display:none;'+menupos+'">&nbsp;';\n if (p.className=="floatingPanel")\n html+='<a href="javascript:;" title="reduce panel size" '+menustyle\n +' onclick="return config.macros.moveablePanel.foldPanel(this,event)">fold</a>&nbsp; ';\n if (!config.browser.isIE)\n html+='<a href="javascript:;" title="keep panel in view when scrolling"'+menustyle\n +' onclick="return config.macros.moveablePanel.hoverPanel(this,event)">hover</a>&nbsp; ';\n if (p.className=="floatingPanel")\n html+='<a href="javascript:;" title="close panel and reset to default size and position"'+menustyle\n +' onclick="return config.macros.moveablePanel.closePanel(this,event)">close</a>';\n else\n html+='<a href="javascript:;" title="reset panel to default size and position"'+menustyle\n +' onclick="return config.macros.moveablePanel.closePanel(this,event)">dock</a>';\n html+='</div>';\n p.menudiv=createTiddlyElement(place,"span");\n p.menudiv.innerHTML=html;\n\n // init mouse handling and tooltip\n p.title="drag edge to move, shift key=stretch, double-click=max/restore";\n p.onmouseover=function(event) {\n if (this.className=="floatingPanel"||this.style.position=="absolute"||this.style.position=="fixed") {\n if (this.className!="floatingPanel") this.style.border="1px dotted #999"; // border around tiddler\n this.menudiv.firstChild.style.display="inline";\n }\n if (this.saved.mouseover) return this.saved.mouseover(event);\n };\n p.onmouseout=function(event) {\n this.menudiv.firstChild.style.display="none";\n if (this.className!="floatingPanel") this.style.border=this.saved.border;\n if (this.saved.mouseout) return this.saved.mouseout(event);\n };\n p.ondblclick=function(event) {\n if (!config.macros.moveablePanel.maximizePanel(this,event)) return false; // processed\n return this.saved.dblclick?this.saved.dblclick(event):true;\n };\n p.onmousemove=function(event) { return config.macros.moveablePanel.setCursorPanel(this,event); };\n p.onmousedown=function(event) { return config.macros.moveablePanel.moveOrSizePanel(this,event); };\n },\n\n getPanel:\n function(place) {\n var p=place; while (p && p.className!='floatingPanel') p=p.parentNode; if (p) return p; // floatingPanel\n p=story.findContainingTiddler(place); if (!p || !store.getTiddler(p.getAttribute("tiddler"))) return null; // not in a tiddler\n\n // moveable **tiddlers** in IE have LOTS of problems... DISABLED FOR NOW... but floating panels still work in IE\n if (config.browser.isIE) return null;\n\n // tiddlers tagged (e.g. with "moveable") to allow movement? use null or "" to bypass tag check\n var tag="moveable"; if (!tag || !tag.trim().length) return p;\n return (store.getTiddler(p.getAttribute("tiddler")).tags.find(tag)!=null)?p:null; // tiddler is tagged for moving\n },\n\n processed:\n function(event) {\n event.cancelBubble=true; if (event.stopPropagation) event.stopPropagation(); return false;\n },\n\n getClientWidth:\n function() {\n if(document.width!=undefined) return document.width;\n if(document.documentElement && document.documentElement.clientWidth) return document.documentElement.clientWidth;\n if(document.body && document.body.clientWidth) return document.body.clientWidth;\n if(window.innerWidth!=undefined) return window.innerWidth;\n return 100; // should never get here\n },\n\n closePanel:\n function(place,event) {\n if (!event) var event=window.event;\n var p=this.getPanel(place); if (!p) return true;\n if (p.hover) this.hoverPanel(p.hoverButton,event); \n if (p.folded) this.foldPanel(p.foldButton,event); \n p.maxed=false; \n p.style.top=p.saved.top;\n p.style.left=p.saved.left;\n p.style.width=p.saved.width;\n p.style.height=p.saved.height;\n p.style.position=p.saved.position;\n if (p.button) { p.button.focus(); onClickNestedSlider({target:p.button}); } // click on slider "button" (if any) to close the panel\n return this.processed(event);\n },\n\n foldPanel:\n function(place,event) {\n if (!event) var event=window.event;\n var p=this.getPanel(place); if (!p) return true;\n if (!p.foldButton) p.foldButton=place;\n if (p.folded) {\n p.style.height=p.folded_savedheight;\n p.style.overflow=p.folded_savedoverflow;\n } else {\n p.folded_savedheight=p.style.height; p.style.height="1em"; \n p.folded_savedoverflow=p.style.overflow; p.style.overflow="hidden";\n }\n p.folded=!p.folded;\n place.innerHTML=p.folded?"unfold":"fold";\n place.title=p.folded?"restore panel size":"reduce panel size";\n return this.processed(event);\n },\n\n hoverPanel:\n function(place,event) {\n if (config.browser.isIE) { return this.processed(event); } // 'fixed' position is not handled properly by IE :-(\n if (!event) var event=window.event;\n var p=this.getPanel(place); if (!p) return true;\n if (!p.hoverButton) p.hoverButton=place;\n if (p.hover)\n p.style.position=p.hover_savedposition;\n else\n { p.hover_savedposition=p.style.position; p.style.position="fixed"; }\n p.hover=!p.hover;\n place.innerHTML=p.hover?"scroll":"hover";\n place.title=p.hover?"make panel move with page when scrolling":"keep panel in view when scrolling page";\n return this.processed(event);\n },\n\n maximizePanel:\n function(place,event) {\n if (!event) var event=window.event;\n var p=this.getPanel(place); if (!p) return true;\n var left=findPosX(p); var top=findPosY(p);\n var width=p.offsetWidth; var height=p.offsetHeight;\n var x=!config.browser.isIE?event.pageX:event.clientX;\n var y=!config.browser.isIE?event.pageY:event.clientY;\n if (x<left||x>=left+width||y<top||y>=top+height) return true; // not inside panel, let mousedown bubble through\n var edgeWidth=10; var edgeHeight=10;\n var isTop=(y-top<edgeHeight);\n var isLeft=(x-left<edgeWidth);\n var isBottom=(top+height-y<edgeHeight);\n var isRight=(left+width-x<edgeWidth);\n if (!(isTop||isLeft||isBottom||isRight))\n return true; // not near an edge... let double click bubble through\n if (p.folded) this.foldPanel(p.foldButton,event); // unfold panel first (if needed)\n if (p.maxed) {\n p.style.top=p.max_savedtop;\n p.style.left=p.max_savedleft;\n p.style.width=p.max_savedwidth;\n p.style.height=p.max_savedheight;\n p.style.position=p.max_savedposition;\n } else {\n p.max_savedwidth=p.style.width;\n p.max_savedheight=p.style.height;\n p.max_savedtop=p.style.top;\n p.max_savedleft=p.style.left;\n p.max_savedposition=p.style.position;\n // IE gets the percentage stretch wrong if floating panel is inside a table\n p.style.width=config.browser.isIE?(getClientWidth()*0.95+"px"):"95%";\n p.style.height="95%";\n p.style.top=p.style.left='1em';\n p.style.position="absolute";\n }\n p.maxed=!p.maxed;\n return this.processed(event);\n },\n\n setCursorPanel:\n function(place,event) {\n if (!event) var event=window.event;\n var p=this.getPanel(place); if (!p) return true;\n var left=findPosX(p); var top=findPosY(p);\n var width=p.offsetWidth; var height=p.offsetHeight;\n var x=!config.browser.isIE?event.pageX:event.clientX;\n var y=!config.browser.isIE?event.pageY:event.clientY;\n if (x<left||x>=left+width||y<top||y>=top+height) return true; // not inside panel, let mousedown bubble through\n var edgeWidth=10; var edgeHeight=10;\n var isTop=(y-top<edgeHeight);\n var isLeft=(x-left<edgeWidth);\n var isBottom=(top+height-y<edgeHeight);\n var isRight=(left+width-x<edgeWidth);\n if (!(isTop||isLeft||isBottom||isRight))\n { p.style.cursor="auto"; if (!p.savedtitle) p.savedtitle=p.title; p.title=""; }\n else {\n p.style.cursor=!event.shiftKey?"move":((isTop?'n':(isBottom?'s':''))+(isLeft?'w':(isRight?'e':''))+'-resize');\n if (p.savedtitle) p.title=p.savedtitle;\n }\n return true; // let mouseover event bubble through\n },\n\n moveOrSizePanel:\n function(place,event) {\n if (!event) var event=window.event;\n var p=this.getPanel(place); if (!p) return true;\n var left=findPosX(p); var top=findPosY(p);\n var width=p.offsetWidth; var height=p.offsetHeight;\n var x=!config.browser.isIE?event.pageX:event.clientX;\n var y=!config.browser.isIE?event.pageY:event.clientY;\n if (x<left||x>=left+width||y<top||y>=top+height) return true; // not inside panel, let mousedown bubble through\n var edgeWidth=10; var edgeHeight=10;\n var isTop=(y-top<edgeHeight);\n var isLeft=(x-left<edgeWidth);\n var isBottom=(top+height-y<edgeHeight);\n var isRight=(left+width-x<edgeWidth);\n if (!(isTop||isLeft||isBottom||isRight)) return true; // not near an edge... let mousedown bubble through\n \n // when resizing, change cursor to show directional (NSEW) "drag arrows"\n var sizing=event.shiftKey; // remember this for use during mousemove tracking\n if (sizing) p.style.cursor=((isTop?'n':(isBottom?'s':''))+(isLeft?'w':(isRight?'e':''))+'-resize');\n \n var adjustLeft=0; var adjustTop=0;\n var pp=p.parentNode; while (pp && pp.style.position!='relative') pp=parent.parentNode;\n if (pp) { adjustLeft+=findPosX(pp); adjustTop+=findPosY(pp); }\n var pp=p.parentNode; while (pp && pp.className!="floatingPanel") pp=pp.parentNode;\n if (pp) { adjustLeft+=findPosX(pp); adjustTop+=findPosY(pp); }\n \n // start tracking mousemove events\n config.macros.moveablePanel.activepanel=p;\n var target=p; // if 'capture' handling not supported, track within panel only\n if (document.body.setCapture) { document.body.setCapture(); var target=document.body; } // IE\n if (window.captureEvents) { window.captureEvents(Event.MouseMove|Event.MouseUp,true); var target=window; } // moz\n if (target.onmousemove!=undefined) target.saved_mousemove=target.onmousemove;\n target.onmousemove=function(e){\n if (!e) var e=window.event;\n var p=config.macros.moveablePanel.activepanel;\n if (!p) { this.onmousemove=this.saved_mousemove?this.saved_mousemove:null; return; }\n \n // PROBLEM: p.offsetWidth and p.offsetHeight do not seem to account for padding or borders\n // WORKAROUND: subtract padding and border (in px) when calculating new panel width and height\n // TBD: get these values from p.style... convert to px as needed.\n var paddingWidth=10.6667; var paddingHeight=10.6667;\n var borderWidth=1; var borderHeight=1;\n var adjustWidth=-(paddingWidth*2+borderWidth*2);\n var adjustHeight=-(paddingHeight*2+borderHeight*2);\n \n if (p.style.position!="absolute") { // convert relative DIV to movable absolute DIV\n p.style.position="absolute";\n p.style.left=left+"px"; p.style.top=top+"px";\n p.style.width=(width+adjustWidth)+"px"; p.style.top=(height+adjustHeight)+"px";\n }\n var newX=!config.browser.isIE?e.pageX:e.clientX;\n var newY=!config.browser.isIE?e.pageY:e.clientY;\n if (sizing) { // resize panel\n // don't let panel get smaller than edge "grab" zones\n var minWidth=edgeWidth*2-adjustWidth;\n var minHeight=edgeHeight*2-adjustHeight;\n p.maxed=false; // make sure panel is not maximized\n if (p.folded) this.foldPanel(p.foldButton,e); // make sure panel is unfolded\n if (isBottom) var newHeight=height+newY-y+1;\n if (isTop) var newHeight=height-newY+y+1;\n if (isLeft) var newWidth=width-newX+x+1;\n if (isRight) var newWidth=width+newX-x+1;\n if (isLeft||isRight) p.style.width=(newWidth>minWidth?newWidth:minWidth)+adjustWidth+"px";\n if (isLeft) p.style.left=left-adjustLeft+newX-x+1+"px";\n if (isTop||isBottom) p.style.height=(newHeight>minHeight?newHeight:minHeight)+adjustHeight+"px";\n if (isTop) p.style.top=top-adjustTop+newY-y+1+"px";\n } else { // move panel\n p.style.top=top-adjustTop+newY-y+1+"px";\n p.style.left=left-adjustLeft+newX-x+1+"px";\n }\n var status=sizing?("size: "+p.style.width+","+p.style.height):("pos: "+p.style.left+","+p.style.top);\n window.status=status.replace(/(\s.[0-9]+)|px/g,""); // remove decimals and "px"\n return config.macros.moveablePanel.processed(e);\n };\n \n // stop tracking mousemove events\n if (target.onmouseup!=undefined) target.saved_mouseup=target.onmouseup;\n target.onmouseup=function(e){\n if (!e) var e=window.event;\n if (this.releaseCapture) this.releaseCapture(); // IE\n if (this.releaseEvents) this.releaseEvents(Event.MouseMove|Event.MouseUp); // moz\n this.onmousemove=this.saved_mousemove?this.saved_mousemove:null;\n this.onmouseup=this.saved_mouseup?this.saved_mouseup:null;\n config.macros.moveablePanel.activepanel=null;\n window.status="";\n return config.macros.moveablePanel.processed(e);\n };\n return this.processed(event); // mousedown handled\n }\n};\n//}}}
Type the text for 'Mr. Donnely'
[img[http://img390.imageshack.us/img390/9005/whitenerdyiq4.jpg]]
This guy\n[img[http://img366.imageshack.us/img366/7772/mrtsh8.jpg]]
<<slider chkSlider [[Fareed Haque Group]] "Fareed Haque Group">>\n<<slider chkSlider [[Honkeytonk Homeslice]] "Honkeytonk Homeslice">>\n+++[Railroad Earth]\n[[Mighty River|http://railroadearth.com/listen/mp3/railroad_earth-mighty_river.mp3]]\n===\n\n<<slider chkSlider [[The String Cheese Incident]] "The String Cheese Incident">>\n<<slider chkSlider [[U-Melt]] "U-Melt">>\n+++[iiO]\n[[Runaway(Ford Remix Radio Edit)|http://download-v5.streamload.com/1ff2f8cf-74d2-4081-b278-cfe0db779d63/spaceshipper/Hosted/Runaway%20(Ford%20Remix%20Radio%20Edit).mp3]]\n===\n<<deliciousPlayTagger>>\n\n
[img[http://img177.imageshack.us/img177/7153/triceratopsbuntklox7.gif]][img[http://img177.imageshack.us/img177/7899/triceratops260dt4.jpg]]\n[img[http://img177.imageshack.us/img177/9130/triceratopsub2.jpg]][img[http://img177.imageshack.us/img177/1450/triceratopsyh2.jpg]]\n[img[http://img177.imageshack.us/img177/6659/saa0399ai5.gif]][img[http://img177.imageshack.us/img177/8563/triceratopsbabyts4.gif]]\n
+++[Click To Watch]\n<<player http://www.mediamax.com/spaceshipper/Hosted/My%20Great%20Movie.mov [100%] [480]>>\n===\n\n
/***\n|''Name:''|NestedSlidersPlugin|\n|''Source:''|http://www.TiddlyTools.com/#NestedSlidersPlugin|\n|''Author:''|Eric Shulman - ELS Design Studios|\n|''License:''|[[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|\n|''~CoreVersion:''|2.0.10|\n\nQuickly make any tiddler content into an expandable 'slider' panel, without needing to create a separate tiddler to contain the slider content. Optional syntax allows ''default to open'', ''custom button label/tooltip'' and ''automatic blockquote formatting.''\n\nYou 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.\n\nFor more details, please click on a section headline below:\n++++!!!!![Configuration]>\nDebugging messages for 'lazy sliders' deferred rendering:\n<<option chkDebugLazySliderDefer>> show debugging alert when deferring slider rendering\n<<option chkDebugLazySliderRender>> show debugging alert when deferred slider is actually rendered\n===\n++++!!!!![Usage]>\nWhen installed, this plugin adds new wiki syntax for embedding 'slider' panels directly into tiddler content. Use {{{+++}}} and {{{===}}} to delimit the slider content. Additional optional syntax elements let you specify\n*default to open\n*cookiename\n*heading level\n*floater (with optional CSS width value)\n*mouse auto rollover\n*custom class/label/tooltip/accesskey\n*automatic blockquote\n*deferred rendering\nThe complete syntax, using all options, is:\n//{{{\n++++(cookiename)!!!!!^width^*{{class{[label=key|tooltip]}}}>...\ncontent goes here\n===\n//}}}\nwhere:\n* {{{+++}}} (or {{{++++}}}) and {{{===}}}^^\nmarks the start and end of the slider definition, respectively. When the extra {{{+}}} is used, the slider will be open when initially displayed.^^\n* {{{(cookiename)}}}^^\nsaves the slider opened/closed state, and restores this state whenever the slider is re-rendered.^^\n* {{{!}}} through {{{!!!!!}}}^^\ndisplays the slider label using a formatted headline (Hn) style instead of a button/link style^^\n* {{{^width^}}} (or just {{{^}}})^^\nmakes 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)^^\n* {{{*}}}^^\nautomatically opens/closes slider on "rollover" as well as when clicked^^\n* {{{{{class{[label=key|tooltip]}}}}}}^^\nuses custom label/tooltip/accesskey. {{{{{class{...}}}}}}, {{{=key}}} and {{{|tooltip}}} are optional. 'class' is any valid CSS class name, used to style the slider label text. 'key' must be a ''single letter only''. Default labels/tootips are: ">" (more) and "<" (less), with no default access key assignment.^^\n* {{{">"}}} //(without the quotes)//^^\nautomatically adds blockquote formatting to slider content^^\n* {{{"..."}}} //(without the quotes)//^^\ndefers rendering of closed sliders until the first time they are opened. //Note: deferred rendering may produce unexpected results in some cases. Use with care.//^^\n\n//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.//\n===\n++++!!!!![Examples]>\nsimple in-line slider: \n{{{\n+++\n content\n===\n}}}\n+++\n content\n===\n----\nuse a custom label and tooltip: \n{{{\n+++[label|tooltip]\n content\n===\n}}}\n+++[label|tooltip]\n content\n===\n----\ncontent automatically blockquoted: \n{{{\n+++>\n content\n===\n}}}\n+++>\n content\n===\n----\nall options combined //(default open, cookie, heading, sized floater, rollover, class, label/tooltip/key, blockquoted, deferred)//\n{{{\n++++(testcookie)!!!^30em^*{{big{[label=Z|click or press Alt-Z to open]}}}>...\n content\n===\n}}}\n++++(testcookie)!!!^30em^*{{big{[label=Z|click or press Alt-Z to open]}}}>...\n content\n===\n----\ncomplex nesting example:\n{{{\n+++^[get info...=I|click for information or press Alt-I]\n put some general information here, plus a floating slider with more specific info:\n +++^10em^[view details...|click for details]\n put some detail here, which could include a rollover with a +++^25em^*[glossary definition]explaining technical terms===\n ===\n===\n}}}\n+++^[get info...=I|click for information or press Alt-I]\n put some general information here, plus a floating slider with more specific info:\n +++^10em^[view details...|click for details]\n put some detail here, which could include a rollover with a +++^25em^*[glossary definition]explaining technical terms===\n ===\n===\n===\n!!!!!Installation\n<<<\nimport (or copy/paste) the following tiddlers into your document:\n''NestedSlidersPlugin'' (tagged with <<tag systemConfig>>)\n<<<\n!!!!!Revision History\n<<<\n''2006.07.28 - 2.0.0'' added custom class syntax around label/tip/key syntax: {{{{{classname{[label=key|tip]}}}}}}\n''2006.07.25 - 1.9.3'' when parsing slider, save default open/closed state in button element, then in onClickNestedSlider(), if slider state matches saved default, instead of saving cookie, delete it. Significantly reduces the 'cookie overhead' when default slider states are used.\n''2006.06.29 - 1.9.2'' in onClickNestedSlider(), when setting focus to first control, skip over type="hidden"\n''2006.06.22 - 1.9.1'' added panel.defaultPanelWidth to save requested panel width, even after resizing has changed the style value\n''2006.05.11 - 1.9.0'' added optional '^width^' syntax for floating sliders and '=key' syntax for setting an access key on a slider label\n''2006.05.09 - 1.8.0'' in onClickNestedSlider(), when showing panel, set focus to first child input/textarea/select element\n''2006.04.24 - 1.7.8'' in adjustSliderPos(), if floating panel is contained inside another floating panel, subtract offset of containing panel to find correct position\n''2006.02.16 - 1.7.7'' corrected deferred rendering to account for use-case where show/hide state is tracked in a cookie\n''2006.02.15 - 1.7.6'' in adjustSliderPos(), ensure that floating panel is positioned completely within the browser window (i.e., does not go beyond the right edge of the browser window)\n''2006.02.04 - 1.7.5'' add 'var' to unintended global variable declarations to avoid FireFox 1.5.0.1 crash bug when assigning to globals\n''2006.01.18 - 1.7.4'' only define adjustSliderPos() function if it has not already been provided by another plugin. This lets other plugins 'hijack' the function even when they are loaded first.\n''2006.01.16 - 1.7.3'' added adjustSliderPos(place,btn,panel,panelClass) function to permit specialized logic for placement of floating panels. While it provides improved placement for many uses of floating panels, it exhibits a relative offset positioning error when used within *nested* floating panels. Short-term workaround is to only adjust the position for 'top-level' floaters.\n''2006.01.16 - 1.7.2'' added button property to slider panel elements so that slider panel can tell which button it belongs to. Also, re-activated and corrected animation handling so that nested sliders aren't clipped by hijacking Slider.prototype.stop so that "overflow:hidden" can be reset to "overflow:visible" after animation ends\n''2006.01.14 - 1.7.1'' added optional "^" syntax for floating panels. Defines new CSS class, ".floatingPanel", as an alternative for standard in-line ".sliderPanel" styles.\n''2006.01.14 - 1.7.0'' added optional "*" syntax for rollover handling to show/hide slider without requiring a click (Based on a suggestion by tw4efl)\n''2006.01.03 - 1.6.2'' When using optional "!" heading style, instead of creating a clickable "Hn" element, create an "A" element inside the "Hn" element. (allows click-through in SlideShowPlugin, which captures nearly all click events, except for hyperlinks)\n''2005.12.15 - 1.6.1'' added optional "..." syntax to invoke deferred ('lazy') rendering for initially hidden sliders\nremoved checkbox option for 'global' application of lazy sliders\n''2005.11.25 - 1.6.0'' added optional handling for 'lazy sliders' (deferred rendering for initially hidden sliders)\n''2005.11.21 - 1.5.1'' revised regular expressions: if present, a single newline //preceding// and/or //following// a slider definition will be suppressed so start/end syntax can be place on separate lines in the tiddler 'source' for improved readability. Similarly, any whitespace (newlines, tabs, spaces, etc.) trailing the 'start slider' syntax or preceding the 'end slider' syntax is also suppressed.\n''2005.11.20 - 1.5.0'' added (cookiename) syntax for optional tracking and restoring of slider open/close state\n''2005.11.11 - 1.4.0'' added !!!!! syntax to render slider label as a header (Hn) style instead of a button/link style\n''2005.11.07 - 1.3.0'' removed alternative syntax {{{(((}}} and {{{)))}}} (so they can be used by other\nformatting extensions) and simplified/improved regular expressions to trim multiple excess newlines\n''2005.11.05 - 1.2.1'' changed name to NestedSlidersPlugin\nmore documentation\n''2005.11.04 - 1.2.0'' added alternative character-mode syntax {{{(((}}} and {{{)))}}}\ntweaked "eat newlines" logic for line-mode {{{+++}}} and {{{===}}} syntax\n''2005.11.03 - 1.1.1'' fixed toggling of default tooltips ("more..." and "less...") when a non-default button label is used\ncode cleanup, added documentation\n''2005.11.03 - 1.1.0'' changed delimiter syntax from {{{(((}}} and {{{)))}}} to {{{+++}}} and {{{===}}}\nchanged name to EasySlidersPlugin\n''2005.11.03 - 1.0.0'' initial public release\n<<<\n!!!!!Credits\n<<<\nThis feature was implemented by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]] with initial research and suggestions from RodneyGomes, GeoffSlocock, and PaulPetterson.\n<<<\n!!!!!Code\n***/\n//{{{\nversion.extensions.nestedSliders = {major: 2, minor: 0, revision: 0, date: new Date(2006,7,28)};\n//}}}\n\n//{{{\n// options for deferred rendering of sliders that are not initially displayed\nif (config.options.chkDebugLazySliderDefer==undefined) config.options.chkDebugLazySliderDefer=false;\nif (config.options.chkDebugLazySliderRender==undefined) config.options.chkDebugLazySliderRender=false;\n\n// default styles for 'floating' class\nsetStylesheet(".floatingPanel { position:absolute; z-index:10; padding:0.5em; margin:0em; \s\n background-color:#eee; color:#000; border:1px solid #000; text-align:left; }","floatingPanelStylesheet");\n//}}}\n\n//{{{\nconfig.formatters.push( {\n name: "nestedSliders",\n match: "\s\sn?\s\s+{3}",\n terminator: "\s\ss*\s\s={3}\s\sn?",\n lookahead: "\s\sn?\s\s+{3}(\s\s+)?(\s\s([^\s\s)]*\s\s))?(\s\s!*)?(\s\s^(?:[^\s\s^\s\s*\s\s[\s\s>]*\s\s^)?)?(\s\s*)?(?:\s\s{\s\s{([\s\sw]+[\s\ss\s\sw]*)\s\s{)?(\s\s[[^\s\s]]*\s\s])?(?:\s\s}{3})?(\s\s>)?(\s\s.\s\s.\s\s.)?\s\ss*",\n handler: function(w)\n {\n // defopen=lookaheadMatch[1]\n // cookiename=lookaheadMatch[2]\n // header=lookaheadMatch[3]\n // panelwidth=lookaheadMatch[4]\n // rollover=lookaheadMatch[5]\n // class=lookaheadMatch[6]\n // label=lookaheadMatch[7]\n // blockquote=lookaheadMatch[8]\n // deferred=lookaheadMatch[9]\n\n lookaheadRegExp = new RegExp(this.lookahead,"mg");\n lookaheadRegExp.lastIndex = w.matchStart;\n var lookaheadMatch = lookaheadRegExp.exec(w.source)\n if(lookaheadMatch && lookaheadMatch.index == w.matchStart)\n {\n // location for rendering button and panel\n var place=w.output;\n\n // default to closed, no cookie, no accesskey\n var show="none"; var title=">"; var tooltip="show"; var cookie=""; var key="";\n\n // extra "+", default to open\n if (lookaheadMatch[1])\n { show="block"; title="<"; tooltip="hide"; }\n\n // cookie, use saved open/closed state\n if (lookaheadMatch[2]) {\n cookie=lookaheadMatch[2].trim().slice(1,-1);\n cookie="chkSlider"+cookie;\n if (config.options[cookie]==undefined)\n { config.options[cookie] = (show=="block") }\n if (config.options[cookie])\n { show="block"; title="<"; tooltip="hide"; }\n else\n { show="none"; title=">"; tooltip="show"; }\n }\n\n // parse custom label/tooltip/accesskey: [label=X|tooltip]\n if (lookaheadMatch[7]) {\n title = lookaheadMatch[7].trim().slice(1,-1);\n var pos=title.indexOf("|");\n if (pos!=-1) { tooltip = title.substr(pos+1,title.length); title=title.substr(0,pos); }\n if (title.substr(title.length-2,1)=="=") { key=title.substr(title.length-1,1); title=title.slice(0,-2); }\n if (pos==-1) tooltip += " "+title; // default tooltip: "show/hide <title>"\n }\n\n // create the button\n if (lookaheadMatch[3]) { // use "Hn" header format instead of button/link\n var lvl=(lookaheadMatch[3].length>6)?6:lookaheadMatch[3].length;\n var btn = createTiddlyElement(createTiddlyElement(place,"h"+lvl,null,null,null),"a",null,lookaheadMatch[6],title);\n btn.onclick=onClickNestedSlider;\n btn.setAttribute("href","javascript:;");\n btn.setAttribute("title",tooltip);\n }\n else\n var btn = createTiddlyButton(place,title,tooltip,onClickNestedSlider,lookaheadMatch[6]);\n\n // set extra button attributes\n btn.sliderCookie = cookie; // save the cookiename (if any) in the button object\n btn.defOpen=lookaheadMatch[1]!=null; // save default open/closed state (boolean)\n btn.keyparam=key; // save the access key letter ("" if none)\n if (key.length) {\n btn.setAttribute("accessKey",key); // init access key\n btn.onfocus=function(){this.setAttribute("accessKey",this.keyparam);}; // **reclaim** access key on focus\n }\n\n // "non-click" MouseOver open/close slider\n if (lookaheadMatch[5]) btn.onmouseover=onClickNestedSlider;\n\n // create slider panel\n var panelClass=lookaheadMatch[4]?"floatingPanel":"sliderPanel";\n var panel=createTiddlyElement(place,"div",null,panelClass,null);\n panel.button = btn; // so the slider panel know which button it belongs to\n panel.defaultPanelWidth=(lookaheadMatch[4] && lookaheadMatch[4].length>2)?lookaheadMatch[4].slice(1,-1):""; // save requested panel size\n btn.sliderPanel=panel;\n panel.style.display = show;\n panel.style.width=panel.defaultPanelWidth;\n\n // render slider (or defer until shown) \n w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;\n if ((show=="block")||!lookaheadMatch[9]) {\n // render now if panel is supposed to be shown or NOT deferred rendering\n w.subWikify(lookaheadMatch[8]?createTiddlyElement(panel,"blockquote"):panel,this.terminator);\n // align slider/floater position with button\n adjustSliderPos(place,btn,panel,panelClass);\n }\n else {\n var src = w.source.substr(w.nextMatch);\n var endpos=findMatchingDelimiter(src,"+++","===");\n panel.setAttribute("raw",src.substr(0,endpos));\n panel.setAttribute("blockquote",lookaheadMatch[8]?"true":"false");\n panel.setAttribute("rendered","false");\n w.nextMatch += endpos+3;\n if (w.source.substr(w.nextMatch,1)=="\sn") w.nextMatch++;\n if (config.options.chkDebugLazySliderDefer) alert("deferred '"+title+"':\sn\sn"+panel.getAttribute("raw"));\n }\n }\n }\n }\n)\n\n// TBD: ignore 'quoted' delimiters (e.g., "{{{+++foo===}}}" isn't really a slider)\nfunction findMatchingDelimiter(src,starttext,endtext) {\n var startpos = 0;\n var endpos = src.indexOf(endtext);\n // check for nested delimiters\n while (src.substring(startpos,endpos-1).indexOf(starttext)!=-1) {\n // count number of nested 'starts'\n var startcount=0;\n var temp = src.substring(startpos,endpos-1);\n var pos=temp.indexOf(starttext);\n while (pos!=-1) { startcount++; pos=temp.indexOf(starttext,pos+starttext.length); }\n // set up to check for additional 'starts' after adjusting endpos\n startpos=endpos+endtext.length;\n // find endpos for corresponding number of matching 'ends'\n while (startcount && endpos!=-1) {\n endpos = src.indexOf(endtext,endpos+endtext.length);\n startcount--;\n }\n }\n return (endpos==-1)?src.length:endpos;\n}\n//}}}\n\n//{{{\nwindow.onClickNestedSlider=function(e)\n{\n if (!e) var e = window.event;\n var theTarget = resolveTarget(e);\n var theLabel = theTarget.firstChild.data;\n var theSlider = theTarget.sliderPanel\n var isOpen = theSlider.style.display!="none";\n // if using default button labels, toggle labels\n if (theLabel==">") theTarget.firstChild.data = "<";\n else if (theLabel=="<") theTarget.firstChild.data = ">";\n // if using default tooltips, toggle tooltips\n if (theTarget.getAttribute("title")=="show")\n theTarget.setAttribute("title","hide");\n else if (theTarget.getAttribute("title")=="hide")\n theTarget.setAttribute("title","show");\n if (theTarget.getAttribute("title")=="show "+theLabel)\n theTarget.setAttribute("title","hide "+theLabel);\n else if (theTarget.getAttribute("title")=="hide "+theLabel)\n theTarget.setAttribute("title","show "+theLabel);\n // deferred rendering (if needed)\n if (theSlider.getAttribute("rendered")=="false") {\n if (config.options.chkDebugLazySliderRender)\n alert("rendering '"+theLabel+"':\sn\sn"+theSlider.getAttribute("raw"));\n var place=theSlider;\n if (theSlider.getAttribute("blockquote")=="true")\n place=createTiddlyElement(place,"blockquote");\n wikify(theSlider.getAttribute("raw"),place);\n theSlider.setAttribute("rendered","true");\n }\n // show/hide the slider\n if(config.options.chkAnimate)\n anim.startAnimating(new Slider(theSlider,!isOpen,e.shiftKey || e.altKey,"none"));\n else\n theSlider.style.display = isOpen ? "none" : "block";\n // reset to default width (might have been changed via plugin code)\n theSlider.style.width=theSlider.defaultPanelWidth;\n // align slider/floater position with target button\n if (!isOpen) adjustSliderPos(theSlider.parentNode,theTarget,theSlider,theSlider.className);\n // if showing panel, set focus to first 'focus-able' element in panel\n if (theSlider.style.display!="none") {\n var ctrls=theSlider.getElementsByTagName("*");\n for (var c=0; c<ctrls.length; c++) {\n var t=ctrls[c].tagName.toLowerCase();\n if ((t=="input" && ctrls[c].type!="hidden") || t=="textarea" || t=="select")\n { ctrls[c].focus(); break; }\n }\n }\n if (this.sliderCookie && this.sliderCookie.length) {\n config.options[this.sliderCookie]=!isOpen;\n if (config.options[this.sliderCookie]!=this.defOpen)\n saveOptionCookie(this.sliderCookie);\n else { // remove cookie if slider is in default display state\n var ex=new Date(); ex.setTime(ex.getTime()-1000);\n document.cookie = this.sliderCookie+"=novalue; path=/; expires="+ex.toGMTString();\n }\n }\n return false;\n}\n\n// hijack animation handler 'stop' handler so overflow is visible after animation has completed\nSlider.prototype.coreStop = Slider.prototype.stop;\nSlider.prototype.stop = function() { this.coreStop(); this.element.style.overflow = "visible"; }\n\n// adjust panel position based on button position\nif (window.adjustSliderPos==undefined) window.adjustSliderPos=function(place,btn,panel,panelClass) {\n if (panelClass=="floatingPanel") {\n var left=0;\n var top=btn.offsetHeight; \n if (place.style.position!="relative") {\n var left=findPosX(btn);\n var top=findPosY(btn)+btn.offsetHeight;\n var p=place; while (p && p.className!='floatingPanel') p=p.parentNode;\n if (p) { left-=findPosX(p); top-=findPosY(p); }\n }\n if (left+panel.offsetWidth > getWindowWidth()) left=getWindowWidth()-panel.offsetWidth-10;\n panel.style.left=left+"px"; panel.style.top=top+"px";\n }\n}\n\nfunction getWindowWidth() {\n if(document.width!=undefined)\n return document.width; // moz (FF)\n if(document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) )\n return document.documentElement.clientWidth; // IE6\n if(document.body && ( document.body.clientWidth || document.body.clientHeight ) )\n return document.body.clientWidth; // IE4\n if(window.innerWidth!=undefined)\n return window.innerWidth; // IE - general\n return 0; // unknown\n}\n//}}}
Default description for new context (which you can change by editing the [[NewContextTemplate]]). You can edit this description as you like, but be sure to include the {{{gtdActionList}}} macro somewhere to see the active actions.\n\n<<gtdActionList>>
Default description for new context (which you can change by editing the [[NewContextTemplate]]). You can edit this description as you like, but be sure to include the {{{gtdActionList}}} macro somewhere to see the active actions.\n\n<<gtdActionList>>
/***\n|Name|NewHereCommand|\n|Source|http://simonbaird.com/mptw/#NewHereCommand|\n|Version|1.0|\n\nCode originally by ArphenLin. Small tweak by SimonBaird\nhttp://aiddlywiki.sourceforge.net/NewHere_demo.html#NewHereCommand\nTo use this you must edit your ViewTemplate and add newHere to the toolbar div, eg\n{{{<div class='toolbar' macro='toolbar ... newHere'></div>}}}\n***/\n//{{{\n\nconfig.commands.newHere = {\n text: 'new here',\n tooltip: 'Create a new tiddler tagged as this tiddler',\n hideReadOnly: true,\n handler: function(e,src,title) {\n if (!readOnly) {\n clearMessage();\n var t=document.getElementById('tiddler'+title);\n story.displayTiddler(t,config.macros.newTiddler.title,DEFAULT_EDIT_TEMPLATE);\n story.setTiddlerTag(config.macros.newTiddler.title, title, 0);\n story.focusTiddler(config.macros.newTiddler.title,"title");\n return false;\n }\n }\n};\n\nconfig.commands.newJournalHere = {\n //text: 'new journal here', // too long\n text: 'new journal',\n hideReadOnly: true,\n dataFormat: 'YYYY-0MM-0DD 0hh:0mm', // adjust to your preference\n tooltip: 'Create a new journal tiddler tagged as this tiddler',\n handler: function(e,src,title) {\n if (!readOnly) {\n clearMessage();\n var now = new Date();\n var t=document.getElementById('tiddler'+title);\n var newtitle = now.formatString(this.dataFormat)\n story.displayTiddler(t,newtitle,DEFAULT_EDIT_TEMPLATE);\n story.setTiddlerTag(newtitle, title, 0);\n story.focusTiddler(newtitle,"title");\n return false;\n }\n }\n};\n\n\n//}}}
I think New Jersey is in the US.
Default description for new project (which you can change by editing the [[NewProjectTemplate]]). Add actions to the project using the {{{gtdAction}}} macro, or the ".." wikitext notation. Note that actions will be tagged with the project name, so it would look nicer if the project name were somewhat concise.
Default description for new project (which you can change by editing the [[NewProjectTemplate]]). Add actions to the project using the {{{gtdAction}}} macro, or the ".." wikitext notation. Note that actions will be tagged with the project name, so it would look nicer if the project name were somewhat concise.
/***\n|''Name:''|NewerTiddlerPlugin|\n|''Version:''|$Revision: 13 $ |\n|''Source:''|http://thePettersons.org/tiddlywiki.html#NewerTiddlerPlugin |\n|''Author:''|[[Paul Petterson]] |\n|''Type:''|Macro Extension |\n|''Requires:''|TiddlyWiki 1.2.33 or higher |\n!Description\nCreate a 'new tiddler' button with lots more options! Specify the text to show on the button, the name of the new tiddler (with date macro expansion), one or more tags for the new tiddlers, and what text if any to include in the new tiddler body! Uses a named parameter format, simalar to the reminder plugin.\n\nAlso - if the tiddler already exists it won't replace any of it's existing data (like tags).\n\n!Syntax\n* {{{<<newerTiddler button:"Inbox" name:"Inbox YYYY/MM/DD" tags:"Journal, inbox" text:"New stuff for today:">>}}}\n* {{{<<newerTiddler button:"@Action" name:"Action: what" tags:"@Action" text:"Add project and describe action">>}}}\n* {{{<<newerTiddler button:"New Project" name:"Project Name?" tags:"My Projects, My Inbox, Journal" template:"MyTemplate">>}}}\n!!Parameters\n* name:"Name of Tiddler"\n* tags:"Tag1, Tag2, Tag3" - tags for new tiddler, comma seperated //don't use square brackets //({{{[[}}})// for tags!//\n* button:"name for button" - the name to display instead of "new tiddler"\n* body:"what to put in the tiddler body"\n* template:"Name of a tiddler containing the text to use as the body of the new tiddler"\n\n''Note:'' if you sepecify both body and template parameters, then template parameter will be used and the body parameter overridden.\n\n!Sample Output\n* <<newerTiddler button:"Inbox" name:"Inbox YYYY/MM/DD" tags:"Journal inbox" text:"New stuff for today:">>\n* <<newerTiddler button:"@Action" name:"Action: what" tags:"@Action" text:"Add project and describe action">>\n* <<newerTiddler button:"New Project" name:"Project Name?" tags:"[[My Projects]] [[My Inbox]] Journal" template:"MyTemplate">>\n\n!Todo\n<<projectTemplate>>\n\n!Known issues\n* Must use double quotes (") around parameter values if they contain a space, can't use single quotes (').\n* can't use standard bracketted style tags, ust type in the tags space and all and put a comma between them. For example tags:"one big tag, another big tag" uses 2 tags ''one big tag'' and ''another big tag''.\n\n!Notes\n* It works fine, and I use it daily, however I haven't really tested edge cases or multiple platforms. If you run into bugs or problems, let me know!\n\n!Requests\n* Have delta-date specifiers on the name: name:"Inbox YYY/MM/DD+1" ( ceruleat@gmail.com )\n* Option to just open the tiddler instead of immediately edit it ( ceruleat@gmail.com )\n* Have date formatters in tags as well as in name (me)\n\n!Revision history\n$History: PaulsNotepad.html $\n * \n * ***************** Version 2 *****************\n * User: paulpet Date: 2/26/06 Time: 7:25p\n * Updated in $/PaulsNotepad3.0.root/PaulsNotepad3.0/PaulsPlugins/systemConfig\n * Port to tw2.0, bug fixes, and simplification!\nv1.0.2 (not released) - fixed small documentation issues.\nv1.0.1 October 13th - fixed a bug occurring only in FF\nv1.0 October 11th - Initial public release\nv0.8 October 10th - Feature complete... \nv0.7 Initial public preview\n\n!Code\n***/\n//{{{\nconfig.macros.newerTiddler = { \nname:"New(er) Tiddler",\ntags:"",\ntext:"Type Tiddler Contents Here.",\nbutton:"new(er) tiddler",\n\nreparse: function( params ) {\n var re = /([^:\s'\s"\ss]+)(?::([^\s'\s":\ss]+)|:[\s'\s"]([^\s'\s"\s\s]*(?:\s\s.[^\s'\s"\s\s]*)*)[\s'\s"])?(?=\ss|$)/g;\n var ret = new Array() ;\n var m ;\n\n while( (m = re.exec( params )) != null )\n ret[ m[1] ] = m[2]?m[2]:m[3]?m[3]:true ;\n\n return ret ;\n},\nhandler: function(place,macroName,params,wikifier,paramString,tiddler) {\n if ( readOnly ) return ;\n\n var input = this.reparse( paramString ) ;\n var tiddlerName = input["name"]?input["name"].trim():config.macros.newerTiddler.name ;\n var tiddlerTags = input["tags"]?input["tags"]:config.macros.newerTiddler.tags ;\n var tiddlerBody = input["text"]?input["text"]:config.macros.newerTiddler.text ;\n var buttonText = input["button"]?input["button"]:config.macros.newerTiddler.button ;\n var template = input["template"]?input["template"]:null;\n\n // if there is a template, use it - otherwise use the tiddlerBody text\n if ( template ) {\n tiddlerBody = store.getTiddlerText( template );\n }\n if ( tiddlerBody == null || tiddlerBody.length == 0 )\n tiddlerBody = config.macros.newerTiddler.text ;\n\n var now = new Date() ;\n tiddlerName = now.formatString( tiddlerName ) ;\n \n createTiddlyButton( place, buttonText, "", function() {\n var exists = store.tiddlerExists( tiddlerName );\n var t = store.createTiddler( tiddlerName );\n if ( ! exists )\n t.assign( tiddlerName, tiddlerBody, config.views.wikified.defaultModifier, now, tiddlerTags.readBracketedList() );\n \n story.displayTiddler(null,tiddlerName,DEFAULT_EDIT_TEMPLATE);\n story.focusTiddler(tiddlerName,"title");\n return false;\n });\n}}\n//}}}\n/***\nThis plugin is released under the [[Creative Commons Attribution 2.5 License|http://creativecommons.org/licenses/by/2.5/]]\n***/
<html>\n<iframe src="http://www.virtualnes.com/vm_files/launch_sound_on.php?rom=/x_english/ninjagaiden3&romsize=262160" style=" border-width:0 " width="640" frameborder="0" height="588"></iframe>\n</html>\n
<html><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/a8q-elxC6gU"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/a8q-elxC6gU" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></html>
Greatest video of all time!!!!!!\n\nhttp://www.youtube.com/watch?v=a8q-elxC6gU&search=nintendo%2064
[[DON't ClicK HErE SpaCEshIPPeR]]
Hey <<tiddler ShowUserName>>, Do you remember me?\nHey [[Shikwah]], your a LongBeachDubAllstar
Ants are [[small burrowing creatures]]. Did anyone notice that the ASB misspelled the Beatles? So bad.
By [[JamminJelly]]\n\n[img[http://img100.imageshack.us/img100/9249/carrotif8.gif]]\nCarrot, so orange.\nPluck you from the muddy ground,\nAnd eat you all up.
If you have a beer can or soda can, you can open anyone's masterlock by cutting and folding the can in some weird way. Check out the guide:\n\nhttp://www.i-hacked.com/content/view/189/48/
[img[http://img505.imageshack.us/img505/6913/janissary20officerxviicku4.jpg]]
<div class='header' macro='gradient vert #000 #464646'>\n<div class='headerShadow'>\n<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;\n<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n</div>\n<div class='headerForeground'>\n<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;\n<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n</div>\n</div>\n<div id='mainMenu' refresh='content' tiddler='MainMenu' force='true'></div>\n<div id='sidebar'>\n<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>\n<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>\n</div>\n<div id='displayArea'>\n<div id='messageArea'></div>\n<div id='tiddlerDisplay'></div>\n</div>
an awesome vegetarian co-op/market in O.B.
[img[http://img120.imageshack.us/img120/8181/phishyj7.jpg]]
Come On [[spaceshipper]] I'm counting on you!!!!\n\nOh fine.
A large birdlike animal such ass a HipPoo
Belonging to an [[Pimp]]
Pirate [img[http://img289.imageshack.us/img289/3891/piratethumbh100qc8.jpg]]\n+\nBooty [img[http://img144.imageshack.us/img144/4578/bootybreadkn5.gif]]\n=\nPirate's Booty [img[http://img144.imageshack.us/img144/8708/piratesbootykw5.jpg]]
/***\n|''Name:''|PlayerPlugin|\n|''Source:''|http://www.TiddlyTools.com/#PlayerPlugin|\n|''Author:''|Eric Shulman - ELS Design Studios|\n|''License:''|[[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|\n|''~CoreVersion:''|2.0.10|\n\nEmbed a media player in a tiddler. \n\n!!!!!Usage\n<<<\n{{{<<player [type] [URL] [width] [height] [hidecontrols]>>}}}\n\nwhere ''type'' is optional, and is one of the following: ''windows'', ''realone'', ''quicktime'', or ''flash''. If the media type is not specified, the plugin automatically renders Windows, Real, QuickTime or Flash player by matching known file extensions and/or specialized streaming-media transfer protocols (such as RTSP:). For unrecognized media types, the plugin assumes WindowsMedia (the player with the most users... *sigh*)\n<<<\n!!!!!Configuration\n<<<\nDefault player size:\nwidth: <<option txtPlayerDefaultWidth>> height: <<option txtPlayerDefaultHeight>>\n<<<\n!!!!!Examples\n<<<\n+++[Windows Media]...\nTimes Square Live Webcam\n{{{<<player id=1 http://www.earthcam.com/usa/newyork/timessquare/asx/tsq_stream.asx>>}}}\n<<player id=1 http://www.earthcam.com/usa/newyork/timessquare/asx/tsq_stream.asx>>\n===\n+++[RealOne]...\nBBC London: Live and Recorded news\n{{{<<player id=2 http://www.bbc.co.uk/london/realmedia/news/tvnews.ram>>}}}\n<<player id=2 http://www.bbc.co.uk/london/realmedia/news/tvnews.ram>>\n===\n+++[Quicktime]...\nAmerica Free TV: Classic Comedy\n{{{<<player id=3 http://www.americafree.tv/unicast_mov/AmericaFreeTVComedy.mov>>}}}\n<<player id=3 http://www.americafree.tv/unicast_mov/AmericaFreeTVComedy.mov>>\n===\n+++[Flash]...\nAsteroids arcade game\n{{{<<player id=4 http://www.80smusiclyrics.com/games/asteroids/asteroids.swf 400 300>>}}}\n<<player id=4 http://www.80smusiclyrics.com/games/asteroids/asteroids.swf 400 300>>\nGoogle Video\n{{{<<player id=5 flash http://video.google.com/googleplayer.swf?videoUrl=http%3A%2F%2Fvp.video.google.com%2Fvideodownload%3Fversion%3D0%26secureurl%3DoQAAAIVnUNP6GYRY8YnIRNPe4Uk5-j1q1MVpJIW4uyEFpq5Si0hcSDuig_JZcB9nNpAhbScm9W_8y_vDJQBw1DRdCVbXl-wwm5dyUiiStl_rXt0ATlstVzrUNC4fkgK_j7nmse7kxojRj1M3eo3jXKm2V8pQjWk97GcksMFFwg7BRAXmRSERexR210Amar5LYzlo9_k2AGUWPLyRhMJS4v5KtDSvNK0neL83ZjlHlSECYXyk%26sigh%3Dmpt2EOr86OAUNnPQ3b9Tr0wnDms%26begin%3D0%26len%3D429700%26docid%3D-914679554478687740&thumbnailUrl=http%3A%2F%2Fvideo.google.com%2FThumbnailServer%3Fcontentid%3De7e77162deb04c42%26second%3D5%26itag%3Dw320%26urlcreated%3D1144620753%26sigh%3DC3fqXPPS1tFiUqLzmkX3pdgYc2Y&playerId=-91467955447868774 400 326>>}}}\n<<player id=5 flash http://video.google.com/googleplayer.swf?videoUrl=http%3A%2F%2Fvp.video.google.com%2Fvideodownload%3Fversion%3D0%26secureurl%3DoQAAAIVnUNP6GYRY8YnIRNPe4Uk5-j1q1MVpJIW4uyEFpq5Si0hcSDuig_JZcB9nNpAhbScm9W_8y_vDJQBw1DRdCVbXl-wwm5dyUiiStl_rXt0ATlstVzrUNC4fkgK_j7nmse7kxojRj1M3eo3jXKm2V8pQjWk97GcksMFFwg7BRAXmRSERexR210Amar5LYzlo9_k2AGUWPLyRhMJS4v5KtDSvNK0neL83ZjlHlSECYXyk%26sigh%3Dmpt2EOr86OAUNnPQ3b9Tr0wnDms%26begin%3D0%26len%3D429700%26docid%3D-914679554478687740&thumbnailUrl=http%3A%2F%2Fvideo.google.com%2FThumbnailServer%3Fcontentid%3De7e77162deb04c42%26second%3D5%26itag%3Dw320%26urlcreated%3D1144620753%26sigh%3DC3fqXPPS1tFiUqLzmkX3pdgYc2Y&playerId=-91467955447868774 400 326>>\nYouTube Video\n{{{<<player id=6 flash http://www.youtube.com/v/OdT9z-JjtJk 400 300>>}}}\n<<player id=6 flash http://www.youtube.com/v/OdT9z-JjtJk 400 300>>\n===\n<<<\n!!!!!Installation\n<<<\nimport (or copy/paste) the following tiddlers into your document:\n''PlayerPlugin '' (tagged with <<tag systemConfig>>)\n^^documentation and javascript for macro handling^^\n<<<\n!!!!!Revision History\n<<<\n''2006.02.26 [0.7.0]''\nmajor re-write. handles default params better. create/recreate player objects via loadURL() API for use with interactive forms and scripts.\n''2006.01.27 [0.6.0]''\nadded support for 'extra' macro params to pass through to object parameters\n''2006.01.19 [0.5.0]''\nInitial ALPHA release\n''2005.12.23 [0.0.0]''\nStarted\n<<<\n!!!!!Credits\n<<<\nThis feature was developed by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]].\n<<<\n!!!!!Code\n***/\n\n// // macro definition\n\n//{{{\nversion.extensions.player = {major: 0, minor: 8, revision: 0, date: new Date(2006,3,7)};\n\nconfig.macros.player = {};\nconfig.macros.player.html = {};\nconfig.macros.player.handler= function(place,macroName,params) {\n var id=null;\n if (params[0].substr(0,3)=="id=") id=params.shift().substr(3);\n var type="";\n if ((params[0]=="windows")||(params[0]=="realone")||(params[0]=="quicktime")||(params[0]=="flash")) type=params.shift();\n var url=params.shift(); if (!url || !url.trim().length) url="";\n var width=params.shift();\n var height=params.shift();\n var show=(params.shift()=='hidecontrols')?"0":"1"; \n var extras=""; while (params[0]!=undefined) extras+="<param name='"+params.shift()+"' value='"+params.shift()+"'> ";\n this.loadURL(place,id,type,url,width,height,show,extras);\n}\n\nif (config.options.txtPlayerDefaultWidth==undefined) config.options.txtPlayerDefaultWidth="100%";\nif (config.options.txtPlayerDefaultHeight==undefined) config.options.txtPlayerDefaultHeight="480"; // can't use "100%"... player height doesn't stretch right :-(\n\nconfig.macros.player.loadURL=function(place,id,type,url,width,height,show,extras) {\n\n if (id==undefined) id="tiddlyPlayer";\n if (!width) var width=config.options.txtPlayerDefaultWidth;\n if (!height) var height=config.options.txtPlayerDefaultHeight;\n if (url && (!type || !type.length)) {\n if ((url.indexOf('mms')!=-1)||(url.indexOf('.asx')!=-1)||(url.indexOf('.wvx')!=-1)||(url.indexOf('.wmv')!=-1)||(url.indexOf('.mp3')!=-1))\n var type="windows";\n else if ((url.indexOf('rtsp')!=-1)||(url.indexOf('.ram')!=-1)||(url.indexOf('.rpm')!=-1)||(url.indexOf('.rm' )!=-1)||(url.indexOf('.ra' )!=-1))\n var type="realone";\n else if ((url.indexOf('.mov')!=-1)||(url.indexOf('.qt' )!=-1))\n var type="quicktime";\n else if ((url.indexOf('.swf')!=-1)||(url.indexOf('.flv')!=-1))\n var type="flash";\n }\n if (!type) var type="none";\n if (!url) var url="";\n if (show===undefined) var show=true;\n if (!extras) var extras="";\n if (type=="none" && url.trim().length) url="<br>unrecognized media type:<br>"+url;\n if (type=="realone") height-=show?60:0; // leave room for controls\n if (type=="windows") show=show?"1":"0"; // player-specific param value\n if (type=="realone") show=show?"block":"none";\n if (type=="quicktime") show=show?"true":"false";\n\n // create containing div for player HTML\n // and add or replace player in TW DOM structure\n var newplayer = document.createElement("div");\n newplayer.playerType=type;\n newplayer.setAttribute("id",id+"_div");\n var existing = document.getElementById(id+"_div");\n if (existing && !place) place=existing.parentNode;\n if (!existing)\n place.appendChild(newplayer);\n else {\n if (place==existing.parentNode) place.replaceChild(newplayer,existing)\n else { existing.parentNode.removeChild(existing); place.appendChild(newplayer); }\n }\n\n var html=config.macros.player.html[type];\n html=html.replace(/%i%/mg,id);\n html=html.replace(/%w%/mg,width);\n html=html.replace(/%h%/mg,height);\n html=html.replace(/%u%/mg,url);\n html=html.replace(/%s%/mg,show);\n html=html.replace(/%x%/mg,extras);\n newplayer.innerHTML=html;\n}\n//}}}\n\n// // Player-specific API functions: isReady(id), isPlaying(id), toggleControls(id), showControls(id,flag)\n\n//{{{\n// status values:\n// Windows: 0=Undefined, 1=Stopped, 2=Paused, 3=Playing, 4=ScanForward, 5=ScanReverse\n// 6=Buffering, 7=Waiting, 8=MediaEnded, 9=Transitioning, 10=Ready, 11=Reconnecting\n// RealOne: 0=Stopped, 1=Contacting, 2=Buffering, 3=Playing, 4=Paused, 5=Seeking\n// QuickTime: 'Waiting', 'Loading', 'Playable', 'Complete', 'Error:###'\n// Flash: 0=Loading, 1=Uninitialized, 2=Loaded, 3=Interactive, 4=Complete\nconfig.macros.player.isReady=function(id)\n{\n var d=document.getElementById(id+"_div"); if (!d) return false;\n var p=document.getElementById(id); if (!p) return false;\n if (d.playerType=='windows') return !((p.playState==0)||(p.playState==7)||(p.playState==9)||(p.playState==11));\n if (d.playerType=='realone') return (p.GetPlayState()>1);\n if (d.playerType=='quicktime') return !((p.getPluginStatus()=='Waiting')||(p.getPluginStatus()=='Loading'));\n if (d.playerType=='flash') return (p.ReadyState>2);\n return true;\n}\nconfig.macros.player.isPlaying=function(id)\n{\n var d=document.getElementById(id+"_div"); if (!d) return false;\n var p=document.getElementById(id); if (!p) return false;\n if (d.playerType=='windows') return (p.playState==3);\n if (d.playerType=='realone') return (p.GetPlayState()==3);\n if (d.playerType=='quicktime') return (p.getPluginStatus()=='Complete');\n if (d.playerType=='flash') return (p.ReadyState<4);\n return false;\n}\nconfig.macros.player.showControls=function(id,flag) {\n var d=document.getElementById(id+"_div"); if (!d) return false;\n var p=document.getElementById(id); if (!p) return false;\n if (d.playerType=='windows') { p.ShowControls=flag; p.ShowStatusBar=flag; }\n if (d.playerType=='realone') { alert('show/hide controls not available'); }\n if (d.playerType=='quicktime') // if player not ready, retry in one second\n { if (this.isReady(id)) p.setControllerVisible(flag); else setTimeout('config.macros.player.showControls("'+id+'",'+flag+')',1000); }\n if (d.playerType=='flash') { alert('show/hide controls not available'); }\n}\nconfig.macros.player.toggleControls=function(id) {\n var d=document.getElementById(id+"_div"); if (!d) return false;\n var p=document.getElementById(id); if (!p) return false;\n if (d.playerType=='windows') var flag=!p.ShowControls;\n if (d.playerType=='realone') var flag=true; // TBD\n if (d.playerType=='quicktime') var flag=!p.getControllerVisible();\n if (d.playerType=='flash') var flag=true; // TBD\n this.showControls(id,flag);\n}\nconfig.macros.player.fullScreen=function(id) {\n var d=document.getElementById(id+"_div"); if (!d) return false;\n var p=document.getElementById(id); if (!p) return false;\n if (d.playerType=='windows') p.DisplaySize=3;\n if (d.playerType=='realone') p.SetFullScreen();\n if (d.playerType=='quicktime') { alert('full screen not available'); }\n if (d.playerType=='flash') { alert('full screen not available'); }\n}\n//}}}\n\n// // Player HTML\n\n//{{{\n// placeholder (no player)\nconfig.macros.player.html.none=' \s\n <table id="%i%" width="%w%" height="%h%" style="background-color:#111;border:0;margin:0;padding:0;"> \s\n <tr style="background-color:#111;border:0;margin:0;padding:0;"> \s\n <td width="%w%" height="%h%" style="background-color:#111;color:#ccc;border:0;margin:0;padding:0;text-align:center;"> \s\n &nbsp; \s\n %u% \s\n &nbsp; \s\n </td></tr></table>';\n//}}}\n\n//{{{\n// Windows Media Player\n// v7.1 ID: classid=CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6\n// v9 ID: classid=CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95\nconfig.macros.player.html.windows=' \s\n <object id="%i%" width="%w%" height="%h%" style="margin:0;padding:0;" \s\n classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" \s\n codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715" \s\n align="baseline" border="0" \s\n standby="Loading Microsoft Windows Media Player components..." \s\n type="application/x-oleobject"> \s\n <param name="FileName" value="%u%"> <param name="ShowControls" value="%s%"> \s\n <param name="ShowPositionControls" value="1"> <param name="ShowAudioControls" value="1"> \s\n <param name="ShowTracker" value="1"> <param name="ShowDisplay" value="0"> \s\n <param name="ShowStatusBar" value="1"> <param name="AutoSize" value="1"> \s\n <param name="ShowGotoBar" value="0"> <param name="ShowCaptioning" value="0"> \s\n <param name="AutoStart" value="1"> <param name="AnimationAtStart" value="1"> \s\n <param name="TransparentAtStart" value="0"> <param name="AllowScan" value="1"> \s\n <param name="EnableContextMenu" value="1"> <param name="ClickToPlay" value="1"> \s\n <param name="InvokeURLs" value="1"> <param name="DefaultFrame" value="datawindow"> \s\n %x% \s\n <embed src="%u%" style="margin:0;padding:0;" \s\n align="baseline" border="0" width="%w%" height="%h%" \s\n type="application/x-mplayer2" \s\n pluginspage="http://www.microsoft.com/windows/windowsmedia/download/default.asp" \s\n name="%i%" showcontrols="%s%" showpositioncontrols="1" \s\n showaudiocontrols="1" showtracker="1" showdisplay="0" \s\n showstatusbar="%s%" autosize="1" showgotobar="0" showcaptioning="0" \s\n autostart="1" autorewind="0" animationatstart="1" transparentatstart="0" \s\n allowscan="1" enablecontextmenu="1" clicktoplay="0" invokeurls="1" \s\n defaultframe="datawindow"> \s\n </embed> \s\n </object>';\n//}}}\n\n//{{{\n// RealNetworks' RealOne Player\nconfig.macros.player.html.realone=' \s\n <table width="%w%" style="border:0;margin:0;padding:0;"><tr style="border:0;margin:0;padding:0;"><td style="border:0;margin:0;padding:0;"> \s\n <object id="%i%" width="%w%" height="%h%" style="margin:0;padding:0;" \s\n CLASSID="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"> \s\n <PARAM NAME="CONSOLE" VALUE="player"> \s\n <PARAM NAME="CONTROLS" VALUE="ImageWindow"> \s\n <PARAM NAME="AUTOSTART" Value="true"> \s\n <PARAM NAME="MAINTAINASPECT" Value="true"> \s\n <PARAM NAME="NOLOGO" Value="true"> \s\n <PARAM name="BACKGROUNDCOLOR" VALUE="#333333"> \s\n <PARAM NAME="SRC" VALUE="%u%"> \s\n %x% \s\n <EMBED width="%w%" height="%h%" controls="ImageWindow" type="audio/x-pn-realaudio-plugin" style="margin:0;padding:0;" \s\n name="%i%" \s\n src="%u%" \s\n console=player \s\n maintainaspect=true \s\n nologo=true \s\n backgroundcolor=#333333 \s\n autostart=true> \s\n </OBJECT> \s\n </td></tr><tr style="border:0;margin:0;padding:0;"><td style="border:0;margin:0;padding:0;"> \s\n <object id="%i%_controls" width="%w%" height="60" style="margin:0;padding:0;display:%s%" \s\n CLASSID="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"> \s\n <PARAM NAME="CONSOLE" VALUE="player"> \s\n <PARAM NAME="CONTROLS" VALUE="All"> \s\n <PARAM NAME="NOJAVA" Value="true"> \s\n <PARAM NAME="MAINTAINASPECT" Value="true"> \s\n <PARAM NAME="NOLOGO" Value="true"> \s\n <PARAM name="BACKGROUNDCOLOR" VALUE="#333333"> \s\n <PARAM NAME="SRC" VALUE="%u%"> \s\n %x% \s\n <EMBED WIDTH="%w%" HEIGHT="60" NOJAVA="true" type="audio/x-pn-realaudio-plugin" style="margin:0;padding:0;display:%s%" \s\n controls="All" \s\n name="%i%_controls" \s\n src="%u%" \s\n console=player \s\n maintainaspect=true \s\n nologo=true \s\n backgroundcolor=#333333> \s\n </OBJECT> \s\n </td></tr></table>';\n//}}}\n\n//{{{\n// QuickTime Player\nconfig.macros.player.html.quicktime=' \s\n <OBJECT ID="%i%" WIDTH="%w%" HEIGHT="%h%" style="margin:0;padding:0;" \s\n CLASSID="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" \s\n CODEBASE="http://www.apple.com/qtactivex/qtplugin.cab"> \s\n <PARAM name="SRC" VALUE="%u%"> \s\n <PARAM name="AUTOPLAY" VALUE="true"> \s\n <PARAM name="CONTROLLER" VALUE="%s%"> \s\n <PARAM name="BGCOLOR" VALUE="#333333"> \s\n <PARAM name="SCALE" VALUE="aspect"> \s\n <PARAM name="SAVEEMBEDTAGS" VALUE="true"> \s\n %x% \s\n <EMBED name="%i%" WIDTH="%w%" HEIGHT="%h%" style="margin:0;padding:0;" \s\n SRC="%u%" \s\n AUTOPLAY="true" \s\n SCALE="aspect" \s\n CONTROLLER="%s%" \s\n BGCOLOR="#333333" \s\n EnableJavaSript="true" \s\n PLUGINSPAGE="http://www.apple.com/quicktime/download/"> \s\n </EMBED> \s\n </OBJECT>';\n//}}}\n\n//{{{\n// Flash Player\nconfig.macros.player.html.flash='\s\n <object id="%i%" width="%w%" height="%h%" style="margin:0;padding:0;" \s\n classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" \s\n codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"> \s\n <param name="movie" value="%u%"> \s\n <param name="quality" value="high"> \s\n <param name="SCALE" value="exactfit"> \s\n <param name="bgcolor" value="333333"> \s\n %x% \s\n <embed name="%i%" src="%u%" style="margin:0;padding:0;" \s\n height="%h%" width="%w%" quality="high" \s\n pluginspage="http://www.macromedia.com/go/getflashplayer" \s\n type="application/x-shockwave-flash" scale="exactfit"> \s\n </embed> \s\n </object>';\n//}}}
An expression of the soul through words.\n\nDo you need to express yourself? \nThen write a poem so we can feel your emotions too.\nWe follow the form of the [[haiku]].\n\n\n
A skillful Pokemon trainer. [[JamminJelly]]
Gotta catch 'em all, gotta catch 'em all... POKEMON!\n[img[http://img101.imageshack.us/img101/7710/aaaaagotta1xq1.gif]]\nSquirtle used bubble beam!\nCritical Hit!\nIts not very effective...\nBulbasaur used headbutt!\nSquirtle flinched!\nBulbasaur used leaf cutter!\nIts [[super effective]]!\nSquirtle [[faint]]ed!\nAsh wins!\n[[Team Rocket]] is defeated!\n"Nice job Bulbasaur!"\nBulbasaur gained 483 exp.\nAsh gained 217g.\nWhat?! Bulbasaur is evolving!\nBulbasaur evolved into Ivysaur!\n
<<gtdActionList *>>
/***\n| Name:|QuickOpenTagPlugin|\n| Purpose:|Makes tag links into a Taggly style open tag plus a normal style drop down menu|\n| Creator:|SimonBaird|\n| Source:|http://simonbaird.com/mptw/#QuickOpenTagPlugin|\n| Requires:|TW 2.x|\n| Version|1.1.1 (19-May-06)|\n\n!History\n* Version 1.1.1 (19/05/2006)\n** Added a little more CSS so the tags look good in standard main menus and normal tiddlers\n* Version 1.1 (07/02/2006)\n** Fix Firefox 1.5.0.1 crashes\n** Updated by ~BidiX[at]~BidiX.info\n* Version 1.0 (?/01/2006)\n** First release\n\n***/\n//{{{\n\n//⊻ ⊽ ⋁ ▼ \n\nwindow.createTagButton_orig_mptw = createTagButton;\nwindow.createTagButton = function(place,tag,excludeTiddler) {\n var sp = createTiddlyElement(place,"span",null,"quickopentag");\n createTiddlyLink(sp,tag,true,"button");\n var theTag = createTiddlyButton(sp,config.macros.miniTag.dropdownchar,config.views.wikified.tag.tooltip.format([tag]),onClickTag);\n theTag.setAttribute("tag",tag);\n if(excludeTiddler)\n theTag.setAttribute("tiddler",excludeTiddler);\n return(theTag);\n};\n\nconfig.macros.miniTag = {handler:function(place,macroName,params,wikifier,paramString,tiddler) {\n var tagged = store.getTaggedTiddlers(tiddler.title);\n if (tagged.length > 0) {\n var theTag = createTiddlyButton(place,config.macros.miniTag.dropdownchar,config.views.wikified.tag.tooltip.format([tiddler.title]),onClickTag);\n theTag.setAttribute("tag",tiddler.title);\n theTag.className = "miniTag";\n }\n}};\n\nconfig.macros.miniTag.dropdownchar = (document.all?"▼":"▾"); // the fat one is the only one that works in IE\n\nconfig.macros.allTags.handler = function(place,macroName,params)\n{\n var tags = store.getTags();\n var theDateList = createTiddlyElement(place,"ul",null,null,null);\n if(tags.length === 0)\n createTiddlyElement(theDateList,"li",null,"listTitle",this.noTags);\n for (var t=0; t<tags.length; t++)\n {\n var theListItem =createTiddlyElement(theDateList,"li",null,null,null);\n var theLink = createTiddlyLink(theListItem,tags[t][0],true);\n var theCount = " (" + tags[t][1] + ")";\n theLink.appendChild(document.createTextNode(theCount));\n\n var theDropDownBtn = createTiddlyButton(theListItem," "+config.macros.miniTag.dropdownchar,this.tooltip.format([tags[t][0]]),onClickTag);\n theDropDownBtn.setAttribute("tag",tags[t][0]);\n }\n};\n\n\n// probably could redo these styles a bit cleaner..\nsetStylesheet(\n ".tagglyTagged .quickopentag, .tagged .quickopentag \sn"+\n " { margin-right:1.2em; border:1px solid #eee; padding:2px; padding-right:0px; padding-left:1px; }\sn"+\n ".quickopentag .tiddlyLink { padding:2px; padding-left:3px; }\sn"+\n ".quickopentag a.button { padding:1px; padding-left:2px; padding-right:2px;}\sn"+\n// extra specificity to make it work?\n "#displayArea .viewer .quickopentag a.button, \sn"+\n "#displayArea .viewer .quickopentag a.tiddyLink, \sn"+\n "#mainMenu .quickopentag a.tiddyLink, \sn"+\n "#mainMenu .quickopentag a.tiddyLink \sn"+\n " { border:0px solid black; }\sn"+\n "#displayArea .viewer .quickopentag a.button, \sn"+\n "#mainMenu .quickopentag a.button \sn"+\n "{ margin-left:0px; padding-left:2px; }\sn"+\n "#displayArea .viewer .quickopentag a.tiddlyLink, \sn"+\n "#mainMenu .quickopentag a.tiddlyLink \sn"+\n " { margin-right:0px; padding-right:0px; padding-left:0px; margin-left:0px; }\sn"+\n "a.miniTag {font-size:150%;} \sn"+\n "#mainMenu .quickopentag a.button \sn"+\n "{ margin-left:0px; padding-left:2px; margin-right:0px; padding-right:0px; }\sn"+ // looks better in right justified main menus\n "",\n"QuickOpenTagStyles");\n\n//}}}\n\n/***\n<html>&#x22bb; &#x22bd; &#x22c1; &#x25bc; &#x25be;</html>\n***/\n
\n"You couldn't talk if your mother talked to you"-[[John Wegge]]\n----\n"The horizon has been defeated...by the pirates of the new age"-[[Jack Johnson]]\n----\n"Wanna touch my uranium?"-[[JaredTheDonkey]]\n----\n"Owwwww I sat on my balls."-[[Charlie Stocker]]\n----\n"Make me a pizza!"-[[The Pizza Dude]] from [[Zoombinis]]\n----\n"Consider yourself tomato'd."-[[Ed]] from GoodBurger\n----\n"One pepperoni sausage meatball!!"-[[Bronx Pizza guy]]\n----\n"[[Underbed]] Box"-Label on Mr. Donnely's box\n----\n"Shuffle your Buffalo"-Mrs. Strugar\n----\n"Boot, scoot and boogie!"-[[Mr. Donnely]]\n----\n"I had to shave my moustache the first day of school, it'll look cool if it grows back"-[[J.E.]] \n----\n"There are about two or three sophomores, myself included, who can do anything right"-[[J.E.]]\n----\n"We should become weavers."-[[spaceshipper]]\n----\n"Carrie is like a dark temptress." - [[JamminJelly]]\n----\n"Yeeaaaaahhhhh." - Aryeh Hillman\n----\n"I know this guy who got really drunk in Mexico and had sex with a chicken. They were videotapin' him too."-Jew Ben\n----\n"Wayman, where art thou?"-"[[J.E.]]\n----\nMonday is washing day, Tuesday is duck day, Friday is fish day."-[[Mr. Donnely]]\n----\n"Ain't I the cat's pajamas?!" - [[Bug]] (from that story on the PLAN test)\n----\n"Here we go" "Owowoowowowowwo"-[[Luigi from Mario Kart]]\n----\n"Yo no tengo una novia, pero tengo una hermana muy buena." - [[Trevor]] in [[Ensenada]], talking to a bunch of hot mexican girls about his relationship status....\n----\n"I talk to books all the time." - [[J.E.]]\n----\n"I think this is gonna be a fun day. It's got ever-y-thang i like."-[[Anonymous]]\n----\n"If I got married to a chihuahua, is that sinful? I'd have to get a tiny little ring, wouldn't I?" - [[Dr. Kyle]]
/***\n|''Name:''|QuoteOfTheDayPlugin|\n|''Source:''|http://www.TiddlyTools.com/#QuoteOfTheDayPlugin|\n|''Author:''|Eric Shulman - ELS Design Studios|\n|''License:''|[[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|\n|''~CoreVersion:''|2.0.10|\n\nDisplay a randomly selected "quote of the day"\n\n!!!!!Usage\n<<<\n{{{<<QOTD //tiddlername//>>}}}\nPut your quotations into a tiddler (called //tiddlername//). Separate each quote by a horizontal rule (use "----" on a line by itself). Each time the macro is rendered it will display a different quotation, selected at random from the specified tiddler.\n<<<\n!!!!!Example\n<<<\n{{{<<QOTD Quotations>>}}}\n<<QOTD Quotations>>\n<<<\n!!!!!Installation\n<<<\nimport (or copy/paste) the following tiddlers into your document:\n''QuoteOfTheDayPlugin'' (tagged with <<tag systemConfig>>)\n^^documentation and javascript for QuoteOfTheDay handling^^\n<<<\n!!!!!Revision History\n<<<\n''2005.10.21 [1.0.0]''\nInitial Release\n<<<\n!!!!!Credits\n<<<\nThis feature was developed by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]].\nBased on a suggestion by M.Russula\n<<<\n!!!!!Code\n***/\n//{{{\nversion.extensions.QOTD = {major: 1, minor: 0, revision: 0, date: new Date(2005,10,21)};\nconfig.macros.QOTD = {};\nconfig.macros.QOTD.handler= function(place,macroName,params) {\n var txt=store.getTiddlerText(params[0]); if (!txt) return;\n var quotes=txt.split("\sn----\sn");\n // then, get a random index number between 0 and N-1 and wikify that text\n wikify(quotes[Math.floor(Math.random()*quotes.length)],place);\n}\n//}}}
http://studio.dubroom.org/tutorials-ketedrumtutorial01.htm\n\nMy woodshop project. A guide to making a 2 feet tall kete drum, which is a descendent of Africa drums.
<<list tagged txtGTDReferenceContext any>>
/***\n|''Name:''|ReminderPlugin|\n|''Version:''|2.3.8.1 (Mar 24, 2006)|\n|''Source:''|http://www.geocities.com/allredfaq/reminderMacros.html|\n|''Author:''|Jeremy Sheeley(pop1280 [at] excite [dot] com)|\n|''Licence:''|[[BSD open source license]]|\n|''Macros:''|reminder, showreminders, displayTiddlersWithReminders, newReminder|\n|''TiddlyWiki:''|2.0+|\n|''Browser:''|Firefox 1.0.4+; InternetExplorer 6.0|\n\n!Description\nThis plugin provides macros for tagging a date with a reminder. Use the {{{reminder}}} macro to do this. The {{{showReminders}}} and {{{displayTiddlersWithReminder}}} macros automatically search through all available tiddlers looking for upcoming reminders.\n\n''This version contains a fix by Tom Otvos that modifies tag filtering when tiddlers contain no tags. In this version, if you are filtering showReminders by tag, and a tiddler has no tags, the filter will //not// match the tiddler. Do not copy this into your own TW documents unless you accept this change.''\n\n!Installation\n* Create a new tiddler in your tiddlywiki titled ReminderPlugin and give it the {{{systemConfig}}} tag. The tag is important because it tells TW that this is executable code.\n* Double click this tiddler, and copy all the text from the tiddler's body.\n* Paste the text into the body of the new tiddler in your TW.\n* Save and reload your TW.\n* You can copy some examples into your TW as well. See [[Simple examples]], [[Holidays]], [[showReminders]] and [[Personal Reminders]]\n\n!Syntax:\n|>|See [[ReminderSyntax]] and [[showRemindersSyntax]]|\n\n!Revision history\n* v2.3.8 (Mar 9, 2006)\n**Bug fix: A global variable had snuck in, which was killing FF 1.5.0.1\n**Feature: You can now use TIDDLER and TIDDLERNAME in a regular reminder format\n* v2.3.6 (Mar 1, 2006)\n**Bug fix: Reminders for today weren't being matched sometimes.\n**Feature: Solidified integration with DatePlugin and CalendarPlugin\n**Feature: Recurring reminders will now return multiple hits in showReminders and the calendar.\n**Feature: Added TIDDLERNAME to the replacements for showReminders format, for plugins that need the title without brackets.\n* v2.3.5 (Feb 8, 2006)\n**Bug fix: Sped up reminders lots. Added a caching mechanism for reminders that have already been matched.\n* v2.3.4 (Feb 7, 2006)\n**Bug fix: Cleaned up code to hopefully prevent the Firefox 1.5.0.1 crash that was causing lots of plugins \nto crash Firefox. Thanks to http://www.jslint.com\n* v2.3.3 (Feb 2, 2006)\n**Feature: newReminder now has drop down lists instead of text boxes.\n**Bug fix: A trailing space in a title would trigger an infinite loop.\n**Bug fix: using tag:"birthday !reminder" would filter differently than tag:"!reminder birthday"\n* v2.3.2 (Jan 21, 2006)\n**Feature: newReminder macro, which will let you easily add a reminder to a tiddler. Thanks to Eric Shulman (http://www.elsdesign.com) for the code to do this.\n** Bug fix: offsetday was not working sometimes\n** Bug fix: when upgrading to 2.0, I included a bit to exclude tiddlers tagged with excludeSearch. I've reverted back to searching through all tiddlers\n* v2.3.1 (Jan 7, 2006)\n**Feature: 2.0 compatibility\n**Feature AlanH sent some code to make sure that showReminders prints a message if no reminders are found.\n* v2.3.0 (Jan 3, 2006)\n** Bug Fix: Using "Last Sunday (-0)" as a offsetdayofweek wasn't working.\n** Bug Fix: Daylight Savings time broke offset based reminders (for example year:2005 month:8 day:23 recurdays:7 would match Monday instead of Tuesday during DST.\n\n!Code\n***/\n//{{{\n\n//============================================================================\n//============================================================================\n// ReminderPlugin\n//============================================================================\n//============================================================================\n\nversion.extensions.ReminderPlugin = {major: 2, minor: 3, revision: 8, date: new Date(2006,3,9), source: "http://www.geocities.com/allredfaq/reminderMacros.html"};\n\n//============================================================================\n// Configuration\n// Modify this section to change the defaults for \n// leadtime and display strings\n//============================================================================\n\nconfig.macros.reminders = {};\nconfig.macros["reminder"] = {};\nconfig.macros["newReminder"] = {};\nconfig.macros["showReminders"] = {};\nconfig.macros["displayTiddlersWithReminders"] = {};\n\nconfig.macros.reminders["defaultLeadTime"] = [0,6000];\nconfig.macros.reminders["defaultReminderMessage"] = "DIFF: TITLE on DATE ANNIVERSARY";\nconfig.macros.reminders["defaultShowReminderMessage"] = "DIFF: TITLE on DATE ANNIVERSARY -- TIDDLER";\nconfig.macros.reminders["defaultAnniversaryMessage"] = "(DIFF)";\nconfig.macros.reminders["untitledReminder"] = "Untitled Reminder";\nconfig.macros.reminders["noReminderFound"] = "Couldn't find a match for TITLE in the next LEADTIMEUPPER days."\nconfig.macros.reminders["todayString"] = "Today";\nconfig.macros.reminders["tomorrowString"] = "Tomorrow";\nconfig.macros.reminders["ndaysString"] = "DIFF days";\nconfig.macros.reminders["emtpyShowRemindersString"] = "There are no upcoming events";\n\n\n//============================================================================\n// Code\n// You should not need to edit anything \n// below this. Make sure to edit this tiddler and copy \n// the code from the text box, to make sure that \n// tiddler rendering doesn't interfere with the copy \n// and paste.\n//============================================================================\n\n// This line is to preserve 1.2 compatibility\n if (!story) var story=window; \n//this object will hold the cache of reminders, so that we don't\n//recompute the same reminder over again.\nvar reminderCache = {};\n\nconfig.macros.showReminders.handler = function showReminders(place,macroName,params)\n{\n var now = new Date().getMidnight();\n var paramHash = {};\n var leadtime = [0,14];\n paramHash = getParamsForReminder(params);\n var bProvidedDate = (paramHash["year"] != null) || \n (paramHash["month"] != null) || \n (paramHash["day"] != null) || \n (paramHash["dayofweek"] != null);\n if (paramHash["leadtime"] != null)\n {\n leadtime = paramHash["leadtime"];\n if (bProvidedDate)\n {\n //If they've entered a day, we need to make \n //sure to find it. We'll reset the \n //leadtime a few lines down.\n paramHash["leadtime"] = [-10000, 10000];\n }\n }\n var matchedDate = now;\n if (bProvidedDate)\n {\n var leadTimeLowerBound = new Date().getMidnight().addDays(paramHash["leadtime"][0]);\n var leadTimeUpperBound = new Date().getMidnight().addDays(paramHash["leadtime"][1]);\n matchedDate = findDateForReminder(paramHash, new Date().getMidnight(), leadTimeLowerBound, leadTimeUpperBound); \n }\n\n var arr = findTiddlersWithReminders(matchedDate, leadtime, paramHash["tag"], paramHash["limit"]);\n var elem = createTiddlyElement(place,"span",null,null, null);\n var mess = "";\n if (arr.length == 0)\n {\n mess += config.macros.reminders.emtpyShowRemindersString; \n }\n for (var j = 0; j < arr.length; j++)\n {\n if (paramHash["format"] != null)\n {\n arr[j]["params"]["format"] = paramHash["format"];\n }\n else\n {\n arr[j]["params"]["format"] = config.macros.reminders["defaultShowReminderMessage"];\n }\n mess += getReminderMessageForDisplay(arr[j]["diff"], arr[j]["params"], arr[j]["matchedDate"], arr[j]["tiddler"]);\n mess += "\sn";\n }\n wikify(mess, elem, null, null);\n};\n\n\nconfig.macros.displayTiddlersWithReminders.handler = function displayTiddlersWithReminders(place,macroName,params)\n{\n var now = new Date().getMidnight();\n var paramHash = {};\n var leadtime = [0,14];\n paramHash = getParamsForReminder(params);\n var bProvidedDate = (paramHash["year"] != null) || \n (paramHash["month"] != null) || \n (paramHash["day"] != null) || \n (paramHash["dayofweek"] != null);\n if (paramHash["leadtime"] != null)\n {\n leadtime = paramHash["leadtime"];\n if (bProvidedDate)\n {\n //If they've entered a day, we need to make \n //sure to find it. We'll reset the leadtime \n //a few lines down.\n paramHash["leadtime"] = [-10000,10000];\n }\n }\n var matchedDate = now;\n if (bProvidedDate)\n {\n var leadTimeLowerBound = new Date().getMidnight().addDays(paramHash["leadtime"][0]);\n var leadTimeUpperBound = new Date().getMidnight().addDays(paramHash["leadtime"][1]);\n matchedDate = findDateForReminder(paramHash, new Date().getMidnight(), leadTimeLowerBound, leadTimeUpperBound); \n }\n var arr = findTiddlersWithReminders(matchedDate, leadtime, paramHash["tag"], paramHash["limit"]);\n for (var j = 0; j < arr.length; j++)\n {\n displayTiddler(null, arr[j]["tiddler"], 0, null, false, false, false);\n }\n};\n\nconfig.macros.reminder.handler = function reminder(place,macroName,params)\n{\n var dateHash = getParamsForReminder(params);\n if (dateHash["hidden"] != null)\n {\n return;\n }\n var leadTime = dateHash["leadtime"];\n if (leadTime == null)\n {\n leadTime = config.macros.reminders["defaultLeadTime"]; \n }\n var leadTimeLowerBound = new Date().getMidnight().addDays(leadTime[0]);\n var leadTimeUpperBound = new Date().getMidnight().addDays(leadTime[1]);\n var matchedDate = findDateForReminder(dateHash, new Date().getMidnight(), leadTimeLowerBound, leadTimeUpperBound);\n if (!window.story) \n {\n window.story=window; \n }\n if (!store.getTiddler) \n {\n store.getTiddler=function(title) {return this.tiddlers[title];};\n }\n var title = window.story.findContainingTiddler(place).id.substr(7);\n if (matchedDate != null)\n {\n var diff = matchedDate.getDifferenceInDays(new Date().getMidnight());\n var elem = createTiddlyElement(place,"span",null,null, null);\n var mess = getReminderMessageForDisplay(diff, dateHash, matchedDate, title);\n wikify(mess, elem, null, null);\n }\n else\n {\n createTiddlyElement(place,"span",null,null, config.macros.reminders["noReminderFound"].replace("TITLE", dateHash["title"]).replace("LEADTIMEUPPER", leadTime[1]).replace("LEADTIMELOWER", leadTime[0]).replace("TIDDLERNAME", title).replace("TIDDLER", "[[" + title + "]]") );\n }\n};\n\nconfig.macros.newReminder.handler = function newReminder(place,macroName,params)\n{\n var today=new Date().getMidnight();\n var formstring = '<html><form>Year: <select name="year"><option value="">Every year</option>';\n for (var i = 0; i < 5; i++)\n {\n formstring += '<option' + ((i == 0) ? ' selected' : '') + ' value="' + (today.getFullYear() +i) + '">' + (today.getFullYear() + i) + '</option>';\n }\n formstring += '</select>&nbsp;&nbsp;Month:<select name="month"><option value="">Every month</option>';\n for (i = 0; i < 12; i++)\n {\n formstring += '<option' + ((i == today.getMonth()) ? ' selected' : '') + ' value="' + (i+1) + '">' + config.messages.dates.months[i] + '</option>';\n }\n formstring += '</select>&nbsp;&nbsp;Day:<select name="day"><option value="">Every day</option>';\n for (i = 1; i < 32; i++)\n {\n formstring += '<option' + ((i == (today.getDate() )) ? ' selected' : '') + ' value="' + i + '">' + i + '</option>';\n }\n\nformstring += '</select>&nbsp;&nbsp;Reminder Title:<input type="text" size="40" name="title" value="please enter a title" onfocus="this.select();"><input type="button" value="ok" onclick="addReminderToTiddler(this.form)"></form></html>';\n\n var panel = config.macros.slider.createSlider(place,null,"New Reminder","Open a form to add a new reminder to this tiddler");\n wikify(formstring ,panel,null,store.getTiddler(params[1]));\n};\n\n// onclick: process input and insert reminder at 'marker'\nwindow.addReminderToTiddler = function(form) {\n if (!window.story) \n {\n window.story=window; \n }\n if (!store.getTiddler) \n {\n store.getTiddler=function(title) {return this.tiddlers[title];};\n }\n var title = window.story.findContainingTiddler(form).id.substr(7);\n var tiddler=store.getTiddler(title);\n var txt='\sn<<reminder ';\n if (form.year.value != "")\n txt += 'year:'+form.year.value + ' ';\n if (form.month.value != "")\n txt += 'month:'+form.month.value + ' ';\n if (form.day.value != "")\n txt += 'day:'+form.day.value + ' ';\n txt += 'title:"'+form.title.value+'" ';\n txt +='>>';\n tiddler.set(null,tiddler.text + txt);\n window.story.refreshTiddler(title,1,true);\n store.setDirty(true);\n};\n\nfunction hasTag(tiddlerTags, tagFilters)\n{\n //Make sure we respond well to empty tagFilterlists\n if (tagFilters.length==0) return true;\n \n var bHasTag = false;\n \n /*bNoPos says: "'till now there has been no check using a positive filter"\n Imagine a filterlist consisting of 1 negative filter:\n If the filter isn't matched, we want hasTag to be true.\n Yet bHasTag is still false ('cause only positive filters cause bHasTag to change)\n \n If no positive filters are present bNoPos is true, and no negative filters are matched so we have not returned false\n Thus: hasTag returns true.\n \n If at any time a positive filter is encountered, we want at least one of the tags to match it, so we turn bNoPos to false, which\n means bHasTag must be true for hasTag to return true*/\n var bNoPos=true;\n \n for (var t3 = 0; t3 < tagFilters.length; t3++)\n {\n var negTest = tagFilters[t3].length > 1 && tagFilters[t3].charAt(0) == '!';\n // do the positive filter test outside of the tag loop, in case there are no tags!\n if (bNoPos && !negTest) bNoPos = false;\n \n for(var t2=0; t2<tiddlerTags.length; t2++)\n {\n if (negTest) \n {\n if (tiddlerTags[t2] == tagFilters[t3].substring(1))\n {\n //If at any time a negative filter is matched, we return false\n return false;\n }\n }\n else \n {\n if (tiddlerTags[t2] == tagFilters[t3])\n {\n //A positive filter is matched. As long as no negative filter is matched, hasTag will return true\n bHasTag=true;\n }\n }\n }\n }\n return (bNoPos || bHasTag);\n};\n\n//This function searches all tiddlers for the reminder //macro. It is intended that other plugins (like //calendar) will use this function to query for \n//upcoming reminders.\n//The arguments to this function filter out reminders //based on when they will fire.\n//\n//ARGUMENTS:\n//baseDate is the date that is used as "now". \n//leadtime is a two element int array, with leadtime[0] \n// as the lower bound and leadtime[1] as the\n// upper bound. A reasonable default is [0,14]\n//tags is a space-separated list of tags to use to filter \n// tiddlers. If a tag name begins with an !, then \n// only tiddlers which do not have that tag will \n// be considered. For example "examples holidays" \n// will search for reminders in any tiddlers that \n// are tagged with examples or holidays and \n// "!examples !holidays" will search for reminders \n// in any tiddlers that are not tagged with \n// examples or holidays. Pass in null to search \n// all tiddlers.\n//limit. If limit is null, individual reminders can \n// override the leadtime specified earlier. \n// Pass in 1 in order to override that behavior.\n\nwindow.findTiddlersWithReminders = function findTiddlersWithReminders(baseDate, leadtime, tags, limit)\n{\n//function(searchRegExp,sortField,excludeTag)\n// var macroPattern = "<<([^>\s\s]+)(?:\s\s*)([^>]*)>>";\n var macroPattern = "<<(reminder)(.*)>>";\n var macroRegExp = new RegExp(macroPattern,"mg");\n var matches = store.search(macroRegExp,"title","");\n var arr = [];\n var tagsArray = null;\n if (tags != null)\n {\n tagsArray = tags.split(" ");\n }\n for(var t=matches.length-1; t>=0; t--)\n {\n if (tagsArray != null)\n {\n //If they specified tags to filter on, and this tiddler doesn't \n //match, skip it entirely.\n if ( ! hasTag(matches[t].tags, tagsArray))\n {\n continue;\n }\n }\n\n var targetText = matches[t].text;\n do {\n // Get the next formatting match\n var formatMatch = macroRegExp.exec(targetText);\n if(formatMatch && formatMatch[1] != null && formatMatch[1].toLowerCase() == "reminder")\n {\n //Find the matching date.\n \n var params = formatMatch[2] != null ? formatMatch[2].readMacroParams() : {};\n var dateHash = getParamsForReminder(params);\n if (limit != null || dateHash["leadtime"] == null)\n {\n if (leadtime == null)\n dateHash["leadtime"] = leadtime;\n else\n {\n dateHash["leadtime"] = [];\n dateHash["leadtime"][0] = leadtime[0];\n dateHash["leadtime"][1] = leadtime[1];\n }\n }\n if (dateHash["leadtime"] == null)\n dateHash["leadtime"] = config.macros.reminders["defaultLeadTime"]; \n var leadTimeLowerBound = baseDate.addDays(dateHash["leadtime"][0]);\n var leadTimeUpperBound = baseDate.addDays(dateHash["leadtime"][1]);\n var matchedDate = findDateForReminder(dateHash, baseDate, leadTimeLowerBound, leadTimeUpperBound);\n while (matchedDate != null)\n {\n var hash = {};\n hash["diff"] = matchedDate.getDifferenceInDays(baseDate);\n hash["matchedDate"] = new Date(matchedDate.getFullYear(), matchedDate.getMonth(), matchedDate.getDate(), 0, 0);\n hash["params"] = cloneParams(dateHash);\n hash["tiddler"] = matches[t].title;\n hash["tags"] = matches[t].tags;\n arr.pushUnique(hash);\n if (dateHash["recurdays"] != null || (dateHash["year"] == null))\n {\n leadTimeLowerBound = leadTimeLowerBound.addDays(matchedDate.getDifferenceInDays(leadTimeLowerBound)+ 1);\n matchedDate = findDateForReminder(dateHash, baseDate, leadTimeLowerBound, leadTimeUpperBound);\n }\n else matchedDate = null;\n }\n }\n }while(formatMatch);\n }\n if(arr.length > 1) //Sort the array by number of days remaining.\n {\n arr.sort(function (a,b) {if(a["diff"] == b["diff"]) {return(0);} else {return (a["diff"] < b["diff"]) ? -1 : +1; } });\n }\n return arr;\n};\n\n//This function takes the reminder macro parameters and\n//generates the string that is used for display.\n//This function is not intended to be called by \n//other plugins.\n window.getReminderMessageForDisplay= function getReminderMessageForDisplay(diff, params, matchedDate, tiddlerTitle)\n{\n var anniversaryString = "";\n var reminderTitle = params["title"];\n if (reminderTitle == null)\n {\n reminderTitle = config.macros.reminders["untitledReminder"];\n }\n if (params["firstyear"] != null)\n {\n anniversaryString = config.macros.reminders["defaultAnniversaryMessage"].replace("DIFF", (matchedDate.getFullYear() - params["firstyear"]));\n }\n var mess = "";\n var diffString = "";\n if (diff == 0)\n {\n diffString = config.macros.reminders["todayString"];\n }\n else if (diff == 1)\n {\n diffString = config.macros.reminders["tomorrowString"];\n }\n else\n {\n diffString = config.macros.reminders["ndaysString"].replace("DIFF", diff);\n }\n var format = config.macros.reminders["defaultReminderMessage"];\n if (params["format"] != null)\n {\n format = params["format"];\n }\n mess = format;\n//HACK! -- Avoid replacing DD in TIDDLER with the date\n mess = mess.replace(/TIDDLER/g, "TIDELER");\n mess = matchedDate.formatStringDateOnly(mess);\n mess = mess.replace(/TIDELER/g, "TIDDLER");\n if (tiddlerTitle != null)\n {\n mess = mess.replace(/TIDDLERNAME/g, tiddlerTitle);\n mess = mess.replace(/TIDDLER/g, "[[" + tiddlerTitle + "]]");\n }\n \n mess = mess.replace("DIFF", diffString).replace("TITLE", reminderTitle).replace("DATE", matchedDate.formatString("DDD MMM DD, YYYY")).replace("ANNIVERSARY", anniversaryString);\n return mess;\n};\n\n// Parse out the macro parameters into a hashtable. This\n// handles the arguments for reminder, showReminders and \n// displayTiddlersWithReminders.\nwindow.getParamsForReminder = function getParamsForReminder(params)\n{\n var dateHash = {};\n var type = "";\n var num = 0;\n var title = "";\n for(var t=0; t<params.length; t++)\n {\n var split = params[t].split(":");\n type = split[0].toLowerCase();\n var value = split[1];\n for (var i=2; i < split.length; i++)\n {\n value += ":" + split[i];\n }\n if (type == "nolinks" || type == "limit" || type == "hidden")\n {\n num = 1;\n }\n else if (type == "leadtime")\n {\n var leads = value.split("...");\n if (leads.length == 1)\n {\n leads[1]= leads[0];\n leads[0] = 0;\n }\n leads[0] = parseInt(leads[0], 10);\n leads[1] = parseInt(leads[1], 10);\n num = leads;\n }\n else if (type == "offsetdayofweek")\n {\n if (value.substr(0,1) == "-")\n {\n dateHash["negativeOffsetDayOfWeek"] = 1;\n value = value.substr(1);\n }\n num = parseInt(value, 10);\n }\n else if (type != "title" && type != "tag" && type != "format")\n {\n num = parseInt(value, 10);\n }\n else\n {\n title = value;\n t++;\n while (title.substr(0,1) == '"' && title.substr(title.length - 1,1) != '"' && params[t] != undefined)\n {\n title += " " + params[t++];\n }\n //Trim off the leading and trailing quotes\n if (title.substr(0,1) == "\s"" && title.substr(title.length - 1,1)== "\s"")\n {\n title = title.substr(1, title.length - 2);\n t--;\n }\n num = title;\n }\n dateHash[type] = num;\n }\n //date is synonymous with day\n if (dateHash["day"] == null)\n {\n dateHash["day"] = dateHash["date"];\n }\n return dateHash;\n};\n\n//This function finds the date specified in the reminder \n//parameters. It will return null if no match can be\n//found. This function is not intended to be used by\n//other plugins.\nwindow.findDateForReminder= function findDateForReminder( dateHash, baseDate, leadTimeLowerBound, leadTimeUpperBound)\n{\n if (baseDate == null)\n {\n baseDate = new Date().getMidnight();\n }\n var hashKey = baseDate.convertToYYYYMMDDHHMM();\n for (var k in dateHash)\n {\n hashKey += "," + k + "|" + dateHash[k];\n }\n hashKey += "," + leadTimeLowerBound.convertToYYYYMMDDHHMM();\n hashKey += "," + leadTimeUpperBound.convertToYYYYMMDDHHMM();\n if (reminderCache[hashKey] == null)\n {\n //If we don't find a match in this run, then we will\n //cache that the reminder can't be matched.\n reminderCache[hashKey] = false;\n }\n else if (reminderCache[hashKey] == false)\n {\n //We've already tried this date and failed\n return null;\n }\n else\n {\n return reminderCache[hashKey];\n }\n \n var bOffsetSpecified = dateHash["offsetyear"] != null || \n dateHash["offsetmonth"] != null || \n dateHash["offsetday"] != null || \n dateHash["offsetdayofweek"] != null || \n dateHash["recurdays"] != null;\n \n // If we are matching the base date for a dayofweek offset, look for the base date a \n //little further back.\n var tmp1leadTimeLowerBound = leadTimeLowerBound; \n if ( dateHash["offsetdayofweek"] != null)\n {\n tmp1leadTimeLowerBound = leadTimeLowerBound.addDays(-6); \n }\n var matchedDate = baseDate.findMatch(dateHash, tmp1leadTimeLowerBound, leadTimeUpperBound);\n if (matchedDate != null)\n {\n var newMatchedDate = matchedDate;\n if (dateHash["recurdays"] != null)\n {\n while (newMatchedDate.getTime() < leadTimeLowerBound.getTime())\n {\n newMatchedDate = newMatchedDate.addDays(dateHash["recurdays"]);\n }\n }\n else if (dateHash["offsetyear"] != null || \n dateHash["offsetmonth"] != null || \n dateHash["offsetday"] != null || \n dateHash["offsetdayofweek"] != null)\n {\n var tmpdateHash = cloneParams(dateHash);\n tmpdateHash["year"] = dateHash["offsetyear"];\n tmpdateHash["month"] = dateHash["offsetmonth"];\n tmpdateHash["day"] = dateHash["offsetday"];\n tmpdateHash["dayofweek"] = dateHash["offsetdayofweek"];\n var tmpleadTimeLowerBound = leadTimeLowerBound;\n var tmpleadTimeUpperBound = leadTimeUpperBound;\n if (tmpdateHash["offsetdayofweek"] != null)\n {\n if (tmpdateHash["negativeOffsetDayOfWeek"] == 1)\n {\n tmpleadTimeLowerBound = matchedDate.addDays(-6);\n tmpleadTimeUpperBound = matchedDate;\n\n }\n else\n {\n tmpleadTimeLowerBound = matchedDate;\n tmpleadTimeUpperBound = matchedDate.addDays(6);\n }\n\n }\n newMatchedDate = matchedDate.findMatch(tmpdateHash, tmpleadTimeLowerBound, tmpleadTimeUpperBound);\n //The offset couldn't be matched. return null.\n if (newMatchedDate == null)\n {\n return null;\n }\n }\n if (newMatchedDate.isBetween(leadTimeLowerBound, leadTimeUpperBound))\n {\n reminderCache[hashKey] = newMatchedDate;\n return newMatchedDate;\n }\n }\n return null;\n};\n\n//This does much the same job as findDateForReminder, but\n//this one doesn't deal with offsets or recurring \n//reminders.\nDate.prototype.findMatch = function findMatch(dateHash, leadTimeLowerBound, leadTimeUpperBound)\n{\n\n var bSpecifiedYear = (dateHash["year"] != null);\n var bSpecifiedMonth = (dateHash["month"] != null);\n var bSpecifiedDay = (dateHash["day"] != null);\n var bSpecifiedDayOfWeek = (dateHash["dayofweek"] != null);\n if (bSpecifiedYear && bSpecifiedMonth && bSpecifiedDay)\n {\n return new Date(dateHash["year"], dateHash["month"]-1, dateHash["day"], 0, 0);\n }\n var bMatchedYear = !bSpecifiedYear;\n var bMatchedMonth = !bSpecifiedMonth;\n var bMatchedDay = !bSpecifiedDay;\n var bMatchedDayOfWeek = !bSpecifiedDayOfWeek;\n if (bSpecifiedDay && bSpecifiedMonth && !bSpecifiedYear && !bSpecifiedDayOfWeek)\n {\n\n //Shortcut -- First try this year. If it's too small, try next year.\n var tmpMidnight = this.getMidnight();\n var tmpDate = new Date(this.getFullYear(), dateHash["month"]-1, dateHash["day"], 0,0);\n if (tmpDate.getTime() < leadTimeLowerBound.getTime())\n {\n tmpDate = new Date((this.getFullYear() + 1), dateHash["month"]-1, dateHash["day"], 0,0);\n }\n if ( tmpDate.isBetween(leadTimeLowerBound, leadTimeUpperBound))\n {\n return tmpDate;\n }\n else\n {\n return null;\n }\n }\n\n var newDate = leadTimeLowerBound; \n while (newDate.isBetween(leadTimeLowerBound, leadTimeUpperBound))\n {\n var tmp = testDate(newDate, dateHash, bSpecifiedYear, bSpecifiedMonth, bSpecifiedDay, bSpecifiedDayOfWeek);\n if (tmp != null)\n return tmp;\n newDate = newDate.addDays(1);\n }\n};\n\nfunction testDate(testMe, dateHash, bSpecifiedYear, bSpecifiedMonth, bSpecifiedDay, bSpecifiedDayOfWeek)\n{\n var bMatchedYear = !bSpecifiedYear;\n var bMatchedMonth = !bSpecifiedMonth;\n var bMatchedDay = !bSpecifiedDay;\n var bMatchedDayOfWeek = !bSpecifiedDayOfWeek;\n if (bSpecifiedYear)\n {\n bMatchedYear = (dateHash["year"] == testMe.getFullYear());\n }\n if (bSpecifiedMonth)\n {\n bMatchedMonth = ((dateHash["month"] - 1) == testMe.getMonth() );\n }\n if (bSpecifiedDay)\n {\n bMatchedDay = (dateHash["day"] == testMe.getDate());\n }\n if (bSpecifiedDayOfWeek)\n {\n bMatchedDayOfWeek = (dateHash["dayofweek"] == testMe.getDay());\n }\n\n if (bMatchedYear && bMatchedMonth && bMatchedDay && bMatchedDayOfWeek)\n {\n return testMe;\n }\n};\n\n//Returns true if the date is in between two given dates\nDate.prototype.isBetween = function isBetween(lowerBound, upperBound)\n{\n return (this.getTime() >= lowerBound.getTime() && this.getTime() <= upperBound.getTime());\n}\n//Return a new date, with the time set to midnight (0000)\nDate.prototype.getMidnight = function getMidnight()\n{\n return new Date(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0);\n};\n// Add the specified number of days to a date.\nDate.prototype.addDays = function addDays(numberOfDays)\n{\n return new Date(this.getFullYear(), this.getMonth(), this.getDate() + numberOfDays, 0, 0);\n};\n//Return the number of days between two dates.\nDate.prototype.getDifferenceInDays = function getDifferenceInDays(otherDate)\n{\n//I have to do it this way, because this way ignores daylight savings\n var tmpDate = this.addDays(0);\n if (this.getTime() > otherDate.getTime())\n {\n var i = 0;\n for (i = 0; tmpDate.getTime() > otherDate.getTime(); i++)\n {\n tmpDate = tmpDate.addDays(-1);\n }\n return i;\n }\n else\n {\n var i = 0;\n for (i = 0; tmpDate.getTime() < otherDate.getTime(); i++)\n {\n tmpDate = tmpDate.addDays(1);\n }\n return i * -1;\n }\n return 0;\n};\nfunction cloneParams(what) {\n var tmp = {};\n for (var i in what) {\n tmp[i] = what[i];\n }\n return tmp;\n}\n// Substitute date components into a string\nDate.prototype.formatStringDateOnly = function formatStringDateOnly(template)\n{\n template = template.replace("YYYY",this.getFullYear());\n template = template.replace("YY",String.zeroPad(this.getFullYear()-2000,2));\n template = template.replace("MMM",config.messages.dates.months[this.getMonth()]);\n template = template.replace("0MM",String.zeroPad(this.getMonth()+1,2));\n template = template.replace("MM",this.getMonth()+1);\n template = template.replace("DDD",config.messages.dates.days[this.getDay()]);\n template = template.replace("0DD",String.zeroPad(this.getDate(),2));\n template = template.replace("DD",this.getDate());\n return template;\n};\n\n//}}}
\n!Overdue actions\n<<showReminders leadtime:-365...-1 tag:"action !done" format:"DATE: TIDDLER TITLE">>\n!Actions for today and tomorrow\n<<showReminders leadtime:0...1 tag:"action !done" format:"DIFF: TIDDLER TITLE">>\n!All reminders for the next week\n<<showReminders leadtime:0...7 tag:"!done" format:"DIFF: TIDDLER TITLE">>
/***\n| Name:|RenameTagsPlugin|\n| Purpose:|Allows you to easily rename tags|\n| Creator:|SimonBaird|\n| Source:|http://simonbaird.com/mptw/#RenameTagsPlugin|\n| Version:|1.0.1 (5-Mar-06)|\n\n!Description\nIf you rename a tiddler/tag that is tagging other tiddlers this plugin will ask you if you want to rename the tag in each tiddler where it is used. This is essential if you use tags and ever want to rename them. To use it, open the tag you want to rename as a tiddler (it's the last option in the tag popup menu), edit it, rename it and click done. You will asked if you want to rename the tag. Click OK to rename the tag in the tiddlers that use it. Click Cancel to not rename the tag.\n\n!Example\nTry renaming [[Plugins]] or [[CSS]] on this site.\n\n!History\n* 1.0.1 (5-Mar-06) - Added feature to allow renaming of tags without side-effect of creating a tiddler\n* 1.0.0 (5-Mar-06) - First working version\n\n!Code\n***/\n//{{{\n\nversion.extensions.RenameTagsPlugin = {\n major: 1, minor: 0, revision: 0,\n date: new Date(2006,3,5),\n source: "http://simonbaird.com/mptw/#RenameTagsPlugin"\n};\n\nconfig.macros.RenameTagsPlugin = {};\nconfig.macros.RenameTagsPlugin.prompt = "Rename the tag '%0' to '%1' in %2 tidder%3?";\n\n// these are very useful, perhaps they should be in the core\nif (!store.addTag) {\n store.addTag = function(title,tag) {\n var t=this.getTiddler(title); if (!t || !t.tags) return;\n t.tags.push(tag);\n };\n};\n\nif (!store.removeTag) {\n store.removeTag = function(title,tag) {\n var t=this.getTiddler(title); if (!t || !t.tags) return;\n if (t.tags.find(tag)!=null) t.tags.splice(t.tags.find(tag),1);\n };\n};\n\nstore.saveTiddler_orig_tagrename = store.saveTiddler;\nstore.saveTiddler = function(title,newTitle,newBody,modifier,modified,tags) {\n if (title != newTitle && this.getTaggedTiddlers(title).length > 0) {\n // then we are renaming a tag\n var tagged = this.getTaggedTiddlers(title);\n if (confirm(config.macros.RenameTagsPlugin.prompt.format([title,newTitle,tagged.length,tagged.length>1?"s":""]))) {\n for (var i=0;i<tagged.length;i++) {\n store.removeTag(tagged[i].title,title);\n store.addTag(tagged[i].title,newTitle);\n // if tiddler is visible refresh it to show updated tag\n story.refreshTiddler(tagged[i].title,false,true);\n }\n }\n if (!this.tiddlerExists(title) && newBody == "") {\n // dont create unwanted tiddler\n return null;\n }\n }\n return this.saveTiddler_orig_tagrename(title,newTitle,newBody,modifier,modified,tags);\n}\n\n//}}}\n\n
[[J.E.]]'s army\n[img[http://img505.imageshack.us/img505/4203/redcoaton2.jpg]]
[img[http://img237.imageshack.us/img237/614/sharkcatww4.jpg]]
poopie\n
This was an unprovoked act of rebellion and we were quite justified in dropping 50 tons of nerve gas on\nit. \n
Where [[Blink182]] is from.
[img[http://img130.imageshack.us/img130/8513/thebandgrayvm4.jpg]]
By [[JamminJelly]]\n\nMy heart is beating\nHarder, faster, and stronger.\nSexytime is nice!\n\n[img[http://img214.imageshack.us/img214/7230/sexytimekk7.jpg]]
skinning cats\n----\ndoing homework\n----\neating icecream\n----\nlate\n----\nwatching a movie\n----\nworking with a partner\n----\nfunny looking\n----\nsmoking crack
Haiku form of [[Shikwah]]
+++[Info]\nI have nothing [[cool]] to say, except that [[I'm]] [[super-fly]]!!!\n===\n\nI am like Micheal Jackson's pet kid on a triceratops, [[Bubbles]]!!\nAnd i have a really cool corner, [[Shikwah's Corner]]\n[img[http://img177.imageshack.us/img177/9130/triceratopsub2.jpg]]\n
<<gradient vert #ffff00 #0000ff #000000 #00ffff>>color:white;text-align:center;Shikwah's Corner Shikwah's Corner Shikwah's Corner Shikwah's Corner>>\nDo you think your corner is as cool as this? I didn't think so!!\nCONGRADULATIONS <<tiddler ShowUserName>> you \n+++[Insults]\n(add/view insults [[here|Insults]])\n=== <<QOTD Insults>>\n\n[img[http://img177.imageshack.us/img177/9130/triceratopsub2.jpg]]\n<<tag CornerStones>>\nMy latest [[GarageBand feat]]\n[[The Band]]\n[[Write your own RAP!!!!]]
/%\n\nusage: <<tiddler ShowUserName>>\n\nDisplays current username, Click for prompt box to change name.\n\n%/<script label="username">\n var who=prompt("Please set your username",config.options.txtUserName);\n if (!who||!who.trim().length) return;\n config.options.txtUserName=who;\n saveOptionCookie("txtUserName");\n var tid=story.findContainingTiddler(place);\n if (tid) story.refreshTiddler(tid.getAttribute("tiddler"),null,true); // sync containing tiddler\n var nodes = document.getElementsByTagName("input");\n for(var t=0; t<nodes.length; t++) // sync any input fields that show username\n if(nodes[t].getAttribute("option")=="txtUserName") nodes[t].value=who;\n</script><script>\n place.lastChild.title="click to change your username";\n place.lastChild.innerHTML=config.options.txtUserName;\n</script>
email: spacehipper@gmail.com\npassword: theship\n\n<html>\n<iframe src="http://www.mp3tunes.com/locker/cb/index_mini/" style=" border-width:0 " width="220" frameborder="0" height="120"></iframe></html>\n\nafter signing wait 10-20 seconds and it click on music again.
a new world for a new age^^© \n
Joe's Wonderful Spaceship
A game based around the fun of kicking balls.
The following items are tagged for indefinite future action, using the configuration-specified "someday" context. Note that items here should ''not'' be actions or projects, but rather generic tiddlers with whatever supporting content is appropriate.\n\n<<list tagged txtGTDSomedayContext any>>\n
[[The Slip (Jacob Fred Jazz Odyssey)|http://ia301142.us.archive.org/2/items/jfjo2005-08-25flac16/jfjo2005-08-25d2t03_vbr.mp3]]\n<<deliciousPlayTagger>>\n----\n[[Santiago (Jacob Fred Jazz Odyssey)|http://ia301142.us.archive.org/2/items/jfjo2005-08-25flac16/jfjo2005-08-25d2t01_vbr.mp3]]\n<<deliciousPlayTagger>>\n----\n[[Hill Country Girl (Yonder Mountain String Band)|http://ia310112.us.archive.org/1/items/ymsb2005-04-28.flac16/ymsb2005-04-28d1t13_vbr.mp3]]\n<<deliciousPlayTagger>>\n----\n[[Slacker (Umphrey's Mcgee)|http://ia310108.us.archive.org/3/items/um2004-02-07.shnf/um2004-02-07d1t05_vbr.mp3]]\n<<deliciousPlayTagger>>\n----\n[[Fables of Faubus (Jacob Fred Jazz Odyssey)|http://ia301142.us.archive.org/2/items/jfjo2005-08-25flac16/jfjo2005-08-25d2t08_vbr.mp3]]\n<<deliciousPlayTagger>>\n----\n[[Cosmic Elevator (Garaj Mahal)|http://ia310111.us.archive.org/2/items/gm2004-07-28/gm2004-07-28d2t05_vbr.mp3]]\n<<deliciousPlayTagger>>\n----\n[[Air (U-Melt)|http://ia310103.us.archive.org/2/items/umelt2005-03-10.flac16/umelt2005-03-10d1t3-Air_vbr.mp3]]\n<<deliciousPlayTagger>>\n----\n[[Blue Green Maximum (Jacob Fred Jazz Odyssey)|http://ia310137.us.archive.org/0/items/jfjo2002-10-16.ak40.flacf/jfjo2002-10-16d2t06_vbr.mp3]]\n<<deliciousPlayTagger>>
To add/edit the calendar, click on the "remind me with google calendar" button.\n<html>\n<a href="http://www.google.com/calendar/render?cid=http%3A%2F%2Fwww.google.com%2Fcalendar%2Ffeeds%2Fspaceshipper%2540gmail.com%2Fpublic%2Fbasic" target="_blank"><img src="http://www.google.com/calendar/images/ext/gc_button2.gif" border=0></a><iframe src="http://www.google.com/calendar/embed?src=spaceshipper%40gmail.com&amp;title=TheShip&amp;chrome=NAVIGATION&amp;wkst=1&amp;height=588" style=" border-width:0 " width="640" frameborder="0" height="640"></iframe>\n</html>\n
Click [[this|http://chat.parachat.com/chat/login.html?room=SpaceChat&width=600&height=400&bg=BFBFBF&fg=FF0000&lang=en">My Chat Room]] to chat with other spaceshippers.
Here's my games section. If you would like to add to it, ask me first.
<html>\n<iframe src="http://www.virtualnes.com/vm_files/launch_sound_on.php?rom=/x_english/spyhunter&romsize=262160" style=" border-width:0 " width="640" frameborder="0" height="588"></iframe>\n</html>\n
[[GTDStyleSheet]]\n\n/***\n!Personal preferences\n***/\n\n/*{{{*/\n/* make input fields in viewer (options) show up in correct size */\n.viewer input { font-size: 0.9em; }\n/*}}}*/\n\nbody {\nbackground-color: #3333cc;\nfont-size: 9pt;\nfont-family: Arial;\n}\n\n.tagglyTagged li.listTitle { display:none;}\n.tagglyTagged li { display: inline; font-size:90%; }\n.tagglyTagged ul { margin:0px; padding:0px; }\n.tagglyTagging { padding-top:0.5em; }\n.tagglyTagging li.listTitle { display:none;}\n.tagglyTagging ul { margin-top:0px; padding-top:0.5em; padding-left:2em; margin-bottom:0px; padding-bottom:0px; }\n\n/* .tagglyTagging .tghide { display:inline; } */\n\n.tagglyTagging { vertical-align: top; margin:0px; padding:0px; }\n.tagglyTagging table { margin:0px; padding:0px; }\n\n\n.tagglyTagging .button { display:none; margin-left:3px; margin-right:3px; }\n.tagglyTagging .button, .tagglyTagging .hidebutton { color:#aaa; font-size:90%; border:0px; padding-left:0.3em;padding-right:0.3em;}\n.tagglyTagging .button:hover, .hidebutton:hover { background:#eee; color:#888; }\n.selected .tagglyTagging .button { display:inline; }\n\n.tagglyTagging .hidebutton { color:white; } /* has to be there so it takes up space. tweak if you're not using a white tiddler bg */\n.selected .tagglyTagging .hidebutton { color:#aaa }\n\n.tagglyLabel { color:#aaa; font-size:90%; }\n\n.tagglyTagging ul {padding-top:0px; padding-bottom:0.5em; margin-left:1em; }\n.tagglyTagging ul ul {list-style-type:disc; margin-left:-1em;}\n.tagglyTagging ul ul li {margin-left:0.5em; }\n\n.editLabel { font-size:90%; padding-top:0.5em; }\n\n
/*{{{*/\n\n@media print {\n#mainMenu, #sidebar, #messageArea {display: none !important;}\n#displayArea {margin: 1em 1em 0em 1em;}\n\n\n/* LAYOUT ELEMENTS ========================================================== */\n*\n{\n margin: 0;\n padding: 0;\n}\n\nbody {\n background: #fff;\n color: #000;\n font-size: 6.2pt;\n font-family: "Lucida Grande", "Bitstream Vera Sans", Helvetica, Verdana, Arial, sans-serif;\n}\n\nimg {\n max-width: 2.2in;\n max-height: 4.3in;\n}\n\n#header, #side_container, #storeArea, #copyright, #floater, #messageArea, .save_accesskey, .site_description, #saveTest, .toolbar, .footer\n{\n display: none;\n}\n\n#tiddlerDisplay, #displayArea\n{\n display: inline;\n}\n\n.tiddler {\n margin: 0 0 2em 0;\n border-top: 1px solid #000;\n page-break-before: always;\n}\n\n.tiddler:first-child {\n page-break-before: avoid;\n}\n\n.title {\n font-size: 1.6em;\n font-weight: bold;\n margin-bottom: .3em;\n padding: .2em 0;\n border-bottom: 1px dotted #000;\n}\n\np, blockquote, ul, li, ol, dt, dd, dl, table\n{\n margin: 0 0 .3em 0;\n}\n\nh1, h2, h3, h4, h5, h6\n{\n margin: .2em 0;\n} \n\nh1\n{\n font-size: 1.5em;\n}\n\nh2\n{\n font-size: 1.3em;\n}\n\nh3\n{\n font-size: 1.25em;\n}\n\nh4\n{\n font-size: 1.15em;\n}\n\nh5\n{\n font-size: 1.1em;\n}\n\nblockquote\n{\n margin: .6em;\n padding-left: .6em;\n border-left: 1px solid #ccc;\n}\n\nul\n{\n list-style-type: circle;\n}\n\nli\n{\n margin: .1em 0 .1em 2em;\n line-height: 1.4em; \n}\n\ntable\n{\n border-collapse: collapse;\n font-size: 1em;\n}\n\ntd, th\n{\n border: 1px solid #999;\n padding: .2em;\n}\n\nhr {\n border: none;\n border-top: dotted 1px #777;\n height: 1px;\n color: #777;\n margin: .6em 0;\n}\n}\n/*}}}*/
<html>\n<iframe src="http://www.virtualnes.com/vm_files/launch_sound_on.php?rom=x_english/smb&romsize=40976" style=" border-width:0 " width="640" frameborder="0" height="588"></iframe>\n</html>\n
<html>\n<iframe src="http://www.virtualnes.com/vm_files/launch_sound_on.php?rom=/x_english/smb2&romsize=262160" style=" border-width:0 " width="640" frameborder="0" height="588"></iframe>\n</html>\n
<html>\n<iframe src="http://www.virtualnes.com/vm_files/launch_sound_on.php?rom=/x_english/smb3&romsize=393232" style=" border-width:0 " width="640" frameborder="0" height="588"></iframe>\n</html>\n
[img[http://static.flickr.com/1/186809556_672dbef363.jpg]]
/***\n''Name:'' TWUpdate\n''Author:'' Tom Otvos\n''Version:'' 1.0\n\n***/\n//{{{\n\nversion.extensions.twupdate = {major: 1, minor: 0, revision: 0, date: new Date(2006,4,23,0,0,0,0), source: "http://www.dcubed.ca/"};\n\nconfig.macros.twupdate = { \n label: "update",\n sourceUrl: "http://www.tiddlywiki.com/empty.html", \n lingo: {\n prompt: "Update this TiddlyWiki from TiddlyWiki.com", \n warning: "Are you sure you want to update this document with the latest version of TiddlyWiki (and do you know that all your plugins are compatible)?\sn\snIf you want to continue, your document will first be saved with a backup.",\n success: "Update was successful. Click on 'OK' to reload the document",\n errNoHttp: "Unable to allocate an HTTP request object for the update",\n errIncompatible: "This version of TiddlyWiki cannot be updated by this plugin. Sorry.",\n progressLoading: "Getting update from TiddlyWiki.com...",\n progressLoadSuccess: "File successfully loaded",\n progressLoadFailure: "File was not loaded successfully (%0)",\n progressMerging: "Merging with existing document..."\n }\n}\n\nconfig.macros.twupdate.handler = function(place,macroName,params)\n{\n if(!readOnly) {\n var label = params[0] ? params[0] : this.label;\n createTiddlyButton(place, label, this.lingo.prompt, this.onClick, null, null, null);\n }\n}\n\nconfig.macros.twupdate.onClick = function(e)\n{\n if (version.major != 2 || version.minor != 0 || version.revision < 7) {\n alert(config.macros.twupdate.lingo.errIncompatible);\n return;\n }\n \n if (!confirm(config.macros.twupdate.lingo.warning)) return;\n\n try {\n // force a save with backup\n var saveBackups = config.options.chkSaveBackups;\n config.options.chkSaveBackups = true;\n saveChanges();\n config.options.chkSaveBackups = saveBackups;\n \n var ajax = new AjaxHelper();\n displayMessage(config.macros.twupdate.lingo.progressLoading);\n ajax.getText(config.macros.twupdate.sourceUrl, config.macros.twupdate.performUpdate); \n }\n catch (e) {\n alert(e);\n }\n\n return false;\n}\n\n// Courtesy of http://www.worldtimzone.com/res/encode/...\nfunction utf8(wide) {\n var c, s;\n var enc = "";\n var i = 0;\n while(i<wide.length) {\n c= wide.charCodeAt(i++);\n // handle UTF-16 surrogates\n if (c>=0xDC00 && c<0xE000) continue;\n if (c>=0xD800 && c<0xDC00) {\n if (i>=wide.length) continue;\n s= wide.charCodeAt(i++);\n if (s<0xDC00 || c>=0xDE00) continue;\n c= ((c-0xD800)<<10)+(s-0xDC00)+0x10000;\n }\n // output value\n if (c<0x80) enc += String.fromCharCode(c);\n else if (c<0x800) enc += String.fromCharCode(0xC0+(c>>6),0x80+(c&0x3F));\n else if (c<0x10000) enc += String.fromCharCode(0xE0+(c>>12),0x80+(c>>6&0x3F),0x80+(c&0x3F));\n else enc += String.fromCharCode(0xF0+(c>>18),0x80+(c>>12&0x3F),0x80+(c>>6&0x3F),0x80+(c&0x3F));\n }\n return enc;\n}\n\nconfig.macros.twupdate.performUpdate = function(emptyHtml, status, statusText)\n{\n // note that this is begin called from a callback from an event handler, so\n // "this" is most definitely not defined!\n \n if (status == 200)\n displayMessage(config.macros.twupdate.lingo.progressLoadSuccess);\n else {\n displayMessage(config.macros.twupdate.lingo.progressLoadFailure.format([statusText]));\n return;\n }\n displayMessage(config.macros.twupdate.lingo.progressMerging);\n \n // very important...convert the response to UTF-8 to be fully TW-compatible\n var re = /[^\su0000-\su007F]/g ;\n emptyHtml = emptyHtml.replace(re, function($0) {return(utf8($0));});\n \n // the bulk of this is cribbed from saveChanges()...\n var originalPath = document.location.toString();\n // Check we were loaded from a file URL\n if (originalPath.substr(0,5) != "file:") {\n alert(config.messages.notFileUrlError);\n if (store.tiddlerExists(config.messages.saveInstructions))\n displayTiddler(null,config.messages.saveInstructions);\n return;\n }\n var localPath = getLocalPath(originalPath);\n\n // Locate the storeArea div's\n var posOpeningDiv = emptyHtml.indexOf(startSaveArea);\n var posClosingDiv = emptyHtml.lastIndexOf(endSaveArea);\n if ((posOpeningDiv == -1) || (posClosingDiv == -1)) {\n alert(config.messages.invalidFileError.format(['empty.html']));\n return;\n }\n\n // Save new file\n var revised = emptyHtml.substr(0,posOpeningDiv + startSaveArea.length) + \n convertUnicodeToUTF8(allTiddlersAsHtml()) + "\sn\st\st" +\n emptyHtml.substr(posClosingDiv);\n var newSiteTitle = convertUnicodeToUTF8((wikifyPlain("SiteTitle") + " - " + wikifyPlain("SiteSubtitle")).htmlEncode());\n revised = revised.replaceChunk("<title"+">","</title"+">"," " + newSiteTitle + " ");\n revised = revised.replaceChunk("<!--PRE-HEAD-START--"+">","<!--PRE-HEAD-END--"+">","\sn" + store.getTiddlerText("MarkupPreHead","") + "\sn");\n revised = revised.replaceChunk("<!--POST-HEAD-START--"+">","<!--POST-HEAD-END--"+">","\sn" + store.getTiddlerText("MarkupPostHead","") + "\sn");\n revised = revised.replaceChunk("<!--PRE-BODY-START--"+">","<!--PRE-BODY-END--"+">","\sn" + store.getTiddlerText("MarkupPreBody","") + "\sn");\n revised = revised.replaceChunk("<!--POST-BODY-START--"+">","<!--POST-BODY-END--"+">","\sn" + store.getTiddlerText("MarkupPostBody","") + "\sn");\n var save = saveFile(localPath, revised);\n if (save) {\n displayMessage(config.messages.mainSaved, "file://" + localPath);\n store.setDirty(false);\n alert(config.macros.twupdate.lingo.success);\n document.location.reload();\n }\n else\n alert(config.messages.mainFailed);\n}\n\nfunction AjaxHelper()\n{\n this.http = null;\n \n try\n {\n this.http = new XMLHttpRequest()\n }\n \n catch(e)\n {\n // if we don't get an internal object, try allocating it using ActiveX, with successive\n // fallbacks to earlier MSXML versions as necessary\n try\n {\n this.http = new ActiveXObject("Msxml2.XMLHTTP.4.0")\n } \n catch(e) \n {\n try\n {\n this.http = new ActiveXObject("MSXML2.XMLHTTP")\n } \n catch(e) \n {\n try\n {\n this.http = new ActiveXObject("Microsoft.XMLHTTP")\n } \n catch(e) \n {\n this.http = null\n }\n }\n }\n }\n \n if (!this.http) throw 'Unable to allocate an HTTP request object';\n}\n\nAjaxHelper.prototype.getText = function(url, callback, async, force)\n{\n if (!this.http) return;\n if (async == undefined) async = true;\n if (force == undefined) force = false;\n // ??? right now, we are not handling "forced" requests\n this._request("GET", url, callback, async, true, false);\n}\n\nAjaxHelper.prototype.getXML = function(url, callback, async, force)\n{\n if (!this.http) return;\n if (async == undefined) async = true;\n if (force == undefined) force = false;\n // ??? right now, we are not handling "forced" requests\n this._request("GET", url, callback, async, true, true);\n}\n\nAjaxHelper.prototype.getHead = function(url, callback, async, force)\n{\n if (!this.http) return;\n if (async == undefined) async = true;\n if (force == undefined) force = false;\n // ??? right now, we are not handling "forced" requests\n this._request("HEAD", url, callback, async, false, false);\n}\n\nAjaxHelper.prototype.abort = function()\n{\n if (this.http) this.http.abort();\n}\n\nAjaxHelper.prototype.setRequestHeader = function(name, value)\n{\n if (this.http) this.http.setRequestHeader(name, value);\n}\n\nAjaxHelper.prototype._request = function(method, url, callback, async, hasResponse, hasResponseXML)\n{\n if (!this.http) return;\n \n // get reference to request object so we can use it in closure\n var xmlHttp = this.http, helper = this;\n xmlHttp.onreadystatechange = function()\n {\n if (!async) return;\n if (xmlHttp.readyState == 4)\n callback((hasResponse ? (hasResponseXML ? xmlHttp.responseXML : xmlHttp.responseText) : null), xmlHttp.status, xmlHttp.statusText, helper._parsedResponseHeaders());\n }\n \n try {\n // need some cross-domain privileges for Firefox\n try {\n netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");\n } \n catch (e) \n {\n }\n \n xmlHttp.open(method, url, async);\n xmlHttp.send(null);\n if (!async) callback((hasResponse ? (hasResponseXML ? xmlHttp.responseXML : xmlHttp.responseText) : null), xmlHttp.status, xmlHttp.statusText, this._parsedResponseHeaders());\n }\n \n catch (e)\n {\n alert(e);\n }\n}\n\nAjaxHelper.prototype._parsedResponseHeaders = function()\n{\n if (this.http) {\n var headersArray = new Array();\n var headers = this.http.getAllResponseHeaders().split("\sn");\n for (var i = 0; i < headers.length; i++) {\n var h = headers[i].trim();\n if (h.length == 0) continue;\n // value can have ':' so do not use split here!\n var sep = h.indexOf(':');\n headersArray[h.substring(0, sep).trim()] = h.substr(sep + 1).trim();\n }\n return headersArray;\n }\n else\n return null;\n}\n\n//}}}\n
/***\n|Name|TagglyListPlugin|\n|Created by|SimonBaird|\n|Location|http://simonbaird.com/mptw/#TagglyListPlugin|\n|Version|1.1.2 25-Apr-06|\n|Requires|See TagglyTagging|\n\n!History\n* 1.1.2 (25-Apr-2006) embedded TagglyTaggingStyles. No longer need separated tiddler for styles.\n* 1.1.1 (6-Mar-2006) fixed bug with refreshAllVisible closing tiddlers being edited. Thanks Luke Blanshard.\n\n***/\n\n/***\n!Setup and config\n***/\n//{{{\n\nversion.extensions.TagglyListPlugin = {\n major: 1, minor: 1, revision: 2,\n date: new Date(2006,4,25),\n source: "http://simonbaird.com/mptw/#TagglyListPlugin"\n};\n\nconfig.macros.tagglyList = {};\nconfig.macros.tagglyListByTag = {};\nconfig.macros.tagglyListControl = {};\nconfig.macros.tagglyListWithSort = {};\nconfig.macros.hideSomeTags = {};\n\n// change this to your preference\nconfig.macros.tagglyListWithSort.maxCols = 6;\n\nconfig.macros.tagglyList.label = "Tagged as %0:";\n\n// the default sort options. set these to your preference\nconfig.macros.tagglyListWithSort.defaults = {\n sortBy:"title", // title|created|modified\n sortOrder: "asc", // asc|desc\n hideState: "show", // show|hide\n groupState: "nogroup", // nogroup|group\n numCols: 1\n};\n\n// these tags will be ignored by the grouped view\nconfig.macros.tagglyListByTag.excludeTheseTags = [\n "systemConfig",\n "TiddlerTemplates"\n];\n\nconfig.macros.tagglyListControl.tags = {\n title:"sortByTitle", \n modified: "sortByModified", \n created: "sortByCreated",\n asc:"sortAsc", \n desc:"sortDesc",\n hide:"hideTagged", \n show:"showTagged",\n nogroup:"noGroupByTag",\n group:"groupByTag",\n cols1:"list1Cols",\n cols2:"list2Cols",\n cols3:"list3Cols",\n cols4:"list4Cols",\n cols5:"list5Cols",\n cols6:"list6Cols",\n cols7:"list7Cols",\n cols8:"list8Cols",\n cols9:"list9Cols" \n}\n\n// note: should match config.macros.tagglyListControl.tags\nconfig.macros.hideSomeTags.tagsToHide = [\n "sortByTitle",\n "sortByCreated",\n "sortByModified",\n "sortDesc",\n "sortAsc",\n "hideTagged",\n "showTagged",\n "noGroupByTag",\n "groupByTag",\n "list1Cols",\n "list2Cols",\n "list3Cols",\n "list4Cols",\n "list5Cols",\n "list6Cols",\n "list7Cols",\n "list8Cols",\n "list9Cols"\n];\n\n\n//}}}\n/***\n\n!Utils\n***/\n//{{{\n// from Eric\nfunction isTagged(title,tag) {\n var t=store.getTiddler(title); if (!t) return false;\n return (t.tags.find(tag)!=null);\n}\n\n// from Eric\nfunction toggleTag(title,tag) {\n var t=store.getTiddler(title); if (!t || !t.tags) return;\n if (t.tags.find(tag)==null) t.tags.push(tag);\n else t.tags.splice(t.tags.find(tag),1);\n}\n\nfunction addTag(title,tag) {\n var t=store.getTiddler(title); if (!t || !t.tags) return;\n t.tags.push(tag);\n}\n\nfunction removeTag(title,tag) {\n var t=store.getTiddler(title); if (!t || !t.tags) return;\n if (t.tags.find(tag)!=null) t.tags.splice(t.tags.find(tag),1);\n}\n\n// from Udo\nArray.prototype.indexOf = function(item) {\n for (var i = 0; i < this.length; i++) {\n if (this[i] == item) {\n return i;\n }\n }\n return -1;\n};\nArray.prototype.contains = function(item) {\n return (this.indexOf(item) >= 0);\n}\n//}}}\n/***\n\n!tagglyList\ndisplays a list of tagged tiddlers. \nparameters are sortField and sortOrder\n***/\n//{{{\n\n// not used at the moment...\nfunction sortedListOfOtherTags(tiddler,thisTag) {\n var list = tiddler.tags.concat(); // so we are working on a clone..\n for (var i=0;i<config.macros.hideSomeTags.tagsToHide.length;i++) {\n if (list.find(config.macros.hideSomeTags.tagsToHide[i]) != null)\n list.splice(list.find(config.macros.hideSomeTags.tagsToHide[i]),1); // remove hidden ones\n }\n for (var i=0;i<config.macros.tagglyListByTag.excludeTheseTags.length;i++) {\n if (list.find(config.macros.tagglyListByTag.excludeTheseTags[i]) != null)\n list.splice(list.find(config.macros.tagglyListByTag.excludeTheseTags[i]),1); // remove excluded ones\n }\n list.splice(list.find(thisTag),1); // remove thisTag\n return '[[' + list.sort().join("]] [[") + ']]';\n}\n\nfunction sortHelper(a,b) {\n if (a == b) return 0;\n else if (a < b) return -1;\n else return +1;\n}\n\nconfig.macros.tagglyListByTag.handler = function (place,macroName,params,wikifier,paramString,tiddler) {\n\n var sortBy = params[0] ? params[0] : "title"; \n var sortOrder = params[1] ? params[1] : "asc";\n\n var result = store.getTaggedTiddlers(tiddler.title,sortBy);\n\n if (sortOrder == "desc")\n result = result.reverse();\n\n var leftOvers = []\n for (var i=0;i<result.length;i++) {\n leftOvers.push(result[i].title);\n }\n\n var allTagsHolder = {};\n for (var i=0;i<result.length;i++) {\n for (var j=0;j<result[i].tags.length;j++) {\n\n if ( \n result[i].tags[j] != tiddler.title // not this tiddler\n && config.macros.hideSomeTags.tagsToHide.find(result[i].tags[j]) == null // not a hidden one\n && config.macros.tagglyListByTag.excludeTheseTags.find(result[i].tags[j]) == null // not excluded\n ) {\n if (!allTagsHolder[result[i].tags[j]])\n allTagsHolder[result[i].tags[j]] = "";\n allTagsHolder[result[i].tags[j]] += "**[["+result[i].title+"]]\sn";\n\n if (leftOvers.find(result[i].title) != null)\n leftOvers.splice(leftOvers.find(result[i].title),1); // remove from leftovers. at the end it will contain the leftovers...\n }\n }\n }\n\n\n var allTags = [];\n for (var t in allTagsHolder)\n allTags.push(t);\n\n allTags.sort(function(a,b) {\n var tidA = store.getTiddler(a);\n var tidB = store.getTiddler(b);\n if (sortBy == "title") return sortHelper(a,b);\n else if (!tidA && !tidB) return 0;\n else if (!tidA) return -1;\n else if (!tidB) return +1;\n else return sortHelper(tidA[sortBy],tidB[sortBy]);\n });\n\n var markup = "";\n\n if (sortOrder == "desc") {\n allTags.reverse();\n }\n else {\n // leftovers first...\n for (var i=0;i<leftOvers.length;i++)\n markup += "*[["+leftOvers[i]+"]]\sn";\n } \n\n for (var i=0;i<allTags.length;i++)\n markup += "*[["+allTags[i]+"]]\sn" + allTagsHolder[allTags[i]];\n\n if (sortOrder == "desc") {\n // leftovers last...\n for (var i=0;i<leftOvers.length;i++)\n markup += "*[["+leftOvers[i]+"]]\sn";\n }\n\n wikify(markup,place);\n}\n\nconfig.macros.tagglyList.handler = function (place,macroName,params,wikifier,paramString,tiddler) {\n var sortBy = params[0] ? params[0] : "title"; \n var sortOrder = params[1] ? params[1] : "asc";\n var numCols = params[2] ? params[2] : 1;\n\n var result = store.getTaggedTiddlers(tiddler.title,sortBy);\n if (sortOrder == "desc")\n result = result.reverse();\n\n var listSize = result.length;\n var colSize = listSize/numCols;\n var remainder = listSize % numCols;\n\n var upperColsize;\n var lowerColsize;\n if (colSize != Math.floor(colSize)) {\n // it's not an exact fit so..\n lowerColsize = Math.floor(colSize);\n upperColsize = Math.floor(colSize) + 1;\n }\n else {\n lowerColsize = colSize;\n upperColsize = colSize;\n }\n\n var markup = "";\n var c=0;\n\n var newTaggedTable = createTiddlyElement(place,"table");\n var newTaggedBody = createTiddlyElement(newTaggedTable,"tbody");\n var newTaggedTr = createTiddlyElement(newTaggedBody,"tr");\n\n for (var j=0;j<numCols;j++) {\n var foo = "";\n var thisSize;\n\n if (j<remainder)\n thisSize = upperColsize;\n else\n thisSize = lowerColsize;\n\n for (var i=0;i<thisSize;i++) \n foo += ( "*[[" + result[c++].title + "]]\sn"); // was using splitList.shift() but didn't work in IE;\n\n var newTd = createTiddlyElement(newTaggedTr,"td",null,"tagglyTagging");\n wikify(foo,newTd);\n\n }\n\n};\n\n/* snip for later.....\n //var groupBy = params[3] ? params[3] : "t.title.substr(0,1)";\n //var groupBy = params[3] ? params[3] : "sortedListOfOtherTags(t,tiddler.title)";\n //var groupBy = params[3] ? params[3] : "t.modified";\n var groupBy = null; // for now. groupBy here is working but disabled for now.\n\n var prevGroup = "";\n var thisGroup = "";\n\n if (groupBy) {\n result.sort(function(a,b) {\n var t = a; var aSortVal = eval(groupBy); var aSortVal2 = eval("t".sortBy);\n var t = b; var bSortVal = eval(groupBy); var bSortVal2 = eval("t".sortBy);\n var t = b; var bSortVal2 = eval(groupBy);\n return (aSortVal == bSortVal ?\n (aSortVal2 == bSortVal2 ? 0 : (aSortVal2 < bSortVal2 ? -1 : +1)) // yuck\n : (aSortVal < bSortVal ? -1 : +1));\n });\n }\n\n if (groupBy) {\n thisGroup = eval(groupBy);\n if (thisGroup != prevGroup)\n markup += "*[["+thisGroup+']]\sn';\n markup += "**[["+t.title+']]\sn';\n prevGroup = thisGroup;\n }\n\n\n\n*/\n\n\n//}}}\n\n/***\n\n!tagglyListControl\nUse to make the sort control buttons\n***/\n//{{{\n\nfunction getSortBy(title) {\n var tiddler = store.getTiddler(title);\n var defaultVal = config.macros.tagglyListWithSort.defaults.sortBy;\n if (!tiddler) return defaultVal;\n var usetags = config.macros.tagglyListControl.tags;\n if (tiddler.tags.contains(usetags["title"])) return "title";\n else if (tiddler.tags.contains(usetags["modified"])) return "modified";\n else if (tiddler.tags.contains(usetags["created"])) return "created";\n else return defaultVal;\n}\n\nfunction getSortOrder(title) {\n var tiddler = store.getTiddler(title);\n var defaultVal = config.macros.tagglyListWithSort.defaults.sortOrder;\n if (!tiddler) return defaultVal;\n var usetags = config.macros.tagglyListControl.tags;\n if (tiddler.tags.contains(usetags["asc"])) return "asc";\n else if (tiddler.tags.contains(usetags["desc"])) return "desc";\n else return defaultVal;\n}\n\nfunction getHideState(title) {\n var tiddler = store.getTiddler(title);\n var defaultVal = config.macros.tagglyListWithSort.defaults.hideState;\n if (!tiddler) return defaultVal;\n var usetags = config.macros.tagglyListControl.tags;\n if (tiddler.tags.contains(usetags["hide"])) return "hide";\n else if (tiddler.tags.contains(usetags["show"])) return "show";\n else return defaultVal;\n}\n\nfunction getGroupState(title) {\n var tiddler = store.getTiddler(title);\n var defaultVal = config.macros.tagglyListWithSort.defaults.groupState;\n if (!tiddler) return defaultVal;\n var usetags = config.macros.tagglyListControl.tags;\n if (tiddler.tags.contains(usetags["group"])) return "group";\n else if (tiddler.tags.contains(usetags["nogroup"])) return "nogroup";\n else return defaultVal;\n}\n\nfunction getNumCols(title) {\n var tiddler = store.getTiddler(title);\n var defaultVal = config.macros.tagglyListWithSort.defaults.numCols; // an int\n if (!tiddler) return defaultVal;\n var usetags = config.macros.tagglyListControl.tags;\n for (var i=1;i<=config.macros.tagglyListWithSort.maxCols;i++)\n if (tiddler.tags.contains(usetags["cols"+i])) return i;\n return defaultVal;\n}\n\n\nfunction getSortLabel(title,which) {\n // TODO. the strings here should be definable in config\n var by = getSortBy(title);\n var order = getSortOrder(title);\n var hide = getHideState(title);\n var group = getGroupState(title);\n if (which == "hide") return (hide == "show" ? "−" : "+"); // 0x25b8;\n else if (which == "group") return (group == "group" ? "normal" : "grouped");\n else if (which == "cols") return "cols±"; // &plusmn;\n else if (by == which) return which + (order == "asc" ? "↓" : "↑"); // &uarr; &darr;\n else return which;\n}\n\nfunction handleSortClick(title,which) {\n var currentSortBy = getSortBy(title);\n var currentSortOrder = getSortOrder(title);\n var currentHideState = getHideState(title);\n var currentGroupState = getGroupState(title);\n var currentNumCols = getNumCols(title);\n\n var tags = config.macros.tagglyListControl.tags;\n\n // if it doesn't exist, lets create it..\n if (!store.getTiddler(title))\n store.saveTiddler(title,title,"",config.options.txtUserName,new Date(),null);\n\n if (which == "hide") {\n // toggle hide state\n var newHideState = (currentHideState == "hide" ? "show" : "hide");\n removeTag(title,tags[currentHideState]);\n if (newHideState != config.macros.tagglyListWithSort.defaults.hideState)\n toggleTag(title,tags[newHideState]);\n }\n else if (which == "group") {\n // toggle hide state\n var newGroupState = (currentGroupState == "group" ? "nogroup" : "group");\n removeTag(title,tags[currentGroupState]);\n if (newGroupState != config.macros.tagglyListWithSort.defaults.groupState)\n toggleTag(title,tags[newGroupState]);\n }\n else if (which == "cols") {\n // toggle num cols\n var newNumCols = currentNumCols + 1; // confusing. currentNumCols is an int\n if (newNumCols > config.macros.tagglyListWithSort.maxCols || newNumCols > store.getTaggedTiddlers(title).length)\n newNumCols = 1;\n removeTag(title,tags["cols"+currentNumCols]);\n if (("cols"+newNumCols) != config.macros.tagglyListWithSort.defaults.groupState)\n toggleTag(title,tags["cols"+newNumCols]);\n }\n else if (currentSortBy == which) {\n // toggle sort order\n var newSortOrder = (currentSortOrder == "asc" ? "desc" : "asc");\n removeTag(title,tags[currentSortOrder]);\n if (newSortOrder != config.macros.tagglyListWithSort.defaults.sortOrder)\n toggleTag(title,tags[newSortOrder]);\n }\n else {\n // change sortBy only\n removeTag(title,tags["title"]);\n removeTag(title,tags["created"]);\n removeTag(title,tags["modified"]);\n\n if (which != config.macros.tagglyListWithSort.defaults.sortBy)\n toggleTag(title,tags[which]);\n }\n\n store.setDirty(true); // save is required now.\n story.refreshTiddler(title,false,true); // force=true\n}\n\nconfig.macros.tagglyListControl.handler = function (place,macroName,params,wikifier,paramString,tiddler) {\n var onclick = function(e) {\n if (!e) var e = window.event;\n handleSortClick(tiddler.title,params[0]);\n e.cancelBubble = true;\n if (e.stopPropagation) e.stopPropagation();\n return false;\n };\n createTiddlyButton(place,getSortLabel(tiddler.title,params[0]),"Click to change sort options",onclick,params[0]=="hide"?"hidebutton":"button");\n}\n//}}}\n/***\n\n!tagglyListWithSort\nput it all together..\n***/\n//{{{\nconfig.macros.tagglyListWithSort.handler = function (place,macroName,params,wikifier,paramString,tiddler) {\n if (tiddler && store.getTaggedTiddlers(tiddler.title).length > 0)\n // todo make this readable\n wikify(\n "<<tagglyListControl hide>>"+\n (getHideState(tiddler.title) != "hide" ? \n '<html><span class="tagglyLabel">'+config.macros.tagglyList.label.format([tiddler.title])+' </span></html>'+\n "<<tagglyListControl title>><<tagglyListControl modified>><<tagglyListControl created>><<tagglyListControl group>>"+(getGroupState(tiddler.title)=="group"?"":"<<tagglyListControl cols>>")+"\sn" + \n "<<tagglyList" + (getGroupState(tiddler.title)=="group"?"ByTag ":" ") + getSortBy(tiddler.title)+" "+getSortOrder(tiddler.title)+" "+getNumCols(tiddler.title)+">>" // hacky\n // + \sn----\sn" +\n //"<<tagglyList "+getSortBy(tiddler.title)+" "+getSortOrder(tiddler.title)+">>"\n : ""),\n place,null,tiddler);\n}\n\nconfig.macros.tagglyTagging = { handler: config.macros.tagglyListWithSort.handler };\n\n\n//}}}\n/***\n\n!hideSomeTags\nSo we don't see the sort tags.\n(note, they are still there when you edit. Will that be too annoying?\n***/\n//{{{\n\n// based on tags.handler\nconfig.macros.hideSomeTags.handler = function(place,macroName,params,wikifier,paramString,tiddler) {\n var theList = createTiddlyElement(place,"ul");\n if(params[0] && store.tiddlerExists[params[0]])\n tiddler = store.getTiddler(params[0]);\n var lingo = config.views.wikified.tag;\n var prompt = tiddler.tags.length == 0 ? lingo.labelNoTags : lingo.labelTags;\n createTiddlyElement(theList,"li",null,"listTitle",prompt.format([tiddler.title]));\n for(var t=0; t<tiddler.tags.length; t++)\n if (!this.tagsToHide.contains(tiddler.tags[t])) // this is the only difference from tags.handler...\n createTagButton(createTiddlyElement(theList,"li"),tiddler.tags[t],tiddler.title);\n\n}\n\n//}}}\n/***\n\n!Refresh everything when we save a tiddler. So the tagged lists never get stale. Is this too slow???\n***/\n//{{{\n\nfunction refreshAllVisible() {\n story.forEachTiddler(function(title,element) {\n if (element.getAttribute("dirty") != "true") \n story.refreshTiddler(title,false,true);\n });\n}\n\nstory.saveTiddler_orig_mptw = story.saveTiddler;\nstory.saveTiddler = function(title,minorUpdate) {\n var result = this.saveTiddler_orig_mptw(title,minorUpdate);\n refreshAllVisible();\n return result;\n}\n\nstore.removeTiddler_orig_mptw = store.removeTiddler;\nstore.removeTiddler = function(title) {\n this.removeTiddler_orig_mptw(title);\n refreshAllVisible();\n}\n\nconfig.shadowTiddlers.TagglyTaggingStyles = "/***\snTo use, add {{{[[TagglyTaggingStyles]]}}} to your StyleSheet tiddler, or you can just paste the CSS in directly. See also ViewTemplate, EditTemplate and TagglyTagging.\sn***/\sn/*{{{*/\sn.tagglyTagged li.listTitle { display:none;}\sn.tagglyTagged li { display: inline; font-size:90%; }\sn.tagglyTagged ul { margin:0px; padding:0px; }\sn.tagglyTagging { padding-top:0.5em; }\sn.tagglyTagging li.listTitle { display:none;}\sn.tagglyTagging ul { margin-top:0px; padding-top:0.5em; padding-left:2em; margin-bottom:0px; padding-bottom:0px; }\sn\sn/* .tagglyTagging .tghide { display:inline; } */\sn\sn.tagglyTagging { vertical-align: top; margin:0px; padding:0px; }\sn.tagglyTagging table { margin:0px; padding:0px; }\sn\sn\sn.tagglyTagging .button { display:none; margin-left:3px; margin-right:3px; }\sn.tagglyTagging .button, .tagglyTagging .hidebutton { color:#aaa; font-size:90%; border:0px; padding-left:0.3em;padding-right:0.3em;}\sn.tagglyTagging .button:hover, .hidebutton:hover { background:#eee; color:#888; }\sn.selected .tagglyTagging .button { display:inline; }\sn\sn.tagglyTagging .hidebutton { color:white; } /* has to be there so it takes up space. tweak if you're not using a white tiddler bg */\sn.selected .tagglyTagging .hidebutton { color:#aaa }\sn\sn.tagglyLabel { color:#aaa; font-size:90%; }\sn\sn.tagglyTagging ul {padding-top:0px; padding-bottom:0.5em; margin-left:1em; }\sn.tagglyTagging ul ul {list-style-type:disc; margin-left:-1em;}\sn.tagglyTagging ul ul li {margin-left:0.5em; }\sn\sn.editLabel { font-size:90%; padding-top:0.5em; }\sn/*}}}*/\sn";\n\nrefreshStyles("TagglyTaggingStyles");\n\n\n//}}}\n\n// // <html>&#x25b8;&#x25be;&minus;&plusmn;</html>
“Your going to be <<QOTD SeñorOfficeList>> in the office." - [[Señor Caracoza]]\n----\n"Your grade is dropping like a dead fly." - [[Señor Caracoza]]\n----\n"Its time for a P-O-P (with hand signs) quiz." - [[Señor Caracoza]]\n----\n"Think smarter, not harder" - [[Mr. Esch]]\n----\n"And since it is coming from the mouth of Garett Palensky, we know it is true."-Rachel Ching (Jared's math/chem teacher)\n----\n"Shuffle your Buffalo"-Mrs. Strugar\n----\n"Boot, scoot and boogie!"-[[Mr. Donnely]]\n----\n"When we are all gone, tomatoes will no longer be soft and squishy, they will no longer be red, and they will no longer... be tastey. - [[Dr. Kyle]]\n----\n"Gangsta." - Mr. Crowley\n----\n"Monday is washing day, Tuesday is duck day, Friday is fish day."-[[Mr. Donnely]]\n----\n"Awww. You guys are so cute." -[[Mr. Maunu]]\n----\n"I'm just gonna say don't do that. If you do that, you're just asking for a can of . . . worms . . . like on a plate . . . with a fork." -[[Mr. Maunu]]\n----\n"Sex and Haagen-Dasz ice cream fall into the same category." - [[Dr. Kyle]]\n----\n"She's a little container of pleasure." - [[Dr. Kyle]]\n----\n"We are constantly horny." - [[Dr. Kyle]]\n----\n"If you give me cheese with that wine, I'm going to give you two irregular verbs to conjugate." - [[Señor Caracoza]]\n----\n"There will be a sub next week, and you better be nice to her. I'm leaving behind robots with lasers, so if you misbehave, you'll be disintegrated . . . and I'll have it videotaped so I can watch it when I come back." - [[Dr. Kyle]]\n----\n"Slash your parents' tires. Burn your house down. See how it feels." - [[Dr. Kyle]]\n----\n"Say you have a six year old brother and you drown him in the bathroom. How long will you feel guilty?" - [[Dr. Kyle]]\n----\n"If I got married to a chihuahua, is that sinful? I'd have to get a tiny little ring, wouldn't I?" - [[Dr. Kyle]]\n----\n"Even roadkill can have a sense of beauty." - [[Dr. Kyle]]\n----\n"I saw it in the theater... and, fortunately, I'm old enough to drink." - [[Dr. Kyle]]\n----\n"If Arnold Schwarzenegger were Christ, of course, he'd take the cross and start swinging it..." - [[Dr. Kyle]]\n----\n"I would rather see Kate Winslet's feet." - [[Dr. Kyle]]
[[bad guys]] that steal [[Pokemon]].\n[img[http://img117.imageshack.us/img117/171/teamrocket2zb8.png]]\nTo protect the world from devestation,\nTo unite all peoples within our nation,\nTo denounce the evils of truth and love,\nTo extend our reach to the stars above.\nJesse... \nJames... \nTeam rocket blast off at the speed of light!\nSurrender now, or prepare to fight! \nMeowth! Thats right!
[img[http://img151.imageshack.us/img151/1516/mainnq0.gif]]
http://www.archive.org/browse.php?mediatype=collection&collection=etree&field=%2Fmetadata%2Fcreator\n\nDescription: A good site for downloading free, legal concerts. Also has other stuff too like the WaybackMachine.
+++[Guitar]\n[[Shikwah]]\n[img[http://img177.imageshack.us/img177/9130/triceratopsub2.jpg]]\n===\n+++[Bass]\n[[spaceshipper]]\n[img[http://img180.imageshack.us/img180/5826/boypinstripehatal3.jpg]]\n===\n+++[Keyboard]\n[[AFOD]]\n[img[http://img462.imageshack.us/img462/1719/uglyaschicks2ng3.jpg]]\n===\n+++[Drums]\n[[JamminJelly]]\n[img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]][img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]][img[http://img292.imageshack.us/img292/968/jamminjellyrs9.gif]]]\n===\n+++[Violin]\n[[JaredTheDonkey]]\n[img[http://img392.imageshack.us/img392/5014/miniaturedonkey0015cu3.jpg]]\n===\n+++[Hammered Dulcimer]\n[[Scott Williams]]\n[img[http://img130.imageshack.us/img130/4374/splashjw1.jpg]]\n===
The Bum Bum Song Video\n\nNote- The lip-sync is off, the video is still really funny though\n\n+++[Click to watch]\n<html><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/KiK2E-uO-Xc"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/KiK2E-uO-Xc" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></html>\n----
The [[Fonz]] is here to teach you what to do if you're in trouble.\n\n+++[Click to watch]\n<html><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/S3C6PBlu1WA"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/S3C6PBlu1WA" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></html>\n===
[[Galactic|http://www.mediamax.com/spaceshipper/Hosted/06%20Galactic.mp3]]\n[[MLT|http://www.scifidelity.com/mp3/sci/the.string.cheese.incident_MLT_07.10.05.mp3]]\n[[Sometimes a River|http://www.scifidelity.com/mp3/sci/The.String.Cheese.Incident_Sometimes.A.River_album.version.mp3]]\n[[Rhum N Zouc|http://www.scifidelity.com/mp3/sci/sci050807d1_03_Rhum_N_Zouc.mp3]]\n\n<<deliciousPlayTagger>>
+++[In an airport]\n"Thank god the bomb was in my other bag,"-Jeremiha Douglas\n"Its too risky theres too many people around."-Charlie Stocker\n===\n+++[In a bathroom]\n"Holy shit its big"-Jeremiha\n"My ass hurts"-Charlie\n===\n+++[In a tent]\n"You know how I know you're gay? Cause you're practically on top of me"-Charlie\n===\n+++[In a resturaunt]\nIts not polite to hit someone at the table, if you're going to do that use a fork to stab them."-Jen (Jared's eng/hist teacher)
/***\n|''Name:''|TidIDEPlugin|\n|''Source:''|http://www.TiddlyTools.com/#TidIDEPlugin|\n|''Author:''|Eric Shulman - ELS Design Studios|\n|''License:''|[[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|\n|''~CoreVersion:''|2.0.10|\n\n~TidIDE (//prounounced "Tie Dyed"//) - ''Tid''dlyWiki ''I''ntegrated ''D''evelopment ''E''nvironment - tools for ~TiddlyWiki authors and editors. \n\nProvides a full-featured tiddler editor with key-by-key ''LIVE PREVIEW'' of //formatted// tiddler content!! Also includes diagnostic tools to help you debug your TiddlyWiki problems by letting you view current TiddlyWiki internal option values, messages, shadows, stylesheets, notify and macro functions or display the internal DOM (Document Object Model) tree structure for any specific part of the TiddlyWiki document.\n!!!!!Configuration\n<<<\nAutomatically freeze preview updates when a tiddler takes more than <<option txtTidIDEAutoFreeze>> milliseconds to render.\n<<<\n!!!!!Usage/Example\n<<<\n{{{<<tidIDE id:example [[custom tools|TidIDETools]] system +edit:GettingStarted>>}}}\n<<tidIDE id:example [[custom tools|TidIDETools]] system +edit:GettingStarted>>\n!!!!!parameters:\n* ''id'' - assign a unique ID to this instance of TidIDE. (default id=current tiddler title or "" if not in a tiddler)\n* ''system'' includes a pre-defined "system information" panel\n* ''edit'' includes a pre-defined tiddler editor/previewer.\n**''edit:here'' automatically sets the editor to show the current tiddler contents (if in a tiddler)\n**''edit:{{{tiddlertitle}}}'' automatically sets the editor to show the specified tiddler contents\n* use ''{{{[[label|tiddlertitle]]}}}'' to include 'custom panels' (and corresponding labelled checkboxes to toggle their display)\n* all parameters are optional. The default panel is "edit:here".\n* panel parameters preceded by a "+" are displayed by default. If only one panel specified in the parameters, it is automatically displayed, even if the "+" is omitted.\n!!!!!using the editor\nThe editor includes a droplist of all tiddlers in the document, sorted alpha-numerically by tiddler title. Shadow tiddlers that have not been customized are added to the end of this list and marked with "(shadow)". Next to the droplist are several buttons:\n* ''view'' opens the tiddler in the normal ~TiddlyWiki display area\n* ''add'' prompts for a new tiddler title and begins a new editing session\n* ''remove'' deletes an existing tiddler (note: shadow tiddlers cannot be removed)\n* ''save'' saves changes to the tiddler currently being edited\n* ''save as'' saves changes using a new tiddler title\nIf a tiddlername was not specified in the macro, select a tiddler from the droplist (or press ''add'') to begin editing. Once a tiddler has been loaded into the editor, you can change it's content, enter or select tags.\n\nNormally, when you save changes to a tiddler, the created/modified dates and tiddler author are automatically updated. However, it is sometimes useful to make small changes to a tiddler without automatically updating the date/author information. Select the ''minor edits'' checkbox to prevent those values from being //automatically// changed. In addition, this enables the date/author edit fields which allows you to //manually// 'back date' a tiddler or change the author to another name. When the tiddler is saved, the date/author values shown in the edit fields will be used.\n!!!!!using the previewer\nThe ''preview'' checkbox adds a display area that shows you what your tiddler changes will look like, //before// committing to those changes.\n\nBy default, this preview display is automatically rendered each time a key is typed into the tiddler content edit field. As soon as changes are entered, they will be instantly visible within the preview display. Unfortunately, the partial tiddler source definitions that occur //during// editing may somtimes cause rendering problems, and some exceptionally complex tiddlers make take an unusually long amount of time to completely render their content. In such cases, key-by-key display updates are undesirable or impractical.\n\nWhen ''preview'' is selected, you can also select ''freeze'' to suspend automatic key-by-key preview display updates. The preview display will not be re-rendered again until you press the ''refresh'' button, or clear the 'freeze' checkbox, or switch to editing a different tiddler. The editor automatically freezes the preview display whenever the //rendering time// exceeds a pre-determined time limit (see configuration section), specified in milliseconds. Note: the ''actual elapsed time'' used to process and render any given tiddler is reported in the browser's status bar area whenever that tiddler is previewed.\n\nThe previewer also can display a ''DOM viewer'' and an ''HTML viewer'' that are also updated with each keystroke. These text-based displays can be helpful while attempting to correct or enhance the formatting of tiddler content, especially when complex combinations of wiki-syntax produce unexpected or undesired results.\n!!!!!system information and TW option settings\nYou can use the ''system information'' panel to view a variety of system internal data and functions, and view/modify ''all'' of ~TiddlyWiki's internal config.option.* settings. NOTE: Non-default config.options are stored in cookies and are retrieved whenever the TW document is loaded into a browser; however, ''core TW functions and custom-defined plugins can explicitly ignore or reset any locally-stored cookie values and use their own, internally-defined values'' instead. As a result, changes to these may be completely ignored, or may only have an effect during the current TW document "session" (i.e., until the TW document is reloaded), even though a persistent cookie value has been saved.\n!!!!! ~DOMViewer macro\nsyntax: {{{<<DOMViewer rows:nn indent:xxxx inline path elementID|tiddlertitle>>}}}\n\nWhenever TiddlyWiki renders a given tiddler, it creates a 'tree' of DOM (Document Object Model) elements that represent the information that is displayed by the browser. You can use the ''DOMViewer'' macro to examine the internal DOM elements that are produced by TiddlyWiki's formatter (the 'wikifier'), or elements directly produced by embedded macros that create custom formatted output. This can be particularly helpful when trying to fine tune the layout and appearance of your tiddler content.\n\nDOMViewer creates a textarea control and reports the DOM tree for the current 'insertion point' where the DOMViewer macro is being placed. ''inline'' flag uses TiddlyWiki rendering instead of textarea control. ''path'' shows the relative location of each child element in the DOM tree, using subscript notation, ''[elementID or tiddlertitle]'' displays DOM elements starting from the node with the specified ID. If that ID is not found in the DOM tree, the macro attempts to open a tiddler with that title and then displays the "tiddler"+title DOM elements that were rendered.\n<<<\n!!!!!Installation\n<<<\nimport (or copy/paste) the following tiddlers into your document:\n''TidIDEPlugin'' (tagged with <<tag systemConfig>>)\n^^documentation and javascript for macro handling^^\n<<<\n!!!!!Revision History\n<<<\n''2006.10.08 [1.5.9]'' use preview button instead of checkbox (hidden field for state tracking). Comment out dangerous RUN button. Rename buttons and adjust layout to fit.\n''2006.09.28 [1.5.8]'' use separate form ID and definition for each panel (as well as checkbox 'selector' form), so that forms in custom panels don't conflict with each other.\n''2006.08.27 [1.5.7]'' in handler(), corrected initial display setting for custom 'toolspanel' when '+' prefix has been used for 'defOpen'\n''2006.08.15 [1.5.6]'' in handler(), supress header/selectors if only one panel to display. Also, init system_panel as needed.\n''2006.08.04 [1.5.5]'' in handler(), fix construction of tiddler list to permit use of apostrophes (') in tiddler names.\n''2006.05.22 [1.5.4]'' in setsys(), remove "(cookie)" prefix from selected item text when setting cookie name (was preventing saving of cookie values)\n''2006.05.17 [1.5.3]'' in setsys(), call saveOptionsCookie(). Also, set tiddler editor textarea height (%maxrows%) using config.options.txtMaxEditRows\n''2006.04.30 [1.5.2]'' documentation update\n''2006.04.30 [1.5.1]'' in save(), when performing "save as" behavior, set current tiddler title (f.current) to new title\n''2006.04.24 [1.5.0]'' added macro parameters to dynamically configure and assemble HTML for IDE panels. Supports multiple custom panels loaded from tiddlers and {{{[[label|tiddlername]]}}}\n''2006.04.24 [1.4.6]'' layout adjustments: move system panel above editor panel and move config setting controls to top of system panel\n''2006.04.23 [1.4.5]'' fix HTML so that click on "readonly" checkbox won't change "minor edits" option value.\n''2006.04.23 [1.4.4]'' in render(), strip carriage returns (\sr) that are added by IE's textarea control. Fixes errors in wikify() of 'block-mode' syntax. Also, defer rendering HTML and DOM preview displays until those options are checked and still more code cleanup\n''2006.04.23 [1.4.3]'' init "minor edits" checkbox state from config.options.chkForceMinorEdits value\n''2006.04.23 [1.4.2]'' added "TidIDE v#.#.#: " title in front of subsystem checkboxes.\n''2006.04.23 [1.4.1]'' added 'readonly' checkbox and handling to editor.\n''2006.04.23 [1.4.0]'' implemented 'minor edits' logic, including use of TW AdvancedOptions setting. Replaced separate MDY date input fields with date/time text input fields (using formatted date input).\n''2006.04.22 [1.3.2]'' Layout changes: Added editor/system/tools "subsystem" checkboxes at top of panel. Added automatic read-only notice. Moved tools_panel to bottom. Added 'minor edits' checkbox (handler not yet implemented).\n''2006.04.22 [1.3.1]'' assorted code cleanup and optimizations\n''2006.04.22 [1.3.0]'' added "tools" section via custom-defined TidIDETools tiddler content\n''2006.04.22 [1.2.2]'' corrected 'wrap' and 'white-space' CSS for system viewer textarea control so that IE preserves newlines.\n''2006.04.22 [1.2.1]'' added checkbox indicators in options droplist. Allows easy preview of boolean state value for chk* options.\n''2006.04.22 [1.2.0]'' added options droplist to "system" display and supporting setsys() function to update internal config.options.* values\nlayout adjustments: consolidate some buttons, general tweaks for spacing, sizes, etc.\n''2006.04.21 [1.1.1]'' migrated remaining functionality from ToolkitPlugin (now obsolete).\n''2006.04.21 [1.1.0]'' added "system" display and supporting functions\n''2006.04.21 [1.0.1]'' added formatHTML() for better HTML display in preview\n''2006.04.20 [1.0.0] 4:20:00pm'' official release... renamed from ~TiddlerEditorPlugin to TidIDEPlugin. (pronounced "Tie Dyed"... dude!)\n''2006.04.20 [0.9.9]'' added "run" button to dynamically load systemConfig plugins (with warning/confirmation)\n''2006.04.20 [0.9.8]'' layout adjustments for narrow displays\n''2006.04.20 [0.9.7]'' added HTML viewer to preview display\n''2006.04.20 [0.9.6]'' added DOM viewer to preview display\n''2006.04.19 [0.9.5]'' improved save() handler so saving 'unnamed' edit does fallback to 'save as' prompt for tiddler name\n''2006.04.19 [0.9.4]'' added 'preview status' display field and refresh button. Currently shows preview rendering time and autofreeze notice, if any.\n''2006.04.19 [0.9.3]'' correct IE object error by explicitly using "window." scope when referencing addKeyDownHandlers() function definition\n''2006.04.18 [0.9.2]'' if TextAreaPlugin is installed, call addKeyDownHandlers() for extended ctrl-F/G and TAB keystrokes in textarea\n''2006.04.18 [0.9.1]'' "save as" now presents an "overwriteWarning" message box instead of always rejecting existing tiddler titles\n''2006.04.18 [0.9.0]'' added "save as". Use TW standard text for new tiddler title and default text\n''2006.04.18 [0.8.5]'' added "display:inline" to input elements to prevent unwanted line breaks between controls when macro is used in EditTemplate definitions\n''2006.04.18 [0.8.4]'' added cookie for 'auto-freeze' time limit. Also, added more documentation.\n''2006.04.17 [0.8.3]'' added timing wrapper around preview wikify(). Automatically freeze preview display if tiddler rendering exceeds time limit\n''2006.04.17 [0.8.2]'' more code cleanup for better 'dirty' flag handling\n''2006.04.17 [0.8.1]'' show/hide freeze checkbox when toggling preview display. Also, code cleanup for better 'multiple instance' definition\n''2006.04.17 [0.8.0]'' added "freeze" checkbox to toggle 'live update' of preview display. Also, layout/CSS adjustments for better appearance in IE\n''2006.04.16 [0.7.1]'' correct month number offset (was 0-11 instead of 1-12)\n''2006.04.16 [0.7.0]'' added support for 'dirty' flag, read-only mode and improved alert/confirm/prompt handling\n''2006.04.16 [0.6.0]'' created "add/remove" functions. Added handling to trigger autoSave() if option is set.\n''2006.04.15 [0.5.1]'' move 'save' logic to separate function, and added handling to create a 'real' tiddler when saving a shadow\n''2006.04.15 [0.5.0]'' Initial ALPHA release. Converted from TiddlerTweaker inline script.\n<<<\n!!!!!Credits\n<<<\nThis feature was developed by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]].\n<<<\n!!!!!Code\n***/\n// // version info\n//{{{\nversion.extensions.tidIDE = {major: 1, minor: 5, revision: 9, date: new Date(2006,10,08)};\n//}}}\n\n// // macro definition\n//{{{\nconfig.macros.tidIDE = {\n versionMsg: "TidIDE v%0.%1.%2: ",\n datetimefmt: "0MM/0DD/YYYY 0hh:0mm",\n titleMsg: "Please enter a new tiddler title",\n isShadowMsg: "'%0' is a shadow tiddler and cannot be removed.",\n renderMsg: "rendering preview...",\n timeoutMsg: " (> %0ms)",\n freezeMsg: " - preview is frozen. Press [refresh] to re-display.",\n evalMsg: "Warning!!\sn\snThis action will process '%0' as a systemConfig (plugin) tiddler, and may produce unexpected results!\sn\snAre you sure you want to proceed?",\n toolsDef: "<html><a href='javascript:config.macros.tidIDE.set(\s"%0\s",\s"%1\s");'>edit %1...</a></html>",\n editorLabel: "TiddlerEditor",\n systemLabel: "SystemInfo"\n};\nconfig.macros.tidIDE.handler= function(place,macroName,params) {\n var here=story.findContainingTiddler(place);\n var selectors="";\n var panels="";\n var showsys=false;\n var title="";\n var id=""; if (here) id=here.id.substr(7);\n var p=params.shift();\n if (!p) p="edit:here"; // default to editor if no params\n var openpanels=[];\n var panelcount=0;\n while (p) {\n var defOpen=(p.substr(0,1)=="+"); if (defOpen) p=p.substr(1);\n if (p.substr(0,3)=="id:")\n { id=p.substr(3); }\n else if (p.substr(0,4)=="edit") {\n panelcount++;\n defOpen=defOpen || (!params[0] && panelcount==1); // if only one panel to show, default to open\n var toolname=this.editorLabel;\n if (p.indexOf('|')!=-1) toolname=p.substr(0,p.indexOf('|'));\n selectors+=this.html.editorchk.replace(/%toolname%/mg,toolname);\n selectors=selectors.replace(/%showpanel%/mg,defOpen?"CHECKED":"");\n panels+=this.html.editorpanel;\n // editor panel setup...\n panels=panels.replace(/%showpanel%/mg,defOpen?"block":"none");\n panels=panels.replace(/%maxrows%/mg,config.options.txtMaxEditRows);\n panels=panels.replace(/%disabled%/mg,readOnly?"DISABLED":"");\n panels=panels.replace(/%readonlychk%/mg,readOnly?"CHECKED":"");\n panels=panels.replace(/%minoredits%/mg,config.options.chkForceMinorUpdate&&!readOnly?"":"DISABLED");\n panels=panels.replace(/%minorchk%/mg,config.options.chkForceMinorUpdate?"CHECKED":"");\n var tiddlers=store.getTiddlers("title"); var tiddlerlist=""; \n for (var t=0; t<tiddlers.length; t++)\n tiddlerlist+='<option value="'+tiddlers[t].title+'">'+tiddlers[t].title+'</option>';\n for (var t in config.shadowTiddlers)\n if (!store.tiddlerExists(t)) tiddlerlist+="<option value='"+t+"'>"+t+" (shadow)</option>";\n panels=panels.replace(/%tiddlerlist%/mg,tiddlerlist);\n var tags = store.getTags(); var taglist="";\n for (var t=0; t<tags.length; t++)\n taglist+="<option value='"+tags[t][0]+"'>"+tags[t][0]+"</option>";\n panels=panels.replace(/%taglist%/mg,taglist);\n if (p.substr(0,5)=="edit:") { \n title=p.substr(5); \n if (here && title=="here") title=here.id.substr(7);\n if (!store.tiddlerExists(title)&&!store.isShadowTiddler(title)) title="";\n }\n }\n else if (p=="system") {\n panelcount++;\n defOpen=defOpen || (!params[0] && panelcount==1); // if only one panel to show, default to open\n var toolname=this.systemLabel;\n showsys=defOpen;\n if (p.indexOf('|')!=-1) toolname=p.substr(0,p.indexOf('|'));\n selectors+=this.html.systemchk.replace(/%toolname%/mg,toolname);\n selectors=selectors.replace(/%showpanel%/mg,defOpen?"CHECKED":"");\n panels+=this.html.systempanel;\n panels=panels.replace(/%showpanel%/mg,defOpen?"block":"none");\n }\n else {\n panelcount++;\n defOpen=defOpen || (!params[0] && panelcount==1); // if only one panel to show, default to open\n var toolid=toolname=p;\n if (p.indexOf('|')!=-1)\n { toolname=p.substr(0,p.indexOf('|')); toolid=p.substr(p.indexOf('|')+1); }\n selectors+=this.html.toolschk.replace(/%toolid%/mg,toolid).replace(/%toolname%/mg,toolname);\n selectors=selectors.replace(/%showpanel%/mg,defOpen?"CHECKED":"");\n panels+=this.html.toolspanel.replace(/%toolid%/mg,toolid);\n panels=panels.replace(/%showpanel%/mg,defOpen?"block":"none");\n if (defOpen) openpanels.push(toolid);\n }\n p=params.shift(); // next param\n }\n var html=this.html.framework;\n if (panelcount<2)\n html=html.replace(/%version%/mg,'').replace(/%selector%/mg,''); // omit header/selectors if just one panel to display\n else {\n html=html.replace(/%version%/mg,\n this.versionMsg.format([version.extensions.tidIDE.major,version.extensions.tidIDE.minor,version.extensions.tidIDE.revision]));\n html=html.replace(/%selector%/mg,selectors+"<hr style='margin:0;padding:0'>");\n }\n html=html.replace(/%panels%/mg,panels);\n html=html.replace(/%id%/mg,id);\n var newIDE=createTiddlyElement(place,"span");\n newIDE.innerHTML=html;\n if (title.length) this.set(id,title); // pre-load tiddler editor (if needed)\n if (showsys) config.macros.tidIDE.getsys(id); // pre-load system information (if needed)\n if (openpanels.length) for (i=0;i<openpanels.length;i++) { config.macros.tidIDE.loadPanel(id,openpanels[i]); }\n if (window.addKeyDownHandlers!=undefined) { \n // see [[TextAreaPlugin]] for extended ctrl-F/G (search/search again) and TAB handler definitions\n var elems=newIDE.getElementsByTagName("textarea");\n for (var i=0;i<elems.length;i++) window.addKeyDownHandlers(elems[i]);\n }\n}\n//}}}\n\n// // CUSTOM PANEL FUNCTIONS \n//{{{\nconfig.macros.tidIDE.loadPanel=function(id,toolid) {\n var place=document.getElementById(id+"_"+toolid+"_panel"); if (!place) return;\n var t=store.getTiddler(toolid);\n place.innerHTML=""; \n if (t) wikify(t.text,place); else place.innerHTML=this.toolsDef.format([id,toolid]);\n}\n//}}}\n\n// // EDITOR PANEL FUNCTIONS\n//{{{\nconfig.macros.tidIDE.set=function(id,title) {\n var place=document.getElementById(id+"_editorpanel"); if (!place) return;\n var f=document.getElementById(id+"_editorform");\n var p=document.getElementById(id+"_preview");\n if (f.dirty && !confirm(config.commands.cancelTiddler.warning.format([f.current]))) return;\n // reset to form defaults\n f.dirty=false;\n f.current="";\n f.created.value=f.created.defaultValue;\n f.modified.value=f.modified.defaultValue;\n f.author.value=f.author.defaultValue;\n f.content.value=f.content.defaultValue;\n f.tags.value=f.tags.defaultValue;\n f.size.value=f.size.defaultValue;\n f.freeze.checked=false;\n f.domview.value="";\n f.htmlview.value="";\n f.status.value="";\n p.innerHTML="";\n if (!title.length) return;\n f.current=title;\n // values for new/shadow tiddlers\n var cdate=new Date();\n var mdate=new Date();\n var modifier=config.options.txtUserName;\n var text=config.views.editor.defaultText.format([title]);\n var tags="";\n // adjust values for shadow tiddlers\n if (store.isShadowTiddler(title))\n { modifier=config.views.wikified.shadowModifier; text=store.getTiddlerText(title) }\n // get values for specified tiddler (if it exists)\n var t=store.getTiddler(title);\n if (t) { var cdate=t.created; var mdate=t.modified; var modifier=t.modifier; var text=t.text; var tags=t.getTags(); }\n if (!t && !store.isShadowTiddler(title)) f.tiddlers.options[f.tiddlers.options.length]=new Option(title,title,false,true); // add item to list\n f.tiddlers.value=title; // select current title (just in case it wasn't already selected)\n f.created.value=cdate.formatString(this.datetimefmt);\n f.modified.value=mdate.formatString(this.datetimefmt);\n f.author.value=modifier;\n f.content.value=text;\n f.tags.value=tags;\n f.minoredits.checked=config.options.chkForceMinorUpdate&&!readOnly;\n f.size.value=f.content.value.length+" bytes";\n if (f.preview.checked) { p.style.display="block"; this.render(id); }\n}\n\nconfig.macros.tidIDE.add=function(id) {\n var place=document.getElementById(id+"_editorpanel"); if (!place) return;\n var f=document.getElementById(id+"_editorform");\n var p=document.getElementById(id+"_preview");\n if (f.dirty && !confirm(config.commands.cancelTiddler.warning.format([f.current]))) return;\n var title=prompt(this.titleMsg,config.macros.newTiddler.title);\n while (title && store.tiddlerExists(title) && !confirm(config.messages.overwriteWarning.format([title])))\n title=prompt(this.titleMsg,config.macros.newTiddler.title);\n if (!title || !title.trim().length) return; // cancelled by user\n f.dirty=false; // suppress unneeded confirmation message\n this.set(id,title);\n}\n\nconfig.macros.tidIDE.remove=function(id) {\n var place=document.getElementById(id+"_editorpanel"); if (!place) return;\n var f=document.getElementById(id+"_editorform");\n var p=document.getElementById(id+"_preview");\n if (!f.current.length) return;\n if (!store.tiddlerExists(f.current) && store.isShadowTiddler(f.current)) { alert(this.isShadowMsg.format([f.current])); return; }\n if (config.options.chkConfirmDelete && !confirm(config.commands.deleteTiddler.warning.format([f.current]))) return;\n if (store.tiddlerExists(f.current)) {\n story.closeTiddler(f.current);\n store.removeTiddler(f.current);\n store.setDirty(true);\n if(config.options.chkAutoSave) saveChanges();\n }\n f.tiddlers.options[f.tiddlers.selectedIndex]=null; // remove item from list\n f.dirty=false; // suppress unneeded confirmation message\n this.set(id,""); // clear form controls\n}\n\nconfig.macros.tidIDE.save=function(id,saveAs) {\n var place=document.getElementById(id+"_editorpanel"); if (!place) return;\n var f=document.getElementById(id+"_editorform");\n var title=f.current;\n if (!title || !title.trim().length || saveAs) { // get a new title\n title=prompt(this.titleMsg,config.macros.newTiddler.title);\n while (title && store.tiddlerExists(title) && !confirm(config.messages.overwriteWarning.format([title])))\n title=prompt(this.titleMsg,config.macros.newTiddler.title);\n if (!title || !title.trim().length) return; // cancelled by user\n f.tiddlers.options[f.tiddlers.options.length]=new Option(title,title,false,true); // add item to list\n f.current=title;\n }\n var author=config.options.txtUserName;\n var mdate=new Date();\n var content=f.content.value;\n var tags=f.tags.value;\n var tiddler=store.saveTiddler(title,title,content,author,mdate,tags);\n if (f.minoredits.checked) {\n var author=f.author.value;\n var mdate=new Date(f.modified.value);\n var cdate=new Date(f.created.value);\n tiddler.assign(null,null,author,mdate,null,cdate);\n }\n store.setDirty(true);\n if(config.options.chkAutoSave) saveChanges();\n story.refreshTiddler(title,null,true);\n f.dirty=false;\n}\n//}}}\n\n// // EDITOR PANEL: PREVIEW FUNCTIONS\n//{{{\nif (config.options.txtTidIDEAutoFreeze==undefined)\n config.options.txtTidIDEAutoFreeze=250; // limit (in milliseconds) for auto-freezing preview display\n\nconfig.macros.tidIDE.render=function(id) {\n var place=document.getElementById(id+"_editorpanel"); if (!place) return;\n var f=document.getElementById(id+"_editorform");\n var p=document.getElementById(id+"_preview");\n var d=document.getElementById(id+"_domview");\n var h=document.getElementById(id+"_htmlview");\n p.innerHTML="";\n f.status.value=this.renderMsg;\n var start=new Date();\n wikify(f.content.value.replace(regexpCarriageReturn,''),p);\n var end=new Date();\n this.renderDOM(id);\n this.renderHTML(id);\n f.status.value=f.current+": "+(end-start+1)+"ms";\n // automatically suspend preview updates for slow rendering tiddlers\n if (end-start+1>config.options.txtTidIDEAutoFreeze) {\n f.freeze.checked=true;\n f.status.value+=this.timeoutMsg.format([config.options.txtTidIDEAutoFreeze]);\n }\n if (f.freeze.checked) f.status.value+=this.freezeMsg;\n}\n\nconfig.macros.tidIDE.renderDOM=function(id) {\n var place=document.getElementById(id+"_editorpanel"); if (!place) return;\n var f=document.getElementById(id+"_editorform");\n var p=document.getElementById(id+"_preview");\n var d=document.getElementById(id+"_domview");\n var h=document.getElementById(id+"_htmlview");\n p.style.height=(f.dom.checked||f.html.checked)?"10em":"25em";\n if (f.dom.checked) d.value=this.getNodeTree(p,"| ");\n d.style.display=f.dom.checked?"inline":"none";\n d.style.width=f.html.checked?"49.5%":"100%";\n h.style.width=f.dom.checked?"49.5%":"100%";\n}\n\nconfig.macros.tidIDE.renderHTML=function(id) {\n var place=document.getElementById(id+"_editorpanel"); if (!place) return;\n var f=document.getElementById(id+"_editorform");\n var p=document.getElementById(id+"_preview");\n var d=document.getElementById(id+"_domview");\n var h=document.getElementById(id+"_htmlview");\n p.style.height=(f.dom.checked||f.html.checked)?"10em":"25em";\n if (f.html.checked) h.value=this.formatHTML(p.innerHTML);\n h.style.display=f.html.checked?"inline":"none";\n d.style.width=f.html.checked?"49.5%":"100%";\n h.style.width=f.dom.checked?"49.5%":"100%";\n}\n\nconfig.macros.tidIDE.formatHTML=function(txt) {\n if (config.browser.isIE) return txt; // BYPASS - 4/24/2006 due to IE hang problem. Will fix later...\n var out="";\n var indent="";\n var level=0;\n for (var i=0;i<txt.length;i++) {\n var c=txt.substr(i,1);\n if (c=="<") {\n if (txt.substr(i+1,1)=="/") indent=indent.substr(0,indent.length-2);\n out+="\sn"+indent;\n if (txt.substr(i+1,1)!="/" && txt.substr(i+1,3)!="br>" && txt.substr(i+1,2)!="p>" && txt.substr(i+1,3)!="hr>") indent+=" ";\n }\n out+=c;\n if (c=="\sn")\n out+=indent;\n if (c==">" && txt.substr(i+1,1)!="<")\n out+="\sn"+indent;\n }\n return out;\n}\n\nconfig.macros.tidIDE.getNodeTree=function(theNode,theIndent,showPath,inline,thePrefix,thePath)\n{\n if (!theNode) return "";\n if (!thePrefix) thePrefix="";\n if (!thePath) thePath="";\n var mquote='"'+(inline?"{{{":"");\n var endmquote=(inline?"}}}":"")+'"';\n // generate output for this node\n var out = thePrefix;\n if (showPath && thePath.length)\n out += (inline?"//":"")+thePath.substr(1)+":"+(inline?"//":"")+"\sr\sn"+thePrefix;\n if (theNode.className=="DOMViewer")\n return out+'[DOMViewer]\sr\sn'; // avoid self-referential recursion\n out += (inline?"''":"")+theNode.nodeName.toUpperCase()+(inline?"''":"");\n if (theNode.nodeName=="#text")\n out += ' '+mquote+theNode.nodeValue.replace(/\sn/g,'\s\sn')+endmquote;\n if (theNode.className)\n out += ' class='+mquote+theNode.className+endmquote;\n if (theNode.type)\n out += ' type='+mquote+theNode.type+endmquote;\n if (theNode.id)\n out += ' id='+mquote+theNode.id+endmquote;\n if (theNode.name)\n out += " "+theNode.name+(theNode.value?"="+mquote+theNode.value+endmquote:"");\n if (theNode.href)\n out += ' href='+mquote+theNode.href+endmquote;\n if (theNode.src)\n out += ' src='+mquote+theNode.src+endmquote;\n if (theNode.attributes && theNode.getAttribute("tiddlyLink")!=undefined)\n out += ' tiddler='+mquote+theNode.getAttribute("tiddlyLink")+endmquote;\n out += "\sr\sn";\n // recursively generate output for child nodes\n thePath=thePath+"."+theNode.nodeName.toLowerCase();\n thePrefix=theIndent+thePrefix;\n for (var i=0;i<theNode.childNodes.length;i++)\n {\n var thisChild=theNode.childNodes.item(i);\n var theNum=(inline?"~~":"(")+(i+1)+(inline?"~~":")");\n out += this.getNodeTree(thisChild,theIndent,showPath,inline,thePrefix,thePath+theNum);\n }\n return out;\n}\n//}}}\n\n// // DOMViewer macro\n//{{{\nversion.extensions.DOMViewer = version.extensions.tidIDE;\nconfig.macros.DOMViewer = { };\nconfig.macros.DOMViewer.handler = function(place,macroName,params) {\n // set default params\n var inline=false;\n var theRows=15;\n var theIndent="| ";\n var showPath=false;\n var theTarget=place;\n // unpack options parameters\n if (params[0]=='inline') { inline=true; theIndent=">"; params.shift(); } \n if (params[0]&&(params[0].substr(0,7)=="indent:")) { theIndent=params[0].substr(7); params.shift(); } \n if (params[0]&&(params[0].substr(0,5)=="rows:")) { theRows=params[0].substr(5); params.shift(); } \n if (params[0]=='path') { showPath=true; params.shift(); } \n if (params[0]) {\n theTarget=document.getElementById(params[0]);\n if (!theTarget)\n if (store.getTiddler(params[0])!=undefined) {\n theTarget=document.getElementById("tiddler"+params[0]);\n if (!theTarget && confirm("DOMViewer asks:\sn\snIs it OK to open tiddler '"+params[0]+"' now?")) { \n story.displayTiddler(null,params[0],1,null,null,false);\n theTarget=document.getElementById("tiddler"+params[0]);\n }\n }\n params.shift();\n }\n // generate and display DOM tree\n if (inline) {\n var out=config.macros.tidIDE.getNodeTree(theTarget,theIndent,showPath,inline);\n wikify(out,place);\n }\n else {\n var out=config.macros.tidIDE.getNodeTree(theTarget,theIndent,showPath,inline);\n var css=".DOMViewer{width:100%;font-size:8pt;color:inherit;background:transparent;border:0px;}";\n setStylesheet(css,"DOMViewerPlugin");\n var theTextArea=createTiddlyElement(place,"textarea",null,"DOMViewer",out);\n theTextArea.rows=theRows;\n theTextArea.cols=60;\n theTextArea.wrap="off";\n theTextArea.theTarget=theTarget;\n theTextArea.theIndent=theIndent;\n theTextArea.showPath=showPath;\n }\n}\n//}}}\n\n// // SYSTEM PANEL FUNCTIONS\n//{{{\nconfig.macros.tidIDE.showObject=function(o) { // generate formatted output for displaying object references\n var t="";\n for (var p in o) {\n if (typeof o[p]=="function") {\n t+="- - - - - - - - - - "+p+" - - - - - - - - - -\sn";\n t+=o[p].toString();\n t+="\sn- - - - - - - - - - END: "+p+" - - - - - - - - - -\sn";\n }\n else\n t+='['+typeof o[p]+'] '+p+": "+o[p]+"\sn";\n }\n return t;\n}\n\nconfig.macros.tidIDE.getsys=function(id) {\n var place=document.getElementById(id+"_systempanel"); if (!place) return;\n\n var f=document.getElementById(id+"_systemform");\n f.sysview.value="";\n // OPTIONS\n while (f.sys_opts.options.length > 1) { f.sys_opts.options[1]=null; } // clear list\n f.config_view.value=""; // clear edit field\n var cookies = { };\n if (document.cookie != "") {\n var p = document.cookie.split("; ");\n for (var i=0; i < p.length; i++) {\n var pos=p[i].indexOf("=");\n if (pos==-1)\n cookies[p[i]]="";\n else\n cookies[p[i].substr(0,pos)]=unescape(p[i].slice(pos+1));\n }\n }\n var c=1;\n var opt=new Array(); for (var i in config.options) opt.push(i); opt.sort();\n for(var i=0; i<opt.length; i++) {\n if ((opt[i].substr(0,3)=="txt")||(opt[i].substr(0,3)=="chk")) {\n var txt = (opt[i].substr(0,3)=="chk"?("["+(config.options[opt[i]]?"x":"_")+"] "):"")+opt[i]+(cookies[opt[i]]?" (cookie)":"");\n var val = config.options[opt[i]];\n f.sys_opts.options[c++]=new Option(txt,val,false,false);\n }\n }\n // STYLESHEETS\n while (f.sys_styles.options.length > 1) { f.sys_styles.options[1]=null; } // clear list\n var c=1;\n var styles=document.getElementsByTagName("style");\n for(var i=0; i < styles.length; i++) {\n var id=styles[i].getAttribute("id"); if (!id) id="(default)";\n var txt=id;\n var val="/* stylesheet:"+txt+" */\sn"+styles[i].innerHTML;\n f.sys_styles.options[c++]=new Option(txt,val,false,false);\n }\n // SHADOWS\n while (f.sys_shadows.options.length > 1) { f.sys_shadows.options[1]=null; } // clear list\n var c=1;\n for(var s in config.shadowTiddlers) f.sys_shadows.options[c++]=new Option(s,config.shadowTiddlers[s],false,false);\n // NOTIFICATIONS\n while (f.sys_notify.options.length > 1) { f.sys_notify.options[1]=null; } // clear list\n var c=1;\n for (var i=0; i<store.namedNotifications.length; i++) {\n var n = store.namedNotifications[i];\n var fn = n.notify.toString();\n fn = fn.substring(fn.indexOf("function ")+9,fn.indexOf("{")-1);\n var txt=(n.name?n.name:"any change")+"="+fn;\n var val="/* notify: "+txt+" */\sn"+n.notify.toString();\n f.sys_notify.options[c++]=new Option(txt,val,false,false);\n }\n // MACROS\n while (f.sys_macros.options.length > 1) { f.sys_macros.options[1]=null; } // clear list\n var c=1;\n var macros=new Array(); for (var m in config.macros) macros.push(m); macros.sort();\n for(var i=0; i < macros.length; i++)\n f.sys_macros.options[c++]=new Option(macros[i],this.showObject(config.macros[macros[i]]),false,false);\n // TOOLBAR COMMANDS\n while (f.sys_commands.options.length > 1) { f.sys_commands.options[1]=null; } // clear list\n var c=1;\n for(var cmd in config.commands)\n f.sys_commands.options[c++]=new Option(cmd,this.showObject(config.commands[cmd]),false,false);\n // FORMATTERS\n while (f.sys_formatters.options.length > 1) { f.sys_formatters.options[1]=null; } // clear list\n var c=1;\n for(var i=0; i < config.formatters.length; i++)\n f.sys_formatters.options[c++]=new Option(config.formatters[i].name,this.showObject(config.formatters[i]),false,false);\n // PARAMIFIERS\n while (f.sys_params.options.length > 1) { f.sys_params.options[1]=null; } // clear list\n var c=1;\n for(var param in config.paramifiers)\n f.sys_params.options[c++]=new Option(param,this.showObject(config.paramifiers[param]),false,false);\n // GLOBALS\n //global variables and functions (excluding most DOM and ~TiddyWiki core definitions)://\n var DOM0_globals = {\n addEventListener: 1, alert: 1, atob: 1, back: 1, blur: 1, btoa: 1, captureEvents: 1, clearInterval: 1,\n clearTimeout: 1, close: 1, closed: 1, Components: 1, confirm: 1, content: 1, controllers: 1, crypto: 1,\n defaultStatus: 1, defaultStatus: 1, directories: 1, disableExternalCapture: 1, dispatchEvent: 1, document: 1,\n dump: 1, enableExternalCapture: 1, escape: 1, find: 1, focus: 1, forward: 1, frameElement: 1, frames: 1,\n fullScreen: 1, getAttention: 1, getComputedStyle: 1, getSelection: 1, history: 1, home: 1, innerHeight: 1,\n innerWidth: 1, length: 1, location: 1, locationbar: 1, menubar: 1, moveBy: 1, moveTo: 1, name: 1,\n navigator: 1, open: 1, openDialog: 1, opener: 1, outerHeight: 1, outerWidth: 1, pageXOffset: 1,\n pageYOffset: 1, parent: 1, personalbar: 1, pkcs11: 1, print: 1, prompt: 1, prompter: 1, releaseEvents: 1,\n removeEventListener: 1, resizeBy: 1, resizeTo: 1, routeEvent: 1, screen: 1, screenX: 1, screenY: 1,\n scroll: 1, scrollbars: 1, scrollBy: 1, scrollByLines: 1, scrollByPages: 1, scrollMaxX: 1, scrollMaxY: 1,\n scrollTo: 1, scrollX: 1, scrollY: 1, self: 1, setInterval: 1, setResizable: 1, setTimeout: 1, sidebar: 1,\n sizeToContent: 1, status: 1, statusbar: 1, stop: 1, toolbar: 1, top: 1, unescape: 1, updateCommands: 1,\n window: 1, getInterface: 1\n };\n var tw_globals = {\n version: 1, config: 1, DEFAULT_VIEW_TEMPLATE: 1, DEFAULT_EDIT_TEMPLATE: 1, store: 1, story: 1,\n Formatter: 1, anim: 1, readOnly: 1, highlightHack: 1, main: 1, restart: 1, saveTest: 1, loadSystemConfig: 1,\n processConfig: 1, invokeMacro: 1, Formatter: 1, wikify: 1, wikifyPlain: 1, highlightify: 1, Wikifier: 1, \n Tiddler: 1, regexpBackSlashEn: 1, regexpBackSlash: 1, regexpBackSlashEss: 1, regexpNewLine: 1, \n regexpCarriageReturn: 1, TiddlyWiki: 1, displayTiddlers: 1, displayTiddler: 1, Story: 1, displayMessage: 1,\n clearMessage: 1, refreshElements: 1, applyHtmlMacros: 1, refreshPageTemplate: 1, applyPageTemplate: 1,\n refreshDisplay: 1, refreshPageTitle: 1, refreshStyles: 1, loadOptionsCookie: 1, saveOptionCookie: 1,\n saveUsingSafari: 1, startSaveArea: 1, endSaveArea: 1, checkUnsavedChanges: 1, saveChanges: 1,\n getBackupPath: 1, generateRss: 1, allTiddlersAsHtml: 1,\n convertUTF8ToUnicode: 1, manualConvertUTF8ToUnicode: 1, mozConvertUTF8ToUnicode: 1,\n convertUnicodeToUTF8: 1, manualConvertUnicodeToUTF8: 1, mozConvertUnicodeToUTF8: 1,\n saveFile: 1, loadFile: 1, ieSaveFile: 1, ieLoadFile: 1, mozillaSaveFile: 1, mozillaLoadFile: 1,\n operaUrlToFilename: 1, operaSaveFile: 1, operaLoadFile: 1, safariFilenameToUrl: 1, safariLoadFile: 1,\n safariSaveFile: 1, detectPlugin: 1, createTiddlyButton: 1, createTiddlyLink: 1, refreshTiddlyLink: 1,\n createExternalLink: 1, onClickTiddlerLink: 1, createTagButton: 1, onClickTag: 1, onClickTagOpenAll: 1,\n createTiddlyError: 1, Animator: 1, Zoomer: 1, Cascade: 1, Scroller: 1, Slider: 1, Popup: 1,\n createTiddlerPopup: 1, scrollToTiddlerPopup: 1, hideTiddlerPopup: 1, RGB: 1, drawGradient: 1,\n createTiddlyText: 1, createTiddlyElement: 1, addEvent: 1, removeEvent: 1, addClass: 1,\n removeClass: 1, hasClass: 1, resolveTarget: 1, getPlainText: 1, ensureVisible: 1, \n findWindowWidth: 1, findWindowHeight: 1, findScrollX: 1, findScrollY: 1, findPosX: 1, findPosY: 1,\n insertSpacer: 1, removeChildren: 1, setStylesheet: 1,\n Packages: 1, sun: 1, java: 1, netscape: 1, XPCNativeWrapper: 1, GeckoActiveXObject: 1\n };\n while (f.sys_globals.options.length > 1) { f.sys_globals.options[1]=null; } // clear list\n if (config.browser.isIE) return; // BYPASS - 8/16/2006 // DON'T LIST GLOBALS IN IE... throws object error - WFFL\n var c=1;\n for (var v in window) if (!(DOM0_globals[v] || tw_globals[v])) {\n var t=window[v];\n if ((typeof window[v])=='object') {\n var t='';\n for (var p in window[v]) {\n t+=((typeof window[v][p])!='function')?('['+typeof window[v][p]+'] '+p):p;\n t+=((typeof window[v][p])!='function')?('='+window[v][p]):'';\n t+='\sn';\n }\n }\n f.sys_globals.options[c++]=new Option(((typeof window[v])!='function')?('['+typeof window[v]+'] '+v):v,t,false,false);\n }\n}\n\nconfig.macros.tidIDE.setsys=function(id) {\n var place=document.getElementById(id+"_systempanel"); if (!place) return;\n var f=document.getElementById(id+"_systemform");\n if (f.sys_opts.selectedIndex==0) return; // heading - do nothing\n var name=f.sys_opts.options[f.sys_opts.selectedIndex].text.replace(/\s[[Xx_]\s] /,'').replace(/ \s(cookie\s)/,'')\n var value=f.config_view.value;\n config.options[name]=value;\n saveOptionCookie(name);\n f.sys_opts.options[f.sys_opts.selectedIndex].value=value;\n return;\n}\n//}}}\n\n// // HTML DEFINITIONS\n//{{{\nconfig.macros.tidIDE.html = { };\nconfig.macros.tidIDE.html.framework = " \s\n <html> %version% <form style='display:inline;margin:0;padding:0;'>%selector%</form> %panels% </html> \s\n";\n//}}}\n//{{{\nconfig.macros.tidIDE.html.editorchk = " \s\n <input type=checkbox name=editor \s\n style='display:inline;width:auto;margin:1px;' \s\n title='add/delete/modify tiddlers' %showpanel% \s\n onclick='document.getElementById(\s"%id%_editorpanel\s").style.display=this.checked?\s"block\s":\s"none\s"; \s\n if (this.checked) config.macros.tidIDE.render(\s"%id%\s");'>%toolname% \s\n";\nconfig.macros.tidIDE.html.systemchk = " \s\n <input type=checkbox name=system \s\n style='display:inline;width:auto;margin:1px;' \s\n title='view TiddlyWiki system internals and configurable options' %showpanel% \s\n onclick='document.getElementById(\s"%id%_systempanel\s").style.display=this.checked?\s"block\s":\s"none\s"; \s\n if (this.checked) config.macros.tidIDE.getsys(\s"%id%\s");'>%toolname% \s\n";\nconfig.macros.tidIDE.html.toolschk = " \s\n <input type=checkbox name=tools \s\n style='display:inline;width:auto;margin:1px;' \s\n title='' %showpanel% \s\n onclick='document.getElementById(\s"%id%_%toolid%_panel\s").style.display=this.checked?\s"block\s":\s"none\s"; \s\n if (this.checked) config.macros.tidIDE.loadPanel(\s"%id%\s",\s"%toolid%\s");'>%toolname% \s\n";\n//}}}\n//{{{\nconfig.macros.tidIDE.html.toolspanel = " \s\n <div id='%id%_%toolid%_panel' style='display:%showpanel%;margin:0;margin-top:0.5em'> \s\n </div> \s\n";\n//}}}\n//{{{\nconfig.macros.tidIDE.html.systempanel = " \s\n <div id='%id%_systempanel' style='display:%showpanel%;margin:0;margin-top:0.5em;white-space:nowrap'> \s\n <form id='%id%_systemform' style='display:inline;margin:0;padding:0;'> \s\n <!-- configurable options --> \s\n <table style='width:100%;border:0;padding:0;margin:0'><tr style='border:0;padding:0;margin:0'> \s\n <td style='width:30%;border:0;padding:0;margin:0'> \s\n <select size=1 name='sys_opts' style='width:100%;font-size:8pt' \s\n onchange='this.form.config_view.value=this.value'> \s\n <option value=\s"\s">config.options.*</option> \s\n </select> \s\n </td><td style='width:50%;border:0;padding:0;margin:0;'> \s\n <input type=text name='config_view' size=60 style='width:99%;font-size:8pt' value=''> \s\n </td><td style='width:20%;white-space:nowrap;border:0;padding:0;margin:0;'> \s\n <input type=button style='width:50%;' value='set option' title='save this TiddlyWiki option value' \s\n onclick='config.macros.tidIDE.setsys(\s"%id%\s");config.macros.tidIDE.getsys(\s"%id%\s");'><!-- \s\n --><input type=button style='width:50%;' value='refresh' title='retrieve current options and system values' \s\n onclick='this.form.sysview.style.display=\s"none\s"; config.macros.tidIDE.getsys(\s"%id%\s");'> \s\n </td></tr><tr style='border:0;padding:0;margin:0'><td colspan=3 \s\n style='white-space:nowrap;width:100%;border:0;padding:0;margin:0'> \s\n <!-- system objects --> \s\n <select size=1 name='sys_styles' style='width:25%;font-size:8pt' \s\n onchange='this.form.sysview.style.display=\s"block\s"; this.form.%id%_sysview.value=this.value'> \s\n <option value=\s"\s">stylesheets...</option> \s\n </select><select size=1 name='sys_shadows' style='width:25%;font-size:8pt' \s\n onchange='this.form.sysview.style.display=\s"block\s"; this.form.%id%_sysview.value=this.value'> \s\n <option value=\s"\s">shadows...</option> \s\n </select><select size=1 name='sys_notify' style='width:25%;font-size:8pt' \s\n onchange='this.form.sysview.style.display=\s"block\s"; this.form.%id%_sysview.value=this.value'> \s\n <option value=\s"\s">notifications...</option> \s\n </select><select size=1 name='sys_globals' style='width:25%;font-size:8pt' \s\n onchange='this.form.sysview.style.display=\s"block\s"; this.form.%id%_sysview.value=this.value'> \s\n <option value=\s"\s">globals...</option> \s\n </select><br><select size=1 name='sys_macros' style='width:25%;font-size:8pt' \s\n onchange='this.form.sysview.style.display=\s"block\s"; this.form.%id%_sysview.value=this.value'> \s\n <option value=\s"\s">macros...</option> \s\n </select><select size=1 name='sys_commands' style='width:25%;font-size:8pt' \s\n onchange='this.form.sysview.style.display=\s"block\s"; this.form.%id%_sysview.value=this.value'> \s\n <option value=\s"\s">toolbars...</option> \s\n </select><select size=1 name='sys_formatters' style='width:25%;font-size:8pt' \s\n onchange='this.form.sysview.style.display=\s"block\s"; this.form.%id%_sysview.value=this.value'> \s\n <option value=\s"\s">wikifiers...</option> \s\n </select><select size=1 name='sys_params' style='width:25%;font-size:8pt' \s\n onchange='this.form.sysview.style.display=\s"block\s"; this.form.%id%_sysview.value=this.value'> \s\n <option value=\s"\s">paramifiers...</option> \s\n </select> \s\n <!-- system value display area --> \s\n <span style='white-space:normal;'><textarea id='%id%_sysview' name=sysview cols=60 rows=12 \s\n onfocus='this.select()' style='width:99.5%;height:16em;font-size:8pt;display:none'></textarea></span> \s\n </td></tr></table> \s\n </form> \s\n </div> \s\n";\n//}}}\n//{{{\nconfig.macros.tidIDE.html.editorpanel = " \s\n <div id='%id%_editorpanel' style='display:%showpanel%;margin:0;margin-top:0.5em'> \s\n <form id='%id%_editorform' style='display:inline;margin:0;padding:0;'> \s\n <!-- tiddler editor list and buttons --> \s\n <select size=1 name=tiddlers style='display:inline;width:40%' \s\n onchange='config.macros.tidIDE.set(\s"%id%\s",this.value); this.value=this.form.current;'> \s\n <option value=''>select a tiddler...</option> \s\n %tiddlerlist% \s\n </select><!-- \s\n --><input name=add type=button style='display:inline;width:10%' \s\n value='new' title='create a new tiddler' \s\n onclick='config.macros.tidIDE.add(\s"%id%\s")' %disabled%><!-- \s\n --><input name=remove type=button style='display:inline;width:10%' \s\n value='remove' title='delete this tiddler' \s\n onclick='config.macros.tidIDE.remove(\s"%id%\s")' %disabled%><!-- \s\n --><input name=save type=button style='display:inline;width:10%' \s\n value='save' title='save changes to this tiddler' \s\n onclick='config.macros.tidIDE.save(\s"%id%\s")' %disabled%><!-- \s\n --><input name=saveas type=button style='display:inline;width:10%' \s\n value='save as' title='save changes to a new tiddler' \s\n onclick='config.macros.tidIDE.save(\s"%id%\s",true)' %disabled%><!-- \s\n --><input name=view type=button style='display:inline;width:10%' \s\n value='open' title='open this tiddler for regular viewing' \s\n onclick='if (!this.form.current.length) return; story.displayTiddler(null,this.form.current)'><!-- \s\n --><!-- COMMENTED OUT <input name=run type=button style='display:inline;width:9%' \s\n value='run' title='evaluate this tiddler as a javascript \s"systemConfig\s" plugin' \s\n onclick='if (!confirm(config.macros.tidIDE.evalMsg.format([this.form.current]))) return false; \s\n var err=processConfig(this.form.content.value); \s\n if(err)displayMessage(config.messages.customConfigError.format([err,this.form.current]));'> END COMMENT --><!-- \s\n --><input name=previewbutton type=button style='display:inline;width:10%;' \s\n value='preview' title='show \s"live\s" preview display' \s\n onclick='document.getElementById(\s"%id%_previewpanel\s").style.display=\s"block\s"; \s\n this.form.preview.checked=true; config.macros.tidIDE.render(\s"%id%\s")'><!-- \s\n hidden field for preview show/hide state: \s\n --><input name=preview type=checkbox style='display:none;'>\s\n <!-- tiddler content edit --> \s\n <div><textarea id='%id%_content' name=content cols=60 rows=%maxrows% \s\n style='width:100%;font-size:8pt;font-family:verdana,arial,helvetica' \s\n onkeyup='var f=this.form; f.dirty=true; f.size.value=this.value.length+\s" bytes\s"; \s\n var p=document.getElementById(\s"%id%_preview\s"); \s\n if (f.preview.checked && !f.freeze.checked) { config.macros.tidIDE.render(\s"%id%\s"); }'></textarea></div> \s\n <!-- tag edit and droplist --> \s\n <table width='100%' style='border:0;padding:0;margin:0'><tr style='border:0;padding:0;margin:0'> \s\n <td style='border:0;padding:0;margin:0'> \s\n <input type=text name=tags size=60 style='width:100%;font-size:8pt' value='' \s\n onchange='this.form.dirty=true' %disabled%> \s\n </td><td width='1' style='border:0;padding:0;margin:0;'> \s\n <select size=1 name=taglist style='font-size:8pt' \s\n onchange='this.form.dirty=true; this.form.tags.value+=\s" \s"+this.value' %disabled%> \s\n <option value=''>select tags...</option> \s\n %taglist% \s\n </select> \s\n </td></tr></table> \s\n <!-- created/modified dates, author, current tiddler size --> \s\n <div style='float:right;'> \s\n created <input type=text name=created size=15 \s\n style='display:inline;font-size:8pt;text-align:center;padding:0;' value='' \s\n onchange='this.form.dirty=true' %minoredits%> \s\n modified <input type=text name=modified size=15 \s\n style='display:inline;font-size:8pt;text-align:center;padding:0;' value='' \s\n onchange='this.form.dirty=true;' %minoredits%> \s\n by <input type=text name=author size=15 \s\n style='display:inline;font-size:8pt;padding:0;' value='' \s\n onfocus='this.select()' onchange='this.form.dirty=true' %minoredits%> \s\n <input type=text name=size size=10 \s\n style='display:inline;font-size:8pt;text-align:center;padding:0;' value='' \s\n onfocus='this.blur()' onkeydown='return false' DISABLED> \s\n </div> \s\n <!-- toggles: read-only, minor edit --> \s\n <span style='white-space:nowrap'> \s\n <input type=checkbox name=readonly \s\n style='display:inline;width:auto;margin:1px;' %readonlychk% \s\n title='do not allow tiddler changes to be saved' \s\n onclick='readOnly=config.options.chkHttpReadOnly=this.checked;saveOptionCookie(\s"chkHttpReadOnly\s"); \s\n var f=this.form; f.minoredits.disabled=f.tags.disabled=f.taglist.disabled=this.checked; \s\n f.add.disabled=f.remove.disabled=f.save.disabled=f.saveas.disabled=this.checked; \s\n f.created.disabled=f.modified.disabled=f.author.disabled=this.checked||!f.minoredits.checked;'>readonly \s\n <input type=checkbox name=minoredits \s\n style='display:inline;width:auto;margin:1px;' %disabled% %minorchk% \s\n title='check: save datestamps/author as entered, uncheck: auto-update modified/author' \s\n onclick='this.form.created.disabled=this.form.modified.disabled=this.form.author.disabled=!this.checked; \s\n config.options.chkForceMinorUpdate=this.checked;saveOptionCookie(\s"chkForceMinorUpdate\s");'>minor edits \s\n </span> \s\n <!-- tiddler preview display --> \s\n <div id='%id%_previewpanel' style='display:none;white-space:nowrap'> \s\n <div id='%id%_preview' class='viewer' style='margin:0;margin-top:.5em;height:25em;overflow:auto;white-space:normal'> \s\n &nbsp; \s\n </div> \s\n <!-- DOM and HTML viewers --> \s\n <textarea id='%id%_domview' name=domview cols=60 rows=12 wrap=off \s\n onfocus='this.select()' style='display:none;width:100%;height:16em;font-size:8pt'></textarea><!-- \s\n --><textarea id='%id%_htmlview' name=htmlview cols=60 rows=12 wrap=off \s\n onfocus='this.select()' style='display:none;width:100%;height:16em;font-size:8pt'></textarea> \s\n <!-- status line, preview option checkboxes, run/refresh buttons --> \s\n <table width='100%' style='border:0;padding:0;margin:0'><tr style='border:0;padding:0;margin:0'> \s\n <td style='border:0;padding:0;margin:0'> \s\n <input type=text '%id%_status' name=status style='padding:0;width:100%;font-size:8pt;'> \s\n </td><td style='width:1%;border:0;padding:0;margin:0;text-align:right;white-space:nowrap'> \s\n <input type=checkbox name=dom style='display:inline;width:auto;margin:1px;' \s\n title='show Document Object Model (DOM) information' \s\n onclick='config.macros.tidIDE.renderDOM(\s"%id%\s");'>DOM \s\n <input type=checkbox name=html style='display:inline;width:auto;margin:1px;' \s\n title='show rendered HTML' \s\n onclick='config.macros.tidIDE.renderHTML(\s"%id%\s");'>HTML \s\n <input type=checkbox name=freeze style='display:inline;width:auto;margin:1px;' \s\n title='do not update preview display as changes are made' \s\n onclick='var p=document.getElementById(\s"%id%_preview\s"); \s\n if (this.checked) this.form.status.value+=config.macros.tidIDE.freezeMsg; \s\n else config.macros.tidIDE.render(\s"%id%\s");'>freeze \s\n <!-- COMMENTED OUT <input type=button style='display:inline;width:auto;' value='run' \s\n title='evaluate this tiddler as a javascript \s"systemConfig\s" plugin' \s\n onclick='if (!confirm(config.macros.tidIDE.evalMsg.format([this.form.current]))) return false; \s\n var err=processConfig(this.form.content.value); \s\n if(err)displayMessage(config.messages.customConfigError.format([err,this.form.current]));'> END COMMENT --><!-- \s\n --><input type=button style='display:inline;width:auto;' value='refresh' \s\n title='update preview display' \s\n onclick='config.macros.tidIDE.render(\s"%id%\s")'><!-- \s\n --><input type=button style='display:inline;width:auto;' value='hide' \s\n title='hide preview display' \s\n onclick='document.getElementById(\s"%id%_previewpanel\s").style.display=\s"none\s"; \s\n this.form.preview.checked=false; config.macros.tidIDE.render(\s"%id%\s")'> \s\n </td></tr></table> \s\n </div> \s\n </form> \s\n </div> \s\n";\n//}}}
Me and Tigre are like [[this]]\n[img[http://img462.imageshack.us/img462/1158/biggiefa5.jpg]]
Welcome back <<tiddler ShowUserName>>!\n\nIf you are reading thise, you probably had some random memory of this site and wanted to ride the spaceship just one last time. Is it as great as you remembered? I encourage you to \sdelve downward deep/ into your underground notions and add a new [[WeirdDream|WeirdDreams]] or blog. WARNING: THE SPACESHIP TRAVELS AT EXTREMELY "HARD TO DEAL WITH" SPEEDS. IT MOVES AT APPROXIMATELY 3X10^8 M/S. IN ORDE/R TO AVOID GETTING THE RUNS, MAKE SURE TO MAINTAIN A HARMONIOUS BALANCE OF NITROGEN AND OXYGEN. IT IS OF UTMOST IMPORTANCE THAT YOU AVOID THE RUNS (AKA DESTINATION FEVER) AND EXPERIENCE RIDICULOUS EUPHORIA DURING YOUR STAY IN THIS UNIVERSE.\nNote:The spaceship, like the internet, is ubiquitous. Let that be a lesson and/or a blessing to you.\nAfter thought: "Life's like a camel--the bigger the better."\n\n[img[http://www.gradolabs.com/john.jpg]]\n\nBest regards,\n\nMike Brunsting
<<player http://images.apple.com/movies/dreamworks/transformers/transformers-tsr1_h.640.mov>>
[[nerds]]\n
[img[http://img505.imageshack.us/img505/8106/turkeyab3.jpg]]
[[Panacea (live)|http://www.archive.org/download/umelt2006-02-04.flac16/umelt2006-02-04d3t01_vbr.mp3]]\n[[Schizophrenia|http://umelt.com/music/Schizophrenia.mp3]]\n[[Red Star|http://umelt.com/music/Red_Star.mp3]]\n\n<<deliciousPlayTagger>>\n
"Jam-based, progressive groove-rock"
A combo so totally SICK it will completely fill up your special bar!\n[img[http://img226.imageshack.us/img226/7651/tonyhawkproskater44qg9.jpg]]\nKinda like that, only better. Normally it involves some form of a manual in conjunction with other sweet moves.
The pinacle of laser technology meets the violence of today's youth!!!\n[img[http://img299.imageshack.us/img299/8861/eyescopeet1.jpg]]\nThe black guy in front is about to get pwned. This is just like every sci-fi movie. How unoriginal.
Wow, this is a [[stupid]] word\nClick [[HERE]] to see pictures of [[Underbed]] boxes\n\n[[spaceshipper]]'s cell pic:\n[img[http://img226.imageshack.us/img226/2621/underbedzd4.jpg]]
If you are connected to the Internet, you can always get the latest version of this application. There are ''three'' ways you can do this:\n\nClick the following button if you simply want to get the latest changes to any of the core tiddlers that make up this application. These tiddlers are tagged "gtd", and updating in this way will not overwrite any of the core tiddlers that you may have changed unless the core tiddlers are even newer than your changes. This is the recommended way to get updates:\n**<<importUpdates "http://www.dcubed.ca/gtd-update.html">>\n\nClick the following button if you would like to get the latest changes to any of the core tiddlers, but to interactively approve each and every updated tiddler as it is loaded into your system. If there are no updated tiddlers, you will not be prompted and the update will exit quietly:\n**<<importUpdates "http://www.dcubed.ca/gtd-update.html" updates "Update interactively" "Click here to interactively update the application" ask>>\n\nClick the following button if you want to download all of the core tiddlers, regardless of their modification date. Use this to absolutely ensure that you are running with the core application as it was originally written:\n**<<importUpdates "http://www.dcubed.ca/gtd-update.html" all "Update everything">>\n\n''For your safety, your file will be saved and a backup file will be automatically generated before any update is performed.''\n\n!!Update ~TiddlyWiki\nAs a convenience, you can easily update the ~TiddlyWiki core used by this application by clicking on the following button:\n**<<twupdate "Update TiddlyWiki">>\n\nNote that you do not //need// to use this to update ~TiddlyWiki; you can always use [[this technique|http://www.tiddlywiki.com/#HowToUpgrade]]. But a single click seems a whole lot easier!\n\n!!Import and export\nIf you want finer-grained control over moving tiddlers in and out of this system, the following tools will do the job:\n\n** +++[Import...|Import selected tiddlers from another wiki]<<importTiddlers inline>>===\n\n** +++[Export...|Export selected tiddlers from this wiki]<<exportTiddlers inline>>===\n
| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |\n| 11/9/2006 20:31:52 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 11/9/2006 20:32:21 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 11/9/2006 20:39:57 | YourName | [[/|http://jws.tiddlyspot.com/#]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 11/9/2006 22:58:8 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 11/9/2006 23:1:10 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 11/9/2006 23:8:47 | YourName | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 12/9/2006 15:11:32 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 12/9/2006 15:30:29 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 12/9/2006 15:42:58 | YourName | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 12/9/2006 19:29:7 | Spaceshipper | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 12/9/2006 19:41:10 | Spaceshipper | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 13/9/2006 10:2:47 | YourName | [[/|http://jws.tiddlyspot.com/#SiteSubtitle]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 15/9/2006 15:23:51 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 15/9/2006 15:34:44 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 15/9/2006 18:3:1 | Spaceshipper | [[/|http://jws.tiddlyspot.com/#malcolm]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 15/9/2006 18:13:50 | Spaceshipper | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 15/9/2006 18:18:56 | Spaceshipper | [[index.html|http://jws.tiddlyspot.com/index.html#Spaceshipper]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 15/9/2006 18:26:33 | Spaceshipper | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 15/9/2006 18:30:22 | Spaceshipper | [[index.html|http://jws.tiddlyspot.com/index.html#%5B%5Ba%20new%20world%20for%20the%20new%20age%5E%5E%C2%A9%5D%5D]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 15/9/2006 19:1:38 | Spaceshipper | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 15/9/2006 19:10:54 | Spaceshipper | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 15/9/2006 19:12:25 | Spaceshipper | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 15/9/2006 19:27:8 | Spaceshipper | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 15/9/2006 20:1:10 | Spaceshipper | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 15/9/2006 20:5:15 | Spaceshipper | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 16/9/2006 13:51:16 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/#Pimp's]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 16/9/2006 13:53:5 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 16/9/2006 17:31:50 | Spaceshipper | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 16/9/2006 17:38:38 | Spaceshipper | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 17/9/2006 2:11:35 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 17/9/2006 12:59:21 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 17/9/2006 13:2:37 | Spaceshipper | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 17/9/2006 17:34:28 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 17/9/2006 17:38:35 | Spaceshipper | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 17/9/2006 21:1:24 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 17/9/2006 23:47:4 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 19/9/2006 18:1:10 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 20/9/2006 8:16:46 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 20/9/2006 8:17:8 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 20/9/2006 10:27:8 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 20/9/2006 11:1:11 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 20/9/2006 11:1:17 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 20/9/2006 11:1:18 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok | Ok | Ok |\n| 20/9/2006 11:6:28 | who is joe? | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 20/9/2006 11:11:45 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 20/9/2006 11:12:8 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 20/9/2006 11:12:40 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 20/9/2006 11:12:41 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 20/9/2006 11:12:43 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 20/9/2006 11:12:44 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 20/9/2006 11:12:45 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 20/9/2006 11:12:46 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 20/9/2006 11:13:12 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 20/9/2006 11:13:48 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 20/9/2006 11:13:50 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok | Ok | Ok |\n| 20/9/2006 11:18:1 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 20/9/2006 11:20:4 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 21/9/2006 19:17:7 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 21/9/2006 19:19:21 | Spaceshipper | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 21/9/2006 19:19:41 | Spaceshipper | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 22/9/2006 16:34:5 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 22/9/2006 16:54:41 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 22/9/2006 17:14:10 | Spaceshipper | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 22/9/2006 17:15:38 | Spaceshipper | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 22/9/2006 17:18:2 | Spaceshipper | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 22/9/2006 17:20:0 | Spaceshipper | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 22/9/2006 20:17:46 | Spaceshipper | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 22/9/2006 21:6:50 | Spaceshipper | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 22/9/2006 21:13:1 | Spaceshipper | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 22/9/2006 21:14:46 | Spaceshipper | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 22/9/2006 21:51:2 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 22/9/2006 21:53:17 | Shikwah | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 22/9/2006 21:55:22 | Shikwah | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 22/9/2006 23:5:14 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 22/9/2006 23:10:47 | Spaceshipper | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 22/9/2006 23:11:40 | Spaceshipper | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 22/9/2006 23:13:56 | Spaceshipper | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 22/9/2006 23:24:52 | Spaceshipper | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 22/9/2006 23:25:33 | Spaceshipper | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 22/9/2006 23:31:39 | Spaceshipper | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 22/9/2006 23:33:33 | Spaceshipper | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 22/9/2006 23:36:16 | Spaceshipper | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 24/9/2006 22:25:25 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 24/9/2006 22:42:35 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 25/9/2006 18:53:0 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 25/9/2006 20:1:52 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 25/9/2006 20:9:15 | Spaceshipper | [[/|http://jws.tiddlyspot.com/#]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 25/9/2006 20:21:1 | Spaceshipper | [[/|http://jws.tiddlyspot.com/#]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 25/9/2006 20:40:44 | Spaceshipper | [[/|http://jws.tiddlyspot.com/#]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/9/2006 20:40:31 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 28/9/2006 14:39:52 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 28/9/2006 19:20:9 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 28/9/2006 19:57:40 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 28/9/2006 21:4:10 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 29/9/2006 17:0:12 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 3/10/2006 10:56:20 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 3/10/2006 11:20:28 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 3/10/2006 20:58:13 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/#%5B%5B2006%2F10%2F3%3A%20No%20Way%20Jose%5D%5D]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 4/10/2006 20:16:45 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 4/10/2006 20:19:55 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 6/10/2006 15:15:5 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 8/1/1970 18:15:33 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 8/1/1970 18:16:25 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 6/10/2006 15:25:26 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 6/10/2006 15:28:15 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 13/10/2006 17:5:51 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 16/10/2006 18:44:37 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 16/10/2006 19:4:4 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 17/10/2006 21:27:32 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 17/10/2006 21:28:38 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 17/10/2006 21:29:18 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 18/10/2006 18:30:18 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 19/10/2006 23:23:27 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 27/10/2006 9:3:54 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 27/10/2006 9:24:53 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 27/10/2006 9:25:8 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 27/10/2006 9:25:40 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 27/10/2006 9:26:18 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 27/10/2006 9:29:6 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 27/10/2006 9:41:46 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 27/10/2006 10:2:59 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 27/10/2006 15:32:57 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 27/10/2006 16:8:47 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 27/10/2006 16:9:56 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 27/10/2006 16:15:18 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 27/10/2006 16:20:18 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 27/10/2006 16:21:26 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 27/10/2006 20:14:18 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 27/10/2006 20:37:13 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 27/10/2006 20:57:11 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 29/10/2006 20:35:45 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 29/10/2006 20:39:1 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 30/10/2006 7:13:17 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 30/10/2006 7:13:55 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 30/10/2006 17:26:5 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 30/10/2006 17:36:11 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 30/10/2006 18:19:15 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 30/10/2006 18:40:0 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 30/10/2006 19:13:15 | Spaceshipper | [[/|http://jws.tiddlyspot.com/#HaloscanTiddler]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 30/10/2006 19:26:7 | Spaceshipper | [[/|http://jws.tiddlyspot.com/#HaloscanTiddler]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 30/10/2006 20:2:19 | Spaceshipper | [[/|http://jws.tiddlyspot.com/#HaloscanTiddler]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 30/10/2006 20:12:44 | Spaceshipper | [[/|http://jws.tiddlyspot.com/#HaloscanTiddler]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 30/10/2006 20:42:4 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 30/10/2006 20:49:23 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 30/10/2006 21:33:3 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 30/10/2006 21:58:41 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 30/10/2006 22:1:7 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 30/10/2006 22:6:42 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 30/10/2006 22:42:28 | Spaceshipper | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 30/10/2006 22:42:29 | Spaceshipper | [[index.html|http://jws.tiddlyspot.com/index.html]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 31/10/2006 15:5:47 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 31/10/2006 15:6:10 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 31/10/2006 16:8:14 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 31/10/2006 16:11:3 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 31/10/2006 16:34:43 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 31/10/2006 16:43:22 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 31/10/2006 16:50:34 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 31/10/2006 16:56:52 | Spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 1/11/2006 9:33:49 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 1/11/2006 9:34:29 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 1/11/2006 17:58:30 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 1/11/2006 18:20:45 | JamminJelly | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 1/11/2006 18:22:14 | JamminJelly | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 1/11/2006 18:40:15 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 1/11/2006 19:32:17 | spaceshipper | [[/|http://jws.tiddlyspot.com/#Music]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 1/11/2006 19:56:56 | spaceshipper | [[/|http://jws.tiddlyspot.com/#Music]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 1/11/2006 20:3:17 | spaceshipper | [[/|http://jws.tiddlyspot.com/#Music]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 1/11/2006 20:53:12 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 1/11/2006 20:54:47 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 1/11/2006 20:57:26 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 1/11/2006 21:46:1 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 1/11/2006 21:56:58 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/11/2006 14:38:51 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/11/2006 14:47:26 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/11/2006 14:59:17 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/11/2006 15:6:47 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/11/2006 16:17:51 | JamminJelly | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 2/11/2006 16:33:3 | JamminJelly | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 2/11/2006 16:40:20 | JamminJelly | [[/|http://jws.tiddlyspot.com/#BlogEntry3]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/11/2006 17:58:3 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/11/2006 18:4:32 | JamminJelly | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/11/2006 18:26:29 | JamminJelly | [[/|http://jws.tiddlyspot.com/#%5B%5BNew%20Tiddler%5D%5D]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/11/2006 18:37:40 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/11/2006 18:44:12 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/11/2006 18:47:26 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/11/2006 18:50:24 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/11/2006 19:56:44 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/11/2006 20:23:13 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/11/2006 20:34:50 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/11/2006 20:45:16 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/11/2006 20:52:0 | spaceshipper | [[/|http://jws.tiddlyspot.com/#HTMLFormattingPlugin]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/11/2006 20:57:17 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/11/2006 21:14:59 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/11/2006 21:25:24 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/11/2006 21:30:14 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/11/2006 21:47:33 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/11/2006 22:0:58 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/11/2006 22:14:53 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 3/11/2006 12:13:54 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 3/11/2006 15:25:30 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 3/11/2006 16:52:1 | JamminJelly | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 3/11/2006 16:55:52 | JamminJelly | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 3/11/2006 17:2:43 | JamminJelly | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 3/11/2006 18:32:55 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 3/11/2006 19:20:58 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 3/11/2006 19:35:6 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 3/11/2006 19:58:9 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 3/11/2006 20:44:37 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 3/11/2006 21:10:58 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 3/11/2006 21:15:25 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 3/11/2006 21:19:29 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 3/11/2006 21:35:15 | spaceshipper | [[?x=49&y=8|http://jws.tiddlyspot.com/?x=49&y=8]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 3/11/2006 21:38:25 | spaceshipper | [[?x=49&y=8|http://jws.tiddlyspot.com/?x=49&y=8]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 3/11/2006 21:42:22 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 4/11/2006 13:49:0 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 4/11/2006 23:6:10 | JamminJelly | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 5/11/2006 10:59:47 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 5/11/2006 11:1:18 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 5/11/2006 16:13:43 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 5/11/2006 16:14:45 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 5/11/2006 16:23:14 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 5/11/2006 16:27:15 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 5/11/2006 17:27:42 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 5/11/2006 17:27:47 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 5/11/2006 17:27:52 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 5/11/2006 17:52:52 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 5/11/2006 18:29:40 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 5/11/2006 19:17:58 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 5/11/2006 19:24:14 | Shikwah | [[/|http://jws.tiddlyspot.com/#GeneralPosts]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 5/11/2006 19:34:55 | Shikwah | [[/|http://jws.tiddlyspot.com/#GeneralPosts]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 5/11/2006 19:46:27 | Shikwah | [[/|http://jws.tiddlyspot.com/#GeneralPosts]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 6/11/2006 14:27:26 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 6/11/2006 14:41:10 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 6/11/2006 14:50:33 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 6/11/2006 14:53:48 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 6/11/2006 16:35:31 | JamminJelly | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 6/11/2006 16:47:12 | JamminJelly | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 6/11/2006 16:52:57 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 6/11/2006 18:18:21 | JamminJelly | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 6/11/2006 18:36:29 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 6/11/2006 18:38:49 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 6/11/2006 18:41:24 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 6/11/2006 18:41:35 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok | Ok |\n| 6/11/2006 18:51:1 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 6/11/2006 18:52:3 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 6/11/2006 18:52:45 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok | Ok |\n| 6/11/2006 18:55:36 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 6/11/2006 20:58:4 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 7/11/2006 6:53:26 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 7/11/2006 7:1:11 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 7/11/2006 7:24:12 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 7/11/2006 9:57:39 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 7/11/2006 10:1:44 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 7/11/2006 10:3:10 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 7/11/2006 10:21:35 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 7/11/2006 10:24:27 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 7/11/2006 10:27:33 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 7/11/2006 14:26:1 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 7/11/2006 14:30:9 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 7/11/2006 14:37:18 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 7/11/2006 14:41:21 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 7/11/2006 14:46:16 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 7/11/2006 15:5:30 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 7/11/2006 15:12:55 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 7/11/2006 15:12:58 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 7/11/2006 17:27:41 | JamminJelly | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 7/11/2006 17:37:33 | JamminJelly | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 7/11/2006 17:41:56 | JamminJelly | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 7/11/2006 18:43:20 | Darknesinthewood | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 7/11/2006 18:43:51 | Joe'sWonderfulShapceship | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 7/11/2006 18:44:37 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 7/11/2006 18:45:0 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 7/11/2006 19:58:12 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 7/11/2006 19:59:18 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 7/11/2006 20:2:5 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 7/11/2006 20:6:35 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 7/11/2006 20:13:13 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 7/11/2006 20:19:19 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 7/11/2006 20:30:10 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 7/11/2006 20:44:23 | Darknesinthewood | [[/|http://jws.tiddlyspot.com/#Darknesinthewood]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 7/11/2006 20:46:7 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 7/11/2006 21:14:6 | Darknesinthewood | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 7/11/2006 21:18:6 | Darknesinthewood | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 7/11/2006 21:29:0 | Darknesinthewood | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 7/11/2006 21:31:1 | Darknesinthewood | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 7/11/2006 21:50:30 | Darknesinthewood | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 7/11/2006 22:0:57 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 8/11/2006 0:16:33 | spaceshipper | [[/|http://jws.tiddlyspot.com/#%5B%5BNew%20Tiddler%5D%5D]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 8/11/2006 0:19:5 | spaceshipper | [[/|http://jws.tiddlyspot.com/#%5B%5BNew%20Tiddler%5D%5D]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 8/11/2006 0:26:54 | spaceshipper | [[/|http://jws.tiddlyspot.com/#%5B%5BNew%20Tiddler%5D%5D]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 8/11/2006 9:52:27 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 8/11/2006 10:25:58 | Shikwah | [[/|http://jws.tiddlyspot.com/#%5B%5BA%20RubberMaid%20vintage%5D%5D]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 8/11/2006 15:2:51 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 8/11/2006 15:6:33 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 8/11/2006 15:9:2 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 8/11/2006 15:11:37 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 8/11/2006 15:14:44 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 8/11/2006 18:34:38 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 8/11/2006 19:18:1 | spaceshipper | [[/|http://jws.tiddlyspot.com/#WelcomeAboard]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 8/11/2006 19:24:33 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 8/11/2006 20:39:13 | spaceshipper | [[/|http://jws.tiddlyspot.com/#WelcomeAboard]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 8/11/2006 21:16:38 | spaceshipper | [[/|http://jws.tiddlyspot.com/#WelcomeAboard]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 8/11/2006 21:19:5 | spaceshipper | [[/|http://jws.tiddlyspot.com/#WelcomeAboard]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 8/11/2006 21:44:0 | Darknesinthewood | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 8/11/2006 22:4:42 | spaceshipper | [[/|http://jws.tiddlyspot.com//#ImportTiddlersPlugin%20MoveablePanelPlugin%20NestedSlidersPlugin%20ReminderMacros%20TidIDEPlugin%20tiddlyspotControls]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 8/11/2006 22:9:0 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 8/11/2006 22:31:17 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 8/11/2006 23:22:19 | spaceshipper | [[/|http://jws.tiddlyspot.com//]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 8/11/2006 23:25:10 | spaceshipper | [[/|http://jws.tiddlyspot.com//]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 9/11/2006 16:54:11 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 10/11/2006 19:0:45 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 10/11/2006 19:9:38 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 10/11/2006 20:17:20 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 10/11/2006 20:26:2 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 10/11/2006 21:5:17 | JamminJelly | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 10/11/2006 22:53:25 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 10/11/2006 22:56:5 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 10/11/2006 23:35:0 | spaceshipper | [[/|http://jws.tiddlyspot.com/#%5B%5BFareed%20Haque%5D%5D]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 10/11/2006 23:37:39 | spaceshipper | [[/|http://jws.tiddlyspot.com/#%5B%5BFareed%20Haque%5D%5D]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 11/11/2006 12:35:50 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 11/11/2006 13:35:40 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 12/11/2006 12:0:6 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 12/11/2006 15:46:33 | spaceshipper | [[/|http://jws.tiddlyspot.com/#%5B%5BNew%20Tiddler%5D%5D]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 12/11/2006 15:49:47 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 12/11/2006 16:52:50 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 12/11/2006 17:25:40 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 12/11/2006 17:59:26 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 12/11/2006 19:39:51 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 12/11/2006 21:23:16 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 13/11/2006 10:4:22 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 13/11/2006 10:11:8 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 13/11/2006 10:11:35 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 13/11/2006 10:15:3 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 13/11/2006 10:19:10 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 13/11/2006 18:14:12 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 13/11/2006 18:17:10 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 13/11/2006 18:23:31 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 13/11/2006 18:23:59 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 13/11/2006 18:24:6 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 13/11/2006 18:25:11 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 13/11/2006 18:26:15 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 13/11/2006 20:4:50 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 14/11/2006 13:41:31 | Darknesinthewood | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 14/11/2006 13:43:48 | Darknesinthewood | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 14/11/2006 16:38:0 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 14/11/2006 16:38:27 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 14/11/2006 16:38:40 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 14/11/2006 21:12:57 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 14/11/2006 21:16:15 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 14/11/2006 21:19:47 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 15/11/2006 19:21:1 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 15/11/2006 19:40:40 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 15/11/2006 19:53:33 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 15/11/2006 20:59:25 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 15/11/2006 21:12:51 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 16/11/2006 15:12:21 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 16/11/2006 15:15:59 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 16/11/2006 19:23:41 | Darknesinthewood | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 16/11/2006 19:23:58 | Darknesinthewood | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 16/11/2006 19:24:3 | Darknesinthewood | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 16/11/2006 19:53:53 | Darknesinthewood | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 16/11/2006 20:2:38 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 17/11/2006 22:22:2 | JamminJelly | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 18/11/2006 21:18:41 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 18/11/2006 23:15:30 | spaceshipper | [[/|http://jws.tiddlyspot.com/#Poetry]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 19/11/2006 18:5:36 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 19/11/2006 18:11:4 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 19/11/2006 18:27:6 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 19/11/2006 19:11:59 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 19/11/2006 19:20:23 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 19/11/2006 19:30:58 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 19/11/2006 19:39:37 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 19/11/2006 19:44:50 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 19/11/2006 19:47:37 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 19/11/2006 19:49:19 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 19/11/2006 21:40:20 | spaceshipper | [[/|http://jws.tiddlyspot.com/#KombuchaBlog%234]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 19/11/2006 22:0:55 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 19/11/2006 22:8:45 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 19/11/2006 22:14:40 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 19/11/2006 22:16:21 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 20/11/2006 17:28:5 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 20/11/2006 18:2:2 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 20/11/2006 18:2:22 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 20/11/2006 18:2:35 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 20/11/2006 19:32:1 | JamminJelly | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 20/11/2006 19:45:50 | JamminJelly | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 20/11/2006 20:17:30 | JamminJelly | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 20/11/2006 20:19:1 | JamminJelly | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 21/11/2006 16:26:18 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 21/11/2006 16:34:10 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 21/11/2006 21:19:54 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 22/11/2006 12:50:47 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 22/11/2006 15:14:7 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 22/11/2006 17:0:46 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 22/11/2006 17:23:32 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 23/11/2006 8:55:36 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 23/11/2006 12:50:59 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 23/11/2006 15:50:44 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 23/11/2006 20:20:13 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 23/11/2006 20:26:8 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 24/11/2006 14:40:39 | spaceshipper | [[/|http://jws.tiddlyspot.com/#%5B%5BSpy%20Hunter!!!!!!!!!%5D%5D]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 24/11/2006 14:41:22 | spaceshipper | [[/|http://jws.tiddlyspot.com/#%5B%5BSpy%20Hunter!!!!!!!!!%5D%5D]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 24/11/2006 14:44:3 | spaceshipper | [[/|http://jws.tiddlyspot.com/#%5B%5BSpy%20Hunter!!!!!!!!!%5D%5D]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 24/11/2006 14:45:49 | spaceshipper | [[/|http://jws.tiddlyspot.com/#%5B%5BSpy%20Hunter!!!!!!!!!%5D%5D]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 24/11/2006 14:47:11 | spaceshipper | [[/|http://jws.tiddlyspot.com/#%5B%5BSpy%20Hunter!!!!!!!!!%5D%5D]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 24/11/2006 14:47:33 | spaceshipper | [[/|http://jws.tiddlyspot.com/#%5B%5BSpy%20Hunter!!!!!!!!!%5D%5D]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 24/11/2006 16:42:44 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 24/11/2006 23:8:4 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 24/11/2006 23:8:24 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok | Ok |\n| 24/11/2006 23:50:9 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 25/11/2006 9:53:5 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 25/11/2006 16:12:40 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 25/11/2006 16:13:32 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 25/11/2006 16:13:38 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 25/11/2006 21:37:10 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 25/11/2006 21:51:44 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 16:52:12 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 18:21:20 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 19:34:36 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 26/11/2006 19:35:4 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 26/11/2006 19:35:35 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 26/11/2006 19:37:45 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 26/11/2006 19:44:25 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 21:49:42 | Darknesinthewood | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 21:49:55 | Darknesinthewood | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 21:50:0 | Darknesinthewood | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 27/11/2006 10:16:22 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 27/11/2006 17:26:54 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 27/11/2006 19:37:35 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 27/11/2006 21:31:11 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 27/11/2006 21:35:6 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 27/11/2006 21:36:58 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 27/11/2006 22:2:46 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 27/11/2006 22:34:56 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 28/11/2006 16:30:33 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 28/11/2006 20:4:49 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 28/11/2006 20:36:16 | Darknesinthewood | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 28/11/2006 21:18:42 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 29/11/2006 7:12:47 | Spaceshipper | [[/|http://jws.tiddlyspot.com/#DawgSpot]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 29/11/2006 7:27:8 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/#DawgSpot]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 29/11/2006 7:37:37 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/#DawgSpot]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 29/11/2006 19:35:37 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 29/11/2006 21:42:37 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 30/11/2006 7:8:51 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 30/11/2006 7:17:12 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 30/11/2006 14:7:55 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 30/11/2006 14:12:3 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 30/11/2006 18:9:13 | spaceshipper | [[/|http://jws.tiddlyspot.com/#FromTheCockpit]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 30/11/2006 18:13:38 | spaceshipper | [[/|http://jws.tiddlyspot.com/#FromTheCockpit]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 30/11/2006 18:14:45 | spaceshipper | [[/|http://jws.tiddlyspot.com/#FromTheCockpit]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 30/11/2006 18:21:2 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 30/11/2006 18:21:58 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 30/11/2006 18:26:46 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 30/11/2006 21:54:11 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 1/12/2006 19:11:38 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 1/12/2006 19:17:24 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/12/2006 12:35:37 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 3/12/2006 10:12:16 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 3/12/2006 20:8:30 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 6/12/2006 18:24:18 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 7/12/2006 9:5:43 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 11/12/2006 21:48:30 | Darknesinthewood | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 12/12/2006 19:36:1 | AFOD | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 13/12/2006 13:33:15 | Darknesinthewood | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 28/4/2007 18:50:5 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 29/5/2007 16:16:31 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 29/5/2007 16:16:55 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 29/5/2007 16:32:16 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 29/5/2007 16:46:26 | Darknessinthewood | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 5/6/2007 16:55:22 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 29/9/2007 23:8:17 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 30/9/2007 13:0:19 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/10/2007 12:14:11 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/10/2007 12:50:5 | spaceshipper | [[/|http://jws.tiddlyspot.com/#GTDTWStyleSheet]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/10/2007 12:58:5 | spaceshipper | [[/|http://jws.tiddlyspot.com/#GTDTWStyleSheet]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/10/2007 16:14:10 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/10/2007 16:24:59 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 3/10/2007 12:9:3 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 3/10/2007 12:24:54 | Shikwah | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 14/11/2007 15:12:43 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 14/11/2007 15:13:41 | JaredTheDonkey | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 1/2/2008 11:54:51 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 1/2/2008 11:54:57 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 1/2/2008 11:55:1 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 1/2/2008 14:34:38 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 5/4/2008 21:53:30 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 5/4/2008 21:53:59 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 25/4/2008 14:13:8 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 13/5/2008 13:44:47 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 15/5/2008 6:53:2 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 25/4/2009 16:3:29 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 25/4/2009 16:7:15 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 25/4/2009 16:18:21 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 10/5/2010 21:17:57 | YourName | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 10/5/2010 21:18:21 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 10/5/2010 21:18:32 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 11/5/2010 13:15:8 | The Shit Bandit | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 11/5/2010 13:50:45 | The Shit Bandit | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 11/5/2010 17:4:5 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 11/5/2010 18:56:40 | spaceshipper | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 12/5/2010 17:36:53 | The Shit Bandit | [[/|http://jws.tiddlyspot.com/]] | [[store.cgi|http://jws.tiddlyspot.com/store.cgi]] | . | index.html | . |
/***\n<<tiddler UploadPluginDoc>>\n!Code\n***/\n//{{{\nversion.extensions.UploadPlugin = {\n major: 3, minor: 3, revision: 3, \n date: new Date(2006,6,30),\n type: 'macro',\n source: 'http://tiddlywiki.bidix.info/#UploadPlugin',\n docs: 'http://tiddlywiki.bidix.info/#UploadPluginDoc'\n};\n//}}}\n\n////+++!![config.lib.file]\n\n//{{{\nif (!config.lib) config.lib = {};\nif (!config.lib.file) config.lib.file= {\n author: 'BidiX',\n version: {major: 0, minor: 1, revision: 0}, \n date: new Date(2006,3,9)\n};\nconfig.lib.file.dirname = function (filePath) {\n var lastpos;\n if ((lastpos = filePath.lastIndexOf("/")) != -1) {\n return filePath.substring(0, lastpos);\n } else {\n return filePath.substring(0, filePath.lastIndexOf("\s\s"));\n }\n};\nconfig.lib.file.basename = function (filePath) {\n var lastpos;\n if ((lastpos = filePath.lastIndexOf("#")) != -1) \n filePath = filePath.substring(0, lastpos);\n if ((lastpos = filePath.lastIndexOf("/")) != -1) {\n return filePath.substring(lastpos + 1);\n } else\n return filePath.substring(filePath.lastIndexOf("\s\s")+1);\n};\nwindow.basename = function() {return "@@deprecated@@";};\n//}}}\n////===\n\n////+++!![config.lib.log]\n\n//{{{\nif (!config.lib) config.lib = {};\nif (!config.lib.log) config.lib.log= {\n author: 'BidiX',\n version: {major: 0, minor: 1, revision: 0}, \n date: new Date(2006,3,9)\n};\nconfig.lib.Log = function(tiddlerTitle, logHeader) {\n if (version.major < 2)\n this.tiddler = store.tiddlers[tiddlerTitle];\n else\n this.tiddler = store.getTiddler(tiddlerTitle);\n if (!this.tiddler) {\n this.tiddler = new Tiddler();\n this.tiddler.title = tiddlerTitle;\n this.tiddler.text = "| !date | !user | !location |" + logHeader;\n this.tiddler.created = new Date();\n this.tiddler.modifier = config.options.txtUserName;\n this.tiddler.modified = new Date();\n if (version.major < 2)\n store.tiddlers[tiddlerTitle] = this.tiddler;\n else\n store.addTiddler(this.tiddler);\n }\n return this;\n};\n\nconfig.lib.Log.prototype.newLine = function (line) {\n var now = new Date();\n var newText = "| ";\n newText += now.getDate()+"/"+(now.getMonth()+1)+"/"+now.getFullYear() + " ";\n newText += now.getHours()+":"+now.getMinutes()+":"+now.getSeconds()+" | ";\n newText += config.options.txtUserName + " | ";\n var location = document.location.toString();\n var filename = config.lib.file.basename(location);\n if (!filename) filename = '/';\n newText += "[["+filename+"|"+location + "]] |";\n this.tiddler.text = this.tiddler.text + "\sn" + newText;\n this.addToLine(line);\n};\n\nconfig.lib.Log.prototype.addToLine = function (text) {\n this.tiddler.text = this.tiddler.text + text;\n this.tiddler.modifier = config.options.txtUserName;\n this.tiddler.modified = new Date();\n if (version.major < 2)\n store.tiddlers[this.tiddler.tittle] = this.tiddler;\n else {\n store.addTiddler(this.tiddler);\n story.refreshTiddler(this.tiddler.title);\n store.notify(this.tiddler.title, true);\n }\n if (version.major < 2)\n store.notifyAll(); \n};\n//}}}\n////===\n\n////+++!![config.lib.options]\n\n//{{{\nif (!config.lib) config.lib = {};\nif (!config.lib.options) config.lib.options = {\n author: 'BidiX',\n version: {major: 0, minor: 1, revision: 0}, \n date: new Date(2006,3,9)\n};\n\nconfig.lib.options.init = function (name, defaultValue) {\n if (!config.options[name]) {\n config.options[name] = defaultValue;\n saveOptionCookie(name);\n }\n};\n//}}}\n////===\n\n////+++!![PasswordTweak]\n\n//{{{\nversion.extensions.PasswordTweak = {\n major: 1, minor: 0, revision: 2, date: new Date(2006,3,11),\n type: 'tweak',\n source: 'http://tiddlywiki.bidix.info/#PasswordTweak'\n};\n//}}}\n/***\n!!config.macros.option\n***/\n//{{{\nconfig.macros.option.passwordCheckboxLabel = "Save this password on this computer";\nconfig.macros.option.passwordType = "password"; // password | text\n\nconfig.macros.option.onChangeOption = function(e)\n{\n var opt = this.getAttribute("option");\n var elementType,valueField;\n if(opt) {\n switch(opt.substr(0,3)) {\n case "txt":\n elementType = "input";\n valueField = "value";\n break;\n case "pas":\n elementType = "input";\n valueField = "value";\n break;\n case "chk":\n elementType = "input";\n valueField = "checked";\n break;\n }\n config.options[opt] = this[valueField];\n saveOptionCookie(opt);\n var nodes = document.getElementsByTagName(elementType);\n for(var t=0; t<nodes.length; t++) {\n var optNode = nodes[t].getAttribute("option");\n if (opt == optNode) \n nodes[t][valueField] = this[valueField];\n }\n }\n return(true);\n};\n\nconfig.macros.option.handler = function(place,macroName,params)\n{\n var opt = params[0];\n var size = 15;\n if (params[1])\n size = params[1];\n if(config.options[opt] === undefined) {\n return;}\n var c;\n switch(opt.substr(0,3)) {\n case "txt":\n c = document.createElement("input");\n c.onkeyup = this.onChangeOption;\n c.setAttribute ("option",opt);\n c.size = size;\n c.value = config.options[opt];\n place.appendChild(c);\n break;\n case "pas":\n // input password\n c = document.createElement ("input");\n c.setAttribute("type",config.macros.option.passwordType);\n c.onkeyup = this.onChangeOption;\n c.setAttribute("option",opt);\n c.size = size;\n c.value = config.options[opt];\n place.appendChild(c);\n // checkbox link with this password "save this password on this computer"\n c = document.createElement("input");\n c.setAttribute("type","checkbox");\n c.onclick = this.onChangeOption;\n c.setAttribute("option","chk"+opt);\n place.appendChild(c);\n c.checked = config.options["chk"+opt];\n // text savePasswordCheckboxLabel\n place.appendChild(document.createTextNode(config.macros.option.passwordCheckboxLabel));\n break;\n case "chk":\n c = document.createElement("input");\n c.setAttribute("type","checkbox");\n c.onclick = this.onChangeOption;\n c.setAttribute("option",opt);\n place.appendChild(c);\n c.checked = config.options[opt];\n break;\n }\n};\n//}}}\n/***\n!! Option cookie stuff\n***/\n//{{{\nwindow.loadOptionsCookie_orig_PasswordTweak = window.loadOptionsCookie;\nwindow.loadOptionsCookie = function()\n{\n var cookies = document.cookie.split(";");\n for(var c=0; c<cookies.length; c++) {\n var p = cookies[c].indexOf("=");\n if(p != -1) {\n var name = cookies[c].substr(0,p).trim();\n var value = cookies[c].substr(p+1).trim();\n switch(name.substr(0,3)) {\n case "txt":\n config.options[name] = unescape(value);\n break;\n case "pas":\n config.options[name] = unescape(value);\n break;\n case "chk":\n config.options[name] = value == "true";\n break;\n }\n }\n }\n};\n\nwindow.saveOptionCookie_orig_PasswordTweak = window.saveOptionCookie;\nwindow.saveOptionCookie = function(name)\n{\n var c = name + "=";\n switch(name.substr(0,3)) {\n case "txt":\n c += escape(config.options[name].toString());\n break;\n case "chk":\n c += config.options[name] ? "true" : "false";\n // is there an option link with this chk ?\n if (config.options[name.substr(3)]) {\n saveOptionCookie(name.substr(3));\n }\n break;\n case "pas":\n if (config.options["chk"+name]) {\n c += escape(config.options[name].toString());\n } else {\n c += "";\n }\n break;\n }\n c += "; expires=Fri, 1 Jan 2038 12:00:00 UTC; path=/";\n document.cookie = c;\n};\n//}}}\n/***\n!! Initializations\n***/\n//{{{\n// define config.options.pasPassword\nif (!config.options.pasPassword) {\n config.options.pasPassword = 'defaultPassword';\n window.saveOptionCookie('pasPassword');\n}\n// since loadCookies is first called befor password definition\n// we need to reload cookies\nwindow.loadOptionsCookie();\n//}}}\n////===\n\n////+++!![config.macros.upload]\n\n//{{{\nconfig.macros.upload = {\n accessKey: "U",\n formName: "UploadPlugin",\n contentType: "text/html;charset=UTF-8",\n defaultStoreScript: "store.php"\n};\n\n// only this two configs need to be translated\nconfig.macros.upload.messages = {\n aboutToUpload: "About to upload TiddlyWiki to %0",\n errorDownloading: "Error downloading",\n errorUploadingContent: "Error uploading content",\n fileNotFound: "file to upload not found",\n fileNotUploaded: "File %0 NOT uploaded",\n mainFileUploaded: "Main TiddlyWiki file uploaded to %0",\n urlParamMissing: "url param missing",\n rssFileNotUploaded: "RssFile %0 NOT uploaded",\n rssFileUploaded: "Rss File uploaded to %0"\n};\n\nconfig.macros.upload.label = {\n promptOption: "Save and Upload this TiddlyWiki with UploadOptions",\n promptParamMacro: "Save and Upload this TiddlyWiki in %0",\n saveLabel: "save to web", \n saveToDisk: "save to disk",\n uploadLabel: "upload" \n};\n\nconfig.macros.upload.handler = function(place,macroName,params){\n // parameters initialization\n var storeUrl = params[0];\n var toFilename = params[1];\n var backupDir = params[2];\n var uploadDir = params[3];\n var username = params[4];\n var password; // for security reason no password as macro parameter\n var label;\n if (document.location.toString().substr(0,4) == "http")\n label = this.label.saveLabel;\n else\n label = this.label.uploadLabel;\n var prompt;\n if (storeUrl) {\n prompt = this.label.promptParamMacro.toString().format([this.dirname(storeUrl)]);\n }\n else {\n prompt = this.label.promptOption;\n }\n createTiddlyButton(place, label, prompt, \n function () {\n config.macros.upload.upload(storeUrl, toFilename, uploadDir, backupDir, username, password); \n return false;}, \n null, null, this.accessKey);\n};\nconfig.macros.upload.UploadLog = function() {\n return new config.lib.Log('UploadLog', " !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |" );\n};\nconfig.macros.upload.UploadLog.prototype = config.lib.Log.prototype;\nconfig.macros.upload.UploadLog.prototype.startUpload = function(storeUrl, toFilename, uploadDir, backupDir) {\n var line = " [[" + config.lib.file.basename(storeUrl) + "|" + storeUrl + "]] | ";\n line += uploadDir + " | " + toFilename + " | " + backupDir + " |";\n this.newLine(line);\n};\nconfig.macros.upload.UploadLog.prototype.endUpload = function() {\n this.addToLine(" Ok |");\n};\nconfig.macros.upload.basename = config.lib.file.basename;\nconfig.macros.upload.dirname = config.lib.file.dirname;\nconfig.macros.upload.upload = function(storeUrl, toFilename, uploadDir, backupDir, username, password)\n{\n // parameters initialization\n storeUrl = (storeUrl ? storeUrl : config.options.txtUploadStoreUrl);\n toFilename = (toFilename ? toFilename : config.options.txtUploadFilename);\n backupDir = (backupDir ? backupDir : config.options.txtUploadBackupDir);\n uploadDir = (uploadDir ? uploadDir : config.options.txtUploadDir);\n username = (username ? username : config.options.txtUploadUserName);\n password = config.options.pasUploadPassword; // for security reason no password as macro parameter\n if (storeUrl === '') {\n config.macros.upload.defaultStoreScript;\n }\n if (config.lib.file.dirname(storeUrl) === '') {\n storeUrl = config.lib.file.dirname(document.location.toString())+'/'+storeUrl;\n }\n if (toFilename === '') {\n toFilename = config.lib.file.basename(document.location.toString());\n }\n\n clearMessage();\n // only for forcing the message to display\n if (version.major < 2)\n store.notifyAll();\n if (!storeUrl) {\n alert(config.macros.upload.messages.urlParamMissing);\n return;\n }\n \n var log = new this.UploadLog();\n log.startUpload(storeUrl, toFilename, uploadDir, backupDir);\n if (document.location.toString().substr(0,5) == "file:") {\n saveChanges();\n }\n displayMessage(config.macros.upload.messages.aboutToUpload.format([this.dirname(storeUrl)]), this.dirname(storeUrl));\n this.uploadChanges(storeUrl, toFilename, uploadDir, backupDir, username, password);\n if(config.options.chkGenerateAnRssFeed) {\n //var rssContent = convertUnicodeToUTF8(generateRss());\n var rssContent = generateRss();\n var rssPath = toFilename.substr(0,toFilename.lastIndexOf(".")) + ".xml";\n this.uploadContent(rssContent, storeUrl, rssPath, uploadDir, '', username, password, \n function (responseText) {\n if (responseText.substring(0,1) != '0') {\n displayMessage(config.macros.upload.messages.rssFileNotUploaded.format([rssPath]));\n }\n else {\n if (uploadDir) {\n rssPath = uploadDir + "/" + config.macros.upload.basename(rssPath);\n } else {\n rssPath = config.macros.upload.basename(rssPath);\n }\n displayMessage(config.macros.upload.messages.rssFileUploaded.format(\n [config.macros.upload.dirname(storeUrl)+"/"+rssPath]), config.macros.upload.dirname(storeUrl)+"/"+rssPath);\n }\n // for debugging store.php uncomment last line\n //DEBUG alert(responseText);\n });\n }\n return;\n};\n\nconfig.macros.upload.uploadChanges = function(storeUrl, toFilename, uploadDir, backupDir, \n username, password) {\n var original;\n if (document.location.toString().substr(0,4) == "http") {\n original = this.download(storeUrl, toFilename, uploadDir, backupDir, username, password);\n return;\n }\n else {\n // standard way : Local file\n \n original = loadFile(getLocalPath(document.location.toString()));\n if(window.Components) {\n // it's a mozilla browser\n try {\n netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");\n var converter = Components.classes["@mozilla.org/intl/scriptableunicodeconverter"]\n .createInstance(Components.interfaces.nsIScriptableUnicodeConverter);\n converter.charset = "UTF-8";\n original = converter.ConvertToUnicode(original);\n }\n catch(e) {\n }\n }\n }\n //DEBUG alert(original);\n this.uploadChangesFrom(original, storeUrl, toFilename, uploadDir, backupDir, \n username, password);\n};\n\nconfig.macros.upload.uploadChangesFrom = function(original, storeUrl, toFilename, uploadDir, backupDir, \n username, password) {\n var startSaveArea = '<div id="' + 'storeArea">'; // Split up into two so that indexOf() of this source doesn't find it\n var endSaveArea = '</d' + 'iv>';\n // Locate the storeArea div's\n var posOpeningDiv = original.indexOf(startSaveArea);\n var posClosingDiv = original.lastIndexOf(endSaveArea);\n if((posOpeningDiv == -1) || (posClosingDiv == -1))\n {\n alert(config.messages.invalidFileError.format([document.location.toString()]));\n return;\n }\n var revised = original.substr(0,posOpeningDiv + startSaveArea.length) + \n allTiddlersAsHtml() + "\sn\st\st" +\n original.substr(posClosingDiv);\n var newSiteTitle;\n if(version.major < 2){\n newSiteTitle = (getElementText("siteTitle") + " - " + getElementText("siteSubtitle")).htmlEncode();\n } else {\n newSiteTitle = (wikifyPlain ("SiteTitle") + " - " + wikifyPlain ("SiteSubtitle")).htmlEncode();\n }\n revised = revised.replace(new RegExp("<title>[^<]*</title>", "im"),"<title>"+ newSiteTitle +"</title>");\n var response = this.uploadContent(revised, storeUrl, toFilename, uploadDir, backupDir, \n username, password, function (responseText) {\n if (responseText.substring(0,1) != '0') {\n alert(responseText);\n displayMessage(config.macros.upload.messages.fileNotUploaded.format([getLocalPath(document.location.toString())]));\n }\n else {\n if (uploadDir !== '') {\n toFilename = uploadDir + "/" + config.macros.upload.basename(toFilename);\n } else {\n toFilename = config.macros.upload.basename(toFilename);\n }\n displayMessage(config.macros.upload.messages.mainFileUploaded.format(\n [config.macros.upload.dirname(storeUrl)+"/"+toFilename]), config.macros.upload.dirname(storeUrl)+"/"+toFilename);\n var log = new config.macros.upload.UploadLog();\n log.endUpload();\n store.setDirty(false);\n }\n // for debugging store.php uncomment last line\n //DEBUG alert(responseText);\n }\n );\n};\n\nconfig.macros.upload.uploadContent = function(content, storeUrl, toFilename, uploadDir, backupDir, \n username, password, callbackFn) {\n var boundary = "---------------------------"+"AaB03x"; \n var request;\n try {\n request = new XMLHttpRequest();\n } \n catch (e) { \n request = new ActiveXObject("Msxml2.XMLHTTP"); \n }\n if (window.netscape){\n try {\n if (document.location.toString().substr(0,4) != "http") {\n netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead');}\n }\n catch (e) { }\n } \n //DEBUG alert("user["+config.options.txtUploadUserName+"] password[" + config.options.pasUploadPassword + "]");\n // compose headers data\n var sheader = "";\n sheader += "--" + boundary + "\sr\snContent-disposition: form-data; name=\s"";\n sheader += config.macros.upload.formName +"\s"\sr\sn\sr\sn";\n sheader += "backupDir="+backupDir\n +";user=" + username \n +";password=" + password\n +";uploaddir=" + uploadDir\n + ";;\sr\sn"; \n sheader += "\sr\sn" + "--" + boundary + "\sr\sn";\n sheader += "Content-disposition: form-data; name=\s"userfile\s"; filename=\s""+toFilename+"\s"\sr\sn";\n sheader += "Content-Type: " + config.macros.upload.contentType + "\sr\sn";\n sheader += "Content-Length: " + content.length + "\sr\sn\sr\sn";\n // compose trailer data\n var strailer = new String();\n strailer = "\sr\sn--" + boundary + "--\sr\sn";\n var data;\n data = sheader + content + strailer;\n //request.open("POST", storeUrl, true, username, password);\n request.open("POST", storeUrl, true);\n request.onreadystatechange = function () {\n if (request.readyState == 4) {\n if (request.status == 200)\n callbackFn(request.responseText);\n else\n alert(config.macros.upload.messages.errorUploadingContent);\n }\n };\n request.setRequestHeader("Content-Length",data.length);\n request.setRequestHeader("Content-Type","multipart/form-data; boundary="+boundary);\n request.send(data); \n};\n\n\nconfig.macros.upload.download = function(uploadUrl, uploadToFilename, uploadDir, uploadBackupDir, \n username, password) {\n var request;\n try {\n request = new XMLHttpRequest();\n } \n catch (e) { \n request = new ActiveXObject("Msxml2.XMLHTTP"); \n }\n try {\n if (uploadUrl.substr(0,4) == "http") {\n netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");\n }\n else {\n netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");\n }\n } catch (e) { }\n //request.open("GET", document.location.toString(), true, username, password);\n request.open("GET", document.location.toString(), true);\n request.onreadystatechange = function () {\n if (request.readyState == 4) {\n if(request.status == 200) {\n config.macros.upload.uploadChangesFrom(request.responseText, uploadUrl, \n uploadToFilename, uploadDir, uploadBackupDir, username, password);\n }\n else\n alert(config.macros.upload.messages.errorDownloading.format(\n [document.location.toString()]));\n }\n };\n request.send(null);\n};\n\n//}}}\n////===\n\n////+++!![Initializations]\n\n//{{{\nconfig.lib.options.init('txtUploadStoreUrl','store.php');\nconfig.lib.options.init('txtUploadFilename','');\nconfig.lib.options.init('txtUploadDir','');\nconfig.lib.options.init('txtUploadBackupDir','');\nconfig.lib.options.init('txtUploadUserName',config.options.txtUserName);\nconfig.lib.options.init('pasUploadPassword','');\nconfig.shadowTiddlers.UploadPluginDoc = "[[Full Documentation|http://tiddlywiki.bidix.info/l#UploadPluginDoc ]]\sn"; \n\n\n//}}}\n////===\n\n////+++!![Core Hijacking]\n\n//{{{\nconfig.macros.saveChanges.label_orig_UploadPlugin = config.macros.saveChanges.label;\nconfig.macros.saveChanges.label = config.macros.upload.label.saveToDisk;\n\nconfig.macros.saveChanges.handler_orig_UploadPlugin = config.macros.saveChanges.handler;\n\nconfig.macros.saveChanges.handler = function(place)\n{\n if ((!readOnly) && (document.location.toString().substr(0,4) != "http"))\n createTiddlyButton(place,this.label,this.prompt,this.onClick,null,null,this.accessKey);\n}\n\n//}}}\n////===
ENormous
<!---\n| Name:|~TagglyTaggingViewTemplate |\n| Version:|1.2 (16-Jan-2006)|\n| Source:|http://simonbaird.com/mptw/#TagglyTaggingViewTemplate|\n| Purpose:|See TagglyTagging for more info|\n| Requires:|You need the CSS in TagglyTaggingStyles to make it look right|\n!History\n* 16-Jan-06, version 1.2, added tagglyListWithSort\n* 12-Jan-06, version 1.1, first version\n!Notes\nRemove the miniTag if you don't like it or you don't use QuickOpenTagPlugin\n--->\n<!--{{{-->\n<div class="toolbar" macro="toolbar -closeTiddler closeOthers +editTiddler permalink references jump newHere"></div>\n<div class="tagglyTagged" macro="hideSomeTags"></div>\n<div><span class="title" macro="view title"></span><span class="miniTag" macro="miniTag"></span></div>\n<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date [[MM/DD/YY]]'></span> (created <span macro='view created date [[MM/DD/YY]]'></span>, back in the day) | <span class='comments' macro='haloscan comments'></span></div>\n<div class="viewer" macro="view text wikified"></div>\n<div class="tagglyTagging" macro="tagglyTagging"></div>\n<!--}}}-->\n
[[Shik-wah]] is the best\nKid on a tri-cer-i-tops\nPlease check his [[cor-ner]]\n\nPoet: Shikwah\n
Allows you too view old versions of websites or websites that are dead.
Check out these caaarrrraaaazzyyy^^©^^ dreams
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.\nFind 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.\n\n@@font-weight:bold;font-size:1.3em;color:#444; //Settings// &nbsp;&nbsp;@@Make sure you enter your password here.\n<<tiddler tiddlyspotControls>>\n@@font-weight:bold;font-size:1.3em;color:#444; //Working online// &nbsp;&nbsp;@@ You can edit this ~TiddlyWiki right now, and save your changes using the "save to web" button in the column on the right.\n\n@@font-weight:bold;font-size:1.3em;color:#444; //Working offline// &nbsp;&nbsp;@@ A fully functioning copy of this ~TiddlyWiki can be saved onto your hard drive or USB stick. You can make changes and save them locally without being connected to the Internet. When you're ready to sync up again, just click "upload" and your ~TiddlyWiki will be saved back to tiddlyspot.com.\n\n@@font-weight:bold;font-size:1.3em;color:#444; //Enjoy!// &nbsp;&nbsp;@@ We hope you like using your tiddlyspot.com site. Please email [[feedback@tiddlyspot.com|mailto:feedback@tiddlyspot.com]] with any comments.
Welcome aboard [[Joe's Wonderful Spaceship]]: [[a new world for a new age©]]. Make sure to [[view]] the HowToEdit page before editing the page. Enjoy your stay. Don't forget to click "save to web' on the right hand menu after editing. Also, take a look at the spaceshippin' EdiQuette.\n\nChange your username: <<tiddler ShowUserName>>\n\n<<deliciousPlayTagger>>\n\n+++[Quote of the day]\n(add/view quotes [[here|QuoteOfTheDay]])\n===: <<QOTD QuoteOfTheDay>>\n\n+++[Random Teacher Quotes]\n(add/view teacher quotes [[here|TeacherQuotes]])\n=== <<QOTD TeacherQuotes>>\n\n\nUpdates: \n*[[Tijuana "Lemonte" Grass]]\n*[[Jew Skool Blogger]]\n\n\n\nStuff To Do:\n*cool logo (Shikwah!)\n*make it look cooler\n*embedded paint program\n*polls\n*Better Music and band pages\n*embedded spacechat\n[[Chad]] is cool.\n[[BOOOCH!!!!!!]]
two or word put together with the first letter of each word capitalized, like WikiWord or JoeBloggs
A cool place in OB.
World of Warcraft.\n\nThe love of millions of [[nerds]].\n\n[img[http://img292.imageshack.us/img292/5518/ss2lg0.jpg]]
Write a rap, and [[iff]] I like it, i will make it into a real rap on Garadgeband and post it!!\nJust go to New Rap on the toolbar and write a Grooovin gangsta rap dawg!!! Do ya Thang!!
a new world for a new age© is a guide to the [[potential underground notion's]] in life, helping you to understand [[yourself]] in a much deeper sense.
<div class='toolbar' macro='toolbar +saveTiddler -cancelTiddler deleteAction'></div>\n<div class='title' macro='view title'></div>\n<div class='editor' macro='edit title'></div>\n<div class='editor' macro='edit text'></div>\n<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser'></span></div>
<div class='toolbar' macro='toolbar changeContext projectify -closeTiddler closeOthers +editTiddler permalink references jump'></div>\n<div class='title' macro='view title'></div>\n<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date [[DD MMM YYYY]]'></span> (created <span macro='view created date [[DD MMM YYYY]]'></span>)&nbsp;<span macro='gtdActionCompleted'></span>complete</div>\n<div class='tagging' macro='tagging'></div>\n<div class='tagged' macro='tags'></div>\n<div class='viewer' macro='view text wikified'></div>\n<div class='tagClear'></div><div macro='newReminder'></div>
http://animeunlimited2k1.tripod.com/\n\nDescription: An uber cool japanimational website. (Sean's idea)
[[Pimp's]] paradise
[[Team Rocket]]
[[Thanksgiving]]
[img[http://img144.imageshack.us/img144/4578/bootybreadkn5.gif]]\n
[img[http://www.teenpregnancyhartford.org/Asian_Boy.jpg]]
[[sex]] of the [[booty]]
http://www.myspace.com/dyldo_stowe\n\nBe my friend!
Carrie's Boobs\n\nYeah Im serious thats what she said
<div class='toolbar' macro='toolbar +saveTiddler -cancelTiddler deleteContext'></div>\n<div class='title' macro='view title'></div>\n<div class='editor' macro='edit title'></div>\n<div class='editor' macro='edit text'></div>\n<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser'></span></div>
<div class='toolbar' macro='toolbar newAction -closeTiddler closeOthers +editTiddler permalink references jump'></div>\n<div class='title' macro='view title'></div>\n<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date [[DD MMM YYYY]]'></span> (created <span macro='view created date [[DD MMM YYYY]]'></span>)</div>\n<div class='tagged' macro='tags'></div>\n<div class='viewer' macro='view text wikified'></div>\n<div class='tagClear'></div>
[[Shikwah]]\n[img[http://img462.imageshack.us/img462/2803/sockwarswz0.jpg]]
[img[http://img428.imageshack.us/img428/1666/275575kqspwwb9.jpg]]
[[Shikwah's Corner]]
I am [[LORD OF THE DANCE]]!!!\n[img[http://img294.imageshack.us/img294/1423/jssnq5.jpg]]
I am me, what else is there to say?
[img[http://snapshot.meez.com/user01/07/07_10000097944.gif]]
Do not
Like a [[Bonor]] but with...stuff...instead of bones
fun and interesting
[img[http://img20.imageshack.us/img20/4905/wotherspoonjeremy050115ky9.jpg]]
When a [[Pokemon]] loses all its [[hp]]\nNormally follows an "Its [[super effective]]" or the like.\nThis is the worst fear of a [[Poke-Master]].
[img[http://img220.imageshack.us/img220/6072/foosballtv3.jpg]]
People who waste way too much time playing video games. See also [[AFOD]].
Something that the [[gifted]] have.
Not exceptionally bright. See also [[J.E.]].
[img[http://img20.imageshack.us/img20/4697/kidrocksgbj8.jpg]]
Five Seven Five.\nThis is the form of haiku.\nMake it your puppet.
hitpoints, like from [[Pokemon]]
If and only if!!!!\n-MP
Its what YOU are!
[img[http://img223.imageshack.us/img223/3060/joshhallettsittingmi9.jpg]]
relatively cool
The Story of my Life
Not the [[present]] and most likely not the past.
Less is Mor!!!!
[[see]]
[img[http://img413.imageshack.us/img413/4377/lovescreensaver1dw1.jpg]]
[img[http://img413.imageshack.us/img413/4377/lovescreensaver1dw1.jpg]]\n\nAwww look how cute they are! They are like [[vultures]] in love!
[img[http://img183.imageshack.us/img183/6209/4870bl6.jpg]]
[img[http://img390.imageshack.us/img390/1036/monster4yd1.jpg]]
it isn't actually a mushroom, that's just the name for the yeast/bacteria that is used to ferment the tea.
The Sock Factory, Duh (\n\nwat about the slogan though, was it "every stitch counts"?
Get back! He bites!!!\n[img[http://img226.imageshack.us/img226/1700/nerdan7.gif]]\n\nI thought I told you to get back!
The word itself strikes fear into the hearts of millions. Ninjas are the ultimate killers of the night. They sneak up on you and you dont even know your dead until they stab you in the face with a sai, or you get blasted by a malestrom of ninja stars. Watch out, you could be next...\nNinjas hate pirates, [[samurais]], and YOU!\n[img[http://img147.imageshack.us/img147/1379/ninja20saisco0.jpg]]\n
A substance that has oil like qualities.
CONGRADULATIONS!!!! Your perverted!!!\n\n\n\n\nJared: U SUCK SHIKWAH!!!!!!
If you don't know the password you can ask [[me]] or any other person who knows the password. I don't care who you tell as long as it is not your myspace friend from NewJersey.
[img[http://img151.imageshack.us/img151/7640/surf20view20oceanside20ot6.jpg]]
[img[http://img289.imageshack.us/img289/3891/piratethumbh100qc8.jpg]]Pirates [[love]] [[booty]].
I [[don't]] really know what that means either.
A [[gift]].
<div class='toolbar' macro='toolbar +saveTiddler -cancelTiddler deleteProject deleteProjectAll'></div>\n<div class='title' macro='view title'></div>\n<div class='editor' macro='edit title'></div>\n<div class='editor' macro='edit text'></div>\n<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser'></span></div>
<div class='toolbar' macro='toolbar newProjectAction -closeTiddler closeOthers +editTiddler permalink references jump'></div>\n<div class='title' macro='view title'></div>\n<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date [[DD MMM YYYY]]'></span> (created <span macro='view created date [[DD MMM YYYY]]'></span>)</div>\n<div class='tagged' macro='tags'></div>\n<div class='viewer' macro='view text wikified'></div>\n<div class='tagClear'></div>
Armor and shields. Useful against [[samurais]].
Pertaining to love or [[sex]]\nMaster of [[J.E.]]
the triangular thing that keeps rain off of you.
It actually wasn't really at the same time because [[Shikwah]] opened his bottle earlier because he is impatient and impulsive, occasionally.
[img[http://img20.imageshack.us/img20/2894/titleelectricsamuraimb3.gif]]
[img[http://img209.imageshack.us/img209/522/lg2067720seasons20greetsz5.gif]]
WITH YOUR [[EYEZ]]
Love making and/or sexual intercourse. \n[img[http://img147.imageshack.us/img147/9991/casttm3.jpg]]
[img[http://img205.imageshack.us/img205/5716/ca20sizzlin20seniorsti9.jpg]]
like ants. or [[AFOD]]. duh.
Probably [[later]].
My thoughts and feelings: FromTheCockpit including the all new KombuchaBlog\n+++[Info]\nI am the founder of the [[ship|Joe's Wonderful Spaceship]]. I live on the [[ship|Joe's Wonderful Spaceship]] with my best friend [[Tigre]].\n===\n\n [img[http://img180.imageshack.us/img180/5826/boypinstripehatal3.jpg]]
Bustin' sweet rhymes ya hearrr.\nDamn straight. \n[img[http://img154.imageshack.us/img154/6692/756482356x237fl7.jpg]]
[img[http://img93.imageshack.us/img93/5001/vacuumhq5.png]]
An attack that does 2X damage against another type Ex. Fire vs. Grass or Flying vs. Bug. Attack is [[super effective]].
[img[http://img462.imageshack.us/img462/1921/superflyac4.jpg]]
[img[http://img180.imageshack.us/img180/7654/fingerscrossedfj6.gif]]
you guys are losers if you didn't know what kombucha is
| tiddlyspot password:|<<option pasUploadPassword>>|\n| site management:|<<upload http://jws.tiddlyspot.com/store.cgi index.html . . jws>>//(requires tiddlyspot password)//<<br>>[[control panel|http://jws.tiddlyspot.com/controlpanel]], [[download (go offline)|http://jws.tiddlyspot.com/download]]|\n| links:|[[tiddlyspot.com|http://tiddlyspot.com/]], [[FAQs|http://tiddlyspot.com/faq/]], [[announcements|http://tiddlyspot.com/announce/]], [[blog|http://tiddlyspot.com/blog/]], [[email feedback|mailto:feedback@tiddlyspot.com]], [[donate|http://tiddlyspot.com/?page=donate]]|
[img[http://img223.imageshack.us/img223/8466/royaltrampcr4.jpg]]
A band wit a guy named [[Bono r]]
only a little bit o thaaaat sugahhhh
except for LosDosPedros
to [[look]] at
Ugly bird.\n[img[http://img212.imageshack.us/img212/8452/vulturecomicswc8.gif]]\n
If your stupid its [whoa] your stupidness x2
If your stupid its your stupidness</