<html> <iframe style="background-color"#ffffff; border-color="#000000"; border:none;" width=100% height="400" frameborder="0" scrolling="auto" src="http://www.agdinteractive.com/" title="Anonymous Game Developers Interactive"> </iframe> </html>
Welcome to the Indiana Java Revival Project! Our goal is to reinstate the Multi-platform Adventure Game Engine (M.A.G.E.) back into use by updating the documentation, testing the engine on modern systems (its been out of development for 7 years now), creating and releasing a full game to raise awareness.\n\n About Indy Java (from original website):\n<<<\nThis is not a GAG ! \n\n Indeed, this is not a Graphic Adventure Game (G.A.G.) as you might think. Rather, it's a system to create and run 2D graphic adventure games. No Java knowledge required! No internet connection required! \n\n It includes a small fully playable adventure, for you to have fun immediately. \n\n It's entirely written in Java, so non-Wintel users can also enjoy playing and creating that kind of games. \n<<<\n----\n<<slider chkFeaturesSlider Features 'Indy Java Featuresยป' "Features of Indy Java">>\n----\n<<slider chkFeaturesSlider SShots 'Indy Java Screen Shotsยป' "Features of Indy Java">>\n----\n<<slider chkHistorySlider History 'Indy Java History (from Chir)ยป' "History of Indy Java">>\n----\n<<slider chkMapSlider Map 'Indy Java Revival Project Road Mapยป' "Road Map of Indy Java Revival Project">>\n
Sites for adventure game devlopers:\n----\nAdventure game specific development:\n----\nAdventure Developers: http://www.adventuredevelopers.com/\nSPHINX Massive AGS Game Development Wiki: http://www.americangirlscouts.org/snarkywiki/\n----\nNotable adventure game creation software/engines:\n----\nAdventure Game Studio: http://www.adventuregamestudio.co.uk/\nAdventure Maker: http://www.adventuremaker.com/\nLassie - Shockwave Adventure Games: http://www.gmacwill.com/lassie/\nWintermute Engine: http://www.dead-code.org/\nVisionaire - The adventure-creation system: http://www.visionaire-online.de/\nSLUDGE - Scripting Language for Unhindered Development of a Gaming Environment: http://www.hungrysoftware.com/tools/sludge/\nAGAST - Adventure Game Authoring System: http://allitis.com/agast/\n----\nArt tutorials\n----\nhttp://www.lucasstyle.com/tutorials.htm\nhttp://www.geocities.com/Cheeze_head675/makeback.html\nhttp://www.hot.ee/increator/draw.htm\nhttp://kafkaskoffee.com/tutorials.shtml\n----\nOther game development oriented sites:\n----\nThe Lost Garden: http://www.lostgarden.com/
These are site that would of intrest to players of adventure games.\n----\nNews, info and preview/review sites:\n----\n[[Adventure Gamers|http://www.adventuregamers.com/]]<<slider chkAdventureGamersWebSlider AdventureGamersWeb '||| v |||' "Open the website in this page">>\n[[Adventure Classic Gaming|http://www.adventureclassicgaming.com/]]<<slider chkAdventureClassicGamingWebSlider AdventureClassicGamingWeb '||| v |||' "Open the website in this page">>\n[[Adventure Lantern|http://www.adventurelantern.com/]]<<slider chk[AdventureLanternWebSlider AdventureLanternWeb '||| v |||' "Open the website in this page">>\n[[Mix'n Mogo|http://www.mixnmojo.com/]]<<slider chkMixnMojoWebSlider MixnMojoWeb '||| v |||' "Open the website in this page">>\n[[Just Adventure|http://www.justadventure.com/]]<<slider chkJustAdventureWebSlider JustAdventureWeb '||| v |||' "Open the website in this page">>\n[[Indiependent Adventuring|http://indieventure.blogspot.com/]]<<slider chkIndiependentAdventuringWebSlider IndiependentAdventuringWeb '||| v |||' "Open the website in this page">>\n[[Quandary Land|http://www.quandaryland.com/]]<<slider chkQuandaryLandWebSlider QuandaryLandWeb '||| v |||' "Open the website in this page">>\n[[Fantasy Adventures|http://www.springbringer.com/fantasya/]]<<slider chkFantasyAdventuresWebSlider FantasyAdventuresWeb '||| v |||' "Open the website in this page">>\n[[Lucas Style|http://www.lucasstyle.com/]]<<slider chkLucasStyleWebSlider LucasStyleWeb '||| v |||' "Open the website in this page">>\n[[World of Monkey Island|http://www.worldofmi.com/]]<<slider chkWorldofMIWebSlider WorldofMIWeb '||| v |||' "Open the website in this page">>\n[[Adventure Archive|http://www.adventure-archiv.com/]]<<slider chkAdventureArchiveWebSlider AdventureArchiveWeb '||| v |||' "Open the website in this page">>\n[[Roger Wilco's Virtual Broomcloset|http://wiw.org/~jess/roger.html]]<<slider chkRogerWilcosVirtualBroomclosetWebSlider RogerWilcosVirtualBroomclosetWeb '||| v |||' "Open the website in this page">>\n----\nNoteworthy adventure game studios:\n----\nIndie:\n[[Deirdra Kiai Productions|http://www.deirdrakiai.com/]]<<slider chkDeirdraKiaiWebSlider DeirdraKiaiWeb '||| v |||' "Open the website in this page">>\n[[xii Games|http://www.xiigames.com/]]<<slider chkXiiGamesWebSlider XiiGamesWeb '||| v |||' "Open the website in this page">>\n[[Studio Trophis|http://www.studiotrophis.com/]]<<slider chkStudioTrophisWebSlider StudioTrophisWeb '||| v |||' "Open the website in this page">>\n[[Herculean Effort Productions|http://www.herculeaneffort.com/]]<<slider chkHerculeanEffortWebSlider HerculeanEffortWeb '||| v |||' "Open the website in this page">>\n[[Screen 7|http://www.screen7.co.uk/]]<<slider chkScreen7WebSlider Screen7Web '||| v |||' "Open the website in this page">>\n[[Anonymous Game Developers Interactive|http://www.agdinteractive.com/]]<<slider chkAnonymousGameDevelopersInteractiveWebSlider AnonymousGameDevelopersInteractiveWeb '||| v |||' "Open the website in this page">>\n\nCorporate:\n[[Tell Tale Games|http://www.telltalegames.com/]]<<slider chkTellTaleGamesWebSlider TellTaleGamesWeb '||| v |||' "Open the website in this page">>\n[[The Adventure Company|http://www.adventurecompanygames.com/tac/]]<<slider chkAdventureCompanyWebSlider AdventureCompanyWeb '||| v |||' "Open the website in this page">>\n[[Wadjeteye Games|http://www.wadjeteyegames.com/]]<<slider chkWadjeteyeGamesWebSlider WadjeteyeGamesWeb '||| v |||' "Open the website in this page">>\n[[Naphtalite Productions|http://www.naphtalite.com/]]<<slider chkNaphtaliteProductionsWebSlider NaphtaliteProductionsWeb '||| v |||' "Open the website in this page">>\n[[Pendulo Studios|http://www.pendulostudios.com/]]<<slider chkPenduloStudiosWebSlider PenduloStudiosWeb '||| v |||' "Open the website in this page">>\n----\nTools for running old adventure games:\n----\n[[scummVM|http://www.scummvm.org/]]<<slider chkScummVMWebSlider ScummVMWeb '||| v |||' "Open the website in this page">>\n[[DOS Box|http://dosbox.sourceforge.net/]]<<slider chkDOSBoxWebSlider DOSBoxWeb '||| v |||' "Open the website in this page">>\n[[Sierra AGI resource interpreter engine|http://sarien.sourceforge.net/]]<<slider chkSierraAGIWebSlider SierraAGIWeb '||| v |||' "Open the website in this page">>\n----\nOther:\n----\n[[Universal Hint System|http://www.uhs-hints.com/]]<<slider chkUHSWebSlider UHSWeb '||| v |||' "Open the website in this page">>\n\n<html>\n<script type="text/javascript" src="http://p3k.org/rss/?url=http%3A%2F%2Fwww.adventuregamers.com%2Frss.php&amp;align=left&amp;width=100%25&amp;frameColor=black&amp;titleBarColor=lime&amp;titleBarTextColor=black&amp;boxFillColor=black&amp;textColor=white&amp;fontFace=Georgia&amp;maxItems=5&amp;compact=&amp;showXmlButton=1&amp;javascript=true"></script>\n\n<script type="text/javascript" src="http://p3k.org/rss/?url=http%3A%2F%2Fwww.adventureclassicgaming.com%2Findex.php%2Fsite%2Frss%2F&amp;align=left&amp;width=100%25&amp;frameColor=black&amp;titleBarColor=lime&amp;titleBarTextColor=black&amp;boxFillColor=black&amp;textColor=white&amp;fontFace=Georgia&amp;maxItems=5&amp;compact=&amp;showXmlButton=1&amp;javascript=true"></script>\n\n<script type="text/javascript" src="http://p3k.org/rss/?url=http%3A%2F%2Fwww.mixnmojo.com%2Frss%2Findex.php&amp;align=left&amp;width=100%25&amp;frameColor=black&amp;titleBarColor=lime&amp;titleBarTextColor=black&amp;boxFillColor=black&amp;textColor=white&amp;fontFace=Georgia&amp;maxItems=5&amp;compact=&amp;showXmlButton=1&amp;javascript=true"></script>\n\n<script type="text/javascript" src="http://p3k.org/rss/?url=http%3A%2F%2Fwww.quandaryland.com%2Frss%2Fquandary.rss&amp;align=left&amp;width=100%25&amp;frameColor=black&amp;titleBarColor=lime&amp;titleBarTextColor=black&amp;boxFillColor=black&amp;textColor=white&amp;fontFace=Georgia&amp;maxItems=5&amp;compact=&amp;showXmlButton=1&amp;javascript=true"></script>\n\n<script type="text/javascript" src="http://p3k.org/rss/?url=http%3A%2F%2Fwww.worldofmi.com%2Frss.php&amp;align=left&amp;width=100%25&amp;frameColor=black&amp;titleBarColor=lime&amp;titleBarTextColor=black&amp;boxFillColor=black&amp;textColor=white&amp;fontFace=Georgia&amp;maxItems=5&amp;compact=&amp;showXmlButton=1&amp;javascript=true"></script>\n\n</html>
<html> <iframe style="background-color"#ffffff; border-color="#000000"; border:none;" width=100% height="400" frameborder="0" scrolling="auto" src="http://www.adventure-archiv.com/" title="Adventure Archive"> </iframe> </html>
<html> <iframe style="background-color"#ffffff; border-color="#000000"; border:none;" width=100% height="400" frameborder="0" scrolling="auto" src="http://www.adventureclassicgaming.com/" title="Adventure Classic Gaming"> </iframe> </html>
<html> <iframe style="background-color"#ffffff; border-color="#000000"; border:none;" width=100% height="400" frameborder="0" scrolling="auto" src="http://www.adventurecompanygames.com/tac/" title="The Adventure Company"> </iframe> </html>
<html> <iframe style="background-color"#ffffff; border-color="#000000"; border:none;" width=100% height="400" frameborder="0" scrolling="auto" src="http://www.adventuregamers.com/" title="Adventure Gamers"> </iframe> </html>
<html> <iframe style="background-color"#ffffff; border-color="#000000"; border:none;" width=100% height="400" frameborder="0" scrolling="auto" src="http://www.adventurelantern.com/" title="Adventure Lantern"> </iframe> </html>
config.options.chkHttpReadOnly = false;\n
''Andy2: Andy's New Adventure''\n\nDownload: [[Andy2.zip|http://people.uleth.ca/~nathan.cooper/indyjava/Andy2.zip]]\n----\n<<slider chkAndy2DisSlider Andy2Discription 'Game Discriptionยป' "Discription of Andy2: Andy's New Adventure">>\n
<<<\nAndy's New Adventures\n \n- As usual Andy ensds up in the wrong place at the wrong moment. In this case it's a castle. He's requested to save the princess, who has been kidnapped by a dragon. If Andy wins the dragon, he can have its treasure and the princess too.\n \n- This princess is ugly, but they give Andy a picture of a very beautiful girl, so he begins the adventure thinking of how she's cute even being scared by the dragon.\n \n- He leaves for the cave of the dragon but he can't enter because of some magical protection which have to be dispelled. There's a small village (or couple of areas, which will come back later) with a mad mage. He can find the solution using something the mage has.\n \n- The cave could be a small dungeoun with every riddle we want, mazes and everything lke that. When he find the dragon, he find out the it's a slave to the princess. The dragon cannot do anything because if he frees her, he won't be feared anymore. Killing her is not a choice because he's good. Andy must save it!\n \n- Meeting the ugly girl, Andy understands he's being cheated... to free the dragon he thinks of meking her fall in love with a prince... but where's the prince? There's a frog in the village... a magic frog... and if it's not magic we make it magic with the (unwilling) help of the mad mage! All we need now is a kiss, but the princess won't kiss a frog. There's a cute girl in the village... Andy must persuade her, but when the frog becomes a prince... he leaves with the cute girl! (Ok, it's a frog, but it's not stupid!) giving Andy a picture of his... which gets given to the princess witha "He's a friend of mine, come with me and I arrange a meeting...". The dragon is saved, back to the castle!\n \n- People find out that the prince was a lie, and the princess, who now wants a marriage, chooses Andy. He'll have to find a way to escape the marriage!\n \n- After he escapes he gets caught again by the guards... the marriage begins but the mad mage arrives claiming Andy's a thief (he stole something from his house, as every adventurer would) and things get bad for Andy: a thief can't marry the princess! And people begin claiming Andy stole this and that... to them too... (not necessarily true) and Andy must run away followed by a dusty cloud of angry followers!! (this is the funny finale). Then the dragon occupies the castle being cooler than his cave ;-) And he sleeps and snores too\n \n- Possible sequel: freeing the castle from the dragon!!\n<<<
<html> <iframe style="background-color"#ffffff; border-color="#000000"; border:none;" width=100% height="400" frameborder="0" scrolling="auto" src="http://web.archive.org/web/*/java.Indy3D.net" title="Indy Java"> </iframe> </html>
| Agenda 2006 |c\n|>|>|>|>|>|>| !January |!|>|>|>|>|>|>| !February |\n| Sun | Mon | Tue | Wed | Thu | Fri | Sat |!| Sun | Mon | Tue | Wed | Thu | Fri | Sat |\n|bgcolor(##000000): 1 | 2 | 3 | 4 | 5 | 6 |bgcolor(##000000): 7 |!|>|>|!| 1 | 2 | 3 |bgcolor(##000000): 4 |\n|bgcolor(##000000): 8 | 9 | 10 | 11 | 12 | 13 |bgcolor(##000000): 14 |!|bgcolor(##000000): 5 | 6 | 7 | 8 | 9 | 10 |bgcolor(##000000): 11 |\n|bgcolor(##000000): 15 | 16 | 17 | 18 | 19 | 20 |bgcolor(##000000): 21 |!|bgcolor(##000000): 12 | 13 | 14 | 15 | 16 | 17 |bgcolor(##000000): 18 |\n|bgcolor(##000000): 22 | 23 | 24 | 25 | 26 | 27 |bgcolor(##000000): 28 |!|bgcolor(##000000): 19 | 20 | 21 | 22 | 23 | 24 |bgcolor(##000000): 25 |\n|bgcolor(##000000): 29 | 30 | 31 |>|>|>|!|!|bgcolor(##000000): 26 | 27 | 28 |>|>|>|!|\n|>|>|>|>|>|>| !March |!|>|>|>|>|>|>| !April |\n| Sun | Mon | Tue | Wed | Thu | Fri | Sat |!| Sun | Mon | Tue | Wed | Thu | Fri | Sat |\n|>|>|!| 1 | 2 | 3 |bgcolor(##000000): 4 |!|>|>|>|>|>|!|bgcolor(##000000): 1 |\n|bgcolor(##000000): 5 | 6 | 7 | 8 | 9 | 10 |bgcolor(##000000): 11 |!|bgcolor(##000000): 2 | 3 | 4 | 5 | 6 | 7 |bgcolor(##000000): 8 |\n|bgcolor(##000000): 12 | 13 | 14 | 15 | 16 | 17 |bgcolor(##000000): 18 |!|bgcolor(##000000): 9 | 10 | 11 | 12 | 13 | 14 |bgcolor(##000000): 15 |\n|bgcolor(##000000): 19 | 20 | 21 | 22 | 23 | 24 |bgcolor(##000000): 25 |!|bgcolor(##000000): 16 | 17 | 18 | 19 | 20 | 21 |bgcolor(##000000): 22 |\n|bgcolor(##000000): 26 | 27 | 28 | 29 | 30 | 31 |!|!|bgcolor(##000000): 23 | 24 | 25 | 26 | 27 | 28 |bgcolor(##000000): 29 |\n|>|>|>|>|>|>|>|!|!|bgcolor(##000000): 30 |>|>|>|>|>|!|\n|>|>|>|>|>|>| !May |!|>|>|>|>|>|>| !June |\n| Sun | Mon | Tue | Wed | Thu | Fri | Sat |!| Sun | Mon | Tue | Wed | Thu | Fri | Sat |\n|!| 1 | 2 | 3 | 4 | 5 |bgcolor(##000000): 6 |!|>|>|>|!| 1 | 2 |bgcolor(##000000): 3 |\n|bgcolor(##000000): 7 | 8 | 9 | 10 | 11 | 12 |bgcolor(##000000): 13 |!|bgcolor(##000000): 4 | 5 | 6 | 7 | 8 | 9 |bgcolor(##000000): 10 |\n|bgcolor(##000000): 14 | 15 | 16 | 17 | 18 | 19 |bgcolor(##000000): 20 |!|bgcolor(##000000): 11 | 12 | 13 | 14 | 15 | 16 |bgcolor(##000000): 17 |\n|bgcolor(##000000): 21 | 22 | 23 | 24 | 25 | 26 |bgcolor(##000000): 27 |!|bgcolor(##000000): 18 | 19 | 20 | 21 | 22 | 23 |bgcolor(##000000): 24 |\n|bgcolor(##000000): 28 | 29 | 30 | 31 |>|>|!|!|bgcolor(##000000): 25 | 26 | 27 | 28 | 29 | 30 |!|\n|>|>|>|>|>|>| !July |!|>|>|>|>|>|>| !August |\n| Sun | Mon | Tue | Wed | Thu | Fri | Sat |!| Sun | Mon | Tue | Wed | Thu | Fri | Sat |\n|>|>|>|>|>|!|bgcolor(##000000): 1 |!|>|!| 1 | 2 | 3 | 4 |bgcolor(##000000): 5 |\n|bgcolor(##000000): 2 | 3 | 4 | 5 | 6 | 7 |bgcolor(##000000): 8 |!|bgcolor(##000000): 6 | 7 | 8 | 9 | 10 | 11 |bgcolor(##000000): 12 |\n|bgcolor(##000000): 9 | 10 | 11 | 12 | 13 | 14 |bgcolor(##000000): 15 |!|bgcolor(##000000): 13 | 14 | 15 | 16 | 17 | 18 |bgcolor(##000000): 19 |\n|bgcolor(##000000): 16 | 17 | 18 | 19 | 20 | 21 |bgcolor(##000000): 22 |!|bgcolor(##000000): 20 | 21 | 22 | 23 | 24 | 25 |bgcolor(##000000): 26 |\n|bgcolor(##000000): 23 | 24 | 25 | 26 | 27 | 28 |bgcolor(##000000): 29 |!|bgcolor(##000000): 27 | 28 | 29 | 30 | 31 |>|!|\n|bgcolor(##000000): 30 | 31 |>|>|>|>|!|!|>|>|>|>|>|>|>|!|\n|>|>|>|>|>|>| !September |!|>|>|>|>|>|>| !October |\n| Sun | Mon | Tue | Wed | Thu | Fri | Sat |!| Sun | Mon | Tue | Wed | Thu | Fri | Sat |\n|>|>|>|>|!| 1 |bgcolor(##000000): 2 |!|bgcolor(##000000): 1 | 2 | 3 | 4 | 5 | 6 |bgcolor(##000000): 7 |\n|bgcolor(##000000): 3 | 4 | 5 | 6 | 7 | 8 |bgcolor(##000000): 9 |!|bgcolor(##000000): 8 | 9 | 10 | 11 | 12 | 13 |bgcolor(##000000): 14 |\n|bgcolor(##000000): 10 | 11 | 12 | 13 | 14 | 15 |bgcolor(##000000): 16 |!|bgcolor(##000000): 15 | 16 | 17 | 18 | 19 | 20 |bgcolor(##000000): 21 |\n|bgcolor(##000000): 17 | 18 | 19 | 20 | 21 | 22 |bgcolor(##000000): 23 |!|bgcolor(##000000): 22 | 23 | 24 | 25 | 26 | 27 |bgcolor(##000000): 28 |\n|bgcolor(##000000): 24 | 25 | 26 | 27 | 28 | 29 |bgcolor(##000000): 30 |!|bgcolor(##000000): 29 | 30 | 31 |>|>|>|!|\n|>|>|>|>|>|>| !November |!|>|>|>|>|>|>| !December |\n| Sun | Mon | Tue | Wed | Thu | Fri | Sat |!| Sun | Mon | Tue | Wed | Thu | Fri | Sat |\n|>|>|!| 1 | 2 | 3 |bgcolor(##000000): 4 |!|>|>|>|>|!| 1 |bgcolor(##000000): 2 |\n|bgcolor(##000000): 5 | 6 | 7 | 8 | 9 | 10 |bgcolor(##000000): 11 |!|bgcolor(##000000): 3 | 4 | 5 | 6 | 7 | 8 |bgcolor(##000000): 9 |\n|bgcolor(##000000): 12 | 13 | 14 | 15 | 16 | 17 |bgcolor(##000000): 18 |!|bgcolor(##000000): 10 | 11 | 12 | 13 | 14 | 15 |bgcolor(##000000): 16 |\n|bgcolor(##000000): 19 | 20 | 21 | 22 | 23 | 24 |bgcolor(##000000): 25 |!|bgcolor(##000000): 17 | 18 | 19 | 20 | 21 | 22 |bgcolor(##000000): 23 |\n|bgcolor(##000000): 26 | 27 | 28 | 29 | 30 |>|!|!|bgcolor(##000000): 24 | 25 | 26 | 27 | 28 | 29 |bgcolor(##000000): 30 |\n|>|>|>|>|>|>|>|!|!|bgcolor(##000000): 31 |>|>|>|>|>|!|
Version 1.00a ***\n\n Scripting language:\n - added WALKTO, WAITWALKTO, MOVETO, WAITMOVETO\n - added "~OnClick" procedure\n - fixed WALK, WAITWALK\n\n User Interface:\n - added INDY.INI\n - added Help window\n\n Sounds:\n - fixed Native MIDI support (again,again)\n\nVersion 0.96a ***\n\n Graphics:\n - Ink 10 (Brown) fixed!\n - Transitions 5 and 6 fixed\n - Added Transitions 8 and 9 (requires Java 1.2)\n - "Show Boxes" fixed.\n\n Sounds:\n - MOD files now allowed, if a suitable MCI driver is installed (in Win32)\n\n User Interface:\n - ~INDY_APPLET now accepts a custom HTML page for EXIT\n\n Scripting language:\n - added WALK, WAITWALK\n - support for custom Transition plug-ins (see GOTOTRANSITION)\n - WAIT now also waits for animation stripes to reach the end.\n\nVersion 0.95e ***\n\n Scripting language:\n - fixed SENTENCE { * }\n - renaming of *.GAG files by players is no more accepted\n\n Graphics:\n - Fixed lockup in SETLIGHTING and SETALPHA\n - Ink 10 (Brown) added\n\n User Interface:\n - double-click in Map Mode\n\nVersion 0.95d ***\n\n Scripting language:\n - fixed inheritance\n - added COMMUTATIVE sentences\n\n Graphics:\n - Triple-buffering for reduced flickering with animated ~GIFs\n\n Sounds:\n - fixed Native MIDI support (again)\n\n User Interface:\n - added support for zero-item verbs\n\nVersion 0.95a ***\n\n Scripting language:\n - fixed SAY, fixed BGSOUND problems\n - added SETVERBPREP\n - strict checking of the use of quotes ("")\n\n Graphics:\n - Fullscreen mode in Win32 (requires ~DirectX 5)\n\n Sounds:\n - fixed Native MIDI support (in Win32)\n\n User Interface:\n - added Font support for verb buttons\n - added "auto-run" feature (000.gag)\n\nVersion 0.94b ***\n\n Scripting language:\n - added DELANSWER\n - fixed BGSOUND\n - fixed SETORIENTATION\n - added customisable total number of attitudes\n - fixed LOAD lock-up (in non-Win32 platforms)\n\n Graphics:\n - Alpha channel for semi-transparent items (requires Java 1.2)\n - Screen motion blur (requires Java 1.2)\n - AVI/~MPEG1/MOV video support (requires Java ~MediaFramework extensions)\n - Support for bundled images: resource.jar\n\n Sounds:\n - Native MIDI support (in Win32) for enhanced performance\n - added SPEAK, WAITSPEAK (requires Java ~MediaFramework extensions)\n - added WAITSOUND (requires Java ~MediaFramework extensions)\n\n User Interface:\n - added icon support for verb buttons\n\nVersion 0.93c ***\n\n Scripting language:\n - added SETROOMBGSOUND, STOPSOUND, SETICON, WAITMOVE\n - fixed SETBGSOUND\n - fixed GIVE\n - fixed SETANIMATION\n\n User Interface:\n - interface layout now customisable\n\nVersion 0.93b ***\n\n User Interface:\n - keyboard bug fix\n\n Scripting language:\n - Single inheritance between Items and rooms.\n\n Graphics:\n - Color lighting of items\n\nVersion 0.92g ***\n\n User Interface:\n - custom "hot" cursors\n - keyboard shortcuts for verbs\n - custom button colors\n\n Scripting language:\n - Console (to type language instructions while testing the game)\n - SIZE keyword for image-less Items\n\n Graphics:\n - Animation stripes for reduced flickering (animated ~GIFs are still supported)\n - "map" mode\n - Visual transition effects between rooms
UNKNOWN!!!
Version 1.00c ***\n\n Scripting language:\n - fixed game loading\n - fixed GIVE\n - added SAYI, SAYIS, WAITSAYI, WAITSAYIS\n\nVersion 1.00a ***\n\n Scripting language:\n - added WALKTO, WAITWALKTO, MOVETO, WAITMOVETO\n - added "~OnClick" procedure\n - fixed WALK, WAITWALK\n\n User Interface:\n - added INDY.INI\n - added Help window\n\n Sounds:\n - fixed Native MIDI support (again,again)\n\nVersion 0.96a ***\n\n Graphics:\n - Ink 10 (Brown) fixed!\n - Transitions 5 and 6 fixed\n - Added Transitions 8 and 9 (requires Java 1.2)\n - "Show Boxes" fixed.\n\n Sounds:\n - MOD files now allowed, if a suitable MCI driver is installed (in Win32)\n\n User Interface:\n - ~INDY_APPLET now accepts a custom HTML page for EXIT\n\n Scripting language:\n - added WALK, WAITWALK\n - support for custom Transition plug-ins (see GOTOTRANSITION)\n - WAIT now also waits for animation stripes to reach the end.\n\nVersion 0.95e ***\n\n Scripting language:\n - fixed SENTENCE { * }\n - renaming of *.GAG files by players is no more accepted\n\n Graphics:\n - Fixed lockup in SETLIGHTING and SETALPHA\n - Ink 10 (Brown) added\n\n User Interface:\n - double-click in Map Mode\n\nVersion 0.95d ***\n\n Scripting language:\n - fixed inheritance\n - added COMMUTATIVE sentences\n\n Graphics:\n - Triple-buffering for reduced flickering with animated ~GIFs\n\n Sounds:\n - fixed Native MIDI support (again)\n\n User Interface:\n - added support for zero-item verbs\n\nVersion 0.95a ***\n\n Scripting language:\n - fixed SAY, fixed BGSOUND problems\n - added SETVERBPREP\n - strict checking of the use of quotes ("")\n\n Graphics:\n - Fullscreen mode in Win32 (requires ~DirectX 5)\n\n Sounds:\n - fixed Native MIDI support (in Win32)\n\n User Interface:\n - added Font support for verb buttons\n - added "auto-run" feature (000.gag)\n\nVersion 0.94b ***\n\n Scripting language:\n - added DELANSWER\n - fixed BGSOUND\n - fixed SETORIENTATION\n - added customisable total number of attitudes\n - fixed LOAD lock-up (in non-Win32 platforms)\n\n Graphics:\n - Alpha channel for semi-transparent items (requires Java 1.2)\n - Screen motion blur (requires Java 1.2)\n - AVI/~MPEG1/MOV video support (requires Java ~MediaFramework extensions)\n - Support for bundled images: resource.jar\n\n Sounds:\n - Native MIDI support (in Win32) for enhanced performance\n - added SPEAK, WAITSPEAK (requires Java ~MediaFramework extensions)\n - added WAITSOUND (requires Java ~MediaFramework extensions)\n\n User Interface:\n - added icon support for verb buttons\n\nVersion 0.93c ***\n\n Scripting language:\n - added SETROOMBGSOUND, STOPSOUND, SETICON, WAITMOVE\n - fixed SETBGSOUND\n - fixed GIVE\n - fixed SETANIMATION\n\n User Interface:\n - interface layout now customisable\n\nVersion 0.93b ***\n\n User Interface:\n - keyboard bug fix\n\n Scripting language:\n - Single inheritance between Items and rooms.\n\n Graphics:\n - Color lighting of items\n\nVersion 0.92g ***\n\n User Interface:\n - custom "hot" cursors\n - keyboard shortcuts for verbs\n - custom button colors\n\n Scripting language:\n - Console (to type language instructions while testing the game)\n - SIZE keyword for image-less Items\n\n Graphics:\n - Animation stripes for reduced flickering (animated ~GIFs are still supported)\n - "map" mode\n - Visual transition effects between rooms
Edition One ***\n- Patched Andy2 (1.1RC) with original script\n- Misc file name changes to make it look more like an official release
/***\n| Name:|CloseOnCancelPlugin|\n| Description:|Closes the tiddler if you click new tiddler then cancel. Default behaviour is to leave it open|\n| Version:|6.9.3|\n| Date:|30-Sep-2006|\n| Source:|http://mptw.tiddlyspot.com/#CloseOnCancelPlugin|\n| Author:|Simon Baird <simon.baird@gmail.com>|\n| CoreVersion:|2.1.x|\n***/\n//{{{\nmerge(config.commands.cancelTiddler,{\n\n handler_orig_closeUnsaved: config.commands.cancelTiddler.handler,\n\n handler: function(event,src,title) {\n this.handler_orig_closeUnsaved(event,src,title);\n if (!store.tiddlerExists(title) && !store.isShadowTiddler(title))\n story.closeTiddler(title,true);\n return false;\n }\n\n});\n\n//}}}\n\n
Background: black url(http://i3.photobucket.com/albums/y67/Dasuku/bgimage2.gif)\nForeground: #000\nPrimaryPale: #8CFF00\nPrimaryLight: #18f\nPrimaryMid: #04b\nPrimaryDark: #000000\nSecondaryPale: #8CFF00\nSecondaryLight: #8CFF00\nSecondaryMid: #db4\nSecondaryDark: #000000\nTertiaryPale: #eee\nTertiaryLight: #ccc\nTertiaryMid: #999\nTertiaryDark: #666\nError: #f88\n
//{{{\nconfig.options.chkHttpReadOnly = false; // means web visitors can experiment with your site by clicking edit\nconfig.options.chkInsertTabs = true; // tab inserts a tab when editing a tiddler\nconfig.views.wikified.defaultText = ""; // don't need message when a tiddler doesn't exist\nconfig.views.editor.defaultText = ""; // don't need message when creating a new tiddler \n//}}}\n
<html> <iframe style="background-color"#ffffff; border-color="#000000"; border:none;" width=100% height="400" frameborder="0" scrolling="auto" src="http://dosbox.sourceforge.net/" title="DOSBoxWeb"> </iframe> </html>
[[About the Indy Java Revival Project!]]
<html> <iframe style="background-color"#ffffff; border-color="#000000"; border:none;" width=100% height="400" frameborder="0" scrolling="auto" src="http://www.deirdrakiai.com/" title="Deirdra Kiai Productions"> </iframe> </html>
Here is a list of serviving demos:\n[[Andy2: Andy's New Adventure]]\n[[Estar Guars Demo]] (Spanish)\n[[Original Indy Java Demo]]
<html> <iframe style="background-color"#ffffff; border-color="#000000"; border:none;" width=100% height="400" frameborder="0" scrolling="auto" src="http://web.tiscalinet.it/ussarcadia/indyjava/gdt/index.html" title="GameDev"> </iframe> </html>
~FAQs:\n\nWalkthroughs:\n\nTutorials:\n\nOther Documents:
[[MptwEditTemplate]]\n
''Estar Guars'' (Spanish)\n\nDownload: [[EstarGuarsDemo.zip|http://people.uleth.ca/~nathan.cooper/indyjava/EstarGuarsDemo.zip]]\n----\n<<slider chkEstarGuarsScrSlider EstarGuarsScr 'Screen Shotsยป' "Screen shots of Estar Guars Demo">>\n----\n<<slider chkEstarGuarsDisSlider EstarGuarsDiscription 'Game Discription (translation)ยป' "Discription of Estar Guars Demo">>
<<<\nThis project nacio of uni?n between Papada Soft and Maas(Eduardo), we decided to embark together since the group counted on some grafistas and the project was very very interesting, one parodia of the saga Star Wars... ademas the first tests that Maas ense?o already let see that the thing to us prometia, total that Maas unio to Papada and we began ourselves what podreis to see. One peque?a part of which habria be (or podria to be) the complete adventure. Made in those then in ~IndyJava (motor created by Chir) and leaning in tecnologia JAVA. From all this I am mini demo of 6 or 7 localities, entertainment, with its point of difficulty, amused pleasant dialogos and coverall.... 10Mb is the guilty and that consists that but it tests... you lamented it.\n<<<
\n[img[http://i3.photobucket.com/albums/y67/Dasuku/EstarGuars02.jpg]][img[http://i3.photobucket.com/albums/y67/Dasuku/EstarGuars01.jpg]][img[http://i3.photobucket.com/albums/y67/Dasuku/EstarGuars03.jpg]]
<html> <iframe style="background-color"#ffffff; border-color="#000000"; border:none;" width=100% height="400" frameborder="0" scrolling="auto" src="http://www.springbringer.com/fantasya/" title="Fantasy Adventures"> </iframe> </html>
* 24 bit color support \n* MIDI, RMI, AU and WAV support \n* AVI, MOV, ~MPEG1 support \n* Path searching \n* Complete "old style" interface \n* Scrolling in any direction \n* Recorded speech support \n* Several controlable characters \n* Alpha transparency \n* Full-screen support \n* Save & Load games
There were many games in development back in 2000 to 2001 but many are lost to cyberspace.\n\nHere are some that have been recovered:\n[[La Mansion Hoover]] (Spanish)
<html> <iframe style="background-color"#ffffff; border-color="#000000"; border:none;" width=100% height="400" frameborder="0" scrolling="auto" src="http://www.herculeaneffort.com/" title="Herculean Effort Productions"> </iframe> </html>
/***\n| Name:|HideWhenPlugin|\n| Description:|Allows conditional inclusion/exclusion in templates|\n| Version:|6.1.2|\n| Date:|20-Oct-2006|\n| Source:|http://mptw.tiddlyspot.com/#HideWhenPlugin|\n| Author:|Simon Baird <simon.baird@gmail.com>|\nFor use in ViewTemplate and EditTemplate. Eg\n{{{<div macro="showWhenTagged Task">[[TaskToolbar]]</div>}}}\n{{{<div macro="showWhen tiddler.modifier == 'BartSimpson'"><img src="bart.gif"/></div>}}}\n***/\n//{{{\n\nwindow.removeElementWhen = function(test,place) {\n if (test) {\n removeChildren(place);\n place.parentNode.removeChild(place);\n }\n};\n\nmerge(config.macros,{\n\n hideWhen: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {\n removeElementWhen( eval(paramString), place);\n }},\n\n showWhen: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {\n removeElementWhen( !eval(paramString), place);\n }},\n\n hideWhenTagged: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {\n removeElementWhen( tiddler.tags.containsAll(params), place);\n }},\n\n showWhenTagged: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {\n removeElementWhen( !tiddler.tags.containsAll(params), place);\n }},\n\n hideWhenTaggedAny: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {\n removeElementWhen( tiddler.tags.containsAny(params), place);\n }},\n\n showWhenTaggedAny: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {\n removeElementWhen( !tiddler.tags.containsAny(params), place);\n }},\n\n hideWhenExists: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {\n removeElementWhen( store.tiddlerExists(params[0]) || store.isShadowTiddler(params[0]), place);\n }},\n\n showWhenExists: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {\n removeElementWhen( !(store.tiddlerExists(params[0]) || store.isShadowTiddler(params[0])), place);\n }}\n\n});\n\n//}}}\n\n
<<<\n Originally, it was going to appear under the name "Chir Island" (a monkey island clone). But it was born as Indyjava, because I had the Indy sprites available and I could more quickly craft a demo adventure with that.\n After some promotion and advertising in the IRC #java channel in Undernet, I was offered free hosting at a specific website and domain (indy3d.net) where I uploaded some GPL PHP code to setup a forum. It worked beautifully and a community started to blossom around Indyjava.\nAfter the demise of indy3d, I moved to geocities.com and signed-up for some no-name forum site that worked like crap and eventually disappeared. As pressures grew to fix fundamental flaws and bugs in Indyjava, I progressively lost interest in the project and moved to other professional and personal interests.\n I never stopped answering mails about Indyjava all these years. It amazes me that people still remember and ask about it.\n<<<
<<<\nA mansion. A detective. A mystery\n\nAfter passing many shortages, the boys of Noir Project have finalized their adventure: The Hoover Mansion (and that podeรญs to unload from Adventure and company or the Web of Noir Project). And it is necessary to say, that the delay has been worth the trouble. In general, this adventure amateur is of the best ones than they are possible to be played at this moment, thanks to his obtained ambientaciรณn, a very original graphical style, and mainly to that it has a taken affluent history (something that done in lack in other adventures of he himself cut). But we enter detail.\n\nLet us begin by history. A good day of 1940 Gina, the secretary of Williams, gives a letter to him on a citation in โ€œthe mansion to hooverโ€. Once Jane will relate some strange facts there to him and there the adventure beginsโ€ฆ Williams must solve the origin of fantasmales noisesโ€ฆ The argument, from a principle, hooks enough, and has an unexpected end. Any bassoon in history does not take place, and this one stays in a good level. Our personage, Williams, will have to worsen his talent until unsuspected limits (for him) to solve the case. \n\nAs far as the graphs, the style cartoon in grayish tones, causes that we feel as if in fact estuvieramos in a typical film of the black cinema. The bottoms are very well made, denoting an exquisite taste on the part of the designer (mainly certain pictures of the roomsโ€ฆ). The first planes are perfect, to the most typical style of the adventures of Cryo, with the marked characteristics of the face, which causes that the personages have especto more real. There are numerous effects, like the fire of the chimney, or the perfect animation of the cat. Even so, the game fails in the perspective, a little abrupt, and in the somewhat insipid animation of certain personages, as the case of Hoover. Also it is let notice the slowness of parser, Indiana Java, in the change of scenes (sure, this is not fault of the developers of the game). The personages move too slow, and made in lack be able to make a double click of mouse to leave some scenes. By the way, the shades are another detail to consider, since they are excellent. \n\nAs far as the sonorous aspect, it is necessary to comment that it fulfills his assignment perfectly. Music accompanies perfectly throughout all the adventure, with classic subjects like โ€œthe Lake of the Swansโ€ of Tchaikovsky, or typical intriguing subjects, that they make that the adventure with greater intensity alive. \n\nThe adventure is typically detective, reason why you will not find puzzles entrincados, something that can be thrown in lack. Most of the times we will have to establish conversations with the personages to obtain the necessary track. But these conversations are agile and entertainments. We will be with puzzles of most logical, but interesting, like for example the one of combinatoria in the library of Hoover, or the one of the box of fuses. Something that it can bother the player is at the time of the conversations, since in many cases we will have to choose all the options to finish with the conversation. \n\nThe Masion Hoover has many graceful winks and details, and humor is the right one during all the adventure, with jokes like the one of the underpants, that are repeated throughout the game. A classic one, jeje. It is necessary to make special mention to the perfect final scene, great colofรณn for a good adventure. \n\nUtiliado parser is Indi Java, its greater disadvantage is than java depends drivers and is really very slow. Noir project has been working during 3 months to develop the adventure. The duration of this one can be of 1 hour and average, it depends on if you use all the verbs, or you establish long conversations. The graphs have been drawn by hand, scanned and soon with the Photoshop colored. As far as music, it has been made with the ~CakeWalk. It is possible to say that when beginning the project, the person who was in charge of the animation she did not have knowledge hardly of since this becameโ€ฆ can serve certain groups to him as developer so that they see as with a little work things can be made very good.\n<<<
[img[http://i3.photobucket.com/albums/y67/Dasuku/ss1.jpg]]
/***\n|Name|HoverMenuPlugin|\n|Created by|SaqImtiaz|\n|Location|http://lewcid.googlepages.com/lewcid.html#HoverMenuPlugin|\n|Version|1.11|\n|Requires|~TW2.x|\n!Description:\nProvides a hovering menu on the edge of the screen for commonly used commands, that scrolls with the page.\n\n!Demo:\nObserve the hovering menu on the right edge of the screen.\n\n!Installation:\nCopy the contents of this tiddler to your TW, tag with systemConfig, save and reload your TW.\nTo customize your HoverMenu, edit the HoverMenu shadow tiddler.\n\nTo customize whether the menu sticks to the right or left edge of the screen, and its start position, edit the HoverMenu configuration settings part of the code below. It's well documented, so don't be scared!\n\nThe menu has an id of hoverMenu, in case you want to style the buttons in it using css.\n\n!Notes:\nSince the default HoverMenu contains buttons for toggling the side bar and jumping to the top of the screen and to open tiddlers, the ToggleSideBarMacro, JumpMacro and the JumpToTopMacro are included in this tiddler, so you dont need to install them separately. Having them installed separately as well could lead to complications.\n\nIf you dont intend to use these three macros at all, feel free to remove those sections of code in this tiddler.\n\n!To Do:\n* rework code to allow multiple hovering menus in different positions, horizontal etc.\n* incorporate code for keyboard shortcuts that correspond to the buttons in the hovermenu\n\n!History:\n*03-08-06, ver 1.11: fixed error with button tooltips\n*27-07-06, ver 1.1 : added JumpMacro to hoverMenu\n*23-07-06\n\n!Code\n***/\n\n/***\nstart HoverMenu plugin code\n***/\n//{{{\nconfig.hoverMenu={};\n//}}}\n\n/***\nHoverMenu configuration settings\n***/\n//{{{\nconfig.hoverMenu.settings={\n align: 'right', //align menu to right or left side of screen, possible values are 'right' and 'left' \n x: 1, // horizontal distance of menu from side of screen, increase to your liking.\n y: 158 //vertical distance of menu from top of screen at start, increase or decrease to your liking\n };\n//}}}\n\n//{{{\n//continue HoverMenu plugin code\nconfig.hoverMenu.handler=function()\n{\n var theMenu = createTiddlyElement(document.getElementById("contentWrapper"), "div","hoverMenu");\n theMenu.setAttribute("refresh","content");\n theMenu.setAttribute("tiddler","HoverMenu");\n var menuContent = store.getTiddlerText("HoverMenu");\n wikify(menuContent,theMenu);\n\n var Xloc = this.settings.x;\n Yloc =this.settings.y;\n var ns = (navigator.appName.indexOf("Netscape") != -1);\n function SetMenu(id)\n {\n var GetElements=document.getElementById?document.getElementById(id):document.all?document.all[id]:document.layers[id];\n if(document.layers)GetElements.style=GetElements;\n GetElements.sP=function(x,y){this.style[config.hoverMenu.settings.align]=x +"px";this.style.top=y +"px";};\n GetElements.x = Xloc;\n GetElements.y = findScrollY();\n GetElements.y += Yloc;\n return GetElements;\n }\n window.LoCate_XY=function()\n {\n var pY = findScrollY();\n ftlObj.y += (pY + Yloc - ftlObj.y)/15;\n ftlObj.sP(ftlObj.x, ftlObj.y);\n setTimeout("LoCate_XY()", 10);\n }\n ftlObj = SetMenu("hoverMenu");\n LoCate_XY();\n};\n\nwindow.old_lewcid_hovermenu_restart = restart;\nrestart = function()\n{\n window.old_lewcid_hovermenu_restart();\n config.hoverMenu.handler();\n};\n\nsetStylesheet(\n"#hoverMenu .button, #hoverMenu .tiddlyLink {border:none; font-weight:bold; background:#18f; color:#FFF; padding:0 5px; float:right; margin-bottom:4px;}\sn"+\n"#hoverMenu .button:hover, #hoverMenu .tiddlyLink:hover {font-weight:bold; border:none; color:#fff; background:#000; padding:0 5px; float:right; margin-bottom:4px;}\sn"+\n"#hoverMenu .button {width:100%; text-align:center}"+\n"#hoverMenu { position:absolute; width:7px;}\sn"+\n"\sn","hoverMenuStyles");\n\n\nconfig.macros.renameButton={};\nconfig.macros.renameButton.handler = function(place,macroName,params,wikifier,paramString,tiddler)\n{\n\n if (place.lastChild.tagName!="BR")\n {\n place.lastChild.firstChild.data = params[0];\n if (params[1]) {place.lastChild.title = params[1];}\n }\n};\n\nconfig.shadowTiddlers["HoverMenu"]="<<top>>\sn<<toggleSideBar>><<renameButton '>' >>\sn<<jump j '' top>>\sn<<saveChanges>><<renameButton s 'Save TiddlyWiki'>>\sn<<newTiddler>><<renameButton n>>\sn";\n//}}}\n//end HoverMenu plugin code\n\n//Start ToggleSideBarMacro code\n//{{{\nconfig.macros.toggleSideBar={};\n\nconfig.macros.toggleSideBar.settings={\n styleHide : "#sidebar { display: none;}\sn"+"#contentWrapper #displayArea { margin-right: 1em;}\sn"+"",\n styleShow : " ",\n arrow1: "ยซ",\n arrow2: "ยป"\n};\n\nconfig.macros.toggleSideBar.handler=function (place,macroName,params,wikifier,paramString,tiddler)\n{\n var tooltip= params[1]||'toggle sidebar';\n var mode = (params[2] && params[2]=="hide")? "hide":"show";\n var arrow = (mode == "hide")? this.settings.arrow1:this.settings.arrow2;\n var label= (params[0]&&params[0]!='.')?params[0]+" "+arrow:arrow;\n var theBtn = createTiddlyButton(place,label,tooltip,this.onToggleSideBar,"button HideSideBarButton");\n if (mode == "hide")\n { \n (document.getElementById("sidebar")).setAttribute("toggle","hide");\n setStylesheet(this.settings.styleHide,"ToggleSideBarStyles");\n }\n};\n\nconfig.macros.toggleSideBar.onToggleSideBar = function(){\n var sidebar = document.getElementById("sidebar");\n var settings = config.macros.toggleSideBar.settings;\n if (sidebar.getAttribute("toggle")=='hide')\n {\n setStylesheet(settings.styleShow,"ToggleSideBarStyles");\n sidebar.setAttribute("toggle","show");\n this.firstChild.data= (this.firstChild.data).replace(settings.arrow1,settings.arrow2);\n }\n else\n { \n setStylesheet(settings.styleHide,"ToggleSideBarStyles");\n sidebar.setAttribute("toggle","hide");\n this.firstChild.data= (this.firstChild.data).replace(settings.arrow2,settings.arrow1);\n }\n\n return false;\n}\n\nsetStylesheet(".HideSideBarButton .button {font-weight:bold; padding: 0 5px;}\sn","ToggleSideBarButtonStyles");\n//}}}\n//end ToggleSideBarMacro code\n\n//start JumpToTopMacro code\n//{{{\nconfig.macros.top={};\nconfig.macros.top.handler=function(place,macroName)\n{\n createTiddlyButton(place,"^","jump to top",this.onclick);\n}\nconfig.macros.top.onclick=function()\n{\n window.scrollTo(0,0);\n};\n\nconfig.commands.top =\n{\n text:" ^ ",\n tooltip:"jump to top"\n};\n\nconfig.commands.top.handler = function(event,src,title)\n{\n window.scrollTo(0,0);\n}\n//}}}\n//end JumpToStartMacro code\n\n//start JumpMacro code\n//{{{\nconfig.macros.jump= {};\nconfig.macros.jump.handler = function (place,macroName,params,wikifier,paramString,tiddler)\n{\n var label = (params[0] && params[0]!=".")? params[0]: 'jump';\n var tooltip = (params[1] && params[1]!=".")? params[1]: 'jump to an open tiddler';\n var top = (params[2] && params[2]=='top') ? true: false; \n\n var btn =createTiddlyButton(place,label,tooltip,this.onclick);\n if (top==true)\n btn.setAttribute("top","true")\n}\n\nconfig.macros.jump.onclick = function(e)\n{\n if (!e) var e = window.event;\n var theTarget = resolveTarget(e);\n var top = theTarget.getAttribute("top");\n var popup = Popup.create(this);\n if(popup)\n {\n if(top=="true")\n {createTiddlyButton(createTiddlyElement(popup,"li"),'Top โ†‘','Top of TW',config.macros.jump.top);\n createTiddlyElement(popup,"hr");}\n \n story.forEachTiddler(function(title,element) {\n createTiddlyLink(createTiddlyElement(popup,"li"),title,true);\n });\n }\n Popup.show(popup,false);\n e.cancelBubble = true;\n if (e.stopPropagation) e.stopPropagation();\n return false;\n}\n\nconfig.macros.jump.top = function()\n{\n window.scrollTo(0,0);\n}\n//}}}\n//end JumpMacro code\n\n//utility functions\n//{{{\nPopup.show = function(unused,slowly)\n{\n var curr = Popup.stack[Popup.stack.length-1];\n var rootLeft = findPosX(curr.root);\n var rootTop = findPosY(curr.root);\n var rootHeight = curr.root.offsetHeight;\n var popupLeft = rootLeft;\n var popupTop = rootTop + rootHeight;\n var popupWidth = curr.popup.offsetWidth;\n var winWidth = findWindowWidth();\n if (isChild(curr.root,'hoverMenu'))\n var x = config.hoverMenu.settings.x;\n else\n var x = 0;\n if(popupLeft + popupWidth+x > winWidth)\n popupLeft = winWidth - popupWidth -x;\n if (isChild(curr.root,'hoverMenu'))\n {curr.popup.style.right = x + "px";}\n else\n curr.popup.style.left = popupLeft + "px";\n curr.popup.style.top = popupTop + "px";\n curr.popup.style.display = "block";\n addClass(curr.root,"highlight");\n if(config.options.chkAnimate)\n anim.startAnimating(new Scroller(curr.popup,slowly));\n else\n window.scrollTo(0,ensureVisible(curr.popup));\n}\n\nwindow.isChild = function(e,parentId) {\n while (e != null) {\n var parent = document.getElementById(parentId);\n if (parent == e) return true;\n e = e.parentNode;\n }\n return false;\n};\n//}}}\n\n\n
<html> <iframe style="background-color"#ffffff; border-color="#000000"; border:none;" width=100% height="400" frameborder="0" scrolling="auto" src="http://indieventure.blogspot.com/" title="Indiependent Adventuring"> </iframe> </html>
Indy Java Revival Edition is a version made from the v1.1aRC engine of Andy2 patched with original demo script. This version will hopefully gain more patches in the future.\n\nDownload: [[indyjava_revival_edition_one.zip|http://people.uleth.ca/~nathan.cooper/indyjava/indyjava_revival_edition_one.zip]]\n----\n<<slider chkRevSlider ChangeLogRev 'Change Log' "Change Log for Indy Java Revival Edition">>\n
Welcome to the Indiana Java Revival Project! Our goal is to reinstate the Multi-platform Adventure Game Engine (M.A.G.E.) back into use by updating the documentation, testing the engine on modern systems (its been out of development for 7 years now), creating and releasing a full game to raise awareness.
The original host for Indy Java. It went down a long time ago...
Here are all the know publicly released versions of Indy Java. I am working on enhancing the 1.1RC version into a better public release.\n\nReleased Versions:\n[[Indy Java Revival Edition (1.1RC)]]\n[[Version 1.00c]]\n[[Version 1.00b]]\n[[Version 1.00a]]
<html> <iframe style="background-color"#ffffff; border-color="#000000"; border:none;" width=100% height="400" frameborder="0" scrolling="auto" src="http://www.geocities.com/chir_geo/indyjava/" title="Indy Java"> </iframe> </html>
The Java Runtime Enviroment is required to run any Java programs (including indy java) on your computer. Many computers have it already but some people my need to download it.\n\nIt can be downloaded here:\nhttps://sdlc1d.sun.com:443/ECom/EComActionServlet;jsessionid=2FA4EBDF9C00112B03BD6F52DABA8B16
<html> <iframe style="background-color"#ffffff; border-color="#000000"; border:none;" width=100% height="400" frameborder="0" scrolling="auto" src="http://www.justadventure.com/" title="Just Adventure"> </iframe> </html>
''La Mansion Hoover'' (Spanish)\n\nDownload: [[LaMansionHoover.zip|http://people.uleth.ca/~nathan.cooper/indyjava/LaMansionHoover.zip]]\n----\n<<slider chkHooverScrSlider HooverScr 'Screen Shotsยป' "Screen Shots of La Mansion Hoover">>\n----\n<<slider chkHooverDisSlider HooverDiscription 'Game Discription (Translation)ยป' "Discription of La Mansion Hoover">>
/***\n|''Name:''|LegacyStrikeThroughPlugin|\n|''Description:''|Support for legacy (pre 2.1) strike through formatting|\n|''Version:''|1.0.1|\n|''Date:''|Jul 21, 2006|\n|''Source:''|http://www.tiddlywiki.com/#LegacyStrikeThroughPlugin|\n|''Author:''|MartinBudden (mjbudden (at) gmail (dot) com)|\n|''License:''|[[BSD open source license]]|\n|''CoreVersion:''|2.1.0|\n|''Browser:''|Firefox 1.0.4+; Firefox 1.5; InternetExplorer 6.0|\n\n***/\n\n//{{{\n\n// Ensure that the LegacyStrikeThrough Plugin is only installed once.\nif(!version.extensions.LegacyStrikeThroughPlugin)\n {\n version.extensions.LegacyStrikeThroughPlugin = true;\n\nconfig.formatters.push(\n{\n name: "legacyStrikeByChar",\n match: "==",\n termRegExp: /(==)/mg,\n element: "strike",\n handler: config.formatterHelpers.createElementAndWikify\n});\n\n} // end of "install only once"\n//}}}\n
Links of intrest:\n[[Old Indy Java Web Sites]]\n[[Adventure Game Development Sites]]\n[[Adventure Game Player Sites]]\n[[Adventure Game Forums]]\n
<html> <iframe style="background-color"#ffffff; border-color="#000000"; border:none;" width=100% height="400" frameborder="0" scrolling="auto" src="http://www.lucasstyle.com/" title="Lucas Style"> </iframe> </html>
[[About|About the Indy Java Revival Project!]]<<tag Documents|Documents>><<tag Demos|Demos>><<tag Games|Games>><<tag IndyJava|IndyJava>><<tag Links|Links>><html><A HREF="mailto:indyjavarevivalproject@gmail.com"><img src="http://i3.photobucket.com/albums/y67/Dasuku/email.gif"></A></html><<today>>
* --Contact Chir (Original author/programmer)-- (DONE!!!) \n* --Gather, edit & publish existing documents-- (DONE!!!) \n* Add to documentation (On going) \n* --Place original demo (with patches) online-- (DONE!!!)\n* --Mirror files-- (DONE!!!)\n* Create new demos \n* --Track down old complete games/demos???-- (DONE!!! - Andy2 and La Mansion Hoover recovered)\n* Create full adventure game \n* Create new tutorials \n* Test Engine on different operating systems (Win XP, MAC OS X, ?Unix?) \n* Wikipedia entry and linkage \n* --Project Email Address-- (DONE!!! indyjavarevivalproject@gmail.com)
<html> <iframe style="background-color"#ffffff; border-color="#000000"; border:none;" width=100% height="400" frameborder="0" scrolling="auto" src="http://www.mixnmojo.com/" title="Mix'n Mojo"> </iframe> </html>
/***\n| Name:|MptwLayoutPlugin|\n| Description:|A package containing templates and css for the MonkeyPirateTiddlyWiki layout|\n| Version:|6.1.2|\n| Date:|02-Oct-2006|\n| Source:|http://mptw.tiddlyspot.com/#MptwLayoutPlugin|\n| Author:|Simon Baird <simon.baird@gmail.com>|\n| CoreVersion:|2.1.x|\n!Notes\nPresumes you have TagglyTaggingPlugin installed.\n***/\n//{{{\nconfig.shadowTiddlers.GettingStarted += "\sn\snSee also MonkeyPirateTiddlyWiki.";\n\n//}}}\n\n//{{{\nmerge(config.shadowTiddlers,{\n\nMptwStyleSheet:[\n "/*{{{*/",\n "/* a contrasting background so I can see where one tiddler ends and the other begins */",\n "body {",\n " background: [[ColorPalette::TertiaryLight]];",\n "}",\n "",\n "/* sexy colours and font for the header */",\n ".headerForeground {",\n " color: [[ColorPalette::PrimaryPale]];",\n "}",\n ".headerShadow, .headerShadow a {",\n " color: [[ColorPalette::PrimaryMid]];",\n "}",\n ".headerForeground, .headerShadow {",\n " padding: 1em 1em 0;",\n " font-family: 'Trebuchet MS' sans-serif;",\n " font-weight:bold;",\n "}",\n ".headerForeground .siteSubtitle {",\n " color: [[ColorPalette::PrimaryLight]];",\n "}",\n ".headerShadow .siteSubtitle {",\n " color: [[ColorPalette::PrimaryMid]];",\n "}",\n "",\n "/* make shadow go and down right instead of up and left */",\n ".headerShadow {",\n " left: 1px;",\n " top: 1px;",\n "}",\n "",\n "/* prefer monospace for editing */",\n ".editor textarea {",\n " font-family: 'Consolas' monospace;",\n "}",\n "",\n "/* sexy tiddler titles */",\n ".title {",\n " font-size: 250%;",\n " color: [[ColorPalette::PrimaryLight]];",\n " font-family: 'Trebuchet MS' sans-serif;",\n "}",\n "",\n "/* more subtle tiddler subtitle */",\n ".subtitle {",\n " padding:0px;",\n " margin:0px;",\n " padding-left:0.5em;",\n " font-size: 90%;",\n " color: [[ColorPalette::TertiaryMid]];",\n "}",\n ".subtitle .tiddlyLink {",\n " color: [[ColorPalette::TertiaryMid]];",\n "}",\n "",\n "/* a little bit of extra whitespace */",\n ".viewer {",\n " padding-bottom:3px;",\n "}",\n "",\n "/* don't want any background color for headings */",\n "h1,h2,h3,h4,h5,h6 {",\n " background: [[ColorPalette::Background]];",\n " color: [[ColorPalette::Foreground]];",\n "}",\n "",\n "/* give tiddlers 3d style border and explicit background */",\n ".tiddler {",\n " background: [[ColorPalette::Background]];",\n " border-right: 2px [[ColorPalette::TertiaryMid]] solid;",\n " border-bottom: 2px [[ColorPalette::TertiaryMid]] solid;",\n " margin-bottom: 1em;",\n " padding-bottom: 2em;",\n "}",\n "",\n "/* make options slider look nicer */",\n "#sidebarOptions .sliderPanel {",\n " border:solid 1px [[ColorPalette::PrimaryLight]];",\n "}",\n "",\n "",\n "/* the borders look wrong with the body background */",\n "#sidebar .button {",\n " border-style: none;",\n "}",\n "",\n "/* displays the list of a tiddler's tags horizontally. used in ViewTemplate */",\n ".tagglyTagged li.listTitle {",\n " display:none",\n "}",\n ".tagglyTagged li {",\n " display: inline; font-size:90%;",\n "}",\n ".tagglyTagged ul {",\n " margin:0px; padding:0px;",\n "}",\n "",\n "/* this means you can put line breaks in SidebarOptions for readability */",\n "#sidebarOptions br {",\n " display:none;",\n "}",\n "/* undo the above in OptionsPanel */",\n "#sidebarOptions .sliderPanel br {",\n " display:inline;",\n "}",\n "",\n "/* horizontal main menu stuff */",\n "#displayArea {",\n " margin: 1em 15.7em 0em 1em; /* use the freed up space */",\n "}",\n "#topMenu br {",\n " display: none;",\n "}",\n "#topMenu {",\n " background: [[ColorPalette::PrimaryMid]];",\n " color:[[ColorPalette::PrimaryPale]];",\n "}",\n "#topMenu {",\n " padding:2px;",\n "}",\n "#topMenu .button, #topMenu .tiddlyLink, #topMenu a {",\n " margin-left: 0.5em;",\n " margin-right: 0.5em;",\n " padding-left: 3px;",\n " padding-right: 3px;",\n " color: [[ColorPalette::PrimaryPale]];",\n " font-size: 115%;",\n "}",\n "#topMenu .button:hover, #topMenu .tiddlyLink:hover {",\n " background: [[ColorPalette::PrimaryDark]];",\n "}",\n "",\n "/* make it print a little cleaner */",\n "@media print {",\n " #topMenu {",\n " display: none ! important;",\n " }",\n " /* not sure if we need all the importants */",\n " .tiddler {",\n " border-style: none ! important;",\n " margin:0px ! important;",\n " padding:0px ! important;",\n " padding-bottom:2em ! important;",\n " }",\n " .tagglyTagging .button, .tagglyTagging .hidebutton {",\n " display: none ! important;",\n " }",\n " .headerShadow {",\n " visibility: hidden ! important;",\n " }",\n " .tagglyTagged .quickopentag, .tagged .quickopentag {",\n " border-style: none ! important;",\n " }",\n " .quickopentag a.button, .miniTag {",\n " display: none ! important;",\n " }",\n "}",\n "/*}}}*/",\n ""\n].join("\sn"),\n\nMptwPageTemplate:[\n "<!--{{{-->",\n "<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>",\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 "<!-- horizontal MainMenu -->",\n "<div id='topMenu' refresh='content' tiddler='MainMenu'></div>",\n "<!-- original MainMenu menu -->",\n "<!-- <div id='mainMenu' refresh='content' tiddler='MainMenu'></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>",\n "<!--}}}-->",\n ""\n].join("\sn"),\n\nMptwViewTemplate:[\n "<!--{{{-->",\n "",\n "<div class='toolbar'>",\n " <span macro=\s"showWhenTagged systemConfig\s">",\n " <span macro=\s"toggleTag systemConfigDisable . '[[disable|systemConfigDisable]]'\s"></span>",\n " </span>",\n " <span style=\s"padding:1em;\s"></span>",\n " <span macro='toolbar closeTiddler closeOthers +editTiddler deleteTiddler undoChanges permalink references jump newHere newJournalHere'></span>",\n "</div>",\n "",\n "<div class=\s"tagglyTagged\s" macro=\s"tags\s"></div>",\n "",\n "<div class='titleContainer'>",\n " <span class='title' macro='view title'></span>",\n " <span macro=\s"miniTag\s"></span>",\n "</div>",\n "",\n "<div class='subtitle'>",\n " <span macro='view modifier link'></span>,",\n " <span macro='view modified date [[DD-mmm-YY]]'></span>",\n " (<span macro='message views.wikified.createdPrompt'></span>",\n " <span macro='view created date [[DD-mmm-YY]]'></span>)",\n "</div>",\n "",\n "<div macro=\s"showWhenExists ViewPanelTemplate\s">[[ViewPanelTemplate]]</div>",\n "",\n "<div macro=\s"hideWhen tiddler.tags.containsAny(['css','html','pre','systemConfig']) && !tiddler.text.match('{{'+'{')\s">",\n " <div class='viewer' macro='view text wikified'></div>",\n "</div>",\n "<div macro=\s"showWhen tiddler.tags.containsAny(['css','html','pre','systemConfig']) && !tiddler.text.match('{{'+'{')\s">",\n " <div class='viewer'><pre macro='view text'></pre></div>",\n "</div>",\n "",\n "<div macro=\s"showWhenExists ViewDashboardTemplate\s">[[ViewDashboardTemplate]]</div>",\n "",\n "<div class=\s"tagglyTagging\s" macro=\s"tagglyTagging\s"></div>",\n "",\n "<!--}}}-->",\n ""\n].join("\sn"),\n\nMptwEditTemplate:[\n "<!--{{{-->",\n "<div class=\s"toolbar\s" macro=\s"toolbar +saveTiddler closeOthers -cancelTiddler deleteTiddler\s"></div>",\n "<div class=\s"title\s" macro=\s"view title\s"></div>",\n "<div class=\s"editLabel\s">Title</div><div class=\s"editor\s" macro=\s"edit title\s"></div>",\n "<div class=\s"editLabel\s">Tags</div><div class=\s"editor\s" macro=\s"edit tags\s"></div>",\n "<div class=\s"editorFooter\s"><span macro=\s"message views.editor.tagPrompt\s"></span><span macro=\s"tagChooser\s"></span></div>",\n "<div macro=\s"showWhenExists EditPanelTemplate\s">[[EditPanelTemplate]]</div>",\n "<div class=\s"editor\s" macro=\s"edit text\s"></div>",\n "<!--}}}-->",\n ""\n].join("\sn"),\n\nMonkeyPirateTiddlyWiki:[\n "[[MonkeyPirateTiddlyWiki|http://mptw.tiddlyspot.com]] is a distribution of [[TiddlyWiki|http://www.tiddlywiki.com/]] created by Simon Baird. See [[the web site|http://mptw.tiddlyspot.com/]] for more information.",\n "!!Upgrading ~MonkeyPirateTiddlyWiki",\n "This \s"empty\s" ~MonkeyPirateTiddlyWiki file comes pre-installed with the core ~MonkeyPirateTiddlyWiki plugins. You can upgrade these core plugins to the latest version by doing the following:",\n "* Click ImportTiddlers",\n "* Click \s"Choose...\s" and select \s"~MptwUpgradeURL\s"",\n "* Click \s"fetch\s"",\n "* Click the checkbox in the first column heading to select all tiddlers",\n "* Click \s"More actions...\s" and select \s"Import these tiddlers\s"",\n "* Click \s"OK\s" to confirm you want to overwrite the tiddlers",\n "* Save and reload",\n ""\n].join("\sn")\n\n});\n//}}}\n
<!--{{{-->\n<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>\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<!-- horizontal MainMenu -->\n<div id='topMenu' refresh='content' tiddler='MainMenu'></div>\n<!-- original MainMenu menu -->\n<!-- <div id='mainMenu' refresh='content' tiddler='MainMenu'></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>\n<!--}}}-->\n
/*{{{*/\n/* a contrasting background so I can see where one tiddler ends and the other begins */\nbody {\n background: black url(http://i3.photobucket.com/albums/y67/Dasuku/bgimage.gif);\n}\n\n/* right justify code*/\n.justifyright {\n text-align: right;\n}\n\n/* sexy colours and font for the header */\n.headerForeground {\n color: [[ColorPalette::PrimaryPale]];\n}\n.headerShadow, .headerShadow a {\n color: [[ColorPalette::PrimaryMid]];\n}\n.headerForeground, .headerShadow {\n padding: 1em 1em 0;\n font-family: 'Trebuchet MS' sans-serif;\n font-weight:bold;\n}\n.headerForeground .siteSubtitle {\n color: [[ColorPalette::PrimaryLight]];\n}\n.headerShadow .siteSubtitle {\n color: [[ColorPalette::PrimaryMid]];\n}\n\n/* make shadow go and down right instead of up and left */\n.headerShadow {\n left: 1px;\n top: 1px;\n}\n\n/* prefer monospace for editing */\n.editor textarea {\n font-family: 'Consolas' monospace;\n}\n\n/* sexy tiddler titles */\n.title {\n font-size: 250%;\n color: [[ColorPalette::PrimaryLight]];\n font-family: 'Trebuchet MS' sans-serif;\n}\n\n/* more subtle tiddler subtitle */\n.subtitle {\n padding:0px;\n margin:0px;\n padding-left:0.5em;\n font-size: 90%;\n color: [[ColorPalette::TertiaryMid]];\n}\n.subtitle .tiddlyLink {\n color: [[ColorPalette::TertiaryMid]];\n}\n\n/* a little bit of extra whitespace */\n.viewer {\n padding-bottom:3px;\n}\n\n/* don't want any background color for headings */\nh1,h2,h3,h4,h5,h6 {\n background: [[ColorPalette::Background]];\n color: [[ColorPalette::Foreground]];\n}\n\n/* give tiddlers 3d style border and explicit background */\n.tiddler {\n background: [[ColorPalette::Background]];\n border-right: 2px black solid;\n border-bottom: 2px black solid;\n border-top: 2px black solid;\n border-left: 2px black solid;\n margin-bottom: 1em;\n padding-bottom: 2em;\n}\n\n/* make options slider look nicer */\n#sidebarOptions .sliderPanel {\n border:solid 1px [[ColorPalette::PrimaryLight]];\n}\n\n\n/* the borders look wrong with the body background */\n#sidebar .button {\n border-style: none;\n}\n\n/* displays the list of a tiddler's tags horizontally. used in ViewTemplate */\n.tagglyTagged li.listTitle {\n display:none\n}\n.tagglyTagged li {\n display: inline; font-size:90%;\n}\n.tagglyTagged ul {\n margin:0px; padding:0px;\n}\n\n/* this means you can put line breaks in SidebarOptions for readability */\n#sidebarOptions br {\n display:none;\n}\n/* undo the above in OptionsPanel */\n#sidebarOptions .sliderPanel br {\n display:inline;\n}\n\n/* horizontal main menu stuff */\n#displayArea {\n margin: 1em 15.7em 0em 1em; /* use the freed up space */\n}\n#topMenu br {\n display: none;\n}\n#topMenu {\n background: black;\n color:[[ColorPalette::PrimaryPale]];\n}\n#topMenu {\n padding:2px;\n}\n#topMenu .button, #topMenu .tiddlyLink, #topMenu a {\n margin-left: 0.5em;\n margin-right: 0.5em;\n padding-left: 3px;\n padding-right: 3px;\n color: [[ColorPalette::PrimaryPale]];\n font-size: 115%;\n}\n#topMenu .button:hover, #topMenu .tiddlyLink:hover {\n background: [[ColorPalette::PrimaryDark]];\n}\n\n/* make it print a little cleaner */\n@media print {\n #topMenu {\n display: none ! important;\n }\n /* not sure if we need all the importants */\n .tiddler {\n border-style: none ! important;\n margin:0px ! important;\n padding:0px ! important;\n padding-bottom:2em ! important;\n }\n .tagglyTagging .button, .tagglyTagging .hidebutton {\n display: none ! important;\n }\n .headerShadow {\n visibility: hidden ! important;\n }\n .tagglyTagged .quickopentag, .tagged .quickopentag {\n border-style: none ! important;\n }\n .quickopentag a.button, .miniTag {\n display: none ! important;\n }\n}\n/*}}}*/\n
For upgrading directly from tiddlyspot. See [[ImportTiddlers]].\nURL: /proxy/mptw.tiddlyspot.com/upgrade.html\n
For upgrading. See [[ImportTiddlers]].\nURL: http://mptw.tiddlyspot.com/upgrade.html\n
<!--{{{-->\n\n<div class='toolbar'>\n <span macro="showWhenTagged systemConfig">\n <span macro="toggleTag systemConfigDisable . '[[disable|systemConfigDisable]]'"></span>\n </span>\n <span style="padding:1em;"></span>\n <span macro='toolbar closeTiddler closeOthers +editTiddler deleteTiddler undoChanges permalink references jump newHere newJournalHere'></span>\n</div>\n\n<div class="tagglyTagged" macro="tags"></div>\n\n<div class='titleContainer'>\n <span class='title' macro='view title'></span>\n <span macro="miniTag"></span>\n</div>\n\n<div class='subtitle'>\n <span macro='view modifier link'></span>,\n <span macro='view modified date [[DD-mmm-YY]]'></span>\n (<span macro='message views.wikified.createdPrompt'></span>\n <span macro='view created date [[DD-mmm-YY]]'></span>)\n</div>\n\n<div macro="showWhenExists ViewPanelTemplate">[[ViewPanelTemplate]]</div>\n\n<div macro="hideWhen tiddler.tags.containsAny(['css','html','pre','systemConfig']) && !tiddler.text.match('{{'+'{')">\n <div class='viewer' macro='view text wikified'></div>\n</div>\n<div macro="showWhen tiddler.tags.containsAny(['css','html','pre','systemConfig']) && !tiddler.text.match('{{'+'{')">\n <div class='viewer'><pre macro='view text'></pre></div>\n</div>\n\n<div macro="showWhenExists ViewDashboardTemplate">[[ViewDashboardTemplate]]</div>\n\n<div class="tagglyTagging" macro="tagglyTagging"></div>\n\n<!--}}}-->\n
<html> <iframe style="background-color"#ffffff; border-color="#000000"; border:none;" width=100% height="400" frameborder="0" scrolling="auto" src="http://www.naphtalite.com/" title="Naphtalite Productions"> </iframe> </html>
/***\n| Name:|NewHerePlugin|\n| Description:|Creates the new here and new journal toolbar commands|\n| Version:|6.1.6|\n| Date:|06-Oct-2006|\n| Source:|http://mptw.tiddlyspot.com/#NewHerePlugin|\n| Author:|Simon Baird <simon.baird@gmail.com>|\n| CoreVersion:|2.1.x|\nTo use edit your ViewTemplate and add newHere to the toolbar div, eg\n{{{<div class='toolbar' macro='toolbar ... newHere'></div>}}}\nNote: would be good if we could do this instead some day\n{{{<<newTiddler tag:{{tiddler.title}} label:'new here'>>}}}\n***/\n//{{{\nmerge(config.commands,{\n\n 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"); // doesn't work??\n return false;\n }\n }\n },\n\n newJournalHere: {\n //text: 'new journal here', // too long\n text: 'new journal',\n hideReadOnly: true,\n dataFormat: 'DD MMM YYYY', // adjust to your preference\n //dataFormat: 'YYYY-0MM-0DD', \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//}}}\n
Old Indy Java Websites:\n\n----\n[[Original Project Site|http://www.geocities.com/chir_geo/indyjava/]] <<slider chkIndyJavaWebSlider IndyJavaWeb '||| v |||' "Open the website in this page">>\n----\n[[Project Site at Indy3D (Archived)|http://web.archive.org/web/*/java.Indy3D.net]] <<slider chkArchiveWebSlider ArchiveWeb '||| v |||' "Open the website in this page">>\n----\n[[The Multiplatform Adventure Game Engine Game Development Team|http://web.tiscalinet.it/ussarcadia/indyjava/gdt/index.html]]<<slider chkDevelopmentWebSlider DevelopmentWeb '||| v |||' "Open the website in this page">>\n----
tiddlyspot password:\n<<option pasUploadPassword>>\n\nThese InterfaceOptions for customising TiddlyWiki are saved in your browser\n\nYour username for signing your edits. Write it as a WikiWord (eg JoeBloggs)\n\n<<option txtUserName>>\n<<option chkSaveBackups>> SaveBackups\n<<option chkAutoSave>> AutoSave\n<<option chkRegExpSearch>> RegExpSearch\n<<option chkCaseSensitiveSearch>> CaseSensitiveSearch\n<<option chkAnimate>> EnableAnimations\n----\n[[TidIDEPlugin]]\n----\n<<permaview>>\n<<newTiddler>>\n<<newJournal 'DD MMM YYYY'>>\n<html><a href='http://indyjava.tiddlyspot.com/download' class='button'>download</a></html>\n----\nAdvancedOptions\nPluginManager\nImportTiddlers
This demo comes with the [[Indy Java|Version 1.00c]] engine.
[[MptwPageTemplate]]\n
[<img[http://i3.photobucket.com/albums/y67/Dasuku/fig100x100.jpg]]Name: pedalFISH / painFISH / Dasuku\nReal Name: Nathan Cooper\nAge: 25\nOcupation: Student (again!)\nLocation: Canada\nBlood Type: A+
<html> <iframe style="background-color"#ffffff; border-color="#000000"; border:none;" width=100% height="400" frameborder="0" scrolling="auto" src="http://www.pendulostudios.com/" title="Pendulo Studios"> </iframe> </html>
<html> <iframe style="background-color"#ffffff; border-color="#000000"; border:none;" width=100% height="400" frameborder="0" scrolling="auto" src="http://www.quandaryland.com/" title="Quandary Land"> </iframe> </html>
/***\n| Name:|QuickOpenTagPlugin|\n| Description:|Changes tag links to make it easier to open tags as tiddlers|\n| Version:|6.1.1|\n| Date:|01-Oct-2006|\n| Source:|http://mptw.tiddlyspot.com/#QuickOpenTagPlugin|\n| Author:|Simon Baird <simon.baird@gmail.com>|\n| CoreVersion:|2.1.x|\n***/\n//{{{\nconfig.quickOpenTag = {\n\n dropdownChar: (document.all ? "\su25bc" : "\su25be"), // the little one doesn't work in IE\n\n createTagButton: function(place,tag,excludeTiddler) {\n // little hack so we can to <<tag PrettyTagName|RealTagName>>\n var splitTag = tag.split("|");\n var pretty = tag;\n if (splitTag.length == 2) {\n tag = splitTag[1];\n pretty = splitTag[0];\n }\n \n var sp = createTiddlyElement(place,"span",null,"quickopentag");\n createTiddlyText(createTiddlyLink(sp,tag,false),pretty);\n \n var theTag = createTiddlyButton(sp,config.quickOpenTag.dropdownChar,\n 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\n miniTagHandler: 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.quickOpenTag.dropdownChar,\n config.views.wikified.tag.tooltip.format([tiddler.title]),onClickTag);\n theTag.setAttribute("tag",tiddler.title);\n theTag.className = "miniTag";\n }\n },\n\n allTagsHandler: function(place,macroName,params) {\n var tags = store.getTags();\n var theDateList = createTiddlyElement(place,"ul");\n if(tags.length == 0)\n createTiddlyElement(theDateList,"li",null,"listTitle",this.noTags);\n for (var t=0; t<tags.length; t++) {\n var theListItem = createTiddlyElement(theDateList,"li");\n var theLink = createTiddlyLink(theListItem,tags[t][0],true);\n var theCount = " (" + tags[t][1] + ")";\n theLink.appendChild(document.createTextNode(theCount));\n var theDropDownBtn = createTiddlyButton(theListItem," " +\n config.quickOpenTag.dropdownChar,this.tooltip.format([tags[t][0]]),onClickTag);\n theDropDownBtn.setAttribute("tag",tags[t][0]);\n }\n },\n\n // todo fix these up a bit\n styles: \n"/*{{{*/\sn"+\n"/* created by QuickOpenTagPlugin */\sn"+\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 right */\sn"+\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" /* looks better in right justified main menus */\sn"+\n" { margin-left:0px; padding-left:2px; margin-right:0px; padding-right:0px; }\sn" + \n"#topMenu .quickopentag { padding:0px; margin:0px; border:0px; }\sn" +\n"#topMenu .quickopentag .tiddlyLink { padding-right:1px; margin-right:0px; }\sn" +\n"#topMenu .quickopentag .button { padding-left:1px; margin-left:0px; border:0px; }\sn" +\n"/*}}}*/\sn"+\n "",\n\n init: function() {\n // we fully replace these builtins. can't hijack them easily\n window.createTagButton = this.createTagButton;\n config.macros.allTags.handler = this.allTagsHandler;\n config.macros.miniTag = { handler: this.miniTagHandler };\n config.shadowTiddlers["QuickOpenTagStyles"] = this.styles;\n if (store)\n store.addNotification("QuickOpenTagStyles",refreshStyles);\n else\n config.notifyTiddlers.push({name:"QuickOpenTagStyles", notify: refreshStyles});\n }\n\n}\n\nconfig.quickOpenTag.init();\n\n//}}}\n
http://www.rss-to-javascript.com/p/138.html\nhttp://www.khapre.org/content/rssIncludeGenerator.aspx\nhttp://p3k.org/rss/index.r?setup=true&url=http%3A%2F%2Fwww.worldofmi.com%2Frss.php&showXmlButton=1&maxItems=5&width=100%25&align=left&frameColor=black&titleBarColor=lime&titleBarTextColor=black&boxFillColor=black&textColor=white&fontFace=Georgia
/***\n| Name:|RenameTagsPlugin|\n| Description:|Allows you to easily rename or delete tags across multiple tiddlers|\n| Version:|6.1.18|\n| Date:|18-Oct-2006|\n| Source:|http://mptw.tiddlyspot.com/#RenameTagsPlugin|\n| Author:|Simon Baird <simon.baird@gmail.com>|\n| CoreVersion:|2.1.x|\nRename a tag and you will be prompted to rename it in all its tagged tiddlers.\n***/\n//{{{\nconfig.renameTags = {\n\n prompts: {\n rename: "Rename the tag '%0' to '%1' in %2 tidder%3?",\n remove: "Remove the tag '%0' from %1 tidder%2?"\n },\n\n removeTag: function(tag,tiddlers) {\n store.suspendNotifications();\n for (var i=0;i<tiddlers.length;i++) {\n store.setTiddlerTag(tiddlers[i].title,false,tag);\n }\n store.resumeNotifications();\n store.notifyAll();\n },\n\n renameTag: function(oldTag,newTag,tiddlers) {\n store.suspendNotifications();\n for (var i=0;i<tiddlers.length;i++) {\n store.setTiddlerTag(tiddlers[i].title,false,oldTag); // remove old\n store.setTiddlerTag(tiddlers[i].title,true,newTag); // add new\n }\n store.resumeNotifications();\n store.notifyAll();\n },\n\n storeMethods: {\n\n saveTiddler_orig_renameTags: TiddlyWiki.prototype.saveTiddler,\n\n saveTiddler: function(title,newTitle,newBody,modifier,modified,tags,fields) {\n if (title != newTitle) {\n var tagged = this.getTaggedTiddlers(title);\n if (tagged.length > 0) {\n // then we are renaming a tag\n if (confirm(config.renameTags.prompts.rename.format([title,newTitle,tagged.length,tagged.length>1?"s":""])))\n config.renameTags.renameTag(title,newTitle,tagged);\n\n if (!this.tiddlerExists(title) && newBody == "")\n // dont create unwanted tiddler\n return null;\n }\n }\n return this.saveTiddler_orig_renameTags(title,newTitle,newBody,modifier,modified,tags,fields);\n },\n\n removeTiddler_orig_renameTags: TiddlyWiki.prototype.removeTiddler,\n\n removeTiddler: function(title) {\n var tagged = this.getTaggedTiddlers(title);\n if (tagged.length > 0)\n if (confirm(config.renameTags.prompts.remove.format([title,tagged.length,tagged.length>1?"s":""])))\n config.renameTags.removeTag(title,tagged);\n return this.removeTiddler_orig_renameTags(title);\n }\n\n },\n\n init: function() {\n merge(TiddlyWiki.prototype,this.storeMethods);\n }\n}\n\nconfig.renameTags.init();\n\n//}}}\n\n
<html> <iframe style="background-color"#ffffff; border-color="#000000"; border:none;" width=100% height="400" frameborder="0" scrolling="auto" src="http://wiw.org/~jess/roger.html" title="Roger Wilco's Virtual Broomcloset"> </iframe> </html>
\n[img[http://i3.photobucket.com/albums/y67/Dasuku/ss0.gif]]\n[img[http://i3.photobucket.com/albums/y67/Dasuku/ss1.jpg]]\n[img[http://i3.photobucket.com/albums/y67/Dasuku/ss2.jpg]]
[img[Windows XP|http://people.uleth.ca/~nathan.cooper/indyjava/WinXP.jpeg]] [img[Mac OS X|http://people.uleth.ca/~nathan.cooper/indyjava/MacOSX.jpeg]]
<html> <iframe style="background-color"#ffffff; border-color="#000000"; border:none;" width=100% height="400" frameborder="0" scrolling="auto" src="http://www.screen7.co.uk/" title="Screen 7"> </iframe> </html>
<html> <iframe style="background-color"#ffffff; border-color="#000000"; border:none;" width=100% height="400" frameborder="0" scrolling="auto" src="http://www.scummvm.org/" title="scummVM"> </iframe> </html>
<<search>><<closeAll>><<saveChanges>><<upload http://indyjava.tiddlyspot.com/store.cgi index.html . . indyjava>><<slider chkSliderOptionsPanel OptionsPanel 'options ยป' 'Change TiddlyWiki advanced options'>><<slider chkSliderTabPanel TabList 'archive ยป' 'View this TiddlyWiki's changes'>>
<html> <iframe style="background-color"#ffffff; border-color="#000000"; border:none;" width=100% height="400" frameborder="0" scrolling="auto" src="http://sarien.sourceforge.net/" title="Sierra AGI resource interpreter engine"> </iframe> </html>
REVIVAL PROJECT!
[img[INDY JAVA|http://i3.photobucket.com/albums/y67/Dasuku/indy_logo.gif]]
//Smiley Samples:\n//<<smiley :-)>>\n//<<smiley :-(>>\n//<<smiley ;-)>>\n//<<smiley :-|>>\n//<<smiley :-D>>\n//here's how they behave inside <<smiley :-)>> some text.\n//a few more to come!\n\nversion.extensions.smileyMacro = {major: 0, minor: 1, revision: 0, date: new Date(2005,7,20)};\n//Author: Alan Hecht\nconfig.macros.smiley = {}\nconfig.macros.smiley.handler = function(place,macroName,params)\n{\n var palette = ["transparent","#000000","#1a1507","#352e18","#464646","#666666","#a3141e","#b06b63","#cc9900","#dd9030","#dddddd","#e89d00","#edc32a","#f3cb3c","#fdf201","#fdf526","#ff3149","#ffac00","#ffbf06","#ffc846","#ffcc66","#ffd758","#ffdd01","#ffea7b","#ffed55","#ffffff"];\n var data = params;\n var imageMap = null;\n if(data[0] == ":-)" || data[0] == ":)")\n\n imageMap = "aaaaabbbbbaaaaaaaabdtyyvtdbaaaaabnyxxxxxujbaaabmyyffyffuujbaadyyyeeyeetttdabppppddyddpmmlbbwoooooooowsrlbbwwpooooowwmrlbbwwboooowwwbllbbwwwboooowbrllbacwwwbbbbbrllcaablswwwwsrrlibaaablsssrrllibaaaaabcrrlllcbaaaaaaaabbbbbaaaaa";\n else if(data[0] == ":-(" || data[0] == ":(")\n imageMap = "aaaaabbbbbaaaaaaaabdtyyvtdbaaaaabnyxxxxxujbaaabmyyyyyyyuujbaadyyyeeyeetttdabppppddyddpmmlbbwoooooooowsrlbbwwpooooowwmrlbbwwoooooowwrllbbwwwwbbbbbsrllbacwwbwwwwsbllcaablswwwwsrrlibaaablsssrrllibaaaaabcrrlllcbaaaaaaaabbbbbaaaaa";\n else if(data[0] == ";-)" || data[0] == ";)")\n imageMap = "aaaaabbbbbaaaaaaaabdtyyvtdbaaaaabnyxxxxxujbaaabmyyxxxxxuujbaadyyyxxxeetttdabppphddyddpmmlbbwoooooooowsrlbbwwpooooowwmrlbbwwboooowwwbllbbwwwboooowbrllbacwwwbbbbbrllcaablswwwwsrrlibaaablsssrrllibaaaaabcrrlllcbaaaaaaaabbbbbaaaaa";\n else if(data[0] == ":-|" || data[0] == ":|")\n imageMap = "aaaaabbbbbaaaaaaaabdtyyvtdbaaaaabnyxxxxxujbaaabmyyffyffuujbaadyyyeeyeetttdabppppddyddpmmlbbwoooooooowsrlbbwwpooooowwmrlbbwwoooooowwrllbbwwwwbbbbbsrllbacwwwwwwwsrllcaablswwwwsrrlibaaablsssrrllibaaaaabcrrlllcbaaaaaaaabbbbbaaaaa";\n else if(data[0] == ":-D" || data[0] == ":D")\n imageMap = "aaaaabbbbbaaaaaaaabdtyyvtdbaaaaabnyxxxxxujbaaabmyyeeyeeuujbaadyyyeeyeetttdabppppyyyyypmmlbbwbbbbbbbbbbblbbwbkzzzzzzzkbwbbwbfzzzzzzzfbwbbwbkzzzzzzzkbwbacwbkzzzzzkblcaablsbkzzzkblibaaablsbbbbblibaaaaabcrrlllcbaaaaaaaabbbbbaaaaa";\n else\n createTiddlyElement(place,"span",null,"errorNoSuchMacro","unknown smiley");\n if(imageMap)\n {\n var box = createTiddlyElement(place,"span",null,"smiley",String.fromCharCode(160));\n box.style.position = "relative";\n box.style.width = "15px";\n box.style.height = "15px";\n box.style.marginLeft = "1px";\n box.style.marginRight = "1px";\n box.style.paddingRight = "12px";\n box.style.verticalAlign = "top";\n\n //now divide into 15x15 grid and create each pixel\n // rows\n for(r=0; r<15; r++)\n {\n // columns\n for(c=0; c<15; c++)\n {\n //create each pixel with the correct background\n var pix = document.createElement("img");\n pix.className = "smileyPixel";\n pix.style.position = "absolute";\n pix.border = 0;\n pix.style.top = r + "px";\n pix.style.left = c + "px";\n pix.style.width = "1px";\n pix.style.height = "1px";\n pix.style.backgroundColor = palette[imageMap.charCodeAt((r*15)+c)-97];\n pix.src = "data:image/gif,GIF89a%01%00%01%00%91%FF%00%FF%FF%FF%00%00%00%C0%C0%C0%00%00%00!%F9%04%01%00%00%02%00%2C%00%00%00%00%01%00%01%00%40%02%02T%01%00%3B";\n box.appendChild(pix);\n }\n }\n }\n}\n
<html> <iframe style="background-color"#ffffff; border-color="#000000"; border:none;" width=100% height="400" frameborder="0" scrolling="auto" src="http://www.studiotrophis.com" title="Studio Trophis"> </iframe> </html>
[[MptwStyleSheet]]\n
/*{{{*/\n* html .tiddler {\n height: 1%;\n}\n\nbody {\n font-size: .75em;\n font-family: arial,helvetica;\n margin: 0;\n padding: 0;\n}\n\nh1,h2,h3,h4,h5 {\n font-weight: bold;\n text-decoration: none;\n padding-left: 0.4em;\n}\n\nh1 {font-size: 1.35em;}\nh2 {font-size: 1.25em;}\nh3 {font-size: 1.1em;}\nh4 {font-size: 1em;}\nh5 {font-size: .9em;}\n\nhr {\n height: 1px;\n}\n\na{\n text-decoration: none;\n}\n\ndt {font-weight: bold;}\n\nol { list-style-type: decimal }\nol ol { list-style-type: lower-alpha }\nol ol ol { list-style-type: lower-roman }\nol ol ol ol { list-style-type: decimal }\nol ol ol ol ol { list-style-type: lower-alpha }\nol ol ol ol ol ol { list-style-type: lower-roman }\nol ol ol ol ol ol ol { list-style-type: decimal }\n\n.txtOptionInput {\n width: 11em;\n}\n\n#contentWrapper .chkOptionInput {\n border: 0;\n}\n\n.externalLink {\n text-decoration: underline;\n}\n\n.indent {margin-left:3em;}\n.outdent {margin-left:3em; text-indent:-3em;}\ncode.escaped {white-space:nowrap;}\n\n.tiddlyLinkExisting {\n font-weight: bold;\n}\n\n.tiddlyLinkNonExisting {\n font-style: italic;\n}\n\n/* the 'a' is required for IE, otherwise it renders the whole tiddler a bold */\na.tiddlyLinkNonExisting.shadow {\n font-weight: bold;\n}\n\n#mainMenu .tiddlyLinkExisting, \n#mainMenu .tiddlyLinkNonExisting,\n#sidebarTabs .tiddlyLinkNonExisting{\n font-weight: normal;\n font-style: normal;\n}\n\n#sidebarTabs .tiddlyLinkExisting {\n font-weight: bold;\n font-style: normal;\n}\n\n.header {\n position: relative;\n}\n\n.header a:hover {\n background: transparent;\n}\n\n.headerShadow {\n position: relative;\n padding: 4.5em 0em 1em 1em;\n left: -1px;\n top: -1px;\n}\n\n.headerForeground {\n position: absolute;\n padding: 4.5em 0em 1em 1em;\n left: 0px;\n top: 0px;\n}\n\n.siteTitle {\n font-size: 3em;\n}\n\n.siteSubtitle {\n font-size: 1.2em;\n}\n\n#mainMenu {\n position: absolute;\n left: 0;\n width: 10em;\n text-align: right;\n line-height: 1.6em;\n padding: 1.5em 0.5em 0.5em 0.5em;\n font-size: 1.1em;\n}\n\n#sidebar {\n position: absolute;\n right: 3px;\n width: 16em;\n font-size: .9em;\n}\n\n#sidebarOptions {\n padding-top: 0.3em;\n}\n\n#sidebarOptions a {\n margin: 0em 0.2em;\n padding: 0.2em 0.3em;\n display: block;\n}\n\n#sidebarOptions input {\n margin: 0.4em 0.5em;\n}\n\n#sidebarOptions .sliderPanel {\n margin-left: 1em;\n padding: 0.5em;\n font-size: .85em;\n}\n\n#sidebarOptions .sliderPanel a {\n font-weight: bold;\n display: inline;\n padding: 0;\n}\n\n#sidebarOptions .sliderPanel input {\n margin: 0 0 .3em 0;\n}\n\n#sidebarTabs .tabContents {\n width: 15em;\n overflow: hidden;\n}\n\n.wizard {\n padding: 0.1em 0em 0em 2em;\n}\n\n.wizard h1 {\n font-size: 2em;\n font-weight: bold;\n background: none;\n padding: 0em 0em 0em 0em;\n margin: 0.4em 0em 0.2em 0em;\n}\n\n.wizard h2 {\n font-size: 1.2em;\n font-weight: bold;\n background: none;\n padding: 0em 0em 0em 0em;\n margin: 0.2em 0em 0.2em 0em;\n}\n\n.wizardStep {\n padding: 1em 1em 1em 1em;\n}\n\n.wizard .button {\n margin: 0.5em 0em 0em 0em;\n font-size: 1.2em;\n}\n\n#messageArea {\nposition:absolute; top:0; right:0; margin: 0.5em; padding: 0.5em;\n}\n\n*[id='messageArea'] {\nposition:fixed !important; z-index:99;}\n\n.messageToolbar {\ndisplay: block;\ntext-align: right;\n}\n\n#messageArea a{\n text-decoration: underline;\n}\n\n.popup {\n font-size: .9em;\n padding: 0.2em;\n list-style: none;\n margin: 0;\n}\n\n.popup hr {\n display: block;\n height: 1px;\n width: auto;\n padding: 0;\n margin: 0.2em 0em;\n}\n\n.listBreak {\n font-size: 1px;\n line-height: 1px;\n}\n\n.listBreak div {\n margin: 2px 0;\n}\n\n.popup li.disabled {\n padding: 0.2em;\n}\n\n.popup li a{\n display: block;\n padding: 0.2em;\n}\n\n.tabset {\n padding: 1em 0em 0em 0.5em;\n}\n\n.tab {\n margin: 0em 0em 0em 0.25em;\n padding: 2px;\n}\n\n.tabContents {\n padding: 0.5em;\n}\n\n.tabContents ul, .tabContents ol {\n margin: 0;\n padding: 0;\n}\n\n.txtMainTab .tabContents li {\n list-style: none;\n}\n\n.tabContents li.listLink {\n margin-left: .75em;\n}\n\n#displayArea {\n margin: 1em 17em 0em 14em;\n}\n\n\n.toolbar {\n text-align: right;\n font-size: .9em;\n visibility: hidden;\n}\n\n.selected .toolbar {\n visibility: visible;\n}\n\n.tiddler {\n padding: 1em 1em 0em 1em;\n}\n\n.missing .viewer,.missing .title {\n font-style: italic;\n}\n\n.title {\n font-size: 1.6em;\n font-weight: bold;\n}\n\n.missing .subtitle {\n display: none;\n}\n\n.subtitle {\n font-size: 1.1em;\n}\n\n.tiddler .button {\n padding: 0.2em 0.4em;\n}\n\n.tagging {\nmargin: 0.5em 0.5em 0.5em 0;\nfloat: left;\ndisplay: none;\n}\n\n.isTag .tagging {\ndisplay: block;\n}\n\n.tagged {\nmargin: 0.5em;\nfloat: right;\n}\n\n.tagging, .tagged {\nfont-size: 0.9em;\npadding: 0.25em;\n}\n\n.tagging ul, .tagged ul {\nlist-style: none;margin: 0.25em;\npadding: 0;\n}\n\n.tagClear {\nclear: both;\n}\n\n.footer {\n font-size: .9em;\n}\n\n.footer li {\ndisplay: inline;\n}\n\n* html .viewer pre {\n width: 99%;\n padding: 0 0 1em 0;\n}\n\n.viewer {\n line-height: 1.4em;\n padding-top: 0.5em;\n}\n\n.viewer .button {\n margin: 0em 0.25em;\n padding: 0em 0.25em;\n}\n\n.viewer blockquote {\n line-height: 1.5em;\n padding-left: 0.8em;\n margin-left: 2.5em;\n}\n\n.viewer ul, .viewer ol{\n margin-left: 0.5em;\n padding-left: 1.5em;\n}\n\n.viewer table {\n border-collapse: collapse;\n margin: 0.8em 1.0em;\n}\n\n.viewer th, .viewer td, .viewer tr,.viewer caption{\n padding: 3px;\n}\n\n.viewer table.listView {\n font-size: 0.85em;\n margin: 0.8em 1.0em;\n}\n\n.viewer table.listView th, .viewer table.listView td, .viewer table.listView tr {\n padding: 0px 3px 0px 3px;\n}\n\n.viewer pre {\n padding: 0.5em;\n margin-left: 0.5em;\n font-size: 1.2em;\n line-height: 1.4em;\n overflow: auto;\n}\n\n.viewer code {\n font-size: 1.2em;\n line-height: 1.4em;\n}\n\n.editor {\nfont-size: 1.1em;\n}\n\n.editor input, .editor textarea {\n display: block;\n width: 100%;\n font: inherit;\n}\n\n.editorFooter {\n padding: 0.25em 0em;\n font-size: .9em;\n}\n\n.editorFooter .button {\npadding-top: 0px; padding-bottom: 0px;}\n\n.fieldsetFix {border: 0;\npadding: 0;\nmargin: 1px 0px 1px 0px;\n}\n\n.sparkline {\n line-height: 1em;\n}\n\n.sparktick {\n outline: 0;\n}\n\n.zoomer {\n font-size: 1.1em;\n position: absolute;\n padding: 1em;\n}\n\n.cascade {\n font-size: 1.1em;\n position: absolute;\n overflow: hidden;\n}\n/*}}}*/
<<search>><<permaview>><<newTiddler>><<newJournal 'DD MMM YYYY'>><<saveChanges>><<upload http://indyjava.tiddlyspot.com/store.cgi index.html . . indyjava>><html><a href='http://indyjava.tiddlyspot.com/download' class='button'>download</a></html><<slider chkSliderOptionsPanel OptionsPanel 'options ยป' 'Change TiddlyWiki advanced options'>>\n\n<<tabs txtMainTab Timeline Timeline TabTimeline All 'All tiddlers' TabAll Tags 'All tags' TabTags More 'More lists' TabMore>><<permaview>><<newTiddler>><<newJournal 'DD MMM YYYY'>><<saveChanges>><<upload http://indyjava.tiddlyspot.com/store.cgi index.html . . indyjava>>
<<tabs txtMainTab Timeline Timeline TabTimeline All 'All tiddlers' TabAll Tags 'All tags' TabTags More 'More lists' TabMore>>
/***\n| Name:|TagglyTaggingPlugin|\n| Description:|tagglyTagging macro is a replacement for the builtin tagging macro in your ViewTemplate|\n| Version:|6.1.5|\n| Date:|05-Oct-2006|\n| Source:|http://mptw.tiddlyspot.com/#TagglyTaggingPlugin|\n| Author:|Simon Baird <simon.baird@gmail.com>|\n| CoreVersion:|2.1.x|\n!Notes\nSee http://mptw.tiddlyspot.com/#TagglyTagging\n***/\n//{{{\nconfig.taggly = {\n\n // for translations\n lingo: {\n labels: {\n asc: "\su2191", // down arrow\n desc: "\su2193", // up arrow\n title: "title",\n modified: "modified",\n created: "created",\n show: "+",\n hide: "-",\n normal: "normal",\n group: "group",\n commas: "commas",\n sitemap: "sitemap",\n numCols: "cols\su00b1", // plus minus sign\n label: "Tagged as '%0':"\n },\n\n tooltips: {\n title: "Click to sort by title",\n modified: "Click to sort by modified date",\n created: "Click to sort by created date",\n show: "Click to show tagging list",\n hide: "Click to hide tagging list",\n normal: "Click to show a normal ungrouped list",\n group: "Click to show list grouped by tag",\n sitemap: "Click to show a sitemap style list",\n commas: "Click to show a comma separated list",\n numCols: "Click to change number of columns"\n }\n },\n\n config: {\n showTaggingCounts: true,\n listOpts: {\n // the first one will be the default\n sortBy: ["title","modified","created"],\n sortOrder: ["asc","desc"],\n hideState: ["show","hide"],\n listMode: ["normal","group","sitemap","commas"],\n numCols: ["1","2","3","4","5","6"]\n },\n valuePrefix: "taggly."\n },\n\n getTagglyOpt: function(title,opt) {\n var val = store.getValue(title,this.config.valuePrefix+opt);\n return val ? val : this.config.listOpts[opt][0];\n },\n\n setTagglyOpt: function(title,opt,value) {\n if (!store.tiddlerExists(title))\n // create it silently\n store.saveTiddler(title,title,config.views.editor.defaultText.format([title]),config.options.txtUserName,new Date(),null);\n // if value is default then remove it to save space\n return store.setValue(title,\n this.config.valuePrefix+opt,\n value == this.config.listOpts[opt][0] ? null : value);\n },\n\n getNextValue: function(title,opt) {\n var current = this.getTagglyOpt(title,opt);\n var pos = this.config.listOpts[opt].indexOf(current);\n // a little usability enhancement. actually it doesn't work right for grouped or sitemap\n var limit = (opt == "numCols" ? store.getTaggedTiddlers(title).length : this.config.listOpts[opt].length);\n var newPos = (pos + 1) % limit;\n return this.config.listOpts[opt][newPos];\n },\n\n toggleTagglyOpt: function(title,opt) {\n var newVal = this.getNextValue(title,opt);\n this.setTagglyOpt(title,opt,newVal);\n }, \n\n createListControl: function(place,title,type) {\n var lingo = config.taggly.lingo;\n var label;\n var tooltip;\n var onclick;\n\n if ((type == "title" || type == "modified" || type == "created")) {\n // "special" controls. a little tricky. derived from sortOrder and sortBy\n label = lingo.labels[type];\n tooltip = lingo.tooltips[type];\n\n if (this.getTagglyOpt(title,"sortBy") == type) {\n label += lingo.labels[this.getTagglyOpt(title,"sortOrder")];\n onclick = function() {\n config.taggly.toggleTagglyOpt(title,"sortOrder");\n return false;\n }\n }\n else {\n onclick = function() {\n config.taggly.setTagglyOpt(title,"sortBy",type);\n config.taggly.setTagglyOpt(title,"sortOrder",config.taggly.config.listOpts.sortOrder[0]);\n return false;\n }\n }\n }\n else {\n // "regular" controls, nice and simple\n label = lingo.labels[type == "numCols" ? type : this.getNextValue(title,type)];\n tooltip = lingo.tooltips[type == "numCols" ? type : this.getNextValue(title,type)];\n onclick = function() {\n config.taggly.toggleTagglyOpt(title,type);\n return false;\n }\n }\n\n // hide button because commas don't have columns\n if (!(this.getTagglyOpt(title,"listMode") == "commas" && type == "numCols"))\n createTiddlyButton(place,label,tooltip,onclick,type == "hideState" ? "hidebutton" : "button");\n },\n\n makeColumns: function(orig,numCols) {\n var listSize = orig.length;\n var colSize = listSize/numCols;\n var remainder = listSize % numCols;\n\n var upperColsize = colSize;\n var lowerColsize = colSize;\n\n if (colSize != Math.floor(colSize)) {\n // it's not an exact fit so..\n upperColsize = Math.floor(colSize) + 1;\n lowerColsize = Math.floor(colSize);\n }\n\n var output = [];\n var c = 0;\n for (var j=0;j<numCols;j++) {\n var singleCol = [];\n var thisSize = j < remainder ? upperColsize : lowerColsize;\n for (var i=0;i<thisSize;i++) \n singleCol.push(orig[c++]);\n output.push(singleCol);\n }\n\n return output;\n },\n\n drawTable: function(place,columns,theClass) {\n var newTable = createTiddlyElement(place,"table",null,theClass);\n var newTbody = createTiddlyElement(newTable,"tbody");\n var newTr = createTiddlyElement(newTbody,"tr");\n for (var j=0;j<columns.length;j++) {\n var colOutput = "";\n for (var i=0;i<columns[j].length;i++) \n colOutput += columns[j][i];\n var newTd = createTiddlyElement(newTr,"td",null,"tagglyTagging"); // todo should not need this class\n wikify(colOutput,newTd);\n }\n return newTable;\n },\n\n createTagglyList: function(place,title) {\n switch(this.getTagglyOpt(title,"listMode")) {\n case "group": return this.createTagglyListGrouped(place,title); break;\n case "normal": return this.createTagglyListNormal(place,title,false); break;\n case "commas": return this.createTagglyListNormal(place,title,true); break;\n case "sitemap":return this.createTagglyListSiteMap(place,title); break;\n }\n },\n\n getTaggingCount: function(title) {\n // thanks to Doug Edmunds\n if (this.config.showTaggingCounts) {\n var tagCount = store.getTaggedTiddlers(title).length;\n if (tagCount > 0)\n return " ("+tagCount+")";\n }\n return "";\n },\n\n // this is for normal and commas mode\n createTagglyListNormal: function(place,title,useCommas) {\n\n var list = store.getTaggedTiddlers(title,this.getTagglyOpt(title,"sortBy"));\n\n if (this.getTagglyOpt(title,"sortOrder") == "desc")\n list = list.reverse();\n\n var output = [];\n for (var i=0;i<list.length;i++) {\n var countString = this.getTaggingCount(list[i].title);\n if (useCommas)\n output.push((i > 0 ? ", " : "") + "[[" + list[i].title + "]]" + countString);\n else\n output.push("*[[" + list[i].title + "]]" + countString + "\sn");\n }\n\n return this.drawTable(place,\n this.makeColumns(output,useCommas ? 1 : parseInt(this.getTagglyOpt(title,"numCols"))),\n useCommas ? "commas" : "normal");\n },\n\n // this is for the "grouped" mode\n createTagglyListGrouped: function(place,title) {\n var sortBy = this.getTagglyOpt(title,"sortBy");\n var sortOrder = this.getTagglyOpt(title,"sortOrder");\n\n var list = store.getTaggedTiddlers(title,sortBy);\n\n if (sortOrder == "desc")\n list = list.reverse();\n\n var leftOvers = []\n for (var i=0;i<list.length;i++)\n leftOvers.push(list[i].title);\n\n var allTagsHolder = {};\n for (var i=0;i<list.length;i++) {\n for (var j=0;j<list[i].tags.length;j++) {\n\n if (list[i].tags[j] != title) { // not this tiddler\n\n if (!allTagsHolder[list[i].tags[j]])\n allTagsHolder[list[i].tags[j]] = "";\n\n allTagsHolder[list[i].tags[j]] += "**[["+list[i].title+"]]"\n + this.getTaggingCount(list[i].title) + "\sn";\n leftOvers.setItem(list[i].title,-1); // remove from leftovers. at the end it will contain the leftovers\n }\n }\n }\n\n var allTags = [];\n for (var t in allTagsHolder)\n allTags.push(t);\n\n var sortHelper = function(a,b) {\n if (a == b) return 0;\n if (a < b) return -1;\n return 1;\n };\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 leftOverOutput = "";\n for (var i=0;i<leftOvers.length;i++)\n leftOverOutput += "*[["+leftOvers[i]+"]]" + this.getTaggingCount(leftOvers[i]) + "\sn";\n\n var output = [];\n\n if (sortOrder == "desc")\n allTags.reverse();\n else if (leftOverOutput != "")\n // leftovers first...\n output.push(leftOverOutput);\n\n for (var i=0;i<allTags.length;i++)\n output.push("*[["+allTags[i]+"]]" + this.getTaggingCount(leftOvers[i]) + "\sn" + allTagsHolder[allTags[i]]);\n\n if (sortOrder == "desc" && leftOverOutput != "")\n // leftovers last...\n output.push(leftOverOutput);\n\n return this.drawTable(place,\n this.makeColumns(output,parseInt(this.getTagglyOpt(title,"numCols"))),\n "grouped");\n\n },\n\n // used to build site map\n treeTraverse: function(title,depth,sortBy,sortOrder) {\n\n var list = store.getTaggedTiddlers(title,sortBy);\n if (sortOrder == "desc")\n list.reverse();\n\n var indent = "";\n for (var j=0;j<depth;j++)\n indent += "*"\n\n var childOutput = "";\n for (var i=0;i<list.length;i++)\n if (list[i].title != title)\n childOutput += this.treeTraverse(list[i].title,depth+1,sortBy,sortOrder);\n\n if (depth == 0)\n return childOutput;\n else\n return indent + "[["+title+"]]" + this.getTaggingCount(title) + "\sn"+childOutput;\n },\n\n // this if for the site map mode\n createTagglyListSiteMap: function(place,title) {\n var output = this.treeTraverse(title,0,this.getTagglyOpt(title,"sortBy"),this.getTagglyOpt(title,"sortOrder"));\n return this.drawTable(place,\n this.makeColumns(output.split(/(?=^\s*\s[)/m),parseInt(this.getTagglyOpt(title,"numCols"))), // regexp magic\n "sitemap"\n );\n },\n\n macros: {\n tagglyTagging: {\n handler: function (place,macroName,params,wikifier,paramString,tiddler) {\n var refreshContainer = createTiddlyElement(place,"div");\n // do some refresh magic to make it keep the list fresh - thanks Saq\n refreshContainer.setAttribute("refresh","macro");\n refreshContainer.setAttribute("macroName",macroName);\n refreshContainer.setAttribute("title",tiddler.title);\n this.refresh(refreshContainer);\n },\n\n refresh: function(place) {\n var title = place.getAttribute("title");\n removeChildren(place);\n if (store.getTaggedTiddlers(title).length > 0) {\n var lingo = config.taggly.lingo;\n config.taggly.createListControl(place,title,"hideState");\n if (config.taggly.getTagglyOpt(title,"hideState") == "show") {\n createTiddlyElement(place,"span",null,"tagglyLabel",lingo.labels.label.format([title]));\n config.taggly.createListControl(place,title,"title");\n config.taggly.createListControl(place,title,"modified");\n config.taggly.createListControl(place,title,"created");\n config.taggly.createListControl(place,title,"listMode");\n config.taggly.createListControl(place,title,"numCols");\n config.taggly.createTagglyList(place,title);\n }\n }\n }\n }\n },\n\n // todo fix these up a bit\n styles: \n"/*{{{*/\sn"+\n"/* created by TagglyTaggingPlugin */\sn"+\n".tagglyTagging { padding-top:0.5em; }\sn"+\n".tagglyTagging li.listTitle { display:none; }\sn"+\n".tagglyTagging ul {\sn"+\n" margin-top:0px; padding-top:0.5em; padding-left:2em;\sn"+\n" margin-bottom:0px; padding-bottom:0px;\sn"+\n"}\sn"+\n".tagglyTagging { vertical-align: top; margin:0px; padding:0px; }\sn"+\n".tagglyTagging table { margin:0px; padding:0px; }\sn"+\n".tagglyTagging .button { display:none; margin-left:3px; margin-right:3px; }\sn"+\n".tagglyTagging .button, .tagglyTagging .hidebutton {\sn"+\n" color:[[ColorPalette::TertiaryLight]]; font-size:90%;\sn"+\n" border:0px; padding-left:0.3em;padding-right:0.3em;\sn"+\n"}\sn"+\n".tagglyTagging .button:hover, .hidebutton:hover {\sn"+\n" background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]];\sn"+\n"}\sn"+\n".selected .tagglyTagging .button {\sn"+\n" display:inline;\sn"+\n"}\sn"+\n".tagglyTagging .hidebutton { color:[[ColorPalette::Background]]; }\sn"+\n".selected .tagglyTagging .hidebutton { color:[[ColorPalette::TertiaryLight]] }\sn"+\n".tagglyLabel { color:[[ColorPalette::TertiaryMid]]; font-size:90%; }\sn"+\n".tagglyTagging ul {padding-top:0px; padding-bottom:0.5em; margin-left:1em; }\sn"+\n".tagglyTagging ul ul {list-style-type:disc; margin-left:-1em;}\sn"+\n".tagglyTagging ul ul li {margin-left:0.5em; }\sn"+\n".editLabel { font-size:90%; padding-top:0.5em; }\sn"+\n".tagglyTagging .commas { padding-left:1.8em; }\sn"+\n"/*}}}*/\sn"+\n "",\n\n init: function() {\n merge(config.macros,this.macros);\n config.shadowTiddlers["TagglyTaggingStyles"] = this.styles;\n if (store)\n store.addNotification("TagglyTaggingStyles",refreshStyles);\n else\n config.notifyTiddlers.push({name:"TagglyTaggingStyles", notify: refreshStyles});\n }\n};\n\nconfig.taggly.init();\n\n//}}}\n\n
<html> <iframe style="background-color"#ffffff; border-color="#000000"; border:none;" width=100% height="400" frameborder="0" scrolling="auto" src="http://www.telltalegames.com/" title="Tell Tale Games"> </iframe> </html>
/***\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 "font:Courier New" size:8pt system +edit:GettingStarted>>}}}\n<<tidIDE id:example "font:Courier New" size:8pt 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* ''font'' - sets the CSS font-family used by textarea controls in editor and system information panels. Note: if the font name includes a space (e.g., Courier New), then you must enclose the entire parameter in double-quotes: {{{"font:Courier New"}}}.\n* ''size'' - sets the CSS font-size used by text input and droplist controls in editor and system information panels.\n* ''system'' includes system information panel.\n* ''edit'' includes 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.11.28 [1.6.0]'' added font and size params to set CSS for form controls in editor and system info panels\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: 6, revision: 0, date: new Date(2006,11,28)};\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 var fontsize="8pt";\n var fontface="Courier New,fixed";\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,5)=="font:")\n { fontface=p.substr(5); }\n else if (p.substr(0,5)=="size:")\n { fontsize=p.substr(5); }\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 panels=panels.replace(/%fontsize%/mg,fontsize);\n panels=panels.replace(/%fontface%/mg,fontface);\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 panels=panels.replace(/%fontsize%/mg,fontsize);\n panels=panels.replace(/%fontface%/mg,fontface);\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:%fontsize%;' \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:%fontsize%;' 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:%fontsize%;' \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:%fontsize%;' \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:%fontsize%;' \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:%fontsize%;' \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:%fontsize%;' \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:%fontsize%;' \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:%fontsize%;' \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:%fontsize%;' \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:%fontsize%;font-family:%fontface%;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%;font-size:%fontsize%;' \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:%fontsize%;font-family:%fontface%;' \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:%fontsize%;' 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:%fontsize%;' \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:%fontsize%;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:%fontsize%;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:%fontsize%;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:%fontsize%;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:%fontsize%;'></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:%fontsize%;'></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:%fontsize%;'> \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//}}}
http://tiddlywikitips.com/\nhttp://zrenard.com/\nhttp://www.tiddlywiki.com/\nhttp://tiddlywikiguides.org/
/***\n| Name:|ToggleTagMacro|\n| Description:|Makes a checkbox which toggles a tag in a tiddler|\n| Version:|6.1.2|\n| Date:|20-Oct-2006|\n| Source:|http://tiddlyspot.com/mptw/#ToggleTagMacro|\n| Author:|SimonBaird|\n| License:|[[BSD open source license]]|\n| CoreVersion:|2.1|\n!Usage\n{{{<<toggleTag }}}//{{{TagName TiddlerName LabelText}}}//{{{>>}}}\n* TagName - the tag to be toggled, default value "checked"\n* TiddlerName - the tiddler to toggle the tag in, default value the current tiddler\n* LabelText - the text (gets wikified) to put next to the check box, default value is '{{{[[TagName]]}}}' or '{{{[[TagName]] [[TiddlerName]]}}}'\n(If a parameter is '.' then the default will be used)\n\nExamples:\n\n|Code|Description|Example|h\n|{{{<<toggleTag>>}}}|Toggles the default tag (checked) in this tiddler|<<toggleTag>>|\n|{{{<<toggleTag TagName>>}}}|Toggles the TagName tag in this tiddler|<<toggleTag TagName>>|\n|{{{<<toggleTag TagName TiddlerName>>}}}|Toggles the TagName tag in the TiddlerName tiddler|<<toggleTag TagName TiddlerName>>|\n|{{{<<toggleTag TagName TiddlerName 'click me'>>}}}|Same but with custom label|<<toggleTag TagName TiddlerName 'click me'>>|\n|{{{<<toggleTag . . 'click me'>>}}}|dot means use default value|<<toggleTag . . 'click me'>>|\n(Note if TiddlerName doesn't exist it will be silently created)\n\n!Known issues\n* Doesn't smoothly handle the case where you toggle a tag in a tiddler that is current open for editing. Should it stick the tag in the edit box?\n\n***/\n//{{{\n\nmerge(config.macros,{\n\n toggleTag: {\n\n doRefreshAll: true,\n createIfRequired: true,\n shortLabel: "[[%0]]",\n longLabel: "[[%0]] [[%1]]",\n\n handler: function(place,macroName,params,wikifier,paramString,tiddler) {\n var tag = (params[0] && params[0] != '.') ? params[0] : "checked";\n var title = (params[1] && params[1] != '.') ? params[1] : tiddler.title;\n var defaultLabel = (title == tiddler.title ? this.shortLabel : this.longLabel);\n var label = (params[2] && params[2] != '.') ? params[2] : defaultLabel;\n var theTiddler = title == tiddler.title ? tiddler : store.getTiddler(title);\n var cb = createTiddlyCheckbox(place, label.format([tag,title]), theTiddler && theTiddler.isTagged(tag), function(e) {\n if (!store.tiddlerExists(title)) {\n if (config.macros.toggleTag.createIfRequired) {\n var content = store.getTiddlerText(title); // just in case it's a shadow\n store.saveTiddler(title,title,content?content:"",config.options.txtUserName,new Date(),null);\n }\n else \n return false;\n }\n //store.suspendNotifications(); \n store.setTiddlerTag(title,this.checked,tag);\n //refreshDisplay(); \n //store.resumeNotifications();\n return true;\n });\n }\n }\n});\n\n//}}}\n\n
<html> <iframe style="background-color"#ffffff; border-color="#000000"; border:none;" width=100% height="400" frameborder="0" scrolling="auto" src="http://www.uhs-hints.com/" title="Universal Hint System"> </iframe> </html>
| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |\n| 25/11/2006 14:47:18 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 25/11/2006 14:51:16 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 25/11/2006 14:53:21 | PedalFish | [[index.html|http://indyjava.tiddlyspot.com/index.html#]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 25/11/2006 14:55:59 | PedalFish | [[index.html|http://indyjava.tiddlyspot.com/index.html#%5B%5BWelcome%20to%20your%20tiddlyspot.com%20site!%5D%5D]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 25/11/2006 15:1:50 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 25/11/2006 15:7:45 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 25/11/2006 15:32:3 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 25/11/2006 15:35:43 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 25/11/2006 15:41:34 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 25/11/2006 15:46:7 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 25/11/2006 15:48:33 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 25/11/2006 15:50:59 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 25/11/2006 16:17:48 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 25/11/2006 16:25:4 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 25/11/2006 17:25:56 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 25/11/2006 17:37:51 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 10:58:48 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 11:0:29 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 11:3:24 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 11:19:18 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 11:20:10 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 26/11/2006 11:22:49 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 11:24:9 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 11:27:1 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 11:34:20 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 11:35:17 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 26/11/2006 11:40:42 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 11:41:49 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 26/11/2006 12:0:30 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 12:1:53 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 12:2:51 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 12:4:9 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 12:4:45 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 12:10:56 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 12:19:42 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 12:22:50 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 12:24:57 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 26/11/2006 12:33:55 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 12:41:38 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 12:45:22 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 12:46:56 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 12:47:56 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 26/11/2006 12:57:38 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 13:0:45 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 13:2:32 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 13:4:38 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 26/11/2006 13:11:16 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 13:12:28 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 13:23:10 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 13:27:51 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 26/11/2006 13:31:5 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 26/11/2006 13:51:38 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 13:58:1 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 14:3:15 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 14:7:39 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 14:13:18 | PedalFish | [[/|http://indyjava.tiddlyspot.com/#Admin%20%5B%5BOld%20Web%20Sites%5D%5D]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 15:2:51 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 15:11:28 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 15:23:53 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 15:46:59 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 15:52:14 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 15:59:23 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 26/11/2006 16:11:27 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 16:14:39 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 17:44:10 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 26/11/2006 17:57:50 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 26/11/2006 18:1:29 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 26/11/2006 18:1:44 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 26/11/2006 18:5:6 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 26/11/2006 18:31:46 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 18:49:6 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 26/11/2006 19:5:16 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 26/11/2006 19:5:45 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 19:9:8 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 26/11/2006 19:9:51 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 26/11/2006 19:21:55 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 26/11/2006 19:25:26 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 19:26:56 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 19:56:10 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 19:57:56 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 20:2:54 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 26/11/2006 20:19:37 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 26/11/2006 20:27:35 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 26/11/2006 20:32:28 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 26/11/2006 20:34:30 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 26/11/2006 20:42:17 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 20:42:41 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 20:51:19 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 26/11/2006 20:52:2 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 26/11/2006 20:58:43 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 21:0:13 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 21:9:47 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 26/11/2006 21:17:35 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 21:24:49 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 26/11/2006 21:29:55 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 26/11/2006 21:30:49 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 27/11/2006 10:31:55 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 27/11/2006 10:39:44 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 27/11/2006 14:38:11 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 27/11/2006 15:4:40 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 27/11/2006 15:10:40 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 27/11/2006 15:12:59 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 27/11/2006 15:55:52 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 27/11/2006 16:20:58 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 27/11/2006 16:32:20 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 27/11/2006 16:45:35 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 27/11/2006 18:42:29 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 27/11/2006 18:44:33 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 27/11/2006 18:51:43 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 28/11/2006 9:42:55 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 28/11/2006 10:3:25 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 28/11/2006 10:12:28 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 28/11/2006 10:15:32 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 28/11/2006 10:16:4 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 28/11/2006 10:20:48 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 28/11/2006 10:30:32 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 28/11/2006 10:34:9 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 28/11/2006 10:38:49 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 28/11/2006 20:33:51 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 28/11/2006 20:39:52 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 28/11/2006 21:0:21 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 28/11/2006 21:6:27 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 28/11/2006 21:9:28 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 28/11/2006 21:18:40 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 28/11/2006 21:27:49 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 28/11/2006 21:32:32 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/12/2006 9:8:25 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/12/2006 9:14:1 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/12/2006 9:23:52 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 2/12/2006 9:32:1 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/12/2006 9:51:32 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/12/2006 9:56:21 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/12/2006 10:0:17 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/12/2006 10:6:14 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/12/2006 10:19:16 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/12/2006 10:29:48 | PedalFish | [[/|http://indyjava.tiddlyspot.com/]] | [[store.cgi|http://indyjava.tiddlyspot.com/store.cgi]] | . | index.html | . |
/***\n|''Name:''|UploadPlugin|\n|''Description:''|Save to web a TiddlyWiki|\n|''Version:''|3.4.4|\n|''Date:''|Sep 30, 2006|\n|''Source:''|http://tiddlywiki.bidix.info/#UploadPlugin|\n|''Documentation:''|http://tiddlywiki.bidix.info/#UploadDoc|\n|''Author:''|BidiX (BidiX (at) bidix (dot) info)|\n|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|\n|''~CoreVersion:''|2.0.0|\n|''Browser:''|Firefox 1.5; InternetExplorer 6.0; Safari|\n|''Include:''|config.lib.file; config.lib.log; config.lib.options; PasswordTweak|\n|''Require:''|[[UploadService|http://tiddlywiki.bidix.info/#UploadService]]|\n***/\n//{{{\nversion.extensions.UploadPlugin = {\n major: 3, minor: 4, revision: 4, \n date: new Date(2006,8,30),\n source: 'http://tiddlywiki.bidix.info/#UploadPlugin',\n documentation: 'http://tiddlywiki.bidix.info/#UploadDoc',\n author: 'BidiX (BidiX (at) bidix (dot) info',\n license: '[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D]]',\n coreVersion: '2.0.0',\n browser: 'Firefox 1.5; InternetExplorer 6.0; Safari'\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: 1}, \n date: new Date(2006,8,19)\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: 3, date: new Date(2006,8,30),\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 {\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 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.className = "txtOptionInput "+opt;\n place.appendChild(c);\n c.value = config.options[opt];\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.className = "pasOptionInput "+opt;\n place.appendChild(c);\n c.value = config.options[opt];\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 c.className = "chkOptionInput "+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 c.className = "chkOptionInput "+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 backupFileStored: "Previous file backuped in %0",\n crossDomain: "Certainly a cross-domain isue: access to an other site isn't allowed",\n errorDownloading: "Error downloading",\n errorUploadingContent: "Error uploading content",\n fileLocked: "Files is locked: You are not allowed to Upload",\n fileNotFound: "file to upload not found",\n fileNotUploaded: "File %0 NOT uploaded",\n mainFileUploaded: "Main TiddlyWiki file uploaded to %0",\n passwordEmpty: "Unable to upload, your password is empty",\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.toDirUrl(storeUrl, uploadDir, username)]);\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.toRootUrl = function (storeUrl, username)\n{\n return root = (this.dirname(storeUrl)?this.dirname(storeUrl):this.dirname(document.location.toString()));\n}\nconfig.macros.upload.toDirUrl = function (storeUrl, uploadDir, username)\n{\n var root = this.toRootUrl(storeUrl, username);\n if (uploadDir && uploadDir != '.')\n root = root + '/' + uploadDir;\n return root;\n}\nconfig.macros.upload.toFileUrl = function (storeUrl, toFilename, uploadDir, username)\n{\n return this.toDirUrl(storeUrl, uploadDir, username) + '/' + toFilename;\n}\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 (!password || password === '') {\n alert(config.macros.upload.messages.passwordEmpty);\n return;\n }\n if (storeUrl === '') {\n storeUrl = 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 // Check that file is not locked\n if (window.BidiX && BidiX.GroupAuthoring && BidiX.GroupAuthoring.lock) {\n if (BidiX.GroupAuthoring.lock.isLocked() && !BidiX.GroupAuthoring.lock.isMyLock()) {\n alert(config.macros.upload.messages.fileLocked);\n return;\n }\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 var toDir = config.macros.upload.toDirUrl(storeUrl, toFilename, uploadDir, username);\n displayMessage(config.macros.upload.messages.aboutToUpload.format([toDir]), toDir);\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 var toFileUrl = config.macros.upload.toFileUrl(storeUrl, rssPath, uploadDir, username);\n displayMessage(config.macros.upload.messages.rssFileUploaded.format(\n [toFileUrl]), toFileUrl);\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\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\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 var toFileUrl = config.macros.upload.toFileUrl(storeUrl, toFilename, uploadDir, username);\n if (responseText.indexOf("destfile:") > 0) {\n var destfile = responseText.substring(responseText.indexOf("destfile:")+9, \n responseText.indexOf("\sn", responseText.indexOf("destfile:")));\n toFileUrl = config.macros.upload.toRootUrl(storeUrl, username) + '/' + destfile;\n }\n else {\n toFileUrl = config.macros.upload.toFileUrl(storeUrl, toFilename, uploadDir, username);\n }\n displayMessage(config.macros.upload.messages.mainFileUploaded.format(\n [toFileUrl]), toFileUrl);\n if (backupDir && responseText.indexOf("backupfile:") > 0) {\n var backupFile = responseText.substring(responseText.indexOf("backupfile:")+11, \n responseText.indexOf("\sn", responseText.indexOf("backupfile:")));\n toBackupUrl = config.macros.upload.toRootUrl(storeUrl, username) + '/' + backupFile;\n displayMessage(config.macros.upload.messages.backupFileStored.format(\n [toBackupUrl]), toBackupUrl);\n }\n var log = new config.macros.upload.UploadLog();\n log.endUpload();\n store.setDirty(false);\n // erase local lock\n if (window.BidiX && BidiX.GroupAuthoring && BidiX.GroupAuthoring.lock) {\n BidiX.GroupAuthoring.lock.eraseLock();\n // change mtime with new mtime after upload\n var mtime = responseText.substr(responseText.indexOf("mtime:")+6);\n BidiX.GroupAuthoring.lock.mtime = mtime;\n }\n \n \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 // add lock attributes to sheader\n if (window.BidiX && BidiX.GroupAuthoring && BidiX.GroupAuthoring.lock) {\n var l = BidiX.GroupAuthoring.lock.myLock;\n sheader += ";lockuser=" + l.user\n + ";mtime=" + l.mtime\n + ";locktime=" + l.locktime;\n }\n sheader += ";;\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 //strailer = "--" + boundary + "--\sr\sn";\n var data;\n data = sheader + content + strailer;\n //request.open("POST", storeUrl, true, username, password);\n try {\n request.open("POST", storeUrl, true); \n }\n catch(e) {\n alert(config.macros.upload.messages.crossDomain + "\snError:" +e);\n exit;\n }\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 + "\snStatus: "+request.status.statusText);\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 try {\n request.open("GET", document.location.toString(), true);\n }\n catch(e) {\n alert(config.macros.upload.messages.crossDomain + "\snError:" +e);\n exit;\n }\n \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()]) + "\snStatus: "+request.status.statusText);\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','');\nsetStylesheet(\n ".pasOptionInput {width: 11em;}\sn"+\n ".txtOptionInput.txtUploadStoreUrl {width: 25em;}\sn"+\n ".txtOptionInput.txtUploadFilename {width: 25em;}\sn"+\n ".txtOptionInput.txtUploadDir {width: 25em;}\sn"+\n ".txtOptionInput.txtUploadBackupDir {width: 25em;}\sn"+\n "",\n "UploadOptionsStyles");\nconfig.shadowTiddlers.UploadDoc = "[[Full Documentation|http://tiddlywiki.bidix.info/l#UploadDoc ]]\sn"; \nconfig.options.chkAutoSave = false; saveOptionCookie('chkAutoSave');\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////===\n
This is the oldest of the Indy Java releases.\n\nDownload: [[indyjava_v1.00a.zip|http://people.uleth.ca/~nathan.cooper/indyjava/indyjava_v1.00a.zip]]\n----\n<<slider chk100aSlider ChangeLog100a 'Change Log' "Change Log for 1.00a">>
This is patched from 1.00a. There is no known surviving pure releases but the [[Estar Guars Demo]] uses it and it could be recovered from that.\n\n<<slider chk100bSlider ChangeLog100b 'Change Log' "Change Log for 1.00b">>
The newest of the releases from the website, however 1.1RC was the last version made. 1.1RC can be found here: [[Indy Java Revival Edition (1.1RC)]]\nThis is patched from 1.00b.\n\nDownload: [[indyjava_v1.00c.zip|http://people.uleth.ca/~nathan.cooper/indyjava/indyjava_v1.00c.zip]]\n----\n<<slider chk100cSlider ChangeLog100c 'Change Log' "Change Log for 1.00c">>
\n<!--{{{-->\n\n<div class='toolbar'>\n <span macro="showWhenTagged systemConfig">\n <span macro="toggleTag systemConfigDisable . '[[disable|systemConfigDisable]]'"></span>\n </span>\n <span style="padding:1em;"></span>\n <span macro='toolbar closeTiddler closeOthers +editTiddler deleteTiddler undoChanges permalink references jump newHere newJournalHere'></span>\n</div>\n\n<div class="tagglyTagged" macro="tags"></div>\n\n<div class='titleContainer'>\n <span class='title' macro='view title'></span>\n <span macro="miniTag"></span>\n</div>\n\n<div class='subtitle'>\n <span macro='view modifier link'></span>,\n <span macro='view modified date [[DD-mmm-YY]]'></span>\n (<span macro='message views.wikified.createdPrompt'></span>\n <span macro='view created date [[DD-mmm-YY]]'></span>)\n</div>\n\n<div macro="showWhenExists ViewPanelTemplate">[[ViewPanelTemplate]]</div>\n\n<div macro="hideWhen tiddler.tags.containsAny(['css','html','pre','systemConfig']) && !tiddler.text.match('{{'+'{')">\n <div class='viewer' macro='view text wikified'></div>\n</div>\n<div macro="showWhen tiddler.tags.containsAny(['css','html','pre','systemConfig']) && !tiddler.text.match('{{'+'{')">\n <div class='viewer'><pre macro='view text'></pre></div>\n</div>\n\n<div macro="showWhenExists ViewDashboardTemplate">[[ViewDashboardTemplate]]</div>\n\n<div class="tagglyTagging" macro="tagglyTagging"></div>\n\n<!--}}}-->\n
<html> <iframe style="background-color"#ffffff; border-color="#000000"; border:none;" width=100% height="400" frameborder="0" scrolling="auto" src="http://www.wadjeteyegames.com/" title="Wadjeteye Games"> </iframe> </html>
This document is a ~TiddlyWiki from tiddlyspot.com. A ~TiddlyWiki is an electronic notebook that is great for managing todo lists, personal information, and all sorts of things.\n\n@@font-weight:bold;font-size:1.3em;color:#444; //What now?// &nbsp;&nbsp;@@ Before you can save any changes, you need to enter your password in the form below. Then configure privacy and other site settings at your [[control panel|http://indyjava.tiddlyspot.com/controlpanel]] (your control panel username is //indyjava//).\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; //Help!// &nbsp;&nbsp;@@ Find out more about ~TiddlyWiki at [[TiddlyWiki.com|http://tiddlywiki.com]]. Also visit [[TiddlyWiki Guides|http://tiddlywikiguides.org]] for documentation on learning and using ~TiddlyWiki. New users are especially welcome on the [[TiddlyWiki mailing list|http://groups.google.com/group/TiddlyWiki]], which is an excellent place to ask questions and get help. If you have a tiddlyspot related problem email [[tiddlyspot support|mailto:support@tiddlyspot.com]].\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 or suggestions.
<html> <iframe style="background-color"#ffffff; border-color="#000000"; border:none;" width=100% height="400" frameborder="0" scrolling="auto" src="http://www.worldofmi.com/" title="World of Monkey Island"> </iframe> </html>
<html> <iframe style="background-color"#ffffff; border-color="#000000"; border:none;" width=100% height="400" frameborder="0" scrolling="auto" src="http://www.xiigames.com/" title="xii Games"> </iframe> </html>
| tiddlyspot password:|<<option pasUploadPassword>>|\n| site management:|<<upload http://indyjava.tiddlyspot.com/store.cgi index.html . . indyjava>>//(requires tiddlyspot password)//<<br>>[[control panel|http://indyjava.tiddlyspot.com/controlpanel]], [[download (go offline)|http://indyjava.tiddlyspot.com/download]]|\n| links:|[[tiddlyspot.com|http://tiddlyspot.com/]], [[FAQs|http://faq.tiddlyspot.com/]], [[announcements|http://announce.tiddlyspot.com/]], [[blog|http://tiddlyspot.com/blog/]], email [[support|mailto:support@tiddlyspot.com]] & [[feedback|mailto:feedback@tiddlyspot.com]], [[donate|http://tiddlyspot.com/?page=donate]]|